Skip to content

refactor: extract shared composer presentation and typed actions - #127

Merged
RCmerci merged 1 commit into
mainfrom
codex/app-composer-view-20261027
Oct 27, 2026
Merged

RCmerci merged 1 commit into
mainfrom
codex/app-composer-view-20261027

Conversation

@RCmerci

@RCmerci RCmerci commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

Extract the existing Capture/Append composer content and page toolbar to Journal_composer_view. Its props contain kind, capture model, saving/enabled/error and camera availability; local typed actions carry complete edit records, task intent, save/close/discard and attachment requests. Application adapts them back to the existing handlers and remains the owner of routes, drafts, picker requests/completions, attachment effects and platform-specific mounting.

Preserve session/document/local revisions, complete edit payloads, stable composer/toolbar/attachment keys, handler names, retry-identity-locked rendering, guards, attachment limits, Close vs Discard, iOS overlay vs non-iOS sheet, armed picker ownership and existing region/cutoff behavior. Dune only registers the extracted module. Source-boundary assertions follow the new renderer and require Application's call to it.

Stacked phase-2 PR3, depends on #126; base b3e69a0, exact head2adc8f3c1d787fce58d92c24c77d561230a5a9f7. No spec, Swift, dependency or build-system expansion.

Validation: exact-head dune build @ALL app/native_embed.exe.o -j3, dune runtest --force -j3 and git diff --check passed. Independent read-only review found no issues, including event payloads, owner scope, picker lifecycle and input identity. An additional attempt to run the existing toplevel-based tool/test_macos_regressions.py --case mutation_input_diagnostics_pure_reducer could not load dllapp_stubs.so because the host OCaml toplevel lacks _caml_startup; that auxiliary invocation did not execute its cases and is not claimed as passed. No workaround or dependency change was applied. Full compiled regression results are retained separately.

Final validation: exact-head CI passed. The final combined phase-2 source18c1feab6ae6806cff58b01522eeca185f7a7d9b was built as the complete App and installed on the existing isolated iPhone13/iOS26.1 Simulator. Installed and built executable SHA256 both19d1c4a7e5539421d105ffea830a5653a7f402dc94ac9f1c2364957b297d0bbb. Capture text/task/save, Append close/reopen retention/save, Capture close/reopen/discard, owned PNG staging, picker Cancel retention and attachment save passed.

Acceptance used normal XCTest taps, typing and drag gestures with existing local synthetic fixtures. It retains experimental host-restamp/cross_abi_validated=false; no real-device ABI claim. Independent source and final evidence reviews found no unresolved confirmed product failure. New attachment save and existing fixture PNG preview are separate checks. Initial stale-selector/partially visible-row driver failures are retained with the passing corrected evidence. This UI matrix does not cover100-status pagination, artificial error/retry or IME composition; existing regression coverage remains intact. No merge or release authorization for this stage.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 27, 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-27T07:07:10.591588Z 2adc8f3 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 changed the base branch from codex/app-status-view-20261027 to main October 27, 2026 12:31
@RCmerci
RCmerci merged commit 9d08cd4 into main Oct 27, 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