Repository navigation
expo app improvments - #147
Merged
Merged
Conversation
…he Agents, Chats and Tasks lists Small avatars no longer breathe and blink in every row, and every loop (avatars, live dots, skeletons) holds still while its screen is behind another; the tabs stay mounted, so their rows animated all the time. Streaming replies come as what changed (deltas.patch) instead of the whole block list five times a second. Agents, Chats and Tasks render with FlashList and memoized rows, re-render only when run counts change, and share one chat list request.
- A chat can be asked for its latest messages only (?limit=) with older pages from GET /api/conversations/:id/messages?before=, and light (?lite=1): screenshots become their own cached requests and long tool output is cut. Most of a long chat's bytes are base64 screenshots. - Answers to phones and through the cloud relay are gzipped. - Stored messages go to a phone only for the chats it has open, light. - GET /api/tasks?fields=summary leaves the long texts out of a board. - Phones may approve a ticket (the app's button always got a 403) and move, run or cancel a chat's follow-up. - An index for the latest runs of all agents.
…vents, probe addresses once A chat loads its latest messages (older pages on demand) with screenshots left out; message, task, agent and question events go into the caches instead of refetching them, bursts of events refetch a list once, and coming back to the app only refetches what predates the dropped link. Address probes are shared between requests and a dead address is skipped for a while.
…t once - Questions and approvals are answered with one tap (options, Approve / Decline with a note), in the chat and on Home. - A chat's menu: rename, pin, archive, delete and pause; its follow-up can be run now, moved or cancelled; follow-up and retry markers, plans and file edits show in the thread; screenshots load on their own when a step is opened. - Archived chats (with the ones that still go on) and archived tasks, all automations, and the activity of every agent. - A ticket opens from the board's copy at once and shows its timeline. - The lists are kept on the phone between launches; the chat renders only the row that streams; Home's sections render on their own.
Connected Android phones show under Screens with a picture of their screen and open in the live viewer. A paired phone may list them and fetch a screenshot; taking a phone over, connecting or changing one stays on the computer.
- A dead address is only skipped while another one answers, so a hiccup on the only address never reads as offline. - After a reconnect everything is asked again; bursts of events wait for a fetch on its way and then ask once more; boards and questions are patched without a stale fetch landing over them. - A message from before the loaded window no longer leaves a hole in the chat, a message on its way out stays until the computer's copy arrives, and the page of earlier messages can be tried again. - Recycled rows keep no state of another message (approval notes, open steps). - Android phones: a paired phone gets a screenshot only of phones an agent or a chat uses, and idle ones are no longer polled. - Nothing of the settings is kept on the phone; cached pictures go with the pairing; screenshot polls aren't gzipped.
…mprovments # Conflicts: # packages/core/src/db/migrations.ts
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.
Phone app: faster, no more lag, and the desktop's features
The phone app now opens long chats instantly, scrolls smoothly, shows its lists at once on start, and does most of what the desktop does. I ran it in the iOS Simulator against a seeded test core. On Android it only bundles cleanly — I did not run it on a device.
Why it was slow and laggy
Measured on the seeded test core (local)
The gap will be larger over Tailscale or the cloud relay.
Core changes
All opt-in; the desktop and older phone apps get the same answers as before.
Phone app changes
What was checked
Screenshots and the seed and measure scripts are in
/Users/danielehrhardt/.godmode/agents/godmode/workspace/task-40-phone-app/.Not done
What you need to do
Task #40 · done by Godmode with Godmode Bot