Repository navigation
Replies: 3 comments
|
The implementation is up for review in #26013. |
|
🤖 Generated by an LLM on behalf of Tomasz Tórz. Data on a narrower version of this, in case the full proposal is too big a first step: prefetch only what the mobile home list shows — the top six threads, then up to 12 rows on screen after a scroll settles — one at a time, each loaded again when its row changes (at most once a minute), plus starting the load on touch-down. iOS simulator, T3 server on a copy of a real 6 GB database, 5G (120 ms RTT, 10/5 Mbps) through a shaping proxy, server CPU limited to 10 %: opening a never-opened thread went from 1.13 s median (0.76–2.59, n=7) to 0.22 s (0.18–0.46, n=8). I have it as a branch and would open a PR only if a maintainer approves the direction and defaults (how many threads, whether to skip on cellular). |
|
#26013 was closed because this discussion had no maintainer approval yet. I won't open another PR until a maintainer approves a direction here. To make the decision smaller, the proposal splits into three parts that can be approved on their own:
The simulator recording in the opening post shows all three together on our fork. Part 1 is the one I'd send first. Which of these, if any, would you approve for a PR? If it's only part 1, that PR would carry part 1 alone, with its own recording. |
Uh oh!
There was an error while loading. Please reload this page.
People use T3 Code on phones while traveling and in areas with weak coverage. A message sent during a connection gap can disappear or leave the composer blocked. Threads that were not opened recently are unavailable offline, and the reconnect state covers the thread.
I propose one client-only change for this workflow.
commandIdso existing server receipts deduplicate retries after an app restart or mid-send disconnect.afterSequencecatch-up path. Start this work when the app enters the foreground and after reconnecting.This proposal changes no server code or contracts. Background URLSession transfers and BGAppRefresh are out of scope.
A working implementation and simulator video are available at https://github.com/user-attachments/assets/9680d28e-9659-4cc4-873d-4a090c86083a. They demonstrate the proposal, not an expectation that maintainers accept it.
Would you approve this direction and scope for a PR, or would you prefer a narrower approach?
All reactions