-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sync Engine with support for syncing bookmarks #355
Conversation
…so received from server
…d make SyncFeature a struct
…dels it needs to decode
…tion function that handles children
…vorites are present
…g for favoriteFolder)
… to create PATCH request body
… error handler before rethrowing
while true { | ||
let bookmarksPendingDeletion = fetchBookmarksPendingDeletion(context) | ||
if bookmarksPendingDeletion.isEmpty { | ||
print("No bookmarks pending deletion") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't these be os logs? :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure, I forgot to update them, let me handle this now :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great job!
* main: (45 commits) SecureVault Keychain updates (#382) Reattach orphaned bookmarks to root folder when reordering (#383) Allow for asynchronous sync initialization (#381) Drop regex support in param stripping (#367) mac promo exp2 - add support for share link message (#375) Revert accidentally pushed change Remove test that was dependant on the keychain Add item to keychain in the background (#380) macOS in-context signup updates (#359) Fixes the format in a log call (#379) Add EventMapping to DDGSync dependencies and call it from handleUnauthenticated (#376) Autofill hash migration updates + Bitwarden hotfix (#372) Autofill password generation support for iOS (#361) Update autofill to 7.1.0 (#370) Sync Engine with support for syncing bookmarks (#355) Centralised Messaging for User Scripts (#299) Update TLD accounts query to be more specific (#368) Bump Tests/BrowserServicesKitTests/Resources/privacy-reference-tests (#366) Adds a different hash Account per each macOS build kind (#363) adjust os_log parameter name using disfavoredOverload (#349) ...
Please review the release process for BrowserServicesKit here.
Required:
Task/Issue URL: https://app.asana.com/0/0/1204606874917765/f
iOS PR: duckduckgo/iOS#1724
macOS PR: duckduckgo/macos-browser#1203
What kind of version bump will this require?: Major
Optional:
Tech Design URL:
Description:
Changes to bookmarks:
isPendingDeletion
andmodifiedAt
and removes soft-deleted bookmarks.
Changes to Sync:
isAuthenticated
withSyncAuthState
enum (inactive, setupNewAccount, addNewDevice, active)SyncScheduling
andDataProviding
public protocols. MadeCrypting
public too.SyncMetadata
Core Data model,SyncMetadataStore
class andSyncFeatureEntity
class representing a syncable model.New module – SyncDataProviders:
BookmarkProvider
, it’s an implementation ofDataProviding
for handling bookmarks.The logic is fully reused in iOS and macOS apps.
Recommended reading order:
(other changes under Bookmarks models are related to iOS app UI)
Steps to test this PR:
To speed up testing sync you may want to set
SyncScheduler.appLifecycleEventsDebounceInterval
to 1.dominik/sync-engine
branches on both clients and run the app again. Make sure that the app didn’t crash at startup due to failed migration.OS Testing:
—
Internal references:
Software Engineering Expectations
Technical Design Template