-
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
keybindings.json doesn't take effect till reloading #2279
Comments
I wonder if this is the same problem that is causing issues with
settings: #2274
|
It seems like since 3.6.1 and higher, only the keybindings.json stored in local storage is considered, and ~/.local/share/code-server/User/keybindings.json is completely unused. Unlike ~/.local/share/code-server/User/settings.json, which still work but can be overridden by the settings.json in local storage, there's no such concept as "Remote" keybindings. The only solution I found was to copy the keybindings to each browser and make sure I never clear data, or downgrade to 3.6.0. |
I tested 3.6.0 and it has exactly the same key binding issue as 3.6.1 unfortunately... |
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]>
I created a docker image with ~/.local/share/code-server/keybindings.json pre-populated to get around F10 used for menubar focus which conflicts with F10 debug: step over for python. The keybindings.json is as follow
[
{
"key": "f10",
"command": "-workbench.actions.menubar.focus"
}
]
However it doesn't work till I bring up keybindings.json (with command palette -> Preferences: Open Keyboard Shortcuts (JSON)), which is interestingly empty even though I provided the file under the same path. Then I have to copy the content above and save this keybindings.json brought up by command palette. Then it will start working. The trouble is that I have to do it every time I restart the docker instance.
There was a closed issue "150" below but it's still not fixed for linux
#150
code-server --version
: 3.6.1The text was updated successfully, but these errors were encountered: