bridge: reconcile agent probe metadata + render-stall follow-ups - #338
Merged
Merged
Conversation
0xSero
force-pushed
the
fix/agent-catalog-reconcile-post319
branch
from
September 13, 2026 21:49
4e3cfa3 to
1e3bffc
Compare
Owner
Author
|
The iOS job wasn't a code failure — it was cancelled at the 60-minute job timeout ( Root cause: the |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Post-#319 follow-ups, four logical commits:
bridge: reconcile agent probe metadata against the built-in catalog—agent_catalog::reconcile_probe_metadatafolds a host's probe response into what Litter already knows before caching:supports_ssh_bridgeis re-stated from the built-in catalog (the host manifest flag means "could an alleycat host bridge it", not "litter can launch it over SSH" — taking it verbatim enabled picker rows that fail on connect), and missingpresentation/capabilitiesblocks fall back to the seeded entry instead of erasing known agents. Wired intoMobileClient's probe upsert. Includes unit tests.build: compile the ios-dev profile at opt-level 2— the fast device lane keepsdebug=1line tables but runs interpreter-side hot loops (streaming snapshot assembly, conversation projection, JSON parsing) an order of magnitude faster.ios: gate expensive derivations behind snapshot revision— conversation projection, sessions derivation, and the PiP active-session computation now short-circuit on unchanged snapshot revisions instead of re-running deep equality/sort/group passes on every coalesced snapshot bump (~8 fps while streaming) and on duplicate binds.android: stabilize composer callbacks and persist drafts immediately—ConversationScreenremembers its ComposerBar lambdas so argument-level skipping survives recomposition; composer draft persistence stays an immediate unconditional write (debounced variants lose typed text on quick navigation/backgrounding).Verification
make rust-test: 787 passed / 0 failed (host)