Changelog
Even death stars have an exhaust vent.
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
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
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
Friends graph pinning stays intentional
Fixes
- Dense friends graph interactions no longer create accidental pinned states when the graph is already heavily populated.
Builds:v26.5.2700-devDev