UI polish 1/12 — Foundation: design tokens, soft typography, global base - #14
Merged
Conversation
…atch unit 1) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
mlcyclops
pushed a commit
that referenced
this pull request
Jun 21, 2026
…s, dashboard escaping (ADR-0026) Five real fixes from the open CodeQL alerts on master: - #3/#4 js/stack-trace-exposure (desktop/dev.ts, tools/web/server.ts): the catch handlers returned String(err) to the client. Now they log the detail server-side and return a generic {ok:false,error:"internal error"}. - #5 js/file-system-race (harness/memory/state.ts): existsSync-then-writeFileSync was a TOCTOU. Now a single writeFileSync(..., {flag:"wx"}) (create-or-fail, EEXIST-safe); existing files preserved. existsSync dropped from imports. - #6 js/insecure-temporary-file (harness/personal/store.ts): the encrypted store was written then chmod'd, leaving a 0644 window. Now created owner-only via {mode:0o600}; chmod kept for the overwrite-existing case. - #1 js/incomplete-html-attribute-sanitization (tools/web/index.html): the dashboard esc() escaped only &<> but its output lands in double-quoted attributes — a " could break out (attribute XSS). It now escapes " and ' too, matching the desktop renderer's esc. The eight "File data in outbound network request" alerts (asksage, ratelimit_ probe) are intended API-key transmission to configured provider endpoints and are dispositioned dismiss-as-by-design. #14/#15 were fixed by #41 (auto-close). Tests: store-perms assertion (0600); state reopen/no-clobber already covered. Verified live: a forced handler error returns the generic body with the real SyntaxError only in the server log. harness 195 pass (+1), desktop 33, root + desktop tsc clean. ADR-0026 + PROGRESS recorded. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FrTqRvkZBtq3NdEExxyCLG
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.
Part of the Apple-level UI/UX polish batch. Independent, region-scoped slice (
polish/foundation-tokens) so it merges on its own.Gate per worker:
desktop tsc --noEmit+bun build desktop/renderer/app.ts --target=browser+bun test harness(green) +/code-review.🤖 Generated with Claude Code