Skip to content
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

Update tuta contact when contact is changed on the device #6468

Closed
17 of 19 tasks
Tracked by #6461
charlag opened this issue Feb 2, 2024 · 0 comments · Fixed by #6563 or #6553
Closed
17 of 19 tasks
Tracked by #6461

Update tuta contact when contact is changed on the device #6468

charlag opened this issue Feb 2, 2024 · 0 comments · Fixed by #6563 or #6553
Labels
feature: phone book goal: mobile integration state:done meets our definition of done state:tested We tested it and are about to release it
Milestone

Comments

@charlag
Copy link
Contributor

charlag commented Feb 2, 2024

When editing a tuta contact on my phone using a different app (e.g. phone app) i want  changes to be applied to the contact stored in tuta so i don't need to open the tuta app to modify the contact.

AC

  • After the contact is edited on my device the changes are applied to tuta contact when I log into the app
  • If the native contact was changed all fields that are synchronized to the native phone book will be overwritten with the native changes
  • When there are server and native changes we always take the native state.

Tasks

  • Implement SyncAdapter to sync existing data
  • Apply user's local changes to Tuta

Notes

Test Notes

  • Initial Sync:

    • Create a new contact on the device through native Contacts app;
    • Open the Tuta app;
    • Verify that the contact appears in the app's contact list;
    • Edit the contact on the app;
    • The changes are applied to the native contact.
  • Sync native changes:

    • Modify an existing contact on the device through native Contacts app;
    • Restart the Tuta app;
    • The changes were synchronized across all clients.
  • Sync server changes:

    • Update a contact on another client;
    • Wait for the entity update;
    • The Tuta app contains the latest contact data;
    • The native contact contains the latest contact data.
  • Delete Contact:

    • Close the app and delete a contact from through the native Contacts app;
    • Open the app again;
    • The changes were synchronized;
    • On Tuta App delete a contact;
    • The native contact were deleted.
  • Conflict Resolution:

    • Edit the native contact;
    • Edit the same contact in another Tuta client;
    • Start the Tuta app;
    • The native changes were applied and the server ones are discarded.
  • Batch Operations:

    • Close the Tuta app;
    • Change more than one contact and property on native contacts;
    • Change more than one contact and property on another Tuta client;
    • Create a contact on the native side;
    • Create a contact on another Tuta client;
    • Check that all changes were applied according with the previous definitions (Native changes overwrite server ones)
  • Network Interruption:

    • With a premium user, login and sync contacts;
    • Close the app and turn off the internet;
    • Edit one contact on the native side;
    • Edit the same contact on another client;
    • Edit a different contact on the native side;
    • Edit a different contact from the previous two on another client;
    • Open the app, no changes were applied;
    • Turn on the internet, see the changes being applied according to the previous definitions.

Documentation

MR #585

@murilopereirame murilopereirame self-assigned this Feb 14, 2024
@bedhub bedhub changed the title Android: update tuta contact when contact is changed on the device Update tuta contact when contact is changed on the device Feb 20, 2024
@charlag charlag added the state:done meets our definition of done label Feb 20, 2024
@rezbyte rezbyte added the state:tested We tested it and are about to release it label Mar 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature: phone book goal: mobile integration state:done meets our definition of done state:tested We tested it and are about to release it
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants