v0.0.6 — live tab and stale threads fixed
Pre-releaseEarly pre-release for testing on Android. A fix release for the live tab and for stale threads.
Coming from v0.0.3 or earlier, or the very first v0.0.4 upload? Those were debug-signed
and Android will refuse to install over them — uninstall first. From signed v0.0.4 or
later this updates normally.
Which file
| File | Size | For |
|---|---|---|
textlog-0.0.6-arm64-v8a.apk |
18 MB | Virtually every phone from the last decade — take this one |
textlog-0.0.6-armeabi-v7a.apk |
15 MB | Older 32-bit devices |
textlog-0.0.6.apk |
48 MB | Universal; runs on anything |
Threads no longer go stale on you
Caching threads for the session made navigation instant, and introduced a worse problem: a
thread you had already opened would never show new replies, even if you pulled to refresh.
Two causes, both fixed.
Refresh did nothing. Pull-to-refresh was only refetching parts of the thread older than
five minutes, so on a thread you had just been reading it was a no-op. An explicit refresh
now refetches the whole thread, always. Someone who pulls has usually just been told there is
a new reply, and "nothing has expired yet" is never the answer they wanted.
Nothing noticed the change. Every post carries its own reply_count, and feeds, the live
stream and a single post fetch all return a current one. The app now compares that against
what it holds: if a post claims more replies than are cached, the cached copy is dropped and
the next open refetches. No polling, and no waiting out a timer.
The live stream gives a sharper signal still — a post arriving with a parent_id says that
thread just changed, so its cached replies are dropped outright. That is the "1 reply" you
see appear next to someone's name, now wired to actually invalidate the thread behind it.
Reopening an unchanged thread still costs zero requests.
Also still in 0.0.6
The live tab stops dropping posts. An idle firehose connection is closed after about twelve
seconds while the server's keep-alive is on a fifteen-second timer, so it never arrives in
time — that part is server-side. The app now reconnects promptly instead of backing off, and
reconciles against /feeds/latest on every reconnect so nothing published during the gap is
lost.
Unofficial client. textlog is by stagas.