Skip to content

Temporary media upload for upstream PR 12174 - #56

Closed
Bil0000 wants to merge 2454 commits into
mainfrom
mod-enter-agent-actions
Closed

Bil0000 wants to merge 2454 commits into
mainfrom
mod-enter-agent-actions

Conversation

@Bil0000

@Bil0000 Bil0000 commented Sep 17, 2026

Copy link
Copy Markdown
Owner

Screenshots and background shortcut demo for pingdotgg#12174. This draft will be closed after the attachments are added to the upstream PR.

Before: composer keybindings on PR 2829

After: both composer actions have editable defaults

mod-enter-background.webm

juliusmarminge and others added 30 commits September 16, 2026 14:14
… tokens

The v2 thread surfaces still styled borders, fills, and status text with
dark:/light: pairs, which do not follow registered custom themes and now fail
the no-mobile-uniwind-theme-escape-hatches lint. Convert them to adaptive
tokens, adding the missing amber/sky badge and neutral hairline/fill entries
to the theme generator.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
ThreadQueueControl and ThreadRelationshipsBanner read theme variables only to
tint SymbolView icons and color native modal chrome, the same reviewed interop
pattern as the existing thread-feed entries.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The plan.md path check read process.platform and process.env directly; thread
the host platform reference and the adapter's provider environment through
GrokAdapterV2Options instead.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The pull_request workflows never fired for 6c3b84b; only the
pull_request_target ones ran.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Its findings were fixed in 9abca06 and the review threads are resolved;
the check only re-evaluates on push.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Round-16 rebase onto main (5 commits, headlined by pingdotgg#8236 file
attachments in the client). Main's upload-aware send path — capability
probes, upload await/retry gating, uploaded-ref turn attachments with
dataUrl fallback, draft release on success — is woven into the v2
dispatch flow, timeline user rows render file attachments as download
links with the ChatView download handler, and the provider settings
editor cleanup keeps the branch's environment-field rows. The codex
feedback client flow stays unported, replay testkit configs gained
main's environmentThemesDir, and the rpc/settings/docs unions carry
both sides.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
An ordinary exit-code failure knocked its whole tool group out of the
"Ran N commands" summary (and the live pill mid-run) into the raw
"+N previous tool calls" clamp: v2's derived tone marked any
status=failed item as "error", which the grouping treats as a non-tool
row. That inverts v1's semantics and pingdotgg#8395's muted-failure rule — the
failed lifecycle status already carries the X marker and the summary's
includes-a-failure hint, so the tone override goes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
R03: Rescope Claude permission suggestions to the current session and add a whole-tool session rule when the SDK provides no suggestion.
Carry unsettledAt through v2 thread state and shells, stamp explicit and activity-driven reactivation, and clear the stamp when settling.

Finding: R11

Implemented by GPT-5.6 Sol in Codex.
R15: Race Claude approval decisions with cancellation while checking already-aborted signals and cleaning up the listener on every exit.
Build the service launcher after the clean CLI pack so publish and background-service installation receive the required artifact.

Audit: R01
Import pin order, snooze state, unsettle time, and linked pull requests. Repair prior imports only where the stored v2 property is absent, so later v2 changes remain authoritative.

Finding: R08

Implemented by GPT-5.6 Sol in Codex.
Force the effective composer interaction mode to build when the legacy plan setting is off, including threads and drafts with a saved plan mode.

Audit: R13
R16: Apply authoritative assistant snapshot models to Claude subagents and buffer snapshots that arrive before task_started.
Use v2 ownership and lifecycle metadata when a legacy transcript belongs to a migrated thread. Legacy transcript rows remain searchable until lazy hydration finishes.

Finding: R09

Implemented by GPT-5.6 Sol in Codex.
Prune stale git worktree registration and recreate the saved branch at the saved path before provider startup. Recovery remains best effort so normal provider errors still report when repair is impossible.

Finding: R10

Implemented by GPT-5.6 Sol in Codex.
Intercept /feedback in web and mobile, show the upload result and feedback ID in the thread, and block duplicate submissions while an upload is active.

Audit: R12
R02: Append persisted paths for every uploaded file on provider sends and steering while reserving native image payloads for supported images.
Classify markdown image sources and request environment-scoped asset URLs for workspace files while leaving ordinary web images direct.

Audit: R17
Normalize drive-path links and image sources before sanitization so file chips and signed workspace images receive usable paths.

Audit: R18
R07: Project Codex last-turn and Claude assistant context usage, and retain the latest usage when terminal provider-turn updates omit it.
Keep ordinary file-chip clicks in the in-app preview while restoring modifier-click editor opening, configured editor labels, remote gating, and reveal-in-file-manager actions.

Audit: R19
Use the owning thread or pull request environment for editor, shell, and remote-open actions instead of whichever environment is active. Add a multi-environment regression test for the action hooks.

Audit: R20

Implemented by GPT-5.6 Sol with Codex.
Advertise and validate an explicit orchestration protocol before clients open RPC sessions. Announce the same protocol on WebSocket upgrades so hosts reject older clients before request decoding while preserving existing auth and relay parameters.

Audit: D03

Implemented by GPT-5.6 Sol with Codex.
Document which thread metadata and transcript data migrate, which runtime history does not, and how the fresh provider continuation uses the latest 32,000 characters. Add a safe read-only recovery procedure without claiming an export API.

Audit: D02

Written by GPT-5.6 Sol with Codex.
Explain the eligible timeline items, whitespace-normalized 240-character prefixes, omitted tail risk, and practical preparation for provider or fork handoffs. Distinguish this rule from the legacy import's 32,000-character transcript suffix.

Audit: D04

Written by GPT-5.6 Sol with Codex.
Remove obsolete implementation plans and the probe write marker so temporary work artifacts no longer ship with the repository.

Audit: H01

Implemented by GPT-5.6 Sol with Codex.
R14: Hold idle completion through prompt admission, reconcile status only for the current admission generation, and invalidate admission before abort.
Project AskUserQuestion as a structured user-input runtime request and return keyed answers to the Claude SDK instead of routing the tool through generic approval.

Finding: R04

Model: GPT-5.6 Sol via Codex
Translate TodoWrite and ExitPlanMode tool input into canonical todo-list and proposed-plan artifacts so every client can render Claude planning state.

Finding: R05

Model: GPT-5.6 Sol via Codex
juliusmarminge and others added 28 commits September 16, 2026 14:14
The shared shell cache codec never overrode activityRunStartedAt and
unsettledAt with DateTimeUtcFromString, so any snapshot holding a working or
unsettled thread encoded fine but failed to decode on the next cold launch.
The store discarded the whole row and the Home list stayed empty until the
environment reconnected.

Add the two overrides and extend the mobile cache round-trip test with a
running, unsettled thread so the codec and the JSON overrides stay in sync.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The pill above the composer only tracked queued messages, and a follow-up
sent during a turn always queued because mobile hardcoded its dispatch
mode. Steering meant sending the message and then promoting it from the
queue sheet, and the turn's subagents were only reachable as transcript
rows.

The pill now carries an agents segment alongside the queue count, scoped
to the running turn and hidden once it settles. Tapping either segment
opens a sheet: agents lists the turn's subagents and opens a child
thread, and the queue sheet is rebuilt on the native header with compact
rows, swipe to remove, a context menu, and full editing that saves
through queued-run.edit while keeping the message's place in line.

Follow-ups become a choice. A Follow-ups settings screen picks queue or
steer, the send button says which one it will do, and long-pressing it
uses the other for a single message. On a hardware keyboard the Command
chord does the same, so the composer text view now reports whether the
submit was the alternate and names both chords for the iPad shortcut HUD.
Steering travels as "auto" so a turn that ends mid-flight degrades to a
queued run instead of bouncing the message back into the draft, and the
button only offers Steer when the provider can actually steer.

Web's dispatch resolver moves into client-runtime so both clients share
it. The lineage banner is gone from the transcript, taking mobile's
disconnect action with it; merge back to source now lives in the thread
header's git menu.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…fails (pingdotgg#12153)

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
@github-actions github-actions Bot added the vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. label Sep 17, 2026
@Bil0000 Bil0000 closed this Sep 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants