diff --git a/CHANGELOG.md b/CHANGELOG.md index 808d9c8..b0bca9e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,7 +22,13 @@ Changelog [Github master](https://github.com/bjones1/CodeChat_Editor) ----------------------------------------------------------- -*  No changes. +* No changes. + +Version 0.1.54 -- 2026-Apr-16 +----------------------------- + +* Fix double scroll regression -- cursor movement in the Client caused the IDE + to move, which then incorrectly caused the Client to move again. Version 0.1.53 -- 2026-Apr-14 ----------------------------- diff --git a/client/package.json5 b/client/package.json5 index 389c80a..35cdc1b 100644 --- a/client/package.json5 +++ b/client/package.json5 @@ -43,7 +43,7 @@ url: 'https://github.com/bjones1/CodeChat_editor', }, type: 'module', - version: '0.1.53', + version: '0.1.54', dependencies: { '@codemirror/commands': '^6.10.3', '@codemirror/lang-cpp': '^6.0.3', @@ -91,8 +91,8 @@ 'eslint-plugin-prettier': '^5.5.5', globals: '^17.5.0', mocha: '^11.7.5', - 'npm-check-updates': '^20.0.2', - prettier: '^3.8.2', + 'npm-check-updates': '^21.0.0', + prettier: '^3.8.3', typescript: '^6.0.2', 'typescript-eslint': '^8.58.2', }, diff --git a/client/pnpm-lock.yaml b/client/pnpm-lock.yaml index 947d96a..a74d330 100644 --- a/client/pnpm-lock.yaml +++ b/client/pnpm-lock.yaml @@ -134,7 +134,7 @@ importers: version: 2.32.0(@typescript-eslint/parser@8.58.2(eslint@10.2.0)(typescript@6.0.2))(eslint@10.2.0) eslint-plugin-prettier: specifier: ^5.5.5 - version: 5.5.5(eslint-config-prettier@10.1.8(eslint@10.2.0))(eslint@10.2.0)(prettier@3.8.2) + version: 5.5.5(eslint-config-prettier@10.1.8(eslint@10.2.0))(eslint@10.2.0)(prettier@3.8.3) globals: specifier: ^17.5.0 version: 17.5.0 @@ -142,11 +142,11 @@ importers: specifier: ^11.7.5 version: 11.7.5 npm-check-updates: - specifier: ^20.0.2 - version: 20.0.2 + specifier: ^21.0.0 + version: 21.0.0 prettier: - specifier: ^3.8.2 - version: 3.8.2 + specifier: ^3.8.3 + version: 3.8.3 typescript: specifier: ^6.0.2 version: 6.0.2 @@ -524,79 +524,79 @@ packages: '@mermaid-js/parser@1.1.0': resolution: {integrity: sha512-gxK9ZX2+Fex5zu8LhRQoMeMPEHbc73UKZ0FQ54YrQtUxE1VVhMwzeNtKRPAu5aXks4FasbMe4xB4bWrmq6Jlxw==} - '@napi-rs/canvas-android-arm64@0.1.97': - resolution: {integrity: sha512-V1c/WVw+NzH8vk7ZK/O8/nyBSCQimU8sfMsB/9qeSvdkGKNU7+mxy/bIF0gTgeBFmHpj30S4E9WHMSrxXGQuVQ==} + '@napi-rs/canvas-android-arm64@0.1.98': + resolution: {integrity: sha512-O45Ifr0WZJUrSyg0QgB+67TiC0zYBRkBK+d43ZV4JtlwH3XttiVxLvlxEeULiH5y1MSELruspF0bjF6xXwJNPQ==} engines: {node: '>= 10'} cpu: [arm64] os: [android] - '@napi-rs/canvas-darwin-arm64@0.1.97': - resolution: {integrity: sha512-ok+SCEF4YejcxuJ9Rm+WWunHHpf2HmiPxfz6z1a/NFQECGXtsY7A4B8XocK1LmT1D7P174MzwPF9Wy3AUAwEPw==} + '@napi-rs/canvas-darwin-arm64@0.1.98': + resolution: {integrity: sha512-1b/nQhw6Isdv14JokUqat+i5wrAYD+ce3egiotedBGRUjVxYSj4s2uQCh2bFsyX5/9A5iTKVGsWoQhFft+j7Lg==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@napi-rs/canvas-darwin-x64@0.1.97': - resolution: {integrity: sha512-PUP6e6/UGlclUvAQNnuXCcnkpdUou6VYZfQOQxExLp86epOylmiwLkqXIvpFmjoTEDmPmXrI+coL/9EFU1gKPA==} + '@napi-rs/canvas-darwin-x64@0.1.98': + resolution: {integrity: sha512-oefzfBM8mwnyYp6S+yNXwjCoLdkOalFG24mssHgvrJDS0FulOryyI35Q7GdJGmrzuL4oo1XW3ZTOcTBLdJ8Zkg==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@napi-rs/canvas-linux-arm-gnueabihf@0.1.97': - resolution: {integrity: sha512-XyXH2L/cic8eTNtbrXCcvqHtMX/nEOxN18+7rMrAM2XtLYC/EB5s0wnO1FsLMWmK+04ZSLN9FBGipo7kpIkcOw==} + '@napi-rs/canvas-linux-arm-gnueabihf@0.1.98': + resolution: {integrity: sha512-NDH5QXGmf8wlo5yhijCNGVFiJk7an5GvHwb2LHyfLQWY/6/S48i5+YtY6FPqPVVCUckNGudYOfXEJnb3/FiJGQ==} engines: {node: '>= 10'} cpu: [arm] os: [linux] - '@napi-rs/canvas-linux-arm64-gnu@0.1.97': - resolution: {integrity: sha512-Kuq/M3djq0K8ktgz6nPlK7Ne5d4uWeDxPpyKWOjWDK2RIOhHVtLtyLiJw2fuldw7Vn4mhw05EZXCEr4Q76rs9w==} + '@napi-rs/canvas-linux-arm64-gnu@0.1.98': + resolution: {integrity: sha512-KBLLM6tu1xs80LSAqdSLBKkgct0S23MCEf/aq8yxzg5imAceqp1ulKeELgWaYm27MgpUhm3Q7jmegX12FfphwA==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] libc: [glibc] - '@napi-rs/canvas-linux-arm64-musl@0.1.97': - resolution: {integrity: sha512-kKmSkQVnWeqg7qdsiXvYxKhAFuHz3tkBjW/zyQv5YKUPhotpaVhpBGv5LqCngzyuRV85SXoe+OFj+Tv0a0QXkQ==} + '@napi-rs/canvas-linux-arm64-musl@0.1.98': + resolution: {integrity: sha512-mfMNhjN5zDcJafqQ6sHj4Tc3YMTRxP5UA3MHtp/ssytBR/k6XO0x+1IIPtscnUKwha+ql1++WjDCGEgqu8OfWQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] libc: [musl] - '@napi-rs/canvas-linux-riscv64-gnu@0.1.97': - resolution: {integrity: sha512-Jc7I3A51jnEOIAXeLsN/M/+Z28LUeakcsXs07FLq9prXc0eYOtVwsDEv913Gr+06IRo34gJJVgT0TXvmz+N2VA==} + '@napi-rs/canvas-linux-riscv64-gnu@0.1.98': + resolution: {integrity: sha512-nfW8esrcaeuhrO3qGA5cwuyk4Ak6cn2eB0LtEYtqROIl+fz06CNGNCU0M95+Tspw5ZgfSbc98SaigT5r5B3LVQ==} engines: {node: '>= 10'} cpu: [riscv64] os: [linux] libc: [glibc] - '@napi-rs/canvas-linux-x64-gnu@0.1.97': - resolution: {integrity: sha512-iDUBe7AilfuBSRbSa8/IGX38Mf+iCSBqoVKLSQ5XaY2JLOaqz1TVyPFEyIck7wT6mRQhQt5sN6ogfjIDfi74tg==} + '@napi-rs/canvas-linux-x64-gnu@0.1.98': + resolution: {integrity: sha512-318UT8j6Gro2bTjtutjQXHWp9SLTNw+WRS4wQ6XIRPAyzBGnGHg7x2ndD+oqkPrrSRIbYLA5WoBcCasaF7lSTQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] libc: [glibc] - '@napi-rs/canvas-linux-x64-musl@0.1.97': - resolution: {integrity: sha512-AKLFd/v0Z5fvgqBDqhvqtAdx+fHMJ5t9JcUNKq4FIZ5WH+iegGm8HPdj00NFlCSnm83Fp3Ln8I2f7uq1aIiWaA==} + '@napi-rs/canvas-linux-x64-musl@0.1.98': + resolution: {integrity: sha512-0vZhI74UxnA4VqlW4UvM0dFRrjE1RLEe/OXSBjzytGIxV+yOG4exlrhGoIpAQaIpQQQXMCdb1EmbvPC1k9vEqQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] libc: [musl] - '@napi-rs/canvas-win32-arm64-msvc@0.1.97': - resolution: {integrity: sha512-u883Yr6A6fO7Vpsy9YE4FVCIxzzo5sO+7pIUjjoDLjS3vQaNMkVzx5bdIpEL+ob+gU88WDK4VcxYMZ6nmnoX9A==} + '@napi-rs/canvas-win32-arm64-msvc@0.1.98': + resolution: {integrity: sha512-oiC/IxgFEEVcZ7VH7JXXlmgsqRvmFb57PIQ4gQck35IKFZCNUvdNCcN3OeoLP7Hpf5160MWJf9jj/+E5V0bSvw==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@napi-rs/canvas-win32-x64-msvc@0.1.97': - resolution: {integrity: sha512-sWtD2EE3fV0IzN+iiQUqr/Q1SwqWhs2O1FKItFlxtdDkikpEj5g7DKQpY3x55H/MAOnL8iomnlk3mcEeGiUMoQ==} + '@napi-rs/canvas-win32-x64-msvc@0.1.98': + resolution: {integrity: sha512-ZqstKAJBSyZetU8udUvBQWPlGN9buawFvjuo9mgCAxzbOoJAgXX39ihec/nn42T5Vb6/qyn45eTimx5ND9kMEw==} engines: {node: '>= 10'} cpu: [x64] os: [win32] - '@napi-rs/canvas@0.1.97': - resolution: {integrity: sha512-8cFniXvrIEnVwuNSRCW9wirRZbHvrD3JVujdS2P5n5xiJZNZMOZcfOvJ1pb66c7jXMKHHglJEDVJGbm8XWFcXQ==} + '@napi-rs/canvas@0.1.98': + resolution: {integrity: sha512-WDg3lxYMqlrg49sDVUlrHVfIEPsd5AjYDRuGD6Fu82K5agJx0UnWA+l5qd53GNLRiMN2WhOw7FLR+Er5QB/0SA==} engines: {node: '>= 10'} '@pkgjs/parseargs@0.11.0': @@ -1727,9 +1727,9 @@ packages: node-readable-to-web-readable-stream@0.4.2: resolution: {integrity: sha512-/cMZNI34v//jUTrI+UIo4ieHAB5EZRY/+7OmXZgBxaWBMcW2tGdceIw06RFxWxrKZ5Jp3sI2i5TsRo+CBhtVLQ==} - npm-check-updates@20.0.2: - resolution: {integrity: sha512-nvbcXiprjMOoSX0FCHC41kjpZhNFURV53KMU0MMa0U10RPHeoHpiilMg2P8g9NLSQoo0umSH77tUqHWTOH3w7A==} - engines: {node: '>=20.0.0', npm: '>=8.12.1'} + npm-check-updates@21.0.0: + resolution: {integrity: sha512-iGFLoW1QWsEDLR6Cnklyk+iHTf20hS84o79idR6AKhjSwk0whMdCd5FS0bTgEe6gMrRnJ0fGr2P6BEZ2zOelYg==} + engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0, npm: '>=10.0.0'} hasBin: true object-inspect@1.13.4: @@ -1835,8 +1835,8 @@ packages: resolution: {integrity: sha512-SxToR7P8Y2lWmv/kTzVLC1t/GDI2WGjMwNhLLE9qtH8Q13C+aEmuRlzDst4Up4s0Wc8sF2M+J57iB3cMLqftfg==} engines: {node: '>=6.0.0'} - prettier@3.8.2: - resolution: {integrity: sha512-8c3mgTe0ASwWAJK+78dpviD+A8EqhndQPUBpNUIPt6+xWlIigCwfN01lWr9MAede4uqXGTEKeQWTvzb3vjia0Q==} + prettier@3.8.3: + resolution: {integrity: sha512-7igPTM53cGHMW8xWuVTydi2KO233VFiTNyF5hLJqpilHfmn8C8gPf+PS7dUT64YcXFbiMGZxS9pCSxL/Dxm/Jw==} engines: {node: '>=14'} hasBin: true @@ -2587,52 +2587,52 @@ snapshots: dependencies: langium: 4.2.2 - '@napi-rs/canvas-android-arm64@0.1.97': + '@napi-rs/canvas-android-arm64@0.1.98': optional: true - '@napi-rs/canvas-darwin-arm64@0.1.97': + '@napi-rs/canvas-darwin-arm64@0.1.98': optional: true - '@napi-rs/canvas-darwin-x64@0.1.97': + '@napi-rs/canvas-darwin-x64@0.1.98': optional: true - '@napi-rs/canvas-linux-arm-gnueabihf@0.1.97': + '@napi-rs/canvas-linux-arm-gnueabihf@0.1.98': optional: true - '@napi-rs/canvas-linux-arm64-gnu@0.1.97': + '@napi-rs/canvas-linux-arm64-gnu@0.1.98': optional: true - '@napi-rs/canvas-linux-arm64-musl@0.1.97': + '@napi-rs/canvas-linux-arm64-musl@0.1.98': optional: true - '@napi-rs/canvas-linux-riscv64-gnu@0.1.97': + '@napi-rs/canvas-linux-riscv64-gnu@0.1.98': optional: true - '@napi-rs/canvas-linux-x64-gnu@0.1.97': + '@napi-rs/canvas-linux-x64-gnu@0.1.98': optional: true - '@napi-rs/canvas-linux-x64-musl@0.1.97': + '@napi-rs/canvas-linux-x64-musl@0.1.98': optional: true - '@napi-rs/canvas-win32-arm64-msvc@0.1.97': + '@napi-rs/canvas-win32-arm64-msvc@0.1.98': optional: true - '@napi-rs/canvas-win32-x64-msvc@0.1.97': + '@napi-rs/canvas-win32-x64-msvc@0.1.98': optional: true - '@napi-rs/canvas@0.1.97': + '@napi-rs/canvas@0.1.98': optionalDependencies: - '@napi-rs/canvas-android-arm64': 0.1.97 - '@napi-rs/canvas-darwin-arm64': 0.1.97 - '@napi-rs/canvas-darwin-x64': 0.1.97 - '@napi-rs/canvas-linux-arm-gnueabihf': 0.1.97 - '@napi-rs/canvas-linux-arm64-gnu': 0.1.97 - '@napi-rs/canvas-linux-arm64-musl': 0.1.97 - '@napi-rs/canvas-linux-riscv64-gnu': 0.1.97 - '@napi-rs/canvas-linux-x64-gnu': 0.1.97 - '@napi-rs/canvas-linux-x64-musl': 0.1.97 - '@napi-rs/canvas-win32-arm64-msvc': 0.1.97 - '@napi-rs/canvas-win32-x64-msvc': 0.1.97 + '@napi-rs/canvas-android-arm64': 0.1.98 + '@napi-rs/canvas-darwin-arm64': 0.1.98 + '@napi-rs/canvas-darwin-x64': 0.1.98 + '@napi-rs/canvas-linux-arm-gnueabihf': 0.1.98 + '@napi-rs/canvas-linux-arm64-gnu': 0.1.98 + '@napi-rs/canvas-linux-arm64-musl': 0.1.98 + '@napi-rs/canvas-linux-riscv64-gnu': 0.1.98 + '@napi-rs/canvas-linux-x64-gnu': 0.1.98 + '@napi-rs/canvas-linux-x64-musl': 0.1.98 + '@napi-rs/canvas-win32-arm64-msvc': 0.1.98 + '@napi-rs/canvas-win32-x64-msvc': 0.1.98 optional: true '@pkgjs/parseargs@0.11.0': @@ -3500,10 +3500,10 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-plugin-prettier@5.5.5(eslint-config-prettier@10.1.8(eslint@10.2.0))(eslint@10.2.0)(prettier@3.8.2): + eslint-plugin-prettier@5.5.5(eslint-config-prettier@10.1.8(eslint@10.2.0))(eslint@10.2.0)(prettier@3.8.3): dependencies: eslint: 10.2.0 - prettier: 3.8.2 + prettier: 3.8.3 prettier-linter-helpers: 1.0.1 synckit: 0.11.12 optionalDependencies: @@ -3993,7 +3993,7 @@ snapshots: node-readable-to-web-readable-stream@0.4.2: optional: true - npm-check-updates@20.0.2: {} + npm-check-updates@21.0.0: {} object-inspect@1.13.4: {} @@ -4079,7 +4079,7 @@ snapshots: pdfjs-dist@5.4.624: optionalDependencies: - '@napi-rs/canvas': 0.1.97 + '@napi-rs/canvas': 0.1.98 node-readable-to-web-readable-stream: 0.4.2 picocolors@1.1.1: {} @@ -4107,7 +4107,7 @@ snapshots: dependencies: fast-diff: 1.3.0 - prettier@3.8.2: {} + prettier@3.8.3: {} punycode@2.3.1: {} diff --git a/extensions/VSCode/Cargo.lock b/extensions/VSCode/Cargo.lock index e304636..f72e0ce 100644 --- a/extensions/VSCode/Cargo.lock +++ b/extensions/VSCode/Cargo.lock @@ -367,9 +367,9 @@ dependencies = [ [[package]] name = "assertables" -version = "9.8.6" +version = "9.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "098fbfe90e8af520c4a968eaad7a4031908e473394f16c99cd9cce6369328a68" +checksum = "627b0b35c347252505ec6c078827dfcecc4e9dcfa931c54c54066f9245ac752b" dependencies = [ "regex", "walkdir", @@ -582,7 +582,7 @@ checksum = "3f88a43d011fc4a6876cb7344703e297c71dda42494fee094d5f7c76bf13f746" [[package]] name = "codechat-editor-server" -version = "0.1.53" +version = "0.1.54" dependencies = [ "actix-files", "actix-http", @@ -635,7 +635,7 @@ dependencies = [ [[package]] name = "codechat-editor-vscode-extension" -version = "0.1.53" +version = "0.1.54" dependencies = [ "codechat-editor-server", "log", @@ -785,9 +785,9 @@ dependencies = [ [[package]] name = "ctor" -version = "0.8.0" +version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "352d39c2f7bef1d6ad73db6f5160efcaed66d94ef8c6c573a8410c00bf909a98" +checksum = "95d0d11eb38e7642efca359c3cf6eb7b2e528182d09110165de70192b0352775" dependencies = [ "ctor-proc-macro", "dtor", @@ -795,9 +795,9 @@ dependencies = [ [[package]] name = "ctor-proc-macro" -version = "0.0.7" +version = "0.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52560adf09603e58c9a7ee1fe1dcb95a16927b17c127f0ac02d6e768a0e25bc1" +checksum = "a7ab264ea985f1bd27887d7b21ea2bb046728e05d11909ca138d700c494730db" [[package]] name = "ctutils" @@ -932,18 +932,18 @@ dependencies = [ [[package]] name = "dtor" -version = "0.3.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1057d6c64987086ff8ed0fd3fbf377a6b7d205cc7715868cd401705f715cbe4" +checksum = "17f72721db8027a4e96dd6fb50d2a1d32259c9d3da1b63dee612ccd981e14293" dependencies = [ "dtor-proc-macro", ] [[package]] name = "dtor-proc-macro" -version = "0.0.6" +version = "0.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f678cf4a922c215c63e0de95eb1ff08a958a81d47e485cf9da1e27bf6305cfa5" +checksum = "8c98b077c7463d01d22dde8a24378ddf1ca7263dc687cffbed38819ea6c21131" [[package]] name = "dunce" @@ -1839,9 +1839,9 @@ checksum = "dce6dd36094cac388f119d2e9dc82dc730ef91c32a6222170d630e5414b956e6" [[package]] name = "napi" -version = "3.8.4" +version = "3.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb7848c221fb7bb789e02f01875287ebb1e078b92a6566a34de01ef8806e7c2b" +checksum = "fa73b028610e2b26e9e40bd2c8ff8a98e6d7ed5d67d89ebf4bfd2f992616b024" dependencies = [ "bitflags 2.11.1", "ctor", @@ -1861,9 +1861,9 @@ checksum = "d376940fd5b723c6893cd1ee3f33abbfd86acb1cd1ec079f3ab04a2a3bc4d3b1" [[package]] name = "napi-derive" -version = "3.5.3" +version = "3.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60867ff9a6f76e82350e0c3420cb0736f5866091b61d7d8a024baa54b0ec17dd" +checksum = "7430702d3cc05cf55f0a2c9e41d991c3b7a53f91e6146a8f282b1bfc7f3fd133" dependencies = [ "convert_case 0.11.0", "ctor", @@ -1875,9 +1875,9 @@ dependencies = [ [[package]] name = "napi-derive-backend" -version = "5.0.2" +version = "5.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0864cf6a82e2cfb69067374b64c9253d7e910e5b34db833ed7495dda56ccb18" +checksum = "1ca5a083f2c9b49a0c7d33ec75c083498849c6fcc46f5497317faa39ea77f5d5" dependencies = [ "convert_case 0.11.0", "proc-macro2", @@ -2897,9 +2897,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.51.1" +version = "1.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f66bf9585cda4b724d3e78ab34b73fb2bbaba9011b9bfdf69dc836382ea13b8c" +checksum = "a91135f59b1cbf38c91e73cf3386fca9bb77915c45ce2771460c9d92f0f3d776" dependencies = [ "bytes", "libc", diff --git a/extensions/VSCode/Cargo.toml b/extensions/VSCode/Cargo.toml index aa38c4d..6c7d94a 100644 --- a/extensions/VSCode/Cargo.toml +++ b/extensions/VSCode/Cargo.toml @@ -32,7 +32,7 @@ license = "GPL-3.0-only" name = "codechat-editor-vscode-extension" readme = "../README.md" repository = "https://github.com/bjones1/CodeChat_Editor" -version = "0.1.53" +version = "0.1.54" [lib] crate-type = ["cdylib"] diff --git a/extensions/VSCode/package.json b/extensions/VSCode/package.json index 78393eb..4d1805d 100644 --- a/extensions/VSCode/package.json +++ b/extensions/VSCode/package.json @@ -41,7 +41,7 @@ "type": "git", "url": "https://github.com/bjones1/CodeChat_Editor" }, - "version": "0.1.53", + "version": "0.1.54", "activationEvents": [ "onCommand:extension.codeChatEditorActivate", "onCommand:extension.codeChatEditorDeactivate" @@ -83,14 +83,14 @@ "@emnapi/core": "^1.9.2", "@emnapi/runtime": "^1.9.2", "@eslint/js": "^10.0.1", - "@napi-rs/cli": "^3.6.1", + "@napi-rs/cli": "^3.6.2", "@tybys/wasm-util": "^0.10.1", "@types/escape-html": "^1.0.4", "@types/node": "^24.12.2", "@types/vscode": "1.61.0", "@typescript-eslint/eslint-plugin": "^8.58.2", "@typescript-eslint/parser": "^8.58.2", - "@vscode/vsce": "^3.7.1", + "@vscode/vsce": "^3.8.1", "chalk": "^5.6.2", "esbuild": "^0.28.0", "eslint": "^10.2.0", @@ -100,7 +100,7 @@ "eslint-plugin-prettier": "^5.5.5", "npm-run-all2": "^8.0.4", "ovsx": "^0.10.11", - "prettier": "^3.8.2", + "prettier": "^3.8.3", "typescript": "^6.0.2", "typescript-eslint": "^8.58.2" }, diff --git a/extensions/VSCode/pnpm-lock.yaml b/extensions/VSCode/pnpm-lock.yaml index 3c5284f..35b2ff6 100644 --- a/extensions/VSCode/pnpm-lock.yaml +++ b/extensions/VSCode/pnpm-lock.yaml @@ -22,8 +22,8 @@ importers: specifier: ^10.0.1 version: 10.0.1(eslint@10.2.0) '@napi-rs/cli': - specifier: ^3.6.1 - version: 3.6.1(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@types/node@24.12.2) + specifier: ^3.6.2 + version: 3.6.2(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@types/node@24.12.2) '@tybys/wasm-util': specifier: ^0.10.1 version: 0.10.1 @@ -43,8 +43,8 @@ importers: specifier: ^8.58.2 version: 8.58.2(eslint@10.2.0)(typescript@6.0.2) '@vscode/vsce': - specifier: ^3.7.1 - version: 3.7.1 + specifier: ^3.8.1 + version: 3.8.1 chalk: specifier: ^5.6.2 version: 5.6.2 @@ -65,7 +65,7 @@ importers: version: 11.1.0(eslint@10.2.0) eslint-plugin-prettier: specifier: ^5.5.5 - version: 5.5.5(eslint-config-prettier@10.1.8(eslint@10.2.0))(eslint@10.2.0)(prettier@3.8.2) + version: 5.5.5(eslint-config-prettier@10.1.8(eslint@10.2.0))(eslint@10.2.0)(prettier@3.8.3) npm-run-all2: specifier: ^8.0.4 version: 8.0.4 @@ -73,8 +73,8 @@ importers: specifier: ^0.10.11 version: 0.10.11 prettier: - specifier: ^3.8.2 - version: 3.8.2 + specifier: ^3.8.3 + version: 3.8.3 typescript: specifier: ^6.0.2 version: 6.0.2 @@ -504,8 +504,8 @@ packages: resolution: {integrity: sha512-AokJm4tuBHillT+FpMtxQ60n8ObyXBatq7jD2/JA9dxbDDokKQm8KMht5ibGzLVU9IJDIKK4TPKgMHEYMn3lMg==} engines: {node: '>=18'} - '@napi-rs/cli@3.6.1': - resolution: {integrity: sha512-xOrDmCdtXfJ2XzknJAyEAMUe4SHT02PHY3JG8/vXFAB+EPF7Pgv0q182Vmw2zAlhAvnfofccvJlHrZpNPDbypA==} + '@napi-rs/cli@3.6.2': + resolution: {integrity: sha512-jy5rABUh9tbE/vPRzw9kGzGuqZiVslyDQUV8LkvjzqVX/oJMN7g0U1uhtr9L3W1H+iRM/urXHXUf+CE4n8FvLA==} engines: {node: '>= 16'} hasBin: true peerDependencies: @@ -769,8 +769,8 @@ packages: '@napi-rs/wasm-runtime@0.2.12': resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==} - '@napi-rs/wasm-runtime@1.1.3': - resolution: {integrity: sha512-xK9sGVbJWYb08+mTJt3/YV24WxvxpXcXtP6B172paPZ+Ts69Re9dAr7lKwJoeIx8OoeuimEiRZ7umkiUVClmmQ==} + '@napi-rs/wasm-runtime@1.1.4': + resolution: {integrity: sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==} peerDependencies: '@emnapi/core': ^1.7.1 '@emnapi/runtime': ^1.7.1 @@ -1227,9 +1227,9 @@ packages: '@vscode/vsce-sign@2.0.9': resolution: {integrity: sha512-8IvaRvtFyzUnGGl3f5+1Cnor3LqaUWvhaUjAYO8Y39OUYlOf3cRd+dowuQYLpZcP3uwSG+mURwjEBOSq4SOJ0g==} - '@vscode/vsce@3.7.1': - resolution: {integrity: sha512-OTm2XdMt2YkpSn2Nx7z2EJtSuhRHsTPYsSK59hr3v8jRArK+2UEoju4Jumn1CmpgoBLGI6ReHLJ/czYltNUW3g==} - engines: {node: '>= 20'} + '@vscode/vsce@3.8.1': + resolution: {integrity: sha512-Ij1i53rvR2Z/BR8tdESNqb5l5GNvOLQIWSbE1NnRnXQrvJu/xhK8nVfe6vXKdI6L7/fUwzlqqB1gOjt901mTmg==} + engines: {node: '>= 22'} hasBin: true acorn-jsx@5.3.2: @@ -1782,9 +1782,6 @@ packages: fastq@1.20.1: resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} - fd-slicer@1.1.0: - resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} - fdir@6.5.0: resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} engines: {node: '>=12.0.0'} @@ -2489,8 +2486,8 @@ packages: resolution: {integrity: sha512-SxToR7P8Y2lWmv/kTzVLC1t/GDI2WGjMwNhLLE9qtH8Q13C+aEmuRlzDst4Up4s0Wc8sF2M+J57iB3cMLqftfg==} engines: {node: '>=6.0.0'} - prettier@3.8.2: - resolution: {integrity: sha512-8c3mgTe0ASwWAJK+78dpviD+A8EqhndQPUBpNUIPt6+xWlIigCwfN01lWr9MAede4uqXGTEKeQWTvzb3vjia0Q==} + prettier@3.8.3: + resolution: {integrity: sha512-7igPTM53cGHMW8xWuVTydi2KO233VFiTNyF5hLJqpilHfmn8C8gPf+PS7dUT64YcXFbiMGZxS9pCSxL/Dxm/Jw==} engines: {node: '>=14'} hasBin: true @@ -2952,8 +2949,9 @@ packages: resolution: {integrity: sha512-/HCXpyHXJQQHvFq9noqrjfa/WpQC2XYs3vI7tBiAi4QiIU1knvYhZGaO1QPjwIVMdqflxbmwgMXtYeaRiAE0CA==} engines: {node: '>=16'} - yauzl@2.10.0: - resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + yauzl@3.3.0: + resolution: {integrity: sha512-PtGEvEP30p7sbIBJKUBjUnqgTVOyMURc4dLo9iNyAJnNIEz9pm88cCXF21w94Kg3k6RXkeZh5DHOGS0qEONvNQ==} + engines: {node: '>=12'} yazl@2.5.1: resolution: {integrity: sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==} @@ -3318,7 +3316,7 @@ snapshots: '@isaacs/cliui@9.0.0': {} - '@napi-rs/cli@3.6.1(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@types/node@24.12.2)': + '@napi-rs/cli@3.6.2(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)(@types/node@24.12.2)': dependencies: '@inquirer/prompts': 8.4.1(@types/node@24.12.2) '@napi-rs/cross-toolchain': 1.0.3(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) @@ -3401,7 +3399,7 @@ snapshots: '@napi-rs/lzma-wasm32-wasi@1.4.5(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)': dependencies: - '@napi-rs/wasm-runtime': 1.1.3(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) transitivePeerDependencies: - '@emnapi/core' - '@emnapi/runtime' @@ -3477,7 +3475,7 @@ snapshots: '@napi-rs/tar-wasm32-wasi@1.1.0(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)': dependencies: - '@napi-rs/wasm-runtime': 1.1.3(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) transitivePeerDependencies: - '@emnapi/core' - '@emnapi/runtime' @@ -3521,7 +3519,7 @@ snapshots: '@tybys/wasm-util': 0.10.1 optional: true - '@napi-rs/wasm-runtime@1.1.3(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)': + '@napi-rs/wasm-runtime@1.1.4(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)': dependencies: '@emnapi/core': 1.9.2 '@emnapi/runtime': 1.9.2 @@ -3557,7 +3555,7 @@ snapshots: '@napi-rs/wasm-tools-wasm32-wasi@1.0.1(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2)': dependencies: - '@napi-rs/wasm-runtime': 1.1.3(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) + '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.9.2)(@emnapi/runtime@1.9.2) transitivePeerDependencies: - '@emnapi/core' - '@emnapi/runtime' @@ -3998,7 +3996,7 @@ snapshots: '@vscode/vsce-sign-win32-arm64': 2.0.6 '@vscode/vsce-sign-win32-x64': 2.0.6 - '@vscode/vsce@3.7.1': + '@vscode/vsce@3.8.1': dependencies: '@azure/identity': 4.13.1 '@secretlint/node': 10.2.2 @@ -4027,7 +4025,7 @@ snapshots: typed-rest-client: 1.8.11 url-join: 4.0.1 xml2js: 0.5.0 - yauzl: 2.10.0 + yauzl: 3.3.0 yazl: 2.5.1 optionalDependencies: keytar: 7.9.0 @@ -4593,10 +4591,10 @@ snapshots: resolve: 1.22.12 semver: 6.3.1 - eslint-plugin-prettier@5.5.5(eslint-config-prettier@10.1.8(eslint@10.2.0))(eslint@10.2.0)(prettier@3.8.2): + eslint-plugin-prettier@5.5.5(eslint-config-prettier@10.1.8(eslint@10.2.0))(eslint@10.2.0)(prettier@3.8.3): dependencies: eslint: 10.2.0 - prettier: 3.8.2 + prettier: 3.8.3 prettier-linter-helpers: 1.0.1 synckit: 0.11.12 optionalDependencies: @@ -4709,10 +4707,6 @@ snapshots: dependencies: reusify: 1.1.0 - fd-slicer@1.1.0: - dependencies: - pend: 1.2.0 - fdir@6.5.0(picomatch@4.0.4): optionalDependencies: picomatch: 4.0.4 @@ -5345,7 +5339,7 @@ snapshots: ovsx@0.10.11: dependencies: - '@vscode/vsce': 3.7.1 + '@vscode/vsce': 3.8.1 commander: 6.2.1 follow-redirects: 1.16.0 is-ci: 2.0.0 @@ -5449,7 +5443,7 @@ snapshots: dependencies: fast-diff: 1.3.0 - prettier@3.8.2: {} + prettier@3.8.3: {} pump@3.0.4: dependencies: @@ -6011,10 +6005,10 @@ snapshots: is-it-type: 5.1.3 simple-invariant: 2.0.1 - yauzl@2.10.0: + yauzl@3.3.0: dependencies: buffer-crc32: 0.2.13 - fd-slicer: 1.1.0 + pend: 1.2.0 yazl@2.5.1: dependencies: diff --git a/extensions/VSCode/src/extension.ts b/extensions/VSCode/src/extension.ts index 808de9b..fe59207 100644 --- a/extensions/VSCode/src/extension.ts +++ b/extensions/VSCode/src/extension.ts @@ -452,7 +452,12 @@ export const activate = (context: vscode.ExtensionContext) => { cursor_position, ), ]; - ignore_selection_change = false; + // I'd prefer to set `ignore_selection_change = + // false` here, but even doing so after a + // `setTimeout(..., 0)` doesn't work; evidently, + // the event is generated at some later time. + // Instead, depend on the event to always clear + // this flag (a source of potential bugs). } await sendResult(id); break; diff --git a/server/Cargo.lock b/server/Cargo.lock index 66b558f..f93653c 100644 --- a/server/Cargo.lock +++ b/server/Cargo.lock @@ -448,9 +448,9 @@ dependencies = [ [[package]] name = "assertables" -version = "9.8.6" +version = "9.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "098fbfe90e8af520c4a968eaad7a4031908e473394f16c99cd9cce6369328a68" +checksum = "627b0b35c347252505ec6c078827dfcecc4e9dcfa931c54c54066f9245ac752b" dependencies = [ "regex", "walkdir", @@ -785,7 +785,7 @@ checksum = "3f88a43d011fc4a6876cb7344703e297c71dda42494fee094d5f7c76bf13f746" [[package]] name = "codechat-editor-server" -version = "0.1.53" +version = "0.1.54" dependencies = [ "actix-files", "actix-http", @@ -1776,9 +1776,9 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.27.8" +version = "0.27.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2b52f86d1d4bc0d6b4e6826d960b1b333217e07d36b882dca570a5e1c48895b" +checksum = "33ca68d021ef39cf6463ab54c1d0f5daf03377b70561305bb89a8f83aab66e0f" dependencies = [ "http 1.4.0", "hyper", @@ -4069,9 +4069,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.51.1" +version = "1.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f66bf9585cda4b724d3e78ab34b73fb2bbaba9011b9bfdf69dc836382ea13b8c" +checksum = "a91135f59b1cbf38c91e73cf3386fca9bb77915c45ce2771460c9d92f0f3d776" dependencies = [ "bytes", "libc", diff --git a/server/Cargo.toml b/server/Cargo.toml index d8e5070..9cc5521 100644 --- a/server/Cargo.toml +++ b/server/Cargo.toml @@ -32,7 +32,7 @@ license = "GPL-3.0-only" name = "codechat-editor-server" readme = "../README.md" repository = "https://github.com/bjones1/CodeChat_Editor" -version = "0.1.53" +version = "0.1.54" # This library allows other packages to use core CodeChat Editor features. [lib] diff --git a/server/tests/overall_common/mod.rs b/server/tests/overall_common/mod.rs index 6ba07c8..894a4e4 100644 --- a/server/tests/overall_common/mod.rs +++ b/server/tests/overall_common/mod.rs @@ -302,9 +302,19 @@ pub async fn goto_line( .await .unwrap(); // The cursor movement produces a cursor/scroll position update after an - // autosave delay. + // autosave delay. Sometimes, we get an update just before the movement; ignore that. + let mut msg = codechat_server.get_message_timeout(TIMEOUT).await.unwrap(); + if msg.id == *client_id + && let EditorMessageContents::Update(update) = &msg.message + && update.file_path == path_str + && update.contents.is_none() + && update.cursor_position != Some(line) + { + *client_id += MESSAGE_ID_INCREMENT; + msg = codechat_server.get_message_timeout(TIMEOUT).await.unwrap(); + } assert_eq!( - codechat_server.get_message_timeout(TIMEOUT).await.unwrap(), + msg, EditorMessage { id: *client_id, message: EditorMessageContents::Update(UpdateMessageContents {