Draft: Incorporate Session ID in VSCode Settings Sync POC

Issue: [Investigation] Can we use User Session ID head... (gitlab-web-ide#401 - closed)

What does this MR do and why?

This MR is a POC on using the Session ID header provided by VSCode upon making Settings Sync API requests as a way to pass Extensions Marketplace Settings context to the BE. This is not meant to be merged.

Screenshots or screen recordings

Enabled Disabled Disabled Enabled
demo.mov demo_2.mov

How to set up and validate locally

  • This POC is meant to be run along with: Draft: Settings Sync user session ID header POC (gitlab-web-ide!378 - closed)
  • Pull this branch and run migrations
  • Enabled Disabled
    • In the Web IDE example app, start Web IDE with Extensions Marketplace enabled. Download theme extension and update IDE theme. Observe setting persisted in the DB with marketplace URL as session_id.
    • Restart the Web IDE, this time with Extensions Marketplace disabled. Note no theme changes. Observe new record created with session_id=1 and no content in settings. In the demo vid, session_id=0 because the default session ID was set to 0 on the client side. This has since been fixed in the client side POC.
  • Disabled Enabled
    • Set Extensions Marketplace as disabled and restart the Web IDE. Observe that the local settings do not overwrite the remote/BE.
Edited by Cindy Halim

Merge request reports

Loading