Updates
Even death stars have an exhaust vent.
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
PRs:#379#395#396#397#398#399#401#402#403#404#405#406#407#408#409#410#412#413#414#418#419#420#424#425#426#427#431#432#433#434#435#436#437#439#440#441#442#443#444#445#446#447#448#449#450#451#452#453#454#455#456#457#458#459#460#461#463#464#465#466#467#468#469#471#472#473#475#476#478#480#481#482#483#484#485#486#487#488#489#490#491#492#494#495#496#498#500#502#504#506#507#509#510#511#512#513#515#516#517#518#519#520#521#522#523#524#525#526#527#528#531#532#533#534#535#536#537#538#539#540#541#542#543#544#545#546#548#552#553#554#555#556#557#558#559#560#561#562#563#564#565#566#567#568#569#570#571#573#575#576#578#579#580#581#582#583#584#585#586#587#588#589#591#592#593#594#595#596#597#598#599#601#602#603#604#605#606#607#608#609#610#611#612#613#614#615#616#617#618#619#620#621#622#623#624#625#626#627#628#629#630#631#632#633#634#635#636#637#638#640#641#644#645#646#647#648#649#654#655#656#657#658#659#660#661#662#663#665#666#668
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
PRs:#605
Reduces large-library hydration memory, keeps 1,600 connection Friends graph pan and zoom work inside the frame budget, keeps dense Map interactions responsive, trims oversized event evidence from Freed Desktop renderer state, and restores the dev release build after the projection type guard caught a CI-only TypeScript issue
Fixes
- Builds the Freed Desktop Automerge UI projection incrementally, so large synced article bodies are trimmed before renderer state hydration
- Keeps 1,600 connection Friends graph pan and zoom work inside the frame budget with less debug snapshot cloning, less React drag-path work, and lighter Pixi traversal during dense interaction
- Caps oversized event evidence in Freed Desktop feed-item projection, reducing retained renderer text without changing provider scrape behavior
- Preserves required event candidate fields while trimming evidence so the dev release build typechecks cleanly