Changelog
Even death stars have an exhaust vent.
v26.6.604Latest
Google Drive sync now imports existing phone libraries correctly, and sample data seeding no longer trips Automerge document state errors
Fixes
- Connecting the mobile app to Google Drive now keeps the populated cloud library instead of resolving the first merge down to an empty document
- Phone sync can download new Drive items on first connection without triggering the feed history loss guard
- Populate sample data now writes through the latest Automerge document state, avoiding the outdated document error
- Populate sample data now batches the generated library into one local persistence operation across Freed Desktop and the mobile app
- Keep this device and Keep cloud copy now show progress immediately instead of waiting behind a blocking browser confirmation
- Opening Sync settings no longer clears the cloud conflict warning before the recovery controls can run
- The sample data button no longer waits on repeated feed, item, friend, and account saves before the interface can catch up
Recent story media now loads in Freed Desktop with safer feed memory handling, more reliable cloud merge recovery, and clearer sync UI feedback.
Fixes
- Recent story cards show captured media previews again
- Feed image shedding now follows native memory pressure limits instead of blanking media too early
- Cloud merge recovery and mobile sidebar behavior are more stable
Follow-ups
- Stabilize update hover regression
Mobile sidebar layering, background activity monitor, and saved content sorting
Features
- Background activity monitor
- Facebook group leave handoff
- Saved content sorting
Fixes
- Mobile sidebar stays above the page on small screens
- Mobile sidebar spacing now matches the settings sidebar
- Reader, feed, and header polish
- Dev release validation is more stable
- Capture and scraper reliability fixes
Follow-ups
- Reduce desktop sync stutter
- Reverse integrate v26.6.303
- Reduce settings scroll frame work
- Reduce sync frame pressure
- Merge main back into dev after v26.6.204
- Stop idle automerge workers reliably
- Trim validation runner checks
- Skip hidden atmosphere startup
- Release hidden atmosphere layers
- Reduce renderer atmosphere memory
- Defer RSS content backfill under WebKit pressure
Stabilize Facebook and Instagram sync under memory pressure
Fixes
- Google Drive sync now uploads local changes from Freed Desktop and the PWA instead of only downloading remote data
- The PWA waits for its Automerge document to initialize before Google Drive sync, manual sync, OAuth callback sync, or relay resume can merge remote data
- Freed Desktop avoids a fatal Automerge worker timeout when adding RSS feed metadata to a large library
- Facebook and Instagram sync now fail loudly when a provider returns an empty extraction instead of recording a false success
- Instagram sync records feed readiness, scroll targets, rejection counts, extraction passes, and store-write details so failed syncs are diagnosable from the field
- Freed Desktop now gates social sync on effective memory pressure instead of raw WebKit RSS, with detailed app RSS and WebKit RSS shown in provider errors
- Background semantic classification no longer blocks social sync, and social scraper listener cleanup avoids a Tauri event teardown crash
Follow-ups
- Public changelog and updater metadata will be refreshed after the production build publishes
Manual cloud troubleshooting joins the June 2 production rollup
Fixes
- Facebook, Instagram, and LinkedIn sync now share lower-profile feed scrolling behavior
- Facebook page checks now require a live cookie, the Feed posts heading, or rendered feed units before marking a page feed-like
- Logged-out Facebook pages with generic main content and tall layout now fail closed instead of wasting scrape passes
- Facebook extraction diagnostics now include feed unit and login chrome evidence for faster follow-up debugging
- Facebook extraction restores DOM-based feed parsing and reports why extracted posts normalize to zero usable items
- Facebook sync now reports unauthenticated or stalled feed pages as real sync failures instead of a successful zero-post pull
- Zero usable Facebook scrape results still surface as sync issues instead of healthy success
- Social source status now requires live auth state before showing a connected badge, so old items do not mask a lost provider session
- Provider login prompts stay visible for disconnected Facebook, Instagram, and LinkedIn accounts instead of being hidden by stale state
- Social sync defers while the Mac is locked, and Freed Desktop startup waits until the session can safely initialize
- RSS scheduled polling backs off after runtime deferrals instead of retrying every 15 seconds
- RSS content backfill defers under WebKit pressure
- Idle Automerge workers stop reliably after queued work drains
- Google Drive sync now retries token-refresh download failures and exposes clearer diagnostics before falling back to an empty cursor
- Google Contacts token refresh failures now stay recoverable in Settings instead of opening the fatal recovery screen
- Freed Desktop and app.freed.wtf now show a Sync now button for connected Google Drive accounts.
- Google Drive sync records visible activity events for queued, started, deferred, completed, waiting, and failed work.
- Sync diagnostics now explain why Last upload can be blank, including when there is no remote file yet or no local change has been uploaded.
- Desktop and PWA Google Drive token refresh failures now surface as recoverable sync diagnostics instead of falling through silently.
- The shared sync debug store now records richer transfer state so the same problem can be diagnosed from either connected device.
Follow-ups
- Facebook group leave now hands off to the provider safely without folding group refresh into normal feed sync
- Hidden atmosphere layers release memory and skip hidden startup work
- Provider validation now has a fast lane so future social sync fixes can be proven without running every heavy validation tier
- Desktop startup diagnostics now capture occluded-window cases that can look like a frozen launch
- macOS Intel release builds now run on Intel GitHub runners so x64 DMG bundling avoids Apple Silicon cross packaging
- Release validation now avoids transient restored-sidebar geometry samples after the stable width assertion passes
- Phase 4, Phase 5, Phase 6, and the public roadmap now describe the manual sync and diagnostics behavior as shipped.