* Open large pasted text and attached text in structured chats
* Read pending pasted text before its host route resolves
* Pass structured attachment eligibility from the owning chat
* Preserve composer and Markdown state when inspecting text attachments
* fix: preserve attachment identity and cancel deferred reads
* test: consolidate phone attachment rendering contracts
* Scope attachment previews to visible chats and share route indexes
* test: consolidate duplicate attachment preview coverage
* perf: share remaining workspace catalog derivations
* feat(chat): open text attachments from structured goal objectives
* fix(chat): reuse preview owner and bind app hooks
* refactor(chat): trim duplicate tests and unused capability initialization
* test(chat): share routing scope mount fixture
* Fix routing performance attribution and folder row imports
* Share attachment capability through its domain module
* Align attachment fixtures and warm routing contracts with current gates
* Preserve relay connection timeout default for ordinary requests
* Share image classification ownership and repair integration fixtures
* Repair real attachment integration fixture boundaries
* Expose e2e compiler diagnostics and prune stale read allowance
* Type the recall fixture row ref as a div
* Keep text attachment capability in its existing capability owner
* Keep image MIME bindings in the media type owner
* Own private bridge response completion at the request boundary
* Complete bridge fixture return and retention types
* Localize native chat text attachment preview controls
* Complete attachment preview localization at presentation boundaries
* Preserve legacy preview locale identity and complete localization controls
* Fix typed mobile host witness lookup
* Commit attachment page edits and reset mobile page scroll
* test(chat): remove duplicate preview localization coverage
* fix(mobile): apply page input font and footer safe area
* fix(chat): commit edited page before admitted navigation
* fix(chat): retain field readiness on pending commit
* fix: preserve attachment field focus until control activation
* fix: restore attachment preview styles and canonical close
* Bind mobile input font role to the central theme
* Type font source fixture cases as tuples
* Attribute inherited owner filter work and qualify folder fixtures
* Keep owner filter fixture input types source-derived
* test: retain attachment capability assertion import
* test: focus attachment coverage on important regressions
* Replace text attachment paging with bounded scrolling and trim tests
* Preserve literal phone attachment whitespace and trim unused test meter
* Keep scroll view refs and measurements out of render
* Keep preview collection independent of native clipboard initialization
* Give the phone scroll fixture coherent measured DOM geometry
* Commit attachment scroll extent before restoring its anchor
* Preserve text viewport geometry across bounded reads
* Unify bounded text scrolling around the viewport
* Preserve the live text anchor across viewport resizing
* Measure committed text viewport bounds from the host
* Preserve live attachment position across native client extent changes
* Use the actual first source block in the resize regression fixture
* Reuse subscription handle type
* Keep attachment effects keyed to their existing triggers
* Keep attachment rows within the committed track
* Allow the full attachment renderer contract to settle
* Open text attachment previews in a large modal
* Preserve attachment modal header layout with primitive-owned styles
Carries over #33221 and #33210. Replaces our #34484 Duo support with the community design, on top of main's rebuilt terminal key bar (#36166).
Fixes#33200
Co-authored-by: Takeshi Matsumoto <zytakeshi520@gmail.com>
Co-authored-by: Lars Keggenhoff <lars@kghf.io>
* fix(mobile): a compact queue: shorter header, a capped scrolling list, and an editor that fits the card
* fix(mobile): keep queue actions visible and reveal new cards
* test(mobile): allow shared SVG host fixture
* fix(mobile): queue header and editor controls grow with large system text instead of clipping
* fix(mobile): at large text sizes the queue header's buttons wrap below its label instead of squeezing it out
* fix(mobile): at large text sizes the queued editor's Cancel and Save wrap below its heading instead of truncating it
* fix(mobile): at large text sizes the queue header's and editor's buttons take a line of their own
* fix(mobile): the large-text button lines wrap when one button is all a small phone's line holds
* test(mobile): the composer tray test's react-native stub reports the text scale
* fix(mobile): while a card is edited at large text, the paused header's button line gives its height to the editor