Make mobile terminals load faster#1147
Merged
Merged
Conversation
boudra
added a commit
that referenced
this pull request
May 27, 2026
* Extract client SDK package * Polish SDK client identity defaults * Build client before dependent CI jobs * Restore daemon client server export * Extract protocol and client SDK packages * Fix provider override schema validation * Fix app test daemon client imports * Simplify workspace build targets * Fix CLI test server build bootstrap * Run SDK package tests in CI * Fix rebase package split drift * Restore lockfile registry metadata * Update SDK config test for prompt default * Move terminal stream router test to client package * Fix rebase drift for protocol imports * Fix SDK agent capability fixture * Restore legacy server client exports * Fix server export compatibility test * Advertise custom mode icon client capability * Remove server daemon-client exports * Format rebased mode control import * Fix rebase drift for protocol imports Files added by upstream PRs (#893, #1147, #1154) referenced the pre-split shared/ paths that this branch moves into @getpaseo/protocol. Redirect those imports to the protocol package so typecheck stays green after the rebase.
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.
Linked issue
None.
Type of change
What does this PR do
Terminal attach now restores only the visible terminal content plus a bounded amount of recent scrollback when the host supports the new restore mode. That makes terminals faster to load on mobile and avoids sending a full structured scrollback snapshot for every attach.
Older clients keep using the legacy snapshot path. New clients detect the host capability before requesting the bounded restore path.
How did you verify it
Local verification passed:
npx vitest run packages/server/src/shared/messages.terminal-restore.test.ts --bail=1npx vitest run packages/app/src/terminal/runtime/terminal-restore-options.test.ts packages/app/src/terminal/runtime/terminal-stream-controller.test.ts --bail=1npx vitest run packages/app/src/terminal/runtime/terminal-emulator-runtime.test.ts --bail=1npx vitest run packages/server/src/client/terminal-stream-router.test.ts packages/server/src/terminal/terminal-restore.test.ts packages/server/src/terminal/terminal-session-controller.test.ts --bail=1npx vitest run packages/server/src/server/daemon-client.e2e.test.ts --maxWorkers=1 --bail=1 -t "receives server_info on websocket connect"npx vitest run packages/server/src/server/daemon-e2e/terminal.e2e.test.ts --maxWorkers=1 --bail=1npm run build:terminal-webview --workspace=@getpaseo/appnpm run build:daemonnpm run typechecknpm run lintgit diff --checkBefore merge, the main manual smoke worth doing is opening a long-running terminal from the mobile app and confirming the screen appears quickly with recent output intact.
Risk surface
Checklist
npm run typecheckpassesnpm run lintpassesnpm run formatran (Biome)