Skip to content

Fix Journal composer limits, blank drafts and recovery guidance - #64

Merged
RCmerci merged 2 commits into
mainfrom
codex/journal-block-ux-20261011
Oct 11, 2026
Merged

RCmerci merged 2 commits into
mainfrom
codex/journal-block-ux-20261011

Conversation

@RCmerci

@RCmerci RCmerci commented Oct 11, 2026 •

Copy link
Copy Markdown
Contributor

The shared Journal composer left attachment actions looking active at nine items, admitted Unicode-only blank drafts, labeled the multiline Return key as Send, and offered reselection even when a failed batch could be retried in place.

This change disables Files/Photos/Camera at the cap and explains how to restore them, uses Unicode White_Space consistently for admission and attachment-only naming, keeps native Return for multiline editing, and chooses recovery guidance from the retained import state. Worker interruptions preserve the correct recovery instruction; nonstaged failures retain reselection guidance.

Current integration: head 601a114f27b0e39b66b01aaf6f2b355fea70c5a7 incorporates main c1276ec28ea0a28804db7b8bcd1df0b1cb725915. The sole conflict was appended route tests; both suites and registrations are preserved. The production fix is equivalent to the original PR64 patch. PR63's typography, Timeline indicator, ten-level Detail expansion and visible-demand read budgets are preserved.

Validation:

  • RED public reducer/view tests and four actual baseline Simulator reproductions before implementation.
  • Current head: dune build @all app/native_embed.exe.o and complete dune runtest test --force -j 2 passed, including 41 routes and 79 Application tests and the PR63 read-budget assertions.
  • Current-source iPhone 13 / iOS 26.1 Simulator: all 8 affected acceptance tests passed, zero failures, 342.930 seconds. Coverage includes all three entries for cap/remove/re-add and native Return, Unicode blank admission, text and attachment submissions, duplicates/removal, Detail back targets, recoverable import failure and Worker interruption.
  • Independent incremental review verified the remote SHA/base, 68 source hashes, host binary, both test suites and all 8 raw xcresult leaf results; no evidenced code defect or code blocker.
  • Historical original head 5425b1e: the broader 16-test Simulator matrix passed before integration. That run is retained as historical evidence, not attributed to the current head.
  • Exact-head CI: Journal CI run 38138798348 completed/success; WIP and build-and-test both passed for the exact head.

Tests use an isolated synthetic graph/account and dedicated app bundle with the actual Application → C → Swift/LUI host; native keyboard and pickers are driven through XCTest. The nonstaged reselection branch is covered through its public callback/Worker completion, not a visible iOS entry point.

Limits: IME composition, VoiceOver, physical iPhone, live server/sync, successful camera capture, actual imported bytes and final asset persistence are untested. Photos tests used only synthetic QA images. Dependency pins, Dune and spec files are unchanged.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-11T09:28:46.309043Z 5425b1e PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@RCmerci
RCmerci merged commit 4ef0af2 into main Oct 11, 2026
2 checks passed
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