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 Improvements #98962

Closed
2 tasks done
sandy081 opened this issue Jun 1, 2020 · 8 comments
Closed
2 tasks done

Test Settings Sync Improvements #98962

sandy081 opened this issue Jun 1, 2020 · 8 comments

Comments

@sandy081
Copy link
Member

sandy081 commented Jun 1, 2020

Ref - #98103 #93960 #96170 #98513

Complexity: 5

Authors: @sandy081 @Tyriar

Create Issue


Note: You can use two insiders opened with different user data directory (--user-data-dir) and extension directory (--extensions-dir) for test syncing across machines.

Test Administering Synced Machines / Data

You can administer your synced data and machines using Synced Data and Machines views. These can be opened using Preferences Sync: Show Synced Data command.

  • Synced Machines view: You can now also see the machines which you are syncing from in
    • Try to sync from different machines and make sure this view shows these machines.
    • These machines are given default name using its platform and product type.
    • Test renaming these machines
  • Synced Data view:
    • Make sure you can the see the machine from which the data is synced from
    • Make sure you can revert to any synced state using the action Download... available on the synced entry.
    • Make sure the diff editor (comparing remote data with local data) is shown while selecting extensions and global state data

Test Replace / Merge dialog while turning on Sync

  • Test that when you turn on sync from a machine, you will see replace / merge dialog only when
    • you last synced from another machine and there are some changes (local or remote)
  • You can also navigate from this dialog to see synced data view so that you can check the data
  • You can also reset/nuke the synced data from the synced data view using Reset Synced Data action under ...

Test Request Rate Limit on Client

  • Make sure during following activity, sync is triggered only if sync is not triggered in last 10s. You can check if sync is triggered or not in Preferences Sync logs

    • Focusing the window
    • Opening settings, keyboard shortcuts, extensions
    • Opening new window
  • Make sure client limits 100 requests per 5mins

    • You can use Sync Now command to trigger syncs and the command fails if limit exceeds
    • if limit exceeds while auto sync, client disables sync and prompts notification to the user

Test do not install built in extensions while syncing

To test this download insiders from our builds page branched from sandy081/test/syncing-builtin-extensions that does not has ms-vscode.references-view built in extension.

  • Sync extensions from a normal insiders
  • Now sync from above downloaded insiders and make sure ms-vscode.references-view extension is not installed automatically.
  • Install this extension from Marketplace and test that you can now sync enablement state.
@dbaeumer dbaeumer added this to the May 2020 milestone Jun 2, 2020
@dbaeumer
Copy link
Member

dbaeumer commented Jun 2, 2020

@sandy081 assuming this is May 2020

@sandy081
Copy link
Member Author

sandy081 commented Jun 2, 2020

@dbaeumer Yes, but this milestone assignment is not a requirement anymore for the assignment, hence did not set milestone.

@dbaeumer
Copy link
Member

dbaeumer commented Jun 2, 2020

OK. Didn't know it. So the tools assigns all open test plan items. Right?

@sandy081
Copy link
Member Author

sandy081 commented Jun 2, 2020

Yes

@alexdima
Copy link
Member

alexdima commented Jun 2, 2020

I would like to suggest that next time you please create multiple test plan items. IMHO each heading could have been its own test plan item since they are independent.

@alexdima alexdima removed their assignment Jun 2, 2020
@lszomoru lszomoru closed this as completed Jun 2, 2020
@lszomoru lszomoru removed their assignment Jun 2, 2020
@sandy081
Copy link
Member Author

sandy081 commented Jun 2, 2020

The reason for putting them in single TPI as all of them need a set up to sync across devices and to have only assigned users to have this overload. Otherwise I am all fine to create separate TPIs

@alexdima
Copy link
Member

alexdima commented Jun 2, 2020

Interestingly, I have found the setup to be trivial given your hints: i.e.

code-insiders --user-data-dir=/Users/alex/src/adata1 --extensions-dir=/Users/alex/src/aext1
code-insiders --user-data-dir=/Users/alex/src/adata2 --extensions-dir=/Users/alex/src/aext2

Then I had a third one by using 3, etc.

@sandy081
Copy link
Member Author

sandy081 commented Jun 2, 2020

True.. I think this is still an overload 😉

@github-actions github-actions bot locked and limited conversation to collaborators Jul 17, 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

4 participants