Skip to main content

Changelog

Even death stars have an exhaust vent.

Dev

This dev build adds Facebook zero-post diagnostics and keeps RSS retry pacing and installed dev-channel validation ready for the next soak

Fixes

  • Capture and scraper reliability fixes
  • Release build and type-safety cleanup
  • Reader, feed, and header polish
  • Align social memory preflight test
  • Recover social sync after memory deferrals
  • Recycles idle Automerge sync workers after queued document work finishes
  • Raises adaptive memory guardrails on high-memory systems so long-running provider sync has more headroom
  • Keeps the Phase 7 docs and public roadmap aligned with the new social scrape memory behavior

Follow-ups

  • Backflow v26.5.3113 main into dev
  • Adapt social scrape load to memory headroom
  • Reduce desktop sync memory pressure
  • Keeps Facebook group refresh explicit, repairs dev release validation, and carries forward the latest social sync recovery fixes
  • Facebook sync now reports unusable scrape results as sync issues and adds diagnostics for the next dev soak
  • Use this build for the next Facebook sync soak and inspect the new diagnostics if the provider still returns zero usable posts
  • Install this build and verify RSS failures stop piling up in sync health

This production build focuses on capture reliability, sync recovery, and interface stability.

Features

  • Story Wall can publish curated collections from the shared reader library.
  • PWA social setup now mirrors Freed Desktop provider consent and status flows.
  • Friend and Map surfaces scale better for dense libraries with lighter graph and marker rendering.

Fixes

  • Facebook feed sync now treats zero usable posts as a warning, records extraction diagnostics, and preserves more post IDs.
  • Social scrapes adapt pass counts to available memory and record plan details before opening provider WebViews.
  • Normal Facebook feed sync no longer visits the joined-groups page unless manual group refresh is explicitly confirmed.
  • Google OAuth relays dev and preview callbacks through the production callback without losing PKCE state.
  • RSS polling is bounded and refresh planning avoids duplicate startup work.
  • Google Drive and Google Contacts share native sync state with clearer error reporting.
  • Automerge sync workers recycle after queued document work finishes to reduce idle memory pressure.
  • Renderer recovery, hidden-window memory sampling, and release channel checks have stronger diagnostics.
  • Reader rail collapse, compact sidebar transitions, persisted map filters, and fast reader opening have tighter regression coverage.
  • Settings, Friends, and Map performance budgets cover dense lists, graph movement, and marker rendering.
  • Release tooling now allows the production promotion website build config while keeping promotion branch guards strict.
  • Historical release-note artifacts were cleaned up so production validation can audit the full promoted history.
  • Installed dev release channel labels now survive production builds that share the same base version.

Follow-ups

  • Use provider diagnostics from this build when investigating any remaining Facebook zero-post reports.
  • Keep monitoring installed memory pressure during long social sync so scrape budgets can be tuned from real data.
Builds:v26.5.3113
Dev

Google sync recovery and lower Settings pressure

Features

  • Safe sample data cleanup
  • Guard nightly runner branch context
  • Guard provider-visible peer work

Fixes

  • Keep hidden renderer throttling from pausing sync
  • Provider sync is now more stable under memory pressure
  • Reader, feed, and header polish
  • Mark Dropbox sync as coming soon
  • Capture and scraper reliability fixes
  • Prevent dev release note rollup repeats
  • Loaded libraries no longer rebuild Automerge history just to check for possible savings when no synced text changed, avoiding another startup allocation spike
  • Clean startup loads now hydrate the first UI state without reserializing or rewriting an unchanged Automerge document
  • Google Contacts now recovers from stale in-progress sync state after a successful People API fetch
  • Manual Google Contacts reconnect and Sync Now actions force a fresh sync instead of being skipped by the automatic sync cooldown

Follow-ups

  • Nightly preflight actions
  • Gate nightly performance targets on soak quality
  • Nightly soak pointer repair
  • Nightly runner readable soak fallback
  • Changelog preview to update settings
  • Skip unchanged Automerge history probes
  • Project desktop feed items without full clone
  • Cap background article fetch size
  • Safer overnight article backfill
  • Keeps explicit reader loads available while the lower-priority background path stays under a native response-size budget
  • Lower startup memory pressure
  • Shared content-signal backfill now scans feed items in one pass instead of building stale item arrays for every batch
Dev

Safer startup refreshes and nightly runner guardrails

Features

  • Nightly runner duplicate detection
  • Nightly runner outcome closeout
  • Nightly runner risk snapshot

Fixes

  • Removed a stale desktop refresh import that blocked the replacement dev build
  • Route desktop Google OAuth through proxy
  • Lighten focus mode emphasis
  • The dev release workflow now forces the Google proxy path and includes a guard that prevents direct Google token exchange from shipping again
  • Friends graph pinning stays intentional: dense friends graph interactions no longer create accidental pinned states when the graph is already heavily populated

Follow-ups

  • RSS polling now stays RSS-only, so routine background feed checks no longer wake authenticated social scraping paths
  • Lazy load friends graph
  • Defer sidebar feed search
  • Defer settings list filtering
  • Nightly runner execution plan
  • Avoid redundant reader hydration
  • Verify scraper WebKit recycling
  • Google sign-in and interaction polish
  • Faster dense views with safer nightly tuning
Dev

Friends graph pinning stays intentional

Fixes

  • Dense friends graph interactions no longer create accidental pinned states when the graph is already heavily populated.