- ApiKeyCreationModal: required Alias input (reuse alias = renew, with
banner); align roles to backend allowlist (guest -> user, default
user); fix copy bug (generatedKey.key).
- MarkdownContent + PatchCards: show author / created / last modified
(+ by whom); formatDateTime helper (null -> "—").
Branched off fix/buildconfig-cachebust (carries the contenthash +
BuildConfig fix already deployed to prod).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- BuildConfig.sh: ${DEBUG:false} -> ${DEBUG:-false} and normalize to
true/false. The old syntax produced empty -> invalid config.json
("DEBUG": }) when DEBUG was unset, breaking the whole frontend.
- webpack: output [name].[contenthash].js so index.html references a
unique bundle URL each build; eliminates stale CDN/browser bundle
after deploys (no manual cache purge needed).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>