github sethcottle/hangar v0.8.2
Hangar v0.8.2

3 hours ago

Hangar v0.8.2

A big round of fixes! Thank you to the testers providing feedback throughout the day that helped track down almost all of these issues! ๐Ÿ’™

Security

  • Sign Out now revokes your session with Bluesky and removes the stored credential, rather than only clearing the keyring entry. The file is created with owner-only permissions, and anything an earlier version left behind is cleaned up the next time Hangar starts
  • Link cards and videos can no longer hand arbitrary URI schemes to your desktop. Only http and https are opened; anything else shows you the address instead

Fixed

  • The app could hang completely, needing a kill to recover, when a post with reply controls was published or at startup. Sign Out separately froze the window for the length of whatever request was in flight. Two locks were being held across network calls
  • Requests had no timeout at all. A server that accepted the connection and then went quiet hung forever, which silently killed new-post checking and unread badges for the rest of the session with nothing shown
  • Memory could run away. Two separate causes: post rows were never freed, so they piled up along with every image they had decoded, worst on thread pages; and the image caches miscounted their own contents until they collapsed to a single entry, at which point every image re-decoded on every scroll and the decode queue outran the workers. Attaching a video also read the whole file into memory twice with no size check, and kept holding it after you removed the attachment
  • The feed stopped flashing. When new posts arrived while you were scrolled down, the whole timeline was torn down and rebuilt, so the new-posts bubble appeared and vanished instantly and any playing video was interrupted. New posts are now slotted in without disturbing what you are reading, and posts already on screen are not duplicated
  • A failed repost no longer publishes a real one. Like and repost flipped instantly and never undid it when the server refused, so pressing repost again to undo what looked stuck actually published one
  • Clear Cache genuinely clears the cache. It used to delete the database out from under a live connection, report success no matter what, and the cleared posts came back on the next feed switch
  • A failed settings write no longer silently resets every preference, including text size and reduce motion
  • Launching Hangar a second time no longer builds a second window driven by the first window's controls
  • Window size and position finally persist. The settings schema was never installed by any packaging path, in any release, so this has never worked until now

Accessibility

  • Direct messages, notifications, activity and every people list were unreachable without a mouse. Those rows could be focused but not activated, so a keyboard or screen reader user could not open a conversation or a mention at all. Every row type now answers Return, Enter and space
  • Chat message actions (react, copy, delete for me) answer the Menu key and Shift+F10, and message text is selectable
  • The alt text editor was itself mouse-only, which is a poor joke in the one feature that exists for blind users. It is now reachable from the keyboard on images, videos and thread posts
  • Like and repost announced the wrong state to screen readers on any post with zero likes or more than a thousand, because the count was being read back out of the app's own rendered label
  • The video seek slider, the text size slider and the full screen image viewer have accessible names, and toasts are announced once instead of twice

Improved

  • Feed refreshes no longer stall the interface. The cache ran with the slowest possible durability settings on the main thread, about 57 ms per refresh including mid-scroll. It is now about 0.6 ms
  • Opening a link no longer freezes the window until your browser exits, which affected sway, Hyprland, i3, river and other non-GNOME sessions
  • Video playback keeps the screen awake instead of letting it blank and lock mid-video
  • Thread pages build only the rows you can see, rather than every post at once
  • Attached images are held at thumbnail size instead of full camera resolution
  • The cache survives corruption by rebuilding itself, and has a real schema migration path

Changed

  • The AppImage's stated requirements were wrong and are now accurate: GNOME 46 or newer (Fedora 40+, Ubuntu 24.04+), with glibc 2.39. Nothing changed about what the binary needs; the old numbers were simply too low. A build-time check now enforces it
  • Hangar links OpenSSL, not rustls. The manifest claimed otherwise
  • Hangar reports its own version to your software center correctly. Installed builds have been showing an older number than they actually were

Downloads

  • Flatpak: hangar.flatpak. Install with flatpak install hangar.flatpak (installing over an older bundle keeps your data)
  • AppImage: Make executable and run. Updates in place via AppImageUpdate or Gear Lever, or am -u hangar if you installed through AM

If you are already on v0.8.0 or v0.8.1, Hangar will offer this release in a toast at launch.

Authentication

Hangar uses OAuth for authentication. An app password fallback is also available. Create one at bsky.app/settings/app-passwords.

Full changelog: https://hangar.blue/changelog ยท v0.8.1...v0.8.2

Don't miss a new hangar release

NewReleases is sending notifications on new releases.