Skip to content

v0.0.6 — live tab and stale threads fixed

Pre-release
Pre-release

Choose a tag to compare

@Faultless Faultless released this 08 Aug 16:44
· 41 commits to main since this release

Early 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.