Skip to content

feat/agent-cli-mobile-source-ui - #69

Open
Florious95 wants to merge 19 commits into
mainfrom
feat/agent-cli-mobile-source-ui
Open

feat/agent-cli-mobile-source-ui#69
Florious95 wants to merge 19 commits into
mainfrom
feat/agent-cli-mobile-source-ui

Conversation

@Florious95

@Florious95 Florious95 commented Sep 1, 2026

Copy link
Copy Markdown
Owner

Goal

Match the exported Agent CLI Mobile session UI source exactly while retaining the existing session business path.

Changes

  • Restores source terminal panel, two-row dock, 46/86dp input geometry, 40dp controls, Inter/monospace typography, theme tokens, and source animation curves.
  • Restores the exact three-button menu, fixed 230×94 view overlay, source hotkey strip, and horizontally scrolling favorite-session chips.
  • Uses global favorites minus the current session; real session switching preserves dock mode, input state, and the late-list scroll viewport across consecutive selections.
  • Clears real input focus on terminal tap, system Back, IME hide, and send.

Validation

  • :core-protocol:test :core-terminal:test :core-conn:test :app:testDebugUnitTest --rerun-tasks — PASS.
  • :app:connectedDebugAndroidTest for SessionDockInstrumentedTest — 2/2 PASS on the sole managed API 35 emulator at 390×844.
  • Production SessionRoute instrumentation covers late horizontal scroll → switch → unchanged scroll/dock/input → consecutive second switch.
  • Mobile MCP element-tree and screenshot acceptance covered menu, overlay, hotkeys, expanded IME state, system Back collapse, and two consecutive late-list session switches.
  • Strict T3 architecture checks pass for dev.agentmirror.app, .session, .termview, and .ui.components.
  • Fresh :app:assembleRelease --rerun-tasks — PASS.

Scope

Android session UI, its tests, and the release APK only. No provider, connection/status core, or server changes. Keep this PR OPEN for user device acceptance; do not merge.

IME squeeze now keeps the cursor in the follow window so short snapshots
stay visible instead of jumping to blank bottom rows. Fresh-install
typography uses Agent CLI Mobile .cli 12.5sp with CSS line-height 1.75.
System Back hides IME without moving Compose focus. Force-clear focus
when any real IME-visible signal drops, and handle focused Back in the
input bar so the capsule returns to 46dp without popping the session.
Revert TermSurfaceView/Presenter/FontSizeStore to b267127. Drop HTML CLI
panel padding. Wire 查看 to the real session list. Classify upload HTTP
failures without leaking tokens. System bars replace extra bottom chrome.
API 33+ IME owns DEFAULT OnBackInvokedCallback, so GLOBAL_ACTION_BACK
never reached Compose BackHandler while the keyboard was attaching.
Register an overlay-priority callback while the editor is focused, and
stop treating a stuck IME animation target as still-visible.
The MCP fixture opened SessionSwitchSheet with an empty list, so 查看
showed workspace · 0. Feed the same Session→L2Entry mapping used by
viewMenuSource, and assert open/select/dismiss on production SessionRoute.
500 bodies now carry resolve_dir/measure_dir/write_file operands without
paths or tokens. Default dir probes Downloads then ~/.agentmirror/uploads,
and long names are truncated so write cannot fail ENAMETOOLONG.
@Florious95
Florious95 force-pushed the feat/agent-cli-mobile-source-ui branch from 7d4348a to 70d1aa6 Compare September 2, 2026 10:08
Independent AVD failed because predictive back was off, so overlay
OnBackInvokedCallback was a no-op and IME swallowed KEYCODE_BACK before
hide/clearFocus stuck. Enable the callback, intercept window Back, and
drive capsule collapse even if the editor keeps system focus.
SessionScreenScaffold was full-bleed, so the terminal met the dock on a
hard edge. Reuse the b267127 SessionShellScreen card: 4dp margin, 14dp
radius, clip, light elevation / dark hairline, and a 1dp rule above the
dock. Top name row stays omitted.
@Florious95
Florious95 force-pushed the feat/agent-cli-mobile-source-ui branch from cbe6c91 to ec4c865 Compare September 2, 2026 17:36
Disable predictive OnBackInvoked so KEYCODE/GLOBAL reach the single
Compose BackHandler. Keep dispatchSessionBack focus→overlay+Sessions→
dock→host. Split IME expand waits into height vs dumpsys mInputShown.
Keep predictive back off in merged debug and release application tags.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants