Skip to content

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog.

[Unreleased]

[0.1.2] - 2026-10-19

Fixed

  • Feeds and post pages failed to load with a TypeError when a gallery post listed an image missing from Reddit's media_metadata; that image now gets a best-guess .jpg link, and a gallery with no images shows as a plain post

[0.1.1] - 2026-10-08

Added

  • Post search offers old reddit's sort, time range, and NSFW options on the search page, the desktop sidebar box, and the results page; on a community's pages, the sidebar search starts limited to that subreddit
  • Search results list matching subreddits above the posts, with join and search-within links, add sorted by and links from menus, and page forward with the same options
  • A preference shares your Reddit cookie with signed-in users of the instance who have no saved credential; it is off by default, personal credentials take priority, and bearer tokens are never shared

Changed

  • The home, all, and popular feeds show only posts from the past week in all five sorts, keeping Reddit's order and fetching ahead to fill filtered pages; their time ranges stop at a week, and saved back-navigation pages expire when a displayed post leaves the range
  • Community feeds keep older posts but put posts from the past week first on each page; top and controversial default to all time
  • Failed feeds, including infinite-scroll pages, show a recovery page that explains Reddit authentication and links to its settings

Fixed

  • Going back to an infinitely scrolled feed after opening a post reloaded only its first page whenever the browser had not kept the feed in memory, as phones often do, so you lost your place; the feed now comes back with the posts already loaded, scrolled to where you left it
  • A failed upstream search showed an error page instead of a message
  • The desktop header's wordmark now shares the page name and sort tabs' baseline, and the search buttons match the input's height

[0.1.0] - 2026-10-06

Added

  • Initial reddont release, including the existing client, mobile layouts, SSO, user preferences, PWA support, and authenticated read-only API
  • RES keyboard navigation on desktop: j and k select posts and comments, x or Enter expands or collapses the selection, and c opens a post's comments
  • RES's subreddit list under "my subreddits": filter your subscriptions, press Enter to open the first match, and sort by name or by when you last visited each one in this browser
  • Desktop comment buttons for permalink, parent, and hiding child comments, plus "hide all child comments" on the post
  • branding/ holds the logo's SVG sources, wordmarks, one-color versions, and PNGs from 64 to 1024px

Changed

  • Rename the application, configuration variables, data paths, API key prefix, container images, and Nix package to reddont
  • Publish container images from the new repository's main branch, tagged with both latest and the application version
  • Desktop pages (768px and wider) now mirror old reddit as Reddit Enhancement Suite shows it: the subreddit bar with a "my subreddits" menu and your subscriptions, sort tabs beside the logo, ranked listings with thumbnails, taglines, and RES expando buttons, a sidebar with search and the community's description, and boxed comments with [–] toggles and OP, moderator, and admin badges
  • "show images" switches desktop feeds to card view, and galleries step through their images one at a time
  • On desktop, the Dark and RES Night Mode themes use RES's night mode colors and Light uses old reddit's
  • Desktop text follows old reddit's sizes and grows on viewports wider than 1920px; windows narrower than 900px move the sidebar below the listing
  • Desktop pages use old reddit's Verdana and Arial fonts, so the Inter web font is no longer loaded from rsms.me
  • Feeds number posts across pages, and the home feed's next page stays on home
  • reddont has a logo, a speech bubble holding a slashed R. It is the browser tab icon, the desktop header logo, and the icon of the installed app and the documentation site, replacing the generated letter icons

Removed

  • The "Classic RES-style Layout" preference; old reddit is now the desktop layout for everyone
  • The generated /icon-<size>.png images; app icons are static files under /icons/

Fixed

  • Load more comments loads a batch of sibling comments and their replies instead of stopping after one comment's subtree
  • Next and previous links in the single comment thread pointed at list positions instead of comments, and its header showed you as logged out
  • App icons were SVG files served under .png names, which iOS does not accept for home screen icons; they are now PNGs, with maskable versions for Android launchers

Security

  • The infinite-scroll script placed request values inside JavaScript strings, so a crafted link could run script; it now reads them from data attributes

Inherited project history

The entries below describe development before reddont 0.1.0.

Previously unreleased

Changed

  • Phone-width layout (below 768px) now mirrors reddit's mobile web: header with a navigation drawer, subreddit banner and community header with Join and Feed/About tabs, reddit-style post cards (author or community avatar, flair, link URL, thumbnail badge, vote/comment/share pills), media letterboxed into a square over a blurred backdrop, a "Find anything" search bar on the home feed, and threaded comments with avatars, OP/MOD labels, and thread connectors
  • Phones render in the system font, as reddit does; Inter now loads only on desktop
  • Stickied moderator comments start collapsed on phones
  • Feed and comment requests ask reddit for sr_detail, so community icons need no extra requests

Desktop rendering is unchanged.

[0.3.0] - 2026-08-07

Added

  • Per-user API keys, generated, rotated, and revoked from the dashboard, that authenticate a read-only /api/v1 surface without a browser session
  • API requests reuse the key owner's stored Reddit credential (burner bearer token or cookie), so automations share reddont's authenticated session instead of hitting Reddit anonymously
  • /api/v1 endpoints for subreddit listings, the subscription home feed, comment threads, search, subreddit metadata, and subscriptions, each available as an Atom feed shaped like Reddit's own .rss, as normalized JSON, or as Reddit's raw listing JSON via ?raw=1
  • API_WHITELIST gates the API by source address (the direct TCP peer, never X-Forwarded-For), defaulting to loopback only, and accepting plain IPs, IPv4 and IPv6 CIDR ranges, off, or *
  • API_RATE_LIMIT gives the API its own request budget (default 600 per 15 minutes), keyed on the same peer address as the whitelist so a forwarded header cannot rotate around it
  • API keys supplied as ?api_key= are redacted from logs, error messages, and the Atom rel="self" link so they do not persist in feed readers
  • Database migration: add-api-key-column

[0.2.4] - 2026-07-31

Fixed

  • Detect link posts that Reddit returns without a post_hint, so posts with no thumbnail render a clickable external-link glyph instead of an empty gray placeholder and regain their external-link action chip
  • Added a hover and keyboard-focus state to the thumbnail-less link preview so it reads as interactive

[0.2.3] - 2026-07-31

Added

  • Added RES-style discussion thumbnails for Reddit text posts: the main glyph opens the full post while a small expando toggles a formatted inline preview
  • Added responsive, keyboard-accessible text previews to compact feeds, search results, crossposts, and posts loaded by infinite scroll

Fixed

  • Decode self-text in compact listings and nested crossposts so inline previews render formatted content instead of encoded markup

[0.2.2] - 2026-07-30

Fixed

  • Fixed expanded Reddit videos failing in Vivaldi and Chromium-based mobile browsers that advertise unusable native HLS support
  • Initialize DASH before expanded playback to retain audio, with automatic MP4 recovery when adaptive playback fails
  • Release the thumbnail decoder while a mobile video is expanded and restore thumbnail playback when it is closed
  • Explicitly play only visible video thumbnails, pause offscreen videos, and initialize thumbnails added by infinite scroll
  • Retry thumbnail playback with Reddit's alternate MP4 when the preferred quality cannot be decoded
  • Keep cross-origin media and byte-range requests out of the app service worker's HTML/offline cache path

[0.2.1] - 2026-07-30

Changed

  • Renamed the personalized subscription feed heading from reddont to home

[0.2.0] - 2026-07-30

Added

  • Reddit-inspired responsive feed with right-aligned thumbnails, compact post metadata, action chips, and full-width expanded media
  • Responsive app navigation and compact feed sorting/view controls
  • Per-user Reddit auth settings in the dashboard for bearer tokens or cookie headers
  • Add /r/popular link to navigation menu (next to /r/all)
  • High-resolution thumbnail support using Reddit preview images (like RES)
  • Uses preview.images API for 640x640+ quality instead of low-res 70x70 thumbnails
  • User preference toggle in dashboard (enabled by default)
  • Low-bandwidth option available by disabling high-res thumbnails
  • New database migration for highResThumbnails user preference

Changed

  • Updated light, dark, and automatic themes to use Reddit-inspired colors
  • Centered the feed on desktop while keeping posts edge-to-edge on mobile
  • Kept the optional classic layout compact on desktop without breaking expanded media
  • Updated postThumbnail() function to accept user preference parameter
  • Enhanced navigation header to include popular subreddit access
  • Improved image quality across all post listings

Fixed

  • Fixed expanded videos breaking after Android browsers entered fullscreen
  • Prepare HLS/DASH before mobile playback and automatically restore the fallback MP4 when DASH playback fails
  • Fixed compact expanded media rendering beside and underneath post text instead of in a full-width row
  • Pause expanded videos when their post is collapsed
  • Video preview quality in compact view now uses fallback_url (full quality) instead of scrubber_url (low quality)
  • Video previews now respect the same highResThumbnails user preference toggle
  • High-res enabled: uses fallback_url (full quality MP4)
  • High-res disabled: uses scrubber_url (low quality for bandwidth savings)
  • Removed hardcoded 100px x 100px dimensions from video preview, now responsive via CSS

Technical

  • Added keyboard-accessible thumbnail expansion and semantic navigation markup
  • Added local DASH playback support with a mobile-safe MP4 fallback
  • Database migration: add-reddit-auth-headers-column
  • Database migration: add-high-res-thumbnails-column