Skip to content

MS6 — standalone build + a11y#8

Merged
SheeshDarth merged 3 commits into
masterfrom
feature/ms6-perf
Jul 15, 2026
Merged

MS6 — standalone build + a11y#8
SheeshDarth merged 3 commits into
masterfrom
feature/ms6-perf

Conversation

@SheeshDarth

Copy link
Copy Markdown
Owner

MS6 (Framework & Performance).

What's in it

  • Standalone buildoutput: "standalone" emits a self-contained .next/standalone/server.js, the basis for MS7 distribution. The Drizzle migration .sql files (read from disk at runtime by instrumentation.ts) are force-traced via outputFileTracingIncludes, since dependency tracing only follows imports. Verified end-to-end: the standalone server boots on 127.0.0.1, homepage returns HTTP 200, and a fresh DB is created + migrated at runtime (native better_sqlite3.node + all 11 migrations traced in).
  • a11y — icon-only delete buttons (modules, questions, daily-log entries, concept links) had only a title tooltip; added aria-label so screen readers announce them (WCAG 4.1.2).
  • No UI-blocking analysis — already met: both import and reanalyze disable inputs and show pending spinners during the server action; verified, no change needed.

Gate: lint + typecheck + build green.

🤖 Generated with Claude Code

SheeshDarth and others added 3 commits July 15, 2026 12:16
MS6 (Framework & Performance). output: "standalone" emits a self-contained
.next/standalone/server.js with only traced runtime deps — the basis for MS7
distribution (npx / single-folder deploy). The Drizzle migration .sql files are
read from disk at runtime by instrumentation.ts, which dependency tracing can't
see (it only follows imports), so outputFileTracingIncludes force-copies them —
otherwise a distributed build boots against an unmigrated DB.

Verified: standalone server boots on 127.0.0.1, homepage returns HTTP 200, and a
runtime DB is created + migrated (native better_sqlite3.node + all 11 migrations
traced into the bundle).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
MS6 (Framework & Performance) — a11y budget. The delete buttons across modules,
questions, daily-log entries, and concept links render only a Trash2 icon with a
`title` tooltip, which is not a reliable accessible name (WCAG 4.1.2 needs a
programmatic name). Added aria-label to each so screen readers announce the
action; the module button names the specific module.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@SheeshDarth
SheeshDarth merged commit ea6d858 into master Jul 15, 2026
2 checks passed
@SheeshDarth
SheeshDarth deleted the feature/ms6-perf branch July 15, 2026 06:56
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