Releases: floccusaddon/floccus
Releases · floccusaddon/floccus
Release list
v5.10.2
v5.10.1
Fixes
- fix(Dropbox): Fix intermittent 409 errors
- fix(settings): Correct display condition
v5.10.0
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
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
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
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
Fixed
- fix(Tree): Revert incremental index updates (Would break initial sync on Chrome)
v5.8.5
Fixed
- [native] fix: Properly serialize cache
v5.8.4
- 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
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