v1.1.313
Released AUG 26, 2026Everything since v1.1.285: safer post handling, restored features, and accessibility
- Safer post recovery: When LiveSticky reconnects to a thread after a restart, it now only ever adopts posts it created itself. Previously it could match another post in your community and clear the comments on it.
- No duplicate live threads: If LiveSticky loses track of its own thread mid-stream, such as after an app update, it now reconnects to the existing one instead of pinning a second live thread beside it.
- Monthly Top 20 clips fixed: The monthly clip compilation now publishes on schedule. It had been failing silently.
- Create Dashboard is back in Mod Tools: The action to create the interactive dashboard post had gone missing from the mod menu.
- Your timezone setting now applies: The Streamer Timezone option was quietly ignored and every date fell back to UTC. Dates in your post titles and bodies now use the timezone you picked.
- Safer clip formatting: Unusual characters in Twitch clip titles can no longer break post layout or slip an unexpected link into a pinned thread.
- Cleaner offline threads: Templates that use live stream stats no longer leave raw placeholders like
{stream_game}behind once the stream ends. - YouTube quota protection: If YouTube's daily API limit is reached, LiveSticky pauses those requests and resumes automatically at midnight Pacific.
- More reliable Refresh: Refresh LiveSticky now clears rate-limit blocks for immediate retesting, and no longer leaves the dashboard blank when it runs alongside a scheduled check.
- Lighter background activity: Wiki archive pages are only rewritten when their content actually changes, instead of on every check.
- Keyboard and motion support: The dashboard is now fully keyboard navigable with visible focus rings, and honours your system's reduced-motion setting.
This release rolls up versions 1.1.286 through 1.1.312, which were superseded during review and never became available to install.
Technical details & developer notes
Fixed
- Select settings read as arrays: Devvit returns
selectsettings as['UTC'], not'UTC'. All threestreamerTimezoneread sites called.trim()on the raw value. Two were masked by surrounding try/catch (silently falling back to UTC); a third, in the settings validator, threw on every scheduler tick. AddedsettingText()as the single accessor and widened the validator's input types tounknown. - Self-healing search scoped to the app account (B3):
findExistingSubredditPostran an unfilteredsearchPostsand adoptedposts[0].ensureStickyOfflinePostthen removed every comment on that post before theedit()that would have failed. Results are now filtered bygetAppUser(). - Self-healing read from the listing index:
findExistingSubredditPostrelied onsearchPosts, whose index lags by minutes, so a live post created earlier in the same stream was invisible to recovery. Now triesgetPostsByUseron the app account first, with search kept as a deeper-history fallback. - Monthly highlights
ReferenceError(B1):runMonthlyHighlightsreferenced an undeclaredwikiArchive, throwing into a catch block on every run. - Dashboard menu route (B2):
createDashboardPosthad no endpoint and no manifest entry; both restored. - Clip title escaping (B6):
escapeMarkdownBrackets()andescapeHtmlEntities()applied to clip titles, creators and URLs on both the markdown and wiki render paths. - Offline template variables (B5): the
isLive === falsebranch ofreplaceTemplateVariablesskipped game, viewers and uptime. - Dashboard pointer garbage collected (B7):
dashboard_post_idremoved from the 7-day wipe list. - Token invalidation (B8): Twitch and Kick cached tokens are dropped on HTTP 401/403 instead of being replayed until TTL.
- Scheduler overlap (M1):
SET NXlock with ownership read-back and a 5-minute TTL; the manual refresh path waits for an in-flight run rather than being dropped.
Added
- Wiki write fingerprinting (B4): FNV-1a content hash in Redis with a 1h TTL, checked before any API call. Steady-state wiki traffic per tick went from ~30 calls to zero.
- Settings validation (M10): grace period, publish time, avatar host and timezone are validated each tick and reported through ModMail, rate-limited to once a day with a short retry window after a failed send.
- HTTP timeouts (M9): every upstream call routed through
fetchWithTimeout(10s). - Pre-ship gates (M2):
tsc --noEmitand the Vitest suite run in bothrelease.shandupload.shbefore anything is uploaded. Test count 59 โ 99. - Accessibility (U1-U6): token-based
:focus-visiblerings, keyboard-operable thread chip, roving-tabindex tablist with arrow keys, modal focus trap andaria-modal, and aprefers-reduced-motionblock.
v1.1.285
Released AUG 20, 2026Rich Visual Clip Cards on Reddit Wiki V2 & Wiki Navigation Hub
- Rich Clip Thumbnails: Clip compilation pages on modern Reddit (web and official iOS/Android apps) now feature visual 16:9 thumbnail cards, view counters, and clip creator credits.
- Subreddit Navigation Link: Added prominent
๐ Return to LiveSticky Archive Hublinks across stream and monthly clip pages for easy navigation.
Technical details & developer notes
Added
- Rich HTML Clip Lists for Wiki V2: Introduced native HTML rendering for clip archives (
renderClipListHtmlandbuildWikiArchiveHtml) complete with embedded 16:9 clip thumbnails, responsive image scaling, view counters, and creator attribution. - Subreddit Wiki Hub Navigation: Added prominent archive hub backlinks linking back to
/r/{subreddit}/wiki/livestickyacross monthly and stream clip archive pages. - Canonical Wiki Slug Enforcement: Standardized page routing under
livesticky/clip-archiveandlivesticky/monthly-archivewith automatic unlisting of legacy duplicate wiki entries.
Fixed
- Mobile Wiki Thumbnail Rendering: Fixed clip thumbnail images on Reddit Wiki V2, providing clean visual clip cards on official iOS and Android apps.
- Wiki Navigation Hierarchy: Refined heading structure (
h2page titles,h1entry headers) to optimize table-of-contents generation on Devvit Wiki pages.
v1.1.250
Released AUG 19, 2026Devvit Wiki V2 Integration & Automated Wiki Directory Management
- Modern Reddit Wiki Support: Clip archive pages are now published to both Wiki V1 (Old Reddit) and Wiki V2 (New Reddit & official mobile apps), eliminating blank pages.
- Zero Maintenance Wiki Cleanup: Automatically creates parent wiki directory pages and cleans up legacy orphan pages without requiring manual moderator edits.
Technical details & developer notes
Added
- Devvit Wiki V2 & Dual-Write Support: LiveSticky now publishes clip compilation pages to both Wiki V1 (Old Reddit) and Wiki V2 (New Reddit & mobile apps).
- Auto-Managed Wiki Index Page: Automatically creates and updates the parent
/wiki/livestickydirectory landing page, eliminating "livesticky does not exist" errors. - 100% Automated Wiki Namespace Cleanup: Dynamically inspects subreddit wiki pages and automatically unlists/hides legacy or duplicate orphan pages.
Fixed
- Clip Archive Link Availability: Resolved issue where clicking
/wiki/livesticky/clip-archive/on modern Reddit resulted in an unpopulated blank page. - Duplicate Sidebar Entries: Resolved duplicate sidebar list items on subreddit wikis by setting legacy non-canonical page paths to unlisted mod-only mode.
v1.1.249
Released AUG 18, 2026Self-Healing Post Recovery & Card Layout Refinements
- Self-Healing Post Recovery: If app state is cleared or reset, LiveSticky automatically detects and re-links active live posts on your subreddit instead of creating duplicate posts.
- Layout Polish: Unified live thread pill placement and thumbnail positioning across single-stream and multi-stream card layouts.
Technical details & developer notes
Added
- Self-Healing Post Recovery: Powered by Devvit 0.14.1's
searchPosts()API. Automatically searches the subreddit for active live posts, offline posts, or clip compilations before creating new ones. - Upgraded core Devvit SDK packages to v0.14.1.
Fixed
- Single-Stream vs Multi-Stream Layout Match: Unified single-stream (cinematic) and multi-stream card layouts in compact mode.
- Improved responsive 16:9 thumbnail cropping with top-centered object positioning on desktop and embedded demo containers.
v1.1.244
Released AUG 13, 2026Stream Highlights Upgrade, Wiki Archive & Monthly Top 20 Post
- Monthly Top 20 Clips Post: Automatically publish a monthly recap of your subreddit's top 20 Twitch clips with customizable scheduling (Start, Middle, or End of month).
- Flexible Stream Clip Posts: Choose between publishing a new clip post per stream session or recycling a single master sticky clips post.
- Permanent Wiki Archives: Store full clip histories on your subreddit wiki pages with automatic links from clip posts.
Technical details & developer notes
Added
- Previous Stream Clip Link: Automatically links to the previous stream's clip post at the bottom of the body (available as
{previous_highlights_url}template placeholder). - Reuse Single Highlights Post setting (opt-in): Recycles a single permanent master clips post after each stream.
- Wiki Clip Archive (opt-in): Keeps full clip history on subreddit wiki pages for stream clips and monthly top-20.
- Monthly Top 20 Clips Post: Publishes the 20 most-watched Twitch clips from the previous calendar month.
- Sticky Highlights Post setting: Keeps the clip compilation pinned, re-pinning it after each stream if it slips.
Changed
- Stream highlights post defaults to creating a new post per stream session, allowing per-stream variables like
{date}and{stream_title}in post titles.
Fixed
- Fixed YouTube livestream detection on dashboard.
- The
{date}variable now respects the configured Streamer Timezone instead of always using UTC.