-
Notifications
You must be signed in to change notification settings - Fork 5.7k
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
Theme resets to default on relaunch #2231
Comments
Same issue here too. |
The workaround is to change the default theme to used one in Settings. |
Probably related to this:
|
Have no issues like that: can turn off panels and wrapping works. |
@code-asher With code-server 3.6.1, settings in Update (2020-11-03): Problem also exists with code server 3.6.2 |
I noticed this as well. First, it seems like the Not the paths shown for the two settings.json files in the screenshots below. Same path, different content. |
Yeah I poked into it a little and it looks like the settings file on
disk is now used for remote only (which won't be used at all for
code-server since it can't run the remote extensions anyway) and the
user settings are now stored in browser storage.
But even though it's actually in browser storage it still shows a file
path in the editor and there seem to be other bugs with it too.
I haven't done any research yet to see if this is a known issue with VS
Code web or if it's something caused by code-server, so I'll be checking
on that as soon as possible.
|
Thanks for checking on this @code-asher. Do you know if there is a way to update/change these user settings from the command line? I would usually just copy a |
Hey I did my own research and found out that if I simply copy settings.json from /User (remote) to /code-server (local) it would have no effect at all as local settings seems to be virtual path and actually stored in browser Local Storage. What I did is simply opened User preferences within code-server itself (cmd + shift + P, "settings") and pasted it's contents to local settings.json within code-server. Obviously when browser Local Storage resets this settings are lost. Thanks all the devs for the commitment. |
Yeah I don't think there's an easy way to do this; copying manually
like that seems like the only option.
The whole situation seems a bit weird to me so assuming VS Code doesn't
make some kind of improvement I think maybe we should patch it to use
the file system again.
|
I have to change my theme back every 20 minutes. Someone please find a fix for this one! |
@code-asher I assume there is no way to use the settings-sync feature from VS Code correct (link below)? Is that feature perhaps why they are using browser storage now? Reverting/patching so the file system can be used for code-server would be great. |
Yeah I'm not sure we'd be able to get sync working as-is; we might need
to host our own backend since I imagine Microsoft's is licensed
similarly to the marketplace and there might be other hurdles.
The switch to browser storage could be related to sync but they had sync
before the switch so I'm not sure.
Right now my plan is to update to 1.51 and see if the situation has
changed and if not I'll dig in to resolve this.
|
Actually no; the switch happened at the same time as sync right?
Definitely could be related.
|
I hate to be that guy, but is there any progress on this issue? It's really not feasible to remain on the old version now with the security vulnerability and this is a really annoying problem when you switch between directories. |
@hurleyef Do you know which prior version are affect by the security vulnerability. I thought it was only 3.7.1. |
Whoops, that's my bad -- only 3.7 and 3.7.1 are affected. |
The workaround was already posted here. Just copy the settings file contents. |
@DmitriyPavlov Not sure how useful that workaround really if "Obviously when browser Local Storage resets this settings are lost" |
@DmitriyPavlov I think you are assuming that everyone uses only 1 computer. One of the key benefits of code-server is being able to remotely edit from any computer. Each computer/browser has its own local storage. Are you implying that I manually copy these settings to each computer I am going to use? If I make changes to the settings on my main personal system, those changes are not applied to my laptop or my work system, etc.. |
I was hoping 1.51 had improved the situation but it looks like it's
still using local storage. Now that 1.51 is merged this is my next
priority.
|
It's possible that using browser storage makes more sense with settings sync, so we might want to revisit this once/if we get settings sync working. As it currently is though, browser storage just causes jank. The path was also missing a `User` at the end so I added that. This might affect the Vim extension which would have been writing to the wrong path previously but I don't believe it should affect anything else since they would have been writing to browser storage. - Fixes #2208 - Fixes #2231 - Fixes #2279 - Fixes #2274
Will be in |
* plugin: Plugin modules now export a single top level identifier Makes typing much easier. Addresse's Will's last comment. * plugin.ts: Fix usage of routerPath in mount * plugin: Test endpoints via supertest Unfortunately we can't use node-mocks-http to test a express.Router that has async routes. See eugef/node-mocks-http#225 router will just return undefined if the executing handler is async and so the test will have no way to wait for it to complete. Thus, we have to use supertest which starts an actual HTTP server in the background and uses a HTTP client to send requests. * plugin: Give test-plugin some html to test overlay * plugin: Make init and applications callbacks optional * Fix formatting * Add Slack link to issue template (coder#2282) * Bump version and update README * Add maintainers * Fix trailing line breaks * Bump chart app version * Update CODEOWNERS file * Deduplicate child process message dance * Document getFirstPath better * Re-add TLS socket proxy * Close sockets correctly * Avoid setting ?to=/ That's the default so it's extra visual noise. * Refactor vscode init to use async Hopefully is a bit easier to read. * Clarify some points around the cookie domain Also add a check that the domain has a dot. This covers the localhost case as well, so remove that. * Fix cleanup after getting message from vscode * Remove <type> from onMessage Turns out that while Typescript can't infer the callback return type from it, Typescript can do the opposite and infer it from the callback return type. * Use baseUrl when redirecting from domain proxy This will make the route more robust since it'll work under more than just the root. * Unbind message handler itself after getting message Also switch `once` to `on` since we `off` them later anyway so no point in making Node do it twice. * Add separate handler for error Feels like it parallels better with the other handlers. * Update cert flag test * Remove unused ts-expect-error from VS Code I'm not sure why other builds are passing with this still in. * helm: Move chart into ci/helm-chart * helm: Fix README examples Not sure where --name came from? Maybe an older version of helm. Ah, it's from v2.16.7 * helm: Add link in install.md * ci: Remove helm validation action in favour of helm kubeval directly * node/routes: Fix error handling We should always send HTML if the user agent expects it. If they do not, they should clearly indicate such via the Accept header. Closes coder#2297 * ci: Disable no-unused-vars for function args See previous commit for failure introduced. * ci: Only use helm kubeval if installed * helm: Use upgrade --install everywhere See @sreya's review * v3.7.0 * ci: Update standalone build test ms-toolsai.jupyter is now a dependency of ms-python and is installed along with it. * doc/ipad.md: Fix TOC * ci: Improve release template (coder#2311) * ci: Pin nfpm to v1.9.0 Closes coder#2310 * v3.7.1 * Fix log message (coder#2331) * Skip heartbeat on /healthz endpoint (coder#2333) I managed to lose this in the rewrite. Fixes coder#2327. * Split child and parent wrappers I think having them combined and relying on if statements was getting confusing especially if we want to add additional messages with different payloads (which will soon be the case). * Move onMessage so it can be used in the wrappers * Parse arguments once Fixes coder#2316. * Remove unused wrapper options Also move our memory default to the beginning of NODE_OPTIONS so it can be overidden. The version of the flag with dashes seems to be the more correct one now so use that instead of underscores. Related: coder#2113. * Fix webview 404s An extra slash caused a 404 (was /webview//vscode-resource). * Fix tar authentication It was checking the request path but for tars the path is in the query variable so the request path is irrelevant. * login.css: Fix button styling on iOS * Revert "login.css: Fix button styling on iOS" This reverts commit f79bb21. * login.css: Disable webkit appearance for input elements Not sure why Safari does these things... Closes coder#2247 * Fix service worker not loading (coder#2335) I removed this under the impression the default was to allow it anywhere but that's not the case. Since the service worker was already registered in my browser I never got the error during testing. * Update VS Code to 1.51.1 * Add new logger service The telemetry service depends on this now. I had to move it into invokeFunction and use accessor.get otherwise getLogger on the service was undefined. I also had to move some the extension management service because it depends on the moved telemetry service. I moved a few other services as well to better match VS Code (sharedProcessMain.ts). I swapped some this.services.get with accessor.get since that seems to be the correct method although for these other services either method seems to work. * Add new (unimplemented) terminal service * Implement most of remote terminal service It works, at least, but there are still some missing parts. * Implement terminal replay event * Handle non-persistent terminals * Only replay terminals when detached * Send back workspace ID and name in terminal list This makes it re-connect automatically. * Add timeout for disposing detached terminals * Add notes on unimplemented terminal events * Implement remaining resolver methods * Use resolverEnv to get exec path This is the last unused variable in the create terminal payload. * Don't persist terminals for now * v3.7.2 * ci: Fix typo in release template * Use file system for settings and fix data home path It's possible that using browser storage makes more sense with settings sync, so we might want to revisit this once/if we get settings sync working. As it currently is though, browser storage just causes jank. The path was also missing a `User` at the end so I added that. This might affect the Vim extension which would have been writing to the wrong path previously but I don't believe it should affect anything else since they would have been writing to browser storage. - Fixes coder#2208 - Fixes coder#2231 - Fixes coder#2279 - Fixes coder#2274 * Remove semver-umd link This is included in the bundle now. * vscode: Update product.json The new fields are from vscodium and make the welcome page documentation links work correctly. I also renamed the distribution to "code-server" so that when you're in a browser, it now says code-server instead of Code OSS. * vscode: Disable go home button See coder#2328 * vscode: Customize welcome page for code-server - Title/subtitle are now code-server and VS Code version - Added a list of code-server help links * vscode: Show notification when upgrade is available And link to the release notes. * doc: Add note on upgrading into release notes and install.md Closes coder#1652 Closes coder#2221 * update.ts: Simplify comparison * vscode: Add missing semicolons See coder#2359 * vscode: Check updates with absolute path In case the window location path changes. Not entirely sure if it can but best to be on the safe side. * v3.7.3 * Fix exthost error and warn logging (coder#2366) Previously anything that wasn't "log" such as "warn" would end up doing `logger[logger.warn]`. Would have caught this if I hadn't used `any`... Fixes coder#2364. * ci: Enable vscode linting Updates coder#2359 * vscode: Make eslint pass I disabled code-layering and code-import-patterns as I don't think we can make them easily pass as we reference all sorts of code from both browser and node files. At least not worth the headache now to refactor everything. * ci: Fetch vscode node_modules in lint.sh for eslint * show popup on third attempt * turn off visibleProgress on ConnectionLost * one working solution without event suppression * solution with forceDialog for attempt 3 and no change to VisibleProgress class * revert reconnect wait times * separate event domain from UI * vscode: Remove background reconnection fixes from patch I'll have to manually apply as they are not compatible with the latest VS Code after rebase anymore. * vscode: Reconnect in the background up to 5 seconds Based on the previous commits by @mgmachado but simplified. I also changed the threshold to error after a single attempt as the connection has likely been borked and the user should be in the know if they couldn't reconnect after 5 seconds. Closes coder#1791 * vscode: Use options.base for update checking See coder#2358 (comment) * cli: Add --disable-update-check flag Closes coder#2361 * vscode: Fix update check timeouts Forgot an extra 60 in the check interval and the notification timeout. Very unfortunate. Check has been allowed every 168 minutes instead of every week. * vscode: Fixes for linting * Only attach to orphaned terminals (coder#2382) Fixes coder#2356. * Revamp icons (coder#2383) I took our website's SVG favicon and plopped it on a round white rectangle in Affinity Designer. The I exported it as an SVG and wrote a script that uses imagemagick to convert to the various sizes and formats we need. Closes coder#2307 * browser: Fix HTML formatting * v3.7.4 * Add "disabled by --link" note to certificate arg * Remove logs mentioning --link being beta * npm.md: Remove the "install Xcode" bit coder#2398 * doc/npm.md: Fix formatting * node: coder-cloud -> coder_cloud File names should not have dashes. * update.ts: Fix response memory leak * Use proxy-agent to support $HTTP_PROXY Closes coder#124 This works by monkey patching the http and https modules's default agent at runtime to the one given by the proxy-agent package. * proxy_agent.ts: Document that no other code passes in explicit agent From my inspection as of this date anyway. * media: Improve icon size (coder#2401) See coder#2383 (comment) * Add path to coder-logs in 'How do I debug...' section (coder#2389) 'How do I debug issues with code-server?` section of FAQ listed the logs for VS Code for coder#2. This commit includes the log location for code-server. * vscode: Document argument to extensionHostProcess * vscode/coder.js: Remove unnecessary vs/css and vs/nls args buildfile.entrypoint ignores all args now and is hard coded to use these strings as exclude. * vscode: Fix @coder/logger version The previously used version seems to be buggy. I was seeing undefined errors when using a logger.named logger at level info. * vscode: Fix exthost logging Closes coder#2364 See coder#2366 cc @code-asher My previous commit didn't fix anything but still good to update @coder/logger. * Fix CI * proxy_agent.ts: Document why there is no $HTTPS_PROXY support * Update guide.md (coder#2125) * doc/ipad.md: Add Servediter iPad App Builds upon the previous commit. Thanks @AckerApple * Modify link arg and its desc to not be beta * Update cloud program section of README * add initial codetour * doc: Describe issue triaging * Remove cmoog assignment for extension requests * doc: Elaborate on issue triaging * doc: Switch screenshot to use Chrome Safari runs code-server horribly. We shouldn't even pretend that it sort of works. See the issues tagged browser-safari! Considered Firefox first but there's too many issues with it as well. * Remove @coder-asher and @nhooyr from CODEOWNERS Not every PR needs our review. We get notified anyway as we're watching the repository. * docs: add yarn to contributing requirements * Add hashedPassword config (coder#2409) Resolve coder#2225. * Add tour points * cli: Show beta flags in help output Looks like ``` -r --reuse-window Force to open a file or folder in an already opened window. -vvv --verbose Enable verbose logging. --link (beta) Securely bind code-server via Coder Cloud with the passed name. You'll get a URL like https://myname.coder-cloud.com at which you can easily access your code-server instance. Authorization is done via GitHub. ``` Based on commits by @JammSpread in coder#2405 Closes coder#2396 * add link to docs * make tour work on all branches * add development tour with commands * change to directory * Change tour directories from `file` to `directory` `file` doesn't seem to work without a specific git reference, but adding a reference makes the explorer not follow the tour. Unfortunately `directory` doesn't show the directory contents so I added the directory name and "see the explorer" to the comment. * Link CONTRIBUTING.md from the tour For now it has to be a full link but in the future it would be nice to open it relatively in the editor. * Add VS Code reqs link to development tour * FAQ.md: Add mention of hashedPassword (coder#2453) Closes coder#2451 * routes: Redirect from /login when auth is disabled (coder#2456) Sometimes I start with auth but then disable. Now I can just reload the login page in my browser to be greeted with code-server. * release-image: Ignore $DOCKER_USER on restart (coder#2458) Closes coder#2267 * install.sh: use $ID_LIKE to detect distro (coder#2423) * release-image: Remove unnecessary call to chsh (coder#2457) Confused me in coder#2410, see coder#2455 debian:10 defaults to bash as $SHELL * feat: add home as a cli option * chore: generate new patch * docs: update FAQ with new go home customization * docs: fix typo in docs * chore: fix lint issue in patch * refactor: fix bug in --home test * chore: format FAQ * fix: remove unused import in workbench.ts * chore: revert accidental yarnlock changes in patch * chore: revert yarn.lock to match master * Revert yarn.lock to master * Update ipad.md I've been coding from my iPad to Raspberry Pi going on several months. I feel a pro at it and far prefer it over a cloud service for it has far less lag being local hosted. * Add --ignore-last-opened option (coder#2434) This allows bypassing the last opened behavior for certain cases where that's not desirable. Fixes coder#1951 * Move ignore-last-opened to ipc.d.ts This is so it can be used in VS Code. Don't tell anyone but I forgot to run `yarn ci`. * Use patience algorithm for diffs This should prevent us from generating different diffs and adding noise to our PRs. Patience seems like a good one; it generated a diff that I felt was easier to read in the case of the yarn.lock optionator section. * feat: add vscode:clean script * chore: remove submodule * Squashed 'lib/vscode/' content from commit e5a624b git-subtree-dir: lib/vscode git-subtree-split: e5a624b * feat: apply patch after setting up subtree * feat: remove vscode scripts used with submodule * refactor: move vscode.sh to postinstall * refactor: remove submodule code from steps scripts * docs: update workflow and remove yarn vscode * refactor: update workflow in codetour * docs: fix codetour and docs * docs: update based on feedback * fix: add grep -v lib/vscode to git ls-files * chore: format lint file * Update ipad.md Really tried the squeeze the most out of my own experiences with the hopes of helping others. * Update ipad.md Added table of contents links * fix: remove unnecessary grep line in fmt script * docs: add section for updating vs code * chore: fix linting error * Symlink node_modules.asar to node_modules in lib/vscode Closes coder#2197. * Implement callback endpoints VS Code uses these during the authentication flow. * Point to our auth relay * ci/README: Document command used to find stale version * proxy_agent: Fix very embarrassing mistake * proxy_agent: Improve documentation * proxy_agent: Implement $HTTPS_PROXY Just convention, see https://golang.org/pkg/net/http/#ProxyFromEnvironment * proxy_agent: Use proxy-from-env for robustness Now we support pretty much every variable under the sun along with $NO_PROXY all correctly and with minimal code on our end. * doc/FAQ: Document proxy environment variables * build: Do not let agent install fail the build We don't have an agent for FreeBSD right now. * clean.sh: Do not reset lib/vscode Now that we've moved to the submodule, there is no need to reset changes in there :) cc @jsjoeio * vscode: Remove electron dependency but keep types Electron doesn't support FreeBSD. * ci: Minor fixes for FreeBSD support * doc/npm.md: Document npm module dependencies for FreeBSD * install.sh: Add echo_npm_postinstall Updates coder#2349 * Clarify why we need node_modules.asar * Use full path for ignoring node_modules.asar Co-authored-by: Anmol Sethi <[email protected]> * cli: hashedPassword -> hashed-password (coder#2454) Capital letters in the CLI are evil. cc @code-asher * Swap negative check for positive check * docs: Update nginx certbot to use python3 coder#2439 * Simplify query concatenation in URL callback Cases in URLs like ?&a=b or ?a=b& appear to be handled just fine. * release-image: Use more minimal packages coder#2462 * doc/npm.md: Update docs for Alpine Linux (coder#2479) * doc/ipad.md: Fix formatting * v3.8.0 🎅🏼 * docs: add details to updating vscode section * Bundle callback.html into final build * Fix symlink_asar failing if link is broken This can happen if you `yarn release` without keeping node modules. * Add typings to release bundle (coder#2544) * Fix typings rsync * browser: Add favicon.afdesign It requires git-lfs to pull down if you want to adjust the favicon and also the affinity designer software available only on Windows and Mac. Might be a good idea to switch to Figma at some point and commit a .fig file. * gen_icons.sh: Document pwa-icon vs favicon having different design * favicon: Add dark mode support Closes coder#2538 Works as expected on latest Firefox and Chromium. Co-authored-by: Anmol Sethi <[email protected]> Co-authored-by: Ben Potter <[email protected]> Co-authored-by: Matthew Beckett <[email protected]> Co-authored-by: Asher <[email protected]> Co-authored-by: piousdeer <[email protected]> Co-authored-by: Jacky <[email protected]> Co-authored-by: Machado, Meygha <[email protected]> Co-authored-by: JK <[email protected]> Co-authored-by: ed789d0 <[email protected]> Co-authored-by: Colton Saska <[email protected]> Co-authored-by: Acker Dawn Apple <[email protected]> Co-authored-by: Joe Previte <[email protected]> Co-authored-by: SPGoding <[email protected]> Co-authored-by: Oxylibrium <[email protected]> Co-authored-by: JammSpread <[email protected]> Co-authored-by: Mayank Soni <[email protected]> Co-authored-by: Jean-Yves LENHOF <[email protected]> Co-authored-by: Oxylibrium <[email protected]> Co-authored-by: Sean Smith <[email protected]>
"Who configures the configuration files"? Hard-coding config files locations is very limiting when an app needs to be containerized and deployed into air-gapped environments... We should aim the level of flexibility that more mature could-native IDEs and other apps have attained (with env vars and server startup args): Related issue opened for |
@mirekphd The file location for user settings (at
I am running code-server from within a customised JupyterLab container. User generated data is persisted because the home directory is mounted from a docker volume. See https://demo.jupyter.b-data.ch for a reference deployment using JupyterHub and JupyterLab + code-server. P.S.: |
code-server --version
: v3.6.1After the latest update my selected theme resets to default
Light+
after one or several consecutive client restarts.It doesn't matter what theme is selected before. If I open settings.json on server I see the theme is correct, but in workbench it resets to default. When the theme resets and I open
Preferences -> Color Theme
then it also resets in settings.json to"workbench.colorTheme": "Default Light+"
. Very weird.I attach small video for the sake of demonstration https://cloud.dmitriypavlov.com/s/9YoT5scWALkcyq9
(theme resets on 3 relaunch). Please advice.
The text was updated successfully, but these errors were encountered: