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

Test Settings Sync Features #93771

Closed
3 tasks done
sandy081 opened this issue Mar 30, 2020 · 12 comments
Closed
3 tasks done

Test Settings Sync Features #93771

sandy081 opened this issue Mar 30, 2020 · 12 comments

Comments

@sandy081
Copy link
Member

sandy081 commented Mar 30, 2020

Testing - #86678 #86679

Complexity: 5


Set Up

  • To test, have two insiders open with different user data directories and extension directories

Features

Snippets

  • Test that user snippets are synchronised across devices
    • Adding a snippet adds it in other device
    • Removing a snippet removes it in other device
    • Updating a snippet updates it in other device
  • Test that turning off syncing snippets will not sync snippets.
  • Test handling conflicts while adding/updating/removing the same snippets or multiple snippets from different machines.

UI State

  • Test that display language is synchronised across devices
  • Test that UI state is synchronised across devices:
    • Activity bar icons and order
    • Status bar items
    • Panel items and order
    • Workbench views layout and visibility. Note: Views order is not yet synced
  • During merge remote value overrides local always
  • Test that turning off UI state will not sync state.

History views

  • Test remote back up view - shows data from settings sync server
    • Use command Preferences Sync: Show Remote Backup
    • Explore and validate synced data
  • Test local back up view - shows data that is backed up locally. Note: Local data is backed up whenever there are incoming changes.
    • Use command Preferences Sync: Show Local Backup
    • Explore and validate local backed up data
  • In case of snippets, make sure you can see all synced snippets as individual entries.
  • Make sure you can get complete synced data using the context menu action Show full content on the synced entry (ie., with time stamp label).
  • Make sure these views are removed after reload
@sandy081
Copy link
Member Author

@jrieken Unassigning you from here. It seems you are too much in demand 💪

image

@joaomoreno
Copy link
Member

@sandy081 I am not filling issues for the history views, since that looks like a dev feature. Here are some suggestions:

  • Capitalize the sections: settings -> Settings
  • Show full content should be Show raw JSON sync data or something similar
  • Opening globalState.json doesn't show a diff editor
  • It's missing Revert to this state actions on any JSON file

@joaomoreno joaomoreno removed their assignment Mar 31, 2020
@sandy081
Copy link
Member Author

Thanks @joaomoreno

Filed following issue - #93960 capturing your suggestions.

@Tyriar
Copy link
Member

Tyriar commented Mar 31, 2020

I am not filling issues for the history views, since that looks like a dev feature.

@joaomoreno the history views are for users to find their backups just in case something goes wrong with the syncs.

@rebornix
Copy link
Member

I launched Insiders with two different user-data-dir and turning on Settings Sync works fine the first time. From that moment, nothing syncs across them. They are under the same account so I'm not sure what went wrong. Any tips on how to troubleshoot? cc @Tyriar

@sandy081
Copy link
Member Author

sandy081 commented Apr 1, 2020

@rebornix Can you please provide Sync logs from both instances?

@chrmarti
Copy link
Collaborator

chrmarti commented Apr 1, 2020

(Tested all except history views. Should get to these later today.)

@rebornix
Copy link
Member

rebornix commented Apr 1, 2020

First instance:

[2020-04-01 09:12:30.782] [userDataSync] [info] Auto Sync: Triggered.
[2020-04-01 09:12:30.837] [userDataSync] [info] Settings: No changes found during synchronizing settings.
[2020-04-01 09:12:30.839] [userDataSync] [info] Keybindings: No changes found during synchronizing keybindings.
[2020-04-01 09:12:30.840] [userDataSync] [info] Snippets: No changes found during synchronizing snippets.
[2020-04-01 09:12:30.841] [userDataSync] [info] GlobalState: Skipped removing workbench.views.service.panel.references-view.tree.state.hidden in remote storage. It is not registered to sync.
[2020-04-01 09:12:30.841] [userDataSync] [info] GlobalState: Skipped removing workbench.views.service.panel.workbench.view.search.state.hidden in remote storage. It is not registered to sync.
[2020-04-01 09:12:30.841] [userDataSync] [info] GlobalState: Skipped removing workbench.scm.views.state.hidden in remote storage. It is not registered to sync.
[2020-04-01 09:12:30.841] [userDataSync] [info] GlobalState: Skipped removing workbench.view.debug.state.hidden in remote storage. It is not registered to sync.
[2020-04-01 09:12:30.841] [userDataSync] [info] GlobalState: Skipped removing workbench.panel.repl.hidden in remote storage. It is not registered to sync.
[2020-04-01 09:12:30.841] [userDataSync] [info] GlobalState: Skipped removing hasNotifiedOfSettingsAutosave in remote storage. It is not registered to sync.
[2020-04-01 09:12:30.841] [userDataSync] [info] GlobalState: Skipped removing workbench.views.service.panel.pr:github.state.hidden in remote storage. It is not registered to sync.
[2020-04-01 09:12:30.841] [userDataSync] [info] GlobalState: No changes found during synchronizing ui state.
[2020-04-01 09:12:30.852] [userDataSync] [info] GlobalState: Updated last synchronized ui state
[2020-04-01 09:12:30.852] [userDataSync] [info] Extensions: Skipped synchronizing extensions as it is disabled.
[2020-04-01 09:12:30.852] [userDataSync] [info] Sync done. Took 70ms

Second instance:

[2020-04-01 09:11:58.854] [userDataSync] [info] Auto Sync: Triggered.
[2020-04-01 09:11:58.910] [userDataSync] [info] Settings: No changes found during synchronizing settings.
[2020-04-01 09:11:58.911] [userDataSync] [info] Keybindings: No changes found during synchronizing keybindings.
[2020-04-01 09:11:58.913] [userDataSync] [info] Snippets: No changes found during synchronizing snippets.
[2020-04-01 09:11:58.914] [userDataSync] [info] GlobalState: No changes found during synchronizing ui state.
[2020-04-01 09:11:58.914] [userDataSync] [info] Extensions: Skipped synchronizing extensions as it is disabled.
[2020-04-01 09:11:58.914] [userDataSync] [info] Sync done. Took 60ms

As you can see they are both synced and their states are different (based on the log info about GlobalState). However they are both saying no changes found.

Also since it works the very first time when I login, I think they are syncing to the same server.

@sandy081
Copy link
Member Author

sandy081 commented Apr 1, 2020

By any chance are you syncing global snippets? If so you might be seeing this issue #93902

Try to create user language snippets and sync?

@rebornix
Copy link
Member

rebornix commented Apr 1, 2020

@sandy081 for the snippet issue, I'm a bit confused by Configure User Snippet? If I choose a language from that quick open, does it create a user snippet or a global one?

Other than that, settings are not synced too. I changed editor font family but it's not synced and my sync.ignoredSettings is empty.

@sandy081
Copy link
Member Author

sandy081 commented Apr 1, 2020

There are two kinds of user snippets -> language and global snippets. Both are available in user snippets folders. Global snippets have .code-snippets extensions and language snippets have .jsonextension. Currently I am syncing only language snippets.

@rebornix
Copy link
Member

rebornix commented Apr 1, 2020

I was connecting to the wrong server on one instance, false alarm and sorry for the trouble.

@rebornix rebornix removed their assignment Apr 1, 2020
@chrmarti chrmarti removed their assignment Apr 1, 2020
@chrmarti chrmarti closed this as completed Apr 1, 2020
@github-actions github-actions bot locked and limited conversation to collaborators May 16, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

6 participants