Peter Lee
0406e66369
fix(ui): keep stable chat rows in insertion order and only sort live tool/stream items by timestamp ( #113266 )
...
* fix(ui): keep stable chat rows in insertion order and only sort live tool/stream items by timestamp
* fix(ui): keep live rows within current turn
* fix(ui): keep current work above queued turns
* fix(ui): keep streamed replies above queued turns
* fix(ui): preserve reconnecting run order
* fix(ui): preserve causal terminal ordering
* fix(ui): bound replay rows to owning turns
* fix(ui): keep question summaries in owning turns
* fix(ui): scope question run ownership to session
* fix(ui): restore reconnecting chat run identity
* fix(ui): remove unused chatItemTimestamp import in chat-thread-build.ts
* fix(ui): correlate question summaries with agent runs
Co-authored-by: Peter Lee <li.xialong@xydigit.com >
* chore(i18n): refresh native source baseline
Co-authored-by: Peter Lee <li.xialong@xydigit.com >
* fix(ui): remove unused chatItemTimestamp export and split tool-stream test file
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-27 02:08:22 -04:00
Peter Steinberger
3b84a55d99
refactor(protocol): pre-publish cheat-window cleanup and vintage tracking ( #111041 )
...
* fix(codex): drain dynamic-tool handlers before side-thread cleanup
* refactor(protocol): rename question ids to questionId and flatten answer maps
* refactor(protocol): slim worker stack and unify session-catalog shapes
* refactor(protocol): delete dead public surface and polish packaging
* feat(protocol): track release-train vintage on gateway methods and schemas
* fix(apps): align question surfaces merged from main with reshaped protocol
* test(health): shape secret fixtures to scanner-safe token names
* test(health): use scanner-safe token fixtures
* fix(apps): align question surfaces merged from main with reshaped protocol
* fix(ci): prove reshaped protocol in shallow checks
* fix(ui): align sidebar question fixtures with protocol
* fix(apps): read flat Swift question answers
* fix(apps): align question surfaces merged from main with reshaped protocol
* fix(apps): refresh native question inventory
* fix(apps): align macOS snapshot fixtures with protocol
* fix(ui): align narration question fixture with protocol
2026-07-19 04:07:15 -07:00
Peter Steinberger
62c5a8b888
fix(gateway): make scope errors machine-readable across clients ( #111013 )
...
* fix(gateway): consume structured scope errors
* docs(gateway): clarify tools error boundary
* refactor(gateway): unify node admin policy
2026-07-18 17:53:45 -07:00
Peter Steinberger
81362bf643
feat(apps,ui): question surface parity and composer takeover ( #110681 )
...
* feat(apple): question parity — persistent summaries, skip, reconnect fallback, macOS keyboard
* feat(android): question parity — persistent summaries, skip, reconnect fallback
* feat(ui): question panel replaces composer while expanded
* fix(apps): regenerate question parity contracts
* fix(apps): preserve question reconciliation state
* fix(apps): keep question terminal state monotonic
* test(android): satisfy question test formatting
* fix(security): restore skill audit file reads
* fix(apps): harden question parity edge cases
* fix(apps): preserve expired question summaries
* fix(apps): keep question recovery retries current
* fix(apps): retry stale question recovery snapshots
* fix(android): reset stale question retry budgets
* docs(tools): clarify question composer takeover
* fix(apps): satisfy question recovery release gates
* fix(apps): preserve unknown question outcomes
* fix(apps): harden question action state
* fix(apps): keep unavailable questions terminal
* fix(apps): finalize local question outcomes
* fix(apps): preserve question card API
* fix(apps): reconcile external question answers
* fix(apps): reset question backoff budget
* chore(apps): refresh native i18n inventory
* fix(android): distinguish question skip progress
* fix(android): reconcile locally expired questions
* fix(apps): keep question recovery state fresh
* docs: note question surface parity
* fix(ui): reconcile IME draft before question takeover
* docs: leave question parity notes to release workflow
2026-07-18 21:42:15 +01:00
Peter Steinberger
5057fd9e59
fix: keep native question cards out of the public API ( #110534 )
...
* feat(ask-user): follow-up harness slice
* feat(ask-user): follow-up channels slice
* feat(ask-user): follow-up native slice
* feat(ui): dock question panel above composer with stepper and compact stream summaries
* docs: refresh follow-up integration maps
* test(ui): align terminal summary proof
* fix(infra): echo declared option answers in terminal status when free-text is allowed
* fix(infra): keep reaction answering when display labels are formatter-adjusted
* fix(agents): settle plain-text claims only after question registration commits
* fix(agents,apps): commit-ordered claim persistence, claim-aware prompt delivery, non-blocking question refresh
* fix(harness,infra): reaction-appropriate question copy, caller presentations honored
* fix(native,infra,agents): local-expiry eviction, value-addressed reactions, reserve-before-request
* fix(infra,android): dual-mode question resolver for compact callbacks; reset terminal retention on replayed pending
* fix(harness,discord): claim-aware prompt delivery in run helper; escape finalization labels
* fix(macos): merge transient-content visibility with question cards after main sync
* fix: repair ask user follow-up CI
* test: update limited bootstrap scope expectation
* fix: retain shared question card API
* chore: refresh native i18n inventory
* fix: narrow shared question card visibility
* test: update macOS question scope expectations
2026-07-18 10:27:32 +01:00
Peter Steinberger
d7de67ae02
feat: ask_user follow-ups — harness convergence, channel finalization + reactions, native cards, docked web panel ( #110372 )
...
* feat(ask-user): follow-up harness slice
* feat(ask-user): follow-up channels slice
* feat(ask-user): follow-up native slice
* feat(ui): dock question panel above composer with stepper and compact stream summaries
* docs: refresh follow-up integration maps
* test(ui): align terminal summary proof
* fix(infra): echo declared option answers in terminal status when free-text is allowed
* fix(infra): keep reaction answering when display labels are formatter-adjusted
* fix(agents): settle plain-text claims only after question registration commits
* fix(agents,apps): commit-ordered claim persistence, claim-aware prompt delivery, non-blocking question refresh
* fix(harness,infra): reaction-appropriate question copy, caller presentations honored
* fix(native,infra,agents): local-expiry eviction, value-addressed reactions, reserve-before-request
* fix(infra,android): dual-mode question resolver for compact callbacks; reset terminal retention on replayed pending
* fix(harness,discord): claim-aware prompt delivery in run helper; escape finalization labels
* fix(macos): merge transient-content visibility with question cards after main sync
* fix: repair ask user follow-up CI
* test: update limited bootstrap scope expectation
* fix: retain shared question card API
* chore: refresh native i18n inventory
2026-07-18 03:32:39 -04:00