Notes from every releaseSeek and you shall find

This release improves the reading experience on iPad PWAs with fixes for initial paint, swipe gestures, and cursor restoration, adds hourly Litestream backups, and extends stats to accept ISO timestamps.

Improved

  • Stats now accept ISO timestampsZone and related tests were updated to parse ISO-formatted timestamps in addition to previous formats. 2414166

Fixed

  • First paint is already dark and locked swipes keep their axis on iPadAn inline block with zero specificity now prevents the UA stylesheet from flashing white text and links before the app styles load. Locked horizontal swipes no longer lose the pointer stream to vertical panning or image drags. 08a68fd 803cd55
  • Cursor returns to the exact row it was left on, however deep in the feedThe stored cursor now records depth so the list can page far enough to locate the original row after reloads or reshuffles. Hunts wait for htmx settle and handle error cases so the arrow is never left on the wrong row. 803cd55

Three focused fixes improve reading stability: cursor position holds across view changes, piles load in their remembered order without a visible correction step, and daily stats are now counted in each reader's own timezone.

Fixed

  • Cursor stays stable when switching viewsSwapping between views no longer jumps the reading position. ba3bc9a
  • Piles load directly in their saved orderA pile now arrives in its own remembered order on the first request instead of rearranging under the finger after a second fetch. 4bacef9
  • Daily stats counted in your own timezoneDay boundaries for streaks, today, this week and similar stats now follow the reader's local calendar (including DST) instead of UTC. 23e9107

This release refines navigation and header behavior so the feed and personal page feel distinct, improves the help and tour experience, gives each pile its own remembered sort order, and cleans up a few UI details.

Improved

  • Your own page now shows your username beside a compact wordmarkTyping the bare domain while logged in lands on your profile. The global feed stays at / for visitors and gains /feed for logged-in use; old query strings are preserved on redirect. 87faf3e
  • Help modal now plays the tour and speaks the wordmarkThe tour is embedded in the help modal with an intro poster and spoken pronunciation. Several layout, hover, and accessibility bugs in the modal were fixed along the way. 8533ba7 073bf0f 0a4b1e5 4c21eb8 456c120 d24f2f8
  • Search trigger is now just the magnifier iconThe prompt text moved into the open field's placeholder, letting the view rail share the seek row at every width. 91f18ad
  • Each pile remembers its own sort orderTapping the active tab cycles that pile's order. Unread and Archive keep independent sort states; the current order is shown on hover. 7740daf
  • Header menu simplified to account actions; privacy shown as a stateThe monogram is now the single entry point. Privacy and tl;dr appear as a switch in the account menu; the key table moved behind a Keys row. 6862175

Fixed

  • Header no longer shifts when moving between feed and your pageThe brand row now reserves space for the full wordmark and bottom-aligns its contents so the subtitle and list stay in the same position on both pages. 05ee470 7b194e2
  • Saved files now use the original filenameA saved file is named after the file itself rather than its source URL. 0e64239

This release adds swipe-to-mark-read on mobile, fixes archive sorting and return behavior, introduces a dynamic remembered sort tab, improves caretaker agent visit naturalness, and adds email preview tooling.

New

  • Swipe left to mark items read on mobileAdded swipe gestures to mark links read with improved touch targets and two-stage reveal for coarse pointers. 92a3988
  • Dynamic second sort tab on the home railThe rail's second tab now names the active sort (Shuffle/New/Old/Domain), cycles on tap, and remembers the last choice via cookie and localStorage. 9c5b9db

Fixed

  • Archive now sorts, returns clear rows, and iOS taps open correctlyFixed archive to respect chosen sorts, reads to clear only on actual return (including bfcache), and home-screen taps to work in standalone iOS web apps. ff8dfab

This release adds organic reader simulation with in-process agents and credential support, refreshes Chrome Web Store media assets, updates the extension homepage URL, and adds Gemini file upload handling.

New

  • Enabled Gemini file upload via synthetic pasteAdded support for uploading files to Gemini using synthetic paste, with updates to the extension injector and related tests. 43573d5

Improved

  • Pointed extension homepage to rdltr.appUpdated the homepage URL in the Chrome, Firefox, and Safari manifests. 151ec29

read later

For all the tabs you promised to read.
Save to read. Read to clear.

Close tabs. Keep links.