Repository navigation
Conversation
…screens
Two issues found while testing against OpenCode 1.18.34:
1. Permission prompts never appeared for tool calls. The server emits
permission.v2.asked events with {id, sessionID, action, resources},
but the SSE handler only matched the legacy permission.asked format.
Added a normalization layer (src/lib/permissions.ts) that converts
both protocol generations into a single internal model, and updated
the event handler to process v2 asked/replied events. Pending
permissions are also reconciled on SSE reconnect and app foreground
so a missed event doesn't leave the session stuck.
2. Keyboard covered input fields on the connection add/edit screens.
The chat screen already used KeyboardAvoidingView with
behavior="padding", but the connection screens used a bare ScrollView.
On Android 15+ edge-to-edge, adjustResize is a no-op so the keyboard
stays on top of the content. Wrapped both connection screens in the
same KeyboardAvoidingView pattern.
Includes PR dzianisv#210 (IME insets) which was already open.
…ired) from rejected credentials The health probe only sends Authorization when a password is filled in. A 401/403 in that state says nothing about the saved password — the user may simply not have typed it yet — but classify() reported it as "the server rejected your credentials", sending people re-typing a perfectly good password (seen live against a self-hosted server that protects /global/health). - ProbeAttempt gains authProvided, set by probeConnection from the auth it sent - classify(): 401/403 + !authProvided -> new auth-required classification with an "enter the password" message instead of "rejected your credentials" - sentry-noise: auth-required joins the auth-failed drop family (user config) - tests for all four combinations
…ompatibility - Add SSE lifecycle management with background/foreground recovery - Add encrypted per-session draft persistence - Remove composer character limit; preserve long prompts exactly - Add session-state reconciliation after reconnect - Add pending permission/question reconciliation - Improve authentication diagnostics (distinguish missing vs rejected creds) - Add OpenCode v2 API compatibility with v1 fallback - Add upstream integration ledger and compatibility documentation - Set applicationId to cc.agentlabs.opencode.test for side-by-side installs
This branch has not been deployed
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
This PR builds on top of PR #216 and adds:
Test plan
npm run typecheckpassesnpm run check:versionspassesgit diff --checkpassesDependencies
This PR depends on #216 being merged first. The base commit is
6b153be(PR #216 head).🤖 Generated with Claude Code