Skip to content

Releases: floccusaddon/floccus

v5.8.6

23 Jan 10:57

Choose a tag to compare

Fixed

  • fix(Tree): Revert incremental index updates (Would break initial sync on Chrome)

v5.8.5

20 Jan 16:50

Choose a tag to compare

Fixed

  • [native] fix: Properly serialize cache

v5.8.4

19 Jan 17:01

Choose a tag to compare

  • feat(Logger): Persist logs intermittently
  • feat(NewAccount): Add predefined webdav service URLs
  • fix(Controller): Only schedule sync if current error is transient
  • fix: Display allowRedirects option on mobile
  • fix(SyncProcess): Fix serialization for continuation persistence
  • Fix: Reduce memory pressure by reducing ACTION_CONCURRENCY
  • fix(Unidirectional): Only do a single Scanner pass to improve performance
  • fix(childrenSimilarity): Make O(n) instead of O(n²)
  • fix: Fix typeof undefined checks to handle null
  • fix(Diff): Do not call .toString on null
  • fix(Folder#toJSON): Make sure children are properly serialized
  • fix(BrowserAccountStorage): Use setEntry instead of changeEntry
  • fix(Caching#orderFolder): Fix orderFolder algorithm
  • fix(LocalTabs): Properly distinguish between window IDs and group IDs
  • fix(continuation): Fix continuation loading
  • fix(index): Update index incrementally instead of recreating it every time
  • fix(SyncProcess): Reduce size of continuation on disk to prevent breaking sync with large amounts of bookmarks
  • fix(CachingAdapter): Whitelist more browser-specific URL schemes
  • fix(Non-Atomic adapters): Reduce HTTP request parallelism for better throughput
  • fix(Account): Add log statement for continuation loading error
  • fix(Mappings#remove): Correct logic to always handle both remote and local IDs
  • chore: Update dependencies

Note: APK unpublished due to faulty build

v5.8.3

20 Dec 14:44

Choose a tag to compare

Fixed

  • fix(Logger): Trim logs regularly to avoid memory leak
  • fix(Scanner): Remove Log spam
  • fix(LocalTabs): Fix dummyTab workaround for tab group creation on firefox
  • fix(LocalTabs): Do not parseInt(windowId)
  • fix(css): Use proper css
  • fix(Account#progressCallback): Prevent errors getting mappings after sync has finished
  • fix: Multiple small hardenings
  • fix(Account#sync): Do not re-init account if failsafe triggers
  • fix: show warning on mobile if browser doesn't match
  • fix(failsafe): be more precise about where bookmarks are added/deleted
  • fix(WebDAV): Use includeCredentials option again
  • fix(Chrome): Prevent chrome from killing our worker while it's syncing
  • [native] fix: Make breadcrumbs clickable again

v5.8.2

07 Dec 10:37

Choose a tag to compare

Fixed

  • fix: Resume sync with reset cache after MappingFailure
  • fix(DescriptionAccountcreated): Mention that combining floccus with browser sync doesn't work
  • fix: Introduce proper XbelParseError
  • fix: Introduce proper error for invalid URL
  • fix: Try to fix 'Calling getCacheTree() of undefined' error
  • fix: Make Caching#orderFolder behave like BrowserTree#orderFolder to avoid ordering mistakes
  • fix: Implement Garbage Collection for mappings

v5.8.1

22 Nov 10:34

Choose a tag to compare

Fixed

  • [native] fix: Don't allow import of git profiles
  • fix: Make cancelSync work more immediately on Firefox
  • fix: Don't get stuck on syncing in firefox when waking up from suspend

v5.8.0

16 Nov 09:37

Choose a tag to compare

New

  • enh: Remember last used account
  • enh(GoogleDrive): Add a HTTP request timeout
  • feat: Split interval based sync and change-based sync into two options

Fixed

  • [native] fix(NativeApp): Don't use css inset property
  • [native] fix: Refuse to import gdrive profiles, because it doesn't work anymore
  • fix(CachingAdapter): set initialTreeHash after getBookmarksTree
  • fix(browser-api): Do not carry context into each callback (Improves memory consumption)
  • fix: Remove confusing detail from E020 message
  • fix(Folder#inspect): Make hash visible again
  • [native] Fix DialogChooseFolder2: keep header fixed, make treeview scrollable with dynamic max-height unknown
  • fix(SyncProcess): Catch throttledCb cancelled error
  • fix(Nextcloudbookmarks): Fix 404 error on capabilities endpoint

v5.7.0

27 Aug 09:26

Choose a tag to compare

Summary

  • Sync notifications – You’ll now see “sync in progress” and “sync complete” alerts on Android and iOS

  • Search improvements – The app remembers the last folder you searched in, shows folder paths in results and lets you search for folders.

  • Feedback – Submit one‑off feedback directly from the app.

  • Messaging – TLS is now mentioned in the E017 explanation.

  • Sync logic – Fixed issues with reorders, concurrency and continuation handling during interrupted syncs.

  • Account progress – Cache and mappings now persist for atomic backends.

  • Browser tree – Concurrency limited to 1 to avoid race conditions.

  • Localization – Added translations for many languages (ro_RO, el, it, fi, cs, pl, sv, tr, et, ko_KR, ru, de, ja, pt, zh_CN, fr, es).

  • Scrolling – Capacitor status bar plugin now prevents content from scrolling under the status bar.

  • Local tabs – New tab groups stay alive long enough for tabs to be added.

  • General – Cancelled local tree operations, ensured skipped reorders are retracted and cleared continuations properly.

  • Overall sync performance has been optimized, reducing wait times and resource usage.

New

  • [native] feat(notifications): Send 'sync in progress' and 'sync complete' notifications
  • [native] feat(search): Remember last used folder across app starts
  • [native] feat(search): Display folder path for folder search results
  • [native] feat(search): Allow searching for folders
  • feat(BrowserController): setUninstallURL
  • [native] feat(search): display folder path for search results
  • feat(hashing): Add support for xxhash3
  • feat: Optionally support murmur3 + implement capabilities negotiation
  • feat(BrowserController): Listen to tab events
  • feat(AccountCard): Mention FAQ when errors occur
  • feat(telemetry): send used adapter along with error events to sentry, if enabled (opt-in)
  • feat(Feedback form): Allow submitting one-off feedback
  • feat(HtmlSerializer): Use auto-inc IDs as a fallback when parsing

Fixed

  • fix(messages): Mention TLS in E017 explanation
  • fix(reconcileDiffs): Don't throw away REORDERs if concurrent reorder is empty
  • fix(Account#progressCallback): persist cache and mappings for atomic backends
  • fix({Default,Merge}SyncProcess#reconcileDiffs): Restrict concurrency
  • fix(DefaultSyncProcess#reconcileDiffs): Use the right findChainCache
  • fix(MergeSyncProcess): reconcileDiffs was outdated
  • fix(BrowserTree): Set concurrency to 1
  • Translate messages.json in ro_RO,el,it,fi,cs,pl,sv,tr,et,ko_KR,ru,de,de,ja,pt,zh_CN,fr,es
  • [native] fix: added the capacitor status bar plugin to fix scrolling content over the status bar (Thanks to @yougotwill)
  • fix(SyncProcess): Make sure to cancel progress callback throttling in the end
  • fix(continuations): Set current continuation to null at the very end
  • fix(SyncProcess): Make sure skipped reorders are retracted
  • fix: Allow cancelling local tree operations as well
  • fix(interrupted sync): Allow storing + restart of stage 3 to/from continuation
  • fix(interrupted sync): Set back old cacheTree upon loading pending continuation
  • fix(SyncStrategy): Fix Continuation loading
  • perf: Improve overall sync performance
  • fix(NextcloudBookmarks): Fix ticket failure retry mechanism
  • fix(NextcloudBookmarks): Improve ticket failure retry mechanism
  • feat(NextcloudBookmarks): Support ticket authentication
  • fix(NextcloudBookmarks): Fix checkFeatureJavascriptLinks
  • feat(NextcloudBookmarks): Use negotiated hash function from hashSettings
  • feat(NextcloudBookmarks): Use capabilities for feature detection
  • fix(LocalTabs): Make sure new groups live long enough for tabs to be added to them
  • fix(GoogleDrive): Improve error handling

v5.6.0

02 Aug 15:13

Choose a tag to compare

New

  • New backend: KaraKeep
  • Support syncing tab groups
  • [Native app] Improved handling of share intents

Fixed

  • Make syncing with Linkwarden work again: Switch to new search endpoint
  • Improve syncing correctness: Fix ID comparisons
  • Improve syncing correctness: reconcileReorderings based on both donePlans
  • Improve syncing correctness: Fix mappable() function
  • Improve syncing correctness: Do not move items across folders in orderFolder()
  • fix: Fix "failed to map parentId" errors
  • Ignore permissions when using Orion
  • Improve Description for Bookmarksfile
  • Display more meaningful explanation for server target
  • Never force-push when syncing via git
  • Catch errors when parsing XML
  • Allow syncing root folder in chrome again
  • catch errors from git.push operations

v5.5.6

14 Jul 07:38

Choose a tag to compare

Fixed

  • Remove all traces of IndexedDB usage

(See v5.5.0 for the complete list of changes)