Repository navigation
fix: say which files import, and stop a busy port from hiding the library - #5
Merged
Merged
Conversation
…rary Three first-run problems a new user would hit: - The rejection message for a wrong file said "Only PowerPoint (.pptx) files can be imported" although the file picker and the code accept .pptx, .pptm, .ppsx and .potx, and the import list and parseFile worded the old-.ppt case differently. One rejectionMessage() now serves both and names every accepted extension. New unit tests (written first, failing) cover the accepted extensions, the wording and parseFile; the browser test string is updated. - The library lives in IndexedDB, which is scoped to the exact address. If port 5173 was busy, Vite quietly moved to another port and the student saw an empty library. server.strictPort makes it stop with an error instead (checked by starting a second dev server; --port still overrides). - The README now says where the data lives and that pnpm dev does not send the production security headers (pnpm build and pnpm preview does). Co-Authored-By: Claude <noreply@anthropic.com>
zuhairhalawa
added a commit
that referenced
this pull request
Oct 23, 2026
Brings in studyai #4 (FSRS version, unwired Claude arrow, stale test title) and #5 (shared file-rejection message, strict dev port, README notes). One conflict, in vite.config.ts: main added a `server` block to the old object-literal config while this branch turned the config into a function of the mode. Resolved by keeping the function form and carrying the strict dev-port block (port 5173, strictPort) into it, so it applies to the regular and the demo dev servers alike. docs/ARCHITECTURE.md and docs/DECISIONS.md merged without conflict and were read afterwards: the corrected diagram and ADR-012 correction from main sit alongside this branch's src/demo row and ADR-037. Co-Authored-By: Claude <noreply@anthropic.com>
12 tasks done
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Three first-run problems a new user would hit, found by reading and running the repository.
Wrong file message. It said "Only PowerPoint (.pptx) files can be imported", but the picker and the code accept
.pptx,.pptm,.ppsxand.potx, and the import list andparseFileworded the old-.pptcase differently. OnerejectionMessage()now serves both and names every accepted extension. The new unit tests were written first and failed before the change.Busy port hides the library. The library is in IndexedDB, scoped to the exact address. If port 5173 was busy, Vite quietly moved to another port and the student saw an empty library.
server.strictPortmakes it stop with an error (the e2e config already uses--strictPortfor preview). Checked by starting a second dev server: "Port 5173 is already in use";--portstill overrides.README. Says where the data lives and that
pnpm devdoes not send the production security headers (pnpm buildthenpnpm previewdoes).Checked locally:
tsc -b --noEmit, unit tests (612 passing: 608 existing plus 4 new), thestudy-flowbrowser spec in Chrome (3 passed),scan-secrets.