Skip to content

composer: build on Lui_element_combine.composer - #30

Merged
tiensonqin merged 1 commit into
mainfrom
devin/1790433986-combine-composer-migration
Sep 26, 2026
Merged

tiensonqin merged 1 commit into
mainfrom
devin/1790433986-combine-composer-migration

Conversation

@tiensonqin

Copy link
Copy Markdown
Contributor

Summary

view_composer.ml now delegates the capsule layout to Lui_element_combine.composer / composer_collapsed instead of hand-rolling it. Identical UI/UX: same accessibility identifiers (surface.composer.root, field.composer, row.composer.controls, spacer.composer.*, button.send, button.composer.expand), same per-host variants (Flutter: surface-container-high capsule + 48pt primary send icon + secondary collapsed "Capture a thought"; Apple: glass capsule + black circular arrow-up send), same behavior (attachment strip gated by assets signal, autofocus signal, FocusComposer capsule press, SendComposer on send/submit, ExpandComposer on collapsed press).

Chat-specific content is passed through the generic params: ~actions carries the attachment and task-status buttons (with their picker stacks), ~attachments/~attachments_visible carry the asset strip, ~send_icon selects app "send"/app "arrow-up" per platform.

Bumps the lui pin to e5f940a (the combine-composer branch on logseq/lui, PR #55). Once that PR lands, the pin should move to the merged main sha.

Deleted now-duplicated helpers: with_press, *_composer_send_button, collapsed_composer_button (mli pruned accordingly).

Verified: dune build @shared/native/runtest — 718 tests pass, including the composer layout/parity assertions.

Link to Devin session: https://app.devin.ai/sessions/7430d12bacc441448cf27425a36090a4
Open in Devin Desktop: https://app.devin.ai/desktop/session/7430d12bacc441448cf27425a36090a4?variant=devin
Requested by: @tiensonqin

@devin-ai-integration

Copy link
Copy Markdown

I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".

  • Disable automatic comment, CI, and merge conflict monitoring

@devin-ai-integration

Copy link
Copy Markdown

Verified the Lui_element_combine.composer migration on a real iPhone 17 simulator (iOS 27.0) — built the chat app from this branch, signed in, created a sync graph against local db-sync, and exercised the composer end-to-end:

  • ✅ Collapsed "Capture" capsule renders; tapping expands to text field + + attach + task-status + greyed send
  • ✅ Send button transitions grey → solid black once text is typed
  • ✅ Send clears the field and appends the block to today's journal
  • ✅ Draft survives collapse → re-expand
  • ✅ Attachment menu (File/Camera/Photo/Audio) and task-status picker (6 statuses) both open and respond

Journal block captured via migrated composer
Task-status picker open above composer

@tiensonqin
tiensonqin merged commit d8fe1d0 into main Sep 26, 2026
4 of 6 checks passed
@tiensonqin
tiensonqin deleted the devin/1790433986-combine-composer-migration branch September 26, 2026 15:27
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