Skip to content

Subshell 0.79-beta

Pre-release
Pre-release

Choose a tag to compare

@brealorg brealorg released this 08 Oct 18:29

Subshell 0.79: saved searches, RedGIFs in the app, Reddit favorites sync and a full review of the code.

Highlights:

  • New: saved searches in the Search hub, an optional scroll position indicator, RedGIFs clips in the app (with Show NSFW posts) and favorites synced with Reddit.
  • Reddit emotes, GIFs and images show inline in posts and comments and can be edited; spoilers stay hidden until tapped; escapes, nested styles and lists render right.
  • Safer writing: a post, comment, message or moderator action whose answer was lost is checked with Reddit instead of sent twice, and drafts survive restarts.
  • Accounts stay apart: votes, scroll positions, lists and notifications no longer cross between accounts; a notification for another account switches to it.
  • Fewer crashes and stalls: the app returns where you were after Android closes it, large photos no longer crash previews, and slow work left the main thread.
  • Accessibility: switches, choices and buttons announce what they are and their state, touch targets are larger, and auto-hiding controls follow the system timeout.
  • Correctness: votes, refreshes, paging, search results, markdown, flair and moderator tools now do what they show, and Retry picks up where a load failed.
  • No lost work: drafts, replies and moderator actions survive Android closing the app or a missing answer from Reddit, and backups read back everything they hold.
  • Privacy and security: names and ids stay out of release logs, turning a protection off needs the device unlock, and comment images load only from known image hosts.
  • Speed: lists, settings, backups and links read their data off the main thread, caches are capped, and long threads load more replies on their own.
  • Also: inbox notifications are on by default, shares and links open in the Subshell you already have, numbers follow your language and word filters match whole words.
  • Removed: video downloads. Videos stream; anything an older version downloaded can be deleted in Settings.

From the code review, by kind (nearly every finding fixed; the rest were duplicates or already fixed):

  • Wrong behaviour (221): votes, refreshes, paging, search, markdown, flair, moderator tools, inbox and Direct Chat now match what they show.
  • Usability (96): failures say what happened and offer Retry, inputs lock while they are sent, empty and loading states say which they are.
  • Lost work and writes (53): a lost answer is read back from Reddit instead of sent again; drafts, replies and settings are kept.
  • Accessibility (45): roles, states and names for switches, choices, tabs and buttons; 48 dp touch targets; Reduce motion and the system timeout are followed.
  • Speed and the main thread (66): database, settings, backup and link work moved off the main thread; caches and lists are bounded.
  • Concurrency and lifecycle (47): late answers no longer land on another screen, and cancelled work no longer shows as a failure.
  • Unused code (47): removed, including the old Library screen and the video download system.
  • Crashes (33): bad stored values, unusual names and large images no longer crash the app.
  • Account mix-ups (24): one account's data, positions and notifications stay with that account.
  • Security and privacy (23): no identifiers in release logs, protections need the device unlock to turn off, link previews and comment images avoid untrusted hosts.

Also fixed: bar icons after a rotation on the light theme (#45), server errors no longer called rejections (#208), the update dialogs scroll (#209), and long threads no longer report replies that already arrived as failed (#210).