Skip to content

Preserve Inbox edits and stabilize localized page recovery - #607

Merged
NewWorldVenture merged 11 commits into
mainfrom
codex/audit-controls-next-20260927
Sep 27, 2026
Merged

NewWorldVenture merged 11 commits into
mainfrom
codex/audit-controls-next-20260927

Conversation

@NewWorldVenture

Copy link
Copy Markdown
Owner

Switching Inbox messages could carry a reply draft or an already-added reminder into the wrong conversation, and delayed saves/AI drafts could overwrite newer edits. Keep each message's draft and pending action state with its owner, preserving newer typing when an older response completes.

This batch also integrates reviewed changes from #598, #604 and the chunk-recovery portion of #605:

  • Translate reminder templates, assistant prompts, finance categories and trust controls while preserving canonical stored values and all existing catalogue keys.
  • Format numbers and dates in the selected language and keep long German card titles within their cards.
  • Keep server rendering and initial browser hydration on the same time zone, then display the browser's local clock. Preserve date-only and legacy local date-string behavior.
  • Reload once after a failed JavaScript chunk, with readable/writable storage required to prevent a reload loop. Improve the root error screen's text contrast.
  • Retain browser regressions, strengthen the translation ceiling by106 findings, and update finalaudit.md plus four supporting audit documents without closing unverified workflows.

The branch includes the session release in #601 and the reviewed framework/production-workflow guard in #602. Release those first; this batch adds no SQL or navigation changes and excludes #605's competing renderer loader.

Validation before publication: combined retained browser24/24; focused guards53/53; earlier scoped unit, formatter and native reload checks pass. Original-source Inbox/time-zone/storage counterexamples are retained. Types/lint pass for the isolated repairs. Full combined local and hosted checks are running and required before production; targeted evidence does not claim live provider, database or physical-device acceptance.

@vercel

vercel Bot commented Sep 27, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
bubaly Ignored Ignored Sep 27, 2026 8:52pm UTC

Request Review

Overlaps resolved on main's side: the row components use main's
useHydrationSafeFormat, the catalogues are main's (this branch's copies
duplicated keys main already carries and kept four keys no code reads),
and the audit docs take main's checkpoint text. Kept from this branch:
the Inbox message-owned draft state, useFormat's zone binding for SSR and
hydration (alongside main's useHydrationSafeFormat), and the chunk-failure
reload in SectionError alongside main's refusal card.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01776xJyhVe8xJQvTGeNfT9T
Main's #605 test asserted the installed react-dom client did not already
carry react/react#37584's fix. Next 16.3.6 bundles React 19.3, which does,
so the test failed on this branch in CI. It now asserts the installed
React carries the fix and that the loader leaves it byte-identical, and
still exercises the backport on the same file with React's fix removed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01776xJyhVe8xJQvTGeNfT9T
This branch's useFormat() binds UTC for the server and hydrating renders,
so main's control (plain useFormat draws the local text) no longer held.
The control is now the zone-less createFormat, and useFormat is held to
the same UTC first render as useHydrationSafeFormat. The Inbox state hook
types useState rather than `new Map<…>()`, which the i18n scanner read as
a hardcoded string (1923 > 1922).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01776xJyhVe8xJQvTGeNfT9T
main's CI at fda9dcf failed in Typecheck with "Ineffective mark-compacts
near heap limit" (exit 134) at the 4,096 MB cap, after the same step had
passed at that cap on the heads before it. The step runs alone after the
build on a 16 GB runner, so it gets 6,144 MB.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01776xJyhVe8xJQvTGeNfT9T
@NewWorldVenture
NewWorldVenture marked this pull request as ready for review September 27, 2026 21:15
@NewWorldVenture
NewWorldVenture merged commit 1fbb066 into main Sep 27, 2026
7 checks passed
NewWorldVenture pushed a commit that referenced this pull request Sep 27, 2026
…n-upgrade-20260927

Audit docs keep this branch's CSP readiness checkpoint and its recount (13,830 NOT STARTED / 381 IN PROGRESS).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01776xJyhVe8xJQvTGeNfT9T
NewWorldVenture pushed a commit that referenced this pull request Sep 27, 2026
… branch; batch table keeps B12 done and B13

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DXw2nu25BjyRfA6Fg3YiMS
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.

2 participants