Skip to content

fix: sidebar collapse reactivity, config-merge title fallback, review cleanups#83

Open
redmodd wants to merge 1 commit into
mainfrom
fix/review-cleanups
Open

fix: sidebar collapse reactivity, config-merge title fallback, review cleanups#83
redmodd wants to merge 1 commit into
mainfrom
fix/review-cleanups

Conversation

@redmodd

@redmodd redmodd commented Jun 10, 2026

Copy link
Copy Markdown
Owner

Fixes two bugs found in a full-codebase review, both covered by new unit tests:

  • Sidebar section collapse never updated — the toggle mutated a plain Set inside $state, which Svelte 5 doesn't proxy; now a SvelteSet.
  • Empty title skipped the "Untitled Course" fallback — the merge spread userConfig after the defaulted title; quiz-mode configs also picked up a stray percentageThreshold default.

Plus small cleanups: Quiz.svelte question-list snippet dedup, removed the SCORM-manifest and extractDefaultExportObjectLiteral wrappers, CLI dispatch table, empty optional keys omitted from suspend_data, plain-let effect guards in App.svelte, and the scaffolded-workspace pnpm pin bumped to 11.5.2.

Tested: full unit suites (892 + 20) and the complete Playwright e2e suite (105 tests) covering all four modes — SCORM 1.2, SCORM 2004, cmi5, and web.

… cleanups

Sidebar section toggles mutated a plain Set inside $state, which Svelte 5
does not proxy, so collapsing never updated the UI; switched to SvelteSet.
The config merge spread userConfig after the defaulted title, so an empty
title shipped as "" instead of "Untitled Course", and quiz-mode configs
carried a stray percentageThreshold default. Both fixed with new unit
tests.

Also: dedupe Quiz.svelte's answering/review question list into a snippet,
drop the SCORM manifest and extractDefaultExportObjectLiteral wrappers,
flatten the CLI's nested switch into a dispatch table, omit empty optional
keys from suspend_data, un-$state the App.svelte effect guards, and bump
the scaffolded workspace pnpm pin to 11.5.2.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant