Skip to content

Releases: floccusaddon/floccus

v5.10.2

Choose a tag to compare

@marcelklehr marcelklehr released this 18 Jul 09:19

Fixed

  • fix(Dropbox): encode JSON in request headers correctly
  • fix(WebDAV): encode path components of MOVE request Destination header to handle non-ascii filenames correctly
  • Translation updates

v5.10.1

Choose a tag to compare

@marcelklehr marcelklehr released this 03 Jul 16:37

Fixes

  • fix(Dropbox): Fix intermittent 409 errors
  • fix(settings): Correct display condition

v5.10.0

Choose a tag to compare

@marcelklehr marcelklehr released this 03 Jul 14:07

Summary

Better support for screen readers, new option to sync on startup and fixed Dropbox account setup

New

  • feat(ui): Fix a11y issues
  • feat: Allow syncing on startup

Fixed

  • fix(Dropbox): Add missing body parameter
  • [native] fix: Do not expose sync interval settings on mobile (there is no bg sync yet, anyway)
  • fix(SyncProcess): Persist cache in progressCallback also for non-atomic adapters
  • fix(SyncProcess): Apply skipErroneousActions
  • fix(SyncProcess): Restore null values on continuation without breaking
  • fix(SyncProcess): Only throw CancelledSyncError when mutation did not complete
  • fix(WebDAV): Fallback to delete-then-move in case move-with-overwrite fails

v5.9.2

Choose a tag to compare

@marcelklehr marcelklehr released this 21 Jun 12:54

Fixed

(Summary: Many sync correctness fixes especially for Android and iOS; a few UX improvements for iOS and Android; a fix for the Dropbox setup.)

  • perf: Optimize yieldToEventLoop calls to reduce unnecessary wait times
  • fix(GDrive): Verify file size
  • fix(Git): Fix "commit is not available locally"
  • fix(LocalTabs): Do not move tab to end of window if already in correct window
  • fix(Scanner): Fix direct findMoves match when cache exists
  • fix(CacheTree): Update highestId in setTree
  • fix(bulkImportFolder): More hardenings to prevent duplicates
  • fix(Default#executeCreate): Acoid calling done() multiple times
  • fix(Sync): run gc also against the server tree for atomic adapters
  • fix(SyncProcess): Expand UPDATE and REORDER conciliation checks with findChain
  • fix(bulkImport): Prevent duplicates from partial upload failures
  • fix(Unidirectional#getMembersToPersist): Fix continuation persistence rule for scanResult
  • fix(Diff#findChain): Fix caching
  • fix(Diff#map): Do not clobber oldItem.parentId for MOVEs
  • fix(Default): Fix paren placement in targetMoves filter
  • fix(Scanner): Dot not misorder position 0 items
  • fix(Unidirectional): Clean up translateCompleteItem mess
  • fix(Tree): Split copyWithLocation into restampTree and restampRoot
  • fix(Merge): Fix concurrentHierarchyReversals
  • fix(Diff): Fix findChain cache key construction
  • fix(Default): Set hasCache=true in localScanner
  • fix(Scanner#mergable): Don't evict unrelated mappings esp in bulkImport subscanners
  • fix(SyncProcess#executeCreate): Throw if CREATE returns undefined
  • fix(Caching): Be more fault-tolerant against wrong REORDER payloads
  • fix(Scanner): Harden against loops and null references
  • fix(Tree): Harden childrenSimilarity
  • fix(NativeTree): NativeTree is not atomic
  • fix(NativeAccount): Imitate BrowserTree more closely
  • fix(NewAccount/WebDAV): Offer includeCredentials option
  • fix: Harden Account#sync and fix transientError detection
  • fix(localization): Update Karakeep description to clarify supported protocols + typos (thanks to @codeshell)
  • [native] fix(ux): Offset v-menu properly to allow closing it easily
  • fix(benchmark-tests): Set forceSync:true when resuming with reset cache after mapping failure
  • fix(ui): Make account card responsive
  • fix(Linkwarden): Do not throw on auth error when removing items
  • fix(Linkwarden): Harden getBookmarksTree
  • fix(LocalTabs): Add more URL schemes to be ignored on firefox
  • fix(Caching#update): Do not change item position unless updating the parentId
  • fix(WebDAV): Don't verify file size in native app
  • feat(WebDAV): Use atomic MOVE to replace prod sync file only if upload succeeded
  • feat(WebDAV): Retry upload if the file size is unexpected
  • fix(Sync): Fix a complex move-remove interactions regression
  • fix: Prevent throttled invocation was canceled error
  • fix(Sync): Fix issue when recreating folders after concurrent removals
  • fix(Sync): Check target creations for original creation in concurrentTargetOriginRemoval case
  • fix(NativeTree): Queue saves to prevent problems
  • fix(Sync): Make sure to await Folder#traverse in concurrentTargetOriginRemoval
  • fix(Caching,CacheTree): Try to fix more location inconsistencies
  • fix(NativeTree): Make sure bookmarksCache location is Local
  • fix(NativeTree): Don't recreate bulkImportFolder
  • fix(NativeTree): Don't override location protected property
  • fix(Caching#bulkImportFolder): Use copyWithLocation(this.location) to avoid breaking NativeTree guarantees
  • fix(Default#reconcileConcurrentReorderings): Properly merge concurrent reorderings
  • fix(Default#reconcileConcurrentReorderings): Switch target location check
  • fix: Change the order of reordering reconciliation
  • fix(SyncProcess): Properly fix concurrent reorders
  • fix(Default#reconcileReorderings): Only insert missing concurrent creations into reorders
  • fix(tests): Make account tests work in appium
  • fix(Dropbox): Remove sharing.read scope and use get_current_user
  • fix(Scanner): Make sure to create mappings for moved bookmarks
  • fix: Throw MappingFailureError on failed id mapping
  • refactor(Scanner): Move mapping creation from mergeable fn to diffItem
  • fix(Unidirectional|Merge): Use lower similarity threshold for folder similarity
  • fix(Linkwarden|Karakeep): Fix item removal
  • fix(Karakeep): Make returnRawResponse=true still check response status code
  • fix(Karakeep): Avoid passing invalid URL to dummy bookmark
  • fix(Error): Improve error message for HttpError
  • feat(Adapters): Add item context to HTTP errors
  • [native] fix(Tree): Don't access currentAccount if it's not defined yet
  • [native] fix(NewAccount): Make sure back button works correctly
  • [native] fix: Make sure NewAccount component is found
  • [native] fix(Tree): Fix search UX
  • [native] fix(Tree): Refactor search to not crash the app
  • [native] fix(Tree): Make back button close search
  • [native] fix(Tree): Only show current profile label in tree view if there is more than one profile
  • [native] fix: Fix black screen after removing profile

v5.9.1

Choose a tag to compare

@marcelklehr marcelklehr released this 10 Apr 12:26

Fixed

  • fix: Don't clear logs when service worker restarts
  • fix(xml-parser): Use latest lib version and set limits to Infinity
  • fix: Fix getBackoffInterval logic in BrowserController and NativeController

v5.9.0

Choose a tag to compare

@marcelklehr marcelklehr released this 04 Apr 15:09

New

  • feat: Dropbox sync backend integration (thanks to Aaryan Vangari)
  • feat: New language: Hindi
  • enh(messages): Give better instructions in case of failsafe
  • [native] perf(NativeTree): Don't calculate hash upon loading tree

Fixed

  • [native] fix(Dropbox,GDrive): Display error message if login fails
  • fix(Logger): Do not persist empty logs
  • fix(SyncProcess): Improve handling of residual CREATE/REMOVE actions from subordinate scanner runs
  • fix(Account): Use async lock for loading accounts
  • fix(Controller): Fix capped exponential backoff logic
  • fix(Continuation): Add null checks to prevent Cannot read properties of null (reading 'getCapabilities') errors
  • fix(Git): Clear indexedDB after sync
  • fix: Cannot read properties of null (reading 'getCacheTree')
  • fix: Report status message for HttpErrors
  • chore(deps): Update dependencies

v5.8.6

Choose a tag to compare

@marcelklehr marcelklehr released this 23 Jan 10:57

Fixed

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

v5.8.5

Choose a tag to compare

@marcelklehr marcelklehr released this 20 Jan 16:50

Fixed

  • [native] fix: Properly serialize cache

v5.8.4

Choose a tag to compare

@marcelklehr marcelklehr released this 19 Jan 17:01
  • 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

Choose a tag to compare

@marcelklehr marcelklehr released this 20 Dec 14:44

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