From b4539a21db428a6da1d3dad989eb31b3d144863b Mon Sep 17 00:00:00 2001 From: lee-sihun Date: Thu, 17 Sep 2026 14:42:57 +0900 Subject: [PATCH 1/5] =?UTF-8?q?chore(deps):=20npm=20minor=C2=B7patch=2010?= =?UTF-8?q?=EA=B0=9C=20=EC=97=85=EB=8D=B0=EC=9D=B4=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @codemirror/commands·state·view, @eslint/js, eslint, @types/node(22.x), vitest, @vitest/coverage-v8, autoprefixer, eslint-plugin-react-refresh. eslint-plugin-react-hooks는 7.0.1 유지. Co-Authored-By: Claude Fable 5.1 --- package-lock.json | 153 +++++++++++++++++++++++----------------------- package.json | 20 +++--- 2 files changed, 87 insertions(+), 86 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4c878216..eadd9f31 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,11 +9,11 @@ "version": "2.0.2", "license": "GPL-3.0-only", "dependencies": { - "@codemirror/commands": "^6.11.0", + "@codemirror/commands": "^6.11.1", "@codemirror/lang-css": "^6.3.1", "@codemirror/language": "^6.12.4", - "@codemirror/state": "^6.7.4", - "@codemirror/view": "^6.43.11", + "@codemirror/state": "^6.7.5", + "@codemirror/view": "^6.43.12", "@floating-ui/react": "^0.27.20", "@lezer/highlight": "^1.2.3", "@tauri-apps/api": "~2.11.0", @@ -28,24 +28,24 @@ "zustand": "^5.0.15" }, "devDependencies": { - "@eslint/js": "^9.39.4", + "@eslint/js": "^9.39.5", "@preact/signals-react": "^3.12.0", "@tauri-apps/cli": "~2.11.4", - "@types/node": "^22.15.27", + "@types/node": "^22.20.3", "@types/react": "^19.3.0", "@types/react-dom": "^19.3.0", "@typescript-eslint/eslint-plugin": "^8.70.0", "@typescript-eslint/parser": "^8.70.0", "@vitejs/plugin-react": "^5.1.4", - "@vitest/coverage-v8": "^5.0.0", + "@vitest/coverage-v8": "^5.0.1", "all-contributors-cli": "^6.26.1", - "autoprefixer": "^10.6.0", + "autoprefixer": "^10.6.1", "babel-plugin-react-compiler": "^1.0.0", "cross-env": "^10.1.0", - "eslint": "^9.39.4", + "eslint": "^9.39.5", "eslint-config-prettier": "^10.1.8", "eslint-plugin-react-hooks": "^7.0.1", - "eslint-plugin-react-refresh": "^0.5.6", + "eslint-plugin-react-refresh": "^0.5.7", "globals": "^17.12.0", "jsdom": "^28.1.0", "postcss": "^8.5.28", @@ -56,7 +56,7 @@ "typescript-eslint": "^8.70.0", "vite": "^7.1.5", "vite-plugin-svgr": "^4.5.0", - "vitest": "^5.0.0" + "vitest": "^5.0.1" } }, "node_modules/@acemir/cssom": { @@ -485,9 +485,9 @@ } }, "node_modules/@codemirror/commands": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.11.0.tgz", - "integrity": "sha512-/K4Rl5BN0OtTiPWmJCdqODu38XnDMsDxKY5rgrPnCkutPTJf2wVbkoixLfealF5Kwse/s8P8M5jAiURiwSwnFA==", + "version": "6.11.1", + "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.11.1.tgz", + "integrity": "sha512-O/4hG3SC1YwcmQ0d2UVNDs+AsaNWd1iHVxbTeEBuqH+6bExAiPK3iS/BvpY6rZGURALv4ZD3sIgcCmRvw3ehBg==", "license": "MIT", "dependencies": { "@codemirror/language": "^6.0.0", @@ -524,18 +524,18 @@ } }, "node_modules/@codemirror/state": { - "version": "6.7.4", - "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.7.4.tgz", - "integrity": "sha512-QhQIVRY+xHZDxwOSFrJ1eUMapJBUID3IdeAjf7dHO7zBUzSkyooHiodnalz5MG3iHzwixKMlAAyn7244y537EA==", + "version": "6.7.5", + "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.7.5.tgz", + "integrity": "sha512-QjLbZmY1Au3JiRrDVYFLRD0BZ3SOKS9pR3yjIkd7u27YY8TFD9/Q9fhPnLV5l1mHFSo3hHU/N31vpwEJOx4owQ==", "license": "MIT", "dependencies": { "@marijn/find-cluster-break": "^1.0.0" } }, "node_modules/@codemirror/view": { - "version": "6.43.11", - "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.43.11.tgz", - "integrity": "sha512-2+esucbQX6wB2JYi1eDvdCPFTA31BN8oSy6xCmk3G6CloV11yOvEjYk+gH7kLrP0MuHG94E8WDhjs5oMiu3+Wg==", + "version": "6.43.12", + "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.43.12.tgz", + "integrity": "sha512-Nv0vxQ19NAqvB/c2pFzjIzFlzzJl7jmdtNkwOwGbn0Ks9mFAzibvumz7cQem5cRsFA2cEw2fg+uHZGbcHupLQQ==", "license": "MIT", "dependencies": { "@codemirror/state": "^6.7.0", @@ -1235,9 +1235,9 @@ } }, "node_modules/@eslint/eslintrc": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.5.tgz", - "integrity": "sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg==", + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.7.tgz", + "integrity": "sha512-F42g89Qd5oAWtp0k0nnSrjziAKza7w8SVT4mStc18LZMaRb4J1HQAHLCalEtDCxrTuksx7NU9qsmeLwpOfPqWw==", "dev": true, "license": "MIT", "dependencies": { @@ -1247,7 +1247,7 @@ "globals": "^14.0.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", - "js-yaml": "^4.1.1", + "js-yaml": "^4.3.2", "minimatch": "^3.1.5", "strip-json-comments": "^3.1.1" }, @@ -1266,9 +1266,9 @@ "license": "MIT" }, "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { - "version": "1.1.18", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.18.tgz", - "integrity": "sha512-Edep/X9fGqVNmzKBVsDYIOtD+z1tuezV70LBjdCst9Tqu76lsnvRiZ6oTic1n+/BIwX6QDGAO94PN4N2SADvtw==", + "version": "1.1.21", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.21.tgz", + "integrity": "sha512-9zeA+KLZNNzglF2TPKRQEDyx6Yby7daAkuy8MiPzpXPsYDWi/DRM8jmwUDxokQjYqBpv5DgPiwD4h4ZZSy1Ujw==", "dev": true, "license": "MIT", "dependencies": { @@ -1313,9 +1313,9 @@ } }, "node_modules/@eslint/js": { - "version": "9.39.4", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.4.tgz", - "integrity": "sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==", + "version": "9.39.5", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.5.tgz", + "integrity": "sha512-QywQuszQh77pIXCsq998c8hbhSTI/azTty1Z6N53dmAudKHhy573j3yvRLsX2BSp8YpLtoCEG8E9DJe+8zUh4A==", "dev": true, "license": "MIT", "engines": { @@ -2574,9 +2574,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "22.19.15", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.15.tgz", - "integrity": "sha512-F0R/h2+dsy5wJAUe3tAU6oqa2qbWY5TpNfL/RGmo1y38hiyO1w3x2jPtt76wmuaJI4DQnOBu21cNXQ2STIUUWg==", + "version": "22.20.3", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.20.3.tgz", + "integrity": "sha512-DZmzkmwHzXrLPAXPyKNDzlIwMMUZCVacoD25ywdy5YTKGbOx/2ld+Q38Im2zJ0vBuZP5Prd3VZutKZyXwkOS8A==", "dev": true, "license": "MIT", "dependencies": { @@ -2858,9 +2858,9 @@ } }, "node_modules/@vitest/coverage-v8": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-5.0.0.tgz", - "integrity": "sha512-toMg6PZGCIa/lQNCDoASrfb1ly4hsUKXFtFYC9kD4t78o5Y6LyNJU7AENt8eHPr3quYdxaxK7hj2mnbFfUk9NA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-5.0.1.tgz", + "integrity": "sha512-FRC8ACiudC3dI6MTplzRSYWHDRnIv2IPfbzs4FdoJNsMal/35sWV8hwIfV8ZcqzSPy+uXHeMVONt9CEqtOU17w==", "dev": true, "license": "MIT", "dependencies": { @@ -2877,8 +2877,8 @@ "url": "https://opencollective.com/vitest" }, "peerDependencies": { - "@vitest/browser": "5.0.0", - "vitest": "5.0.0" + "@vitest/browser": "5.0.1", + "vitest": "5.0.1" }, "peerDependenciesMeta": { "@vitest/browser": { @@ -2910,14 +2910,14 @@ } }, "node_modules/@vitest/mocker": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-5.0.0.tgz", - "integrity": "sha512-66PGTMIiVJP3t4a5yxU9qPtf7MdTBs8jmToMvy+HVflB3Yy13WJZTtPePdvU+wjRV02SKK5doLbSA6o9pwOmiA==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-5.0.1.tgz", + "integrity": "sha512-6K1DoBNAPGvuOcSsGA4D6x+5zEEff/KmOOP3uetT2TrGpVfI+HRHRnJJfKi5ib/g1vx8IYHQD8s0pbJz8WQI7Q==", "dev": true, "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "0.3.31", - "@vitest/spy": "5.0.0", + "@vitest/spy": "5.0.1", "estree-walker": "^3.0.3", "magic-string": "^1.2.3" }, @@ -2938,9 +2938,9 @@ } }, "node_modules/@vitest/spy": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-5.0.0.tgz", - "integrity": "sha512-uy+luWBAPw9XfthoHi5AkfHUnuPYEESjl0p/r+meoBnU8bxg5GDQ3Ey8MjcJ6sqahkL4PFyrvfMJJBw7LbU06g==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-5.0.1.tgz", + "integrity": "sha512-rbto/mF/SGERxEgYOek7Xm6B9b+y+mVoo+f4b2LymYO8zM1b7uB5nHuhVMTP2hxdzgxvGiZYGxGIaMvL5y180Q==", "dev": true, "license": "MIT", "funding": { @@ -2948,9 +2948,9 @@ } }, "node_modules/acorn": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", - "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.18.0.tgz", + "integrity": "sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ==", "dev": true, "license": "MIT", "bin": { @@ -2981,9 +2981,9 @@ } }, "node_modules/ajv": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", - "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", + "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", "dev": true, "license": "MIT", "dependencies": { @@ -3152,9 +3152,9 @@ "license": "MIT" }, "node_modules/autoprefixer": { - "version": "10.6.0", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.6.0.tgz", - "integrity": "sha512-A26d6qs9kqGgkmImIXMYvXTzqb4Qv7AVgpY1NXzr9Y659J8qHHnLOO/zE8ewIGFMprOolAoRAQYDgNryXIJKBw==", + "version": "10.6.1", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.6.1.tgz", + "integrity": "sha512-cL1Qz6ADZhcEbny/8HPfe99J6HhNoYtpX2LFLIbhgGE7Q1hlQVkYFdetDN7Id3KiQxhDrHwzlHr/YQCnZ8+xSA==", "dev": true, "funding": [ { @@ -3892,9 +3892,10 @@ } }, "node_modules/eslint": { - "version": "9.39.4", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.4.tgz", - "integrity": "sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==", + "version": "9.39.5", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.5.tgz", + "integrity": "sha512-DgZS62aPLXKlnxILS/AYCoRvHaZeXceIzlXPkkGGzJWSow1aEk0lbTlxUSlyjC8jcaKxAdOnTDz+o1JFSBsyjw==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", "dev": true, "license": "MIT", "dependencies": { @@ -3903,8 +3904,8 @@ "@eslint/config-array": "^0.21.2", "@eslint/config-helpers": "^0.4.2", "@eslint/core": "^0.17.0", - "@eslint/eslintrc": "^3.3.5", - "@eslint/js": "9.39.4", + "@eslint/eslintrc": "^3.3.6", + "@eslint/js": "9.39.5", "@eslint/plugin-kit": "^0.4.1", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", @@ -3988,9 +3989,9 @@ } }, "node_modules/eslint-plugin-react-refresh": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.5.6.tgz", - "integrity": "sha512-uZnh24On2bk478AkaDAKcpRiYhS3qFSaSNvpXxV6/Ek/BBDICkWGG7MnBSfjnIlCVBei5vsLlIeQYxbF22+Udg==", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.5.7.tgz", + "integrity": "sha512-XhJSzLljuYD4UjNuFGJu2v7aD3sqNVK12w5/DCUfrNfHWegZo2+TsavNx8MuxMwEquuFAzNbNfXKU0WoZ+YUIg==", "dev": true, "license": "MIT", "peerDependencies": { @@ -4797,9 +4798,9 @@ "license": "MIT" }, "node_modules/js-yaml": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.1.tgz", - "integrity": "sha512-CY6crGq313MX8GkwvB7tzgp99vjQxY1++5y10/BKN/GUfHqWaOGQMNZkBvqSzsZKWk/ijwHlWzzkLulsGHhjWQ==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.2.tgz", + "integrity": "sha512-SFNOvSJ+Dgf/9An904Yx+CgSlIPCkIpao4qo51lpee25TIRejdH3rhR4EZMGoNx3/TP3O+wzWuiTFl4sqbltzA==", "dev": true, "funding": [ { @@ -5062,9 +5063,9 @@ } }, "node_modules/magic-string": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-1.3.1.tgz", - "integrity": "sha512-rm91zr2Ou+XueDTohjQQjdQEcYM6zVi8KVUCG8Ec3vHwUEKrhSdCNyfuIywkA6hcCAteIn0ZOtAHA6eGpiX+Pg==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-1.4.1.tgz", + "integrity": "sha512-8lyCu36ErXR0J9uaGKlKQoiLZKmtI63YGLE8G2o9jyRPdr4X47LusSOwgOJOzcVtp81fTAAjxR7BwKz682Jhow==", "dev": true, "license": "MIT", "dependencies": { @@ -6974,14 +6975,14 @@ } }, "node_modules/vitest": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-5.0.0.tgz", - "integrity": "sha512-gpsMNoRhMjMktVxPtstOH4/PJuPyovVaMDr4oDilXaGH1EcqM2OE96SoHT2VIQ6fTGtTjqmHDrEu2X9RQiXf8Q==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-5.0.1.tgz", + "integrity": "sha512-iA95lQbKEkvrtTkdAgnWbXfbipWiiWe/hDl2P5tMi6WFwD76G0NxXAGp/M9EOcYupeGJRr6wppMc7CoA41TQjg==", "dev": true, "license": "MIT", "dependencies": { "@types/chai": "^5.2.2", - "@vitest/mocker": "5.0.0", + "@vitest/mocker": "5.0.1", "chai": "^6.2.2", "es-module-lexer": "^2.3.2", "expect-type": "^1.4.0", @@ -7007,12 +7008,12 @@ "@edge-runtime/vm": "*", "@opentelemetry/api": "^1.9.0", "@types/node": "^22.0.0 || >=24.0.0", - "@vitest/browser-playwright": "5.0.0", - "@vitest/browser-preview": "5.0.0", + "@vitest/browser-playwright": "5.0.1", + "@vitest/browser-preview": "5.0.1", "@vitest/browser-webdriverio": "^5.0.0-beta.5 || >=5.0.0", - "@vitest/coverage-istanbul": "5.0.0", - "@vitest/coverage-v8": "5.0.0", - "@vitest/ui": "5.0.0", + "@vitest/coverage-istanbul": "5.0.1", + "@vitest/coverage-v8": "5.0.1", + "@vitest/ui": "5.0.1", "happy-dom": "*", "jsdom": "*", "vite": "^6.4.0 || ^7.0.0 || ^8.0.0" diff --git a/package.json b/package.json index 36e46095..e58b870f 100644 --- a/package.json +++ b/package.json @@ -98,24 +98,24 @@ "author": "DM NOTE", "license": "GPL-3.0-only", "devDependencies": { - "@eslint/js": "^9.39.4", + "@eslint/js": "^9.39.5", "@preact/signals-react": "^3.12.0", "@tauri-apps/cli": "~2.11.4", - "@types/node": "^22.15.27", + "@types/node": "^22.20.3", "@types/react": "^19.3.0", "@types/react-dom": "^19.3.0", "@typescript-eslint/eslint-plugin": "^8.70.0", "@typescript-eslint/parser": "^8.70.0", "@vitejs/plugin-react": "^5.1.4", - "@vitest/coverage-v8": "^5.0.0", + "@vitest/coverage-v8": "^5.0.1", "all-contributors-cli": "^6.26.1", - "autoprefixer": "^10.6.0", + "autoprefixer": "^10.6.1", "babel-plugin-react-compiler": "^1.0.0", "cross-env": "^10.1.0", - "eslint": "^9.39.4", + "eslint": "^9.39.5", "eslint-config-prettier": "^10.1.8", "eslint-plugin-react-hooks": "^7.0.1", - "eslint-plugin-react-refresh": "^0.5.6", + "eslint-plugin-react-refresh": "^0.5.7", "globals": "^17.12.0", "jsdom": "^28.1.0", "postcss": "^8.5.28", @@ -126,17 +126,17 @@ "typescript-eslint": "^8.70.0", "vite": "^7.1.5", "vite-plugin-svgr": "^4.5.0", - "vitest": "^5.0.0" + "vitest": "^5.0.1" }, "overrides": { "tmp": "0.2.7" }, "dependencies": { - "@codemirror/commands": "^6.11.0", + "@codemirror/commands": "^6.11.1", "@codemirror/lang-css": "^6.3.1", "@codemirror/language": "^6.12.4", - "@codemirror/state": "^6.7.4", - "@codemirror/view": "^6.43.11", + "@codemirror/state": "^6.7.5", + "@codemirror/view": "^6.43.12", "@floating-ui/react": "^0.27.20", "@lezer/highlight": "^1.2.3", "@tauri-apps/api": "~2.11.0", From f1620898193b451a076b9432fbcb7b5656410e49 Mon Sep 17 00:00:00 2001 From: lee-sihun Date: Thu, 17 Sep 2026 14:43:40 +0900 Subject: [PATCH 2/5] =?UTF-8?q?chore(deps-dev):=20vite-plugin-svgr=204.5.0?= =?UTF-8?q?=20=E2=86=92=205.2.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 5.0의 breaking change는 Vite 2 지원 중단뿐이다. Co-Authored-By: Claude Fable 5.1 --- package-lock.json | 12 ++++++------ package.json | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index eadd9f31..ce35199e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -55,7 +55,7 @@ "typescript": "^5.8.3", "typescript-eslint": "^8.70.0", "vite": "^7.1.5", - "vite-plugin-svgr": "^4.5.0", + "vite-plugin-svgr": "^5.2.0", "vitest": "^5.0.1" } }, @@ -6960,18 +6960,18 @@ } }, "node_modules/vite-plugin-svgr": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/vite-plugin-svgr/-/vite-plugin-svgr-4.5.0.tgz", - "integrity": "sha512-W+uoSpmVkSmNOGPSsDCWVW/DDAyv+9fap9AZXBvWiQqrboJ08j2vh0tFxTD/LjwqwAd3yYSVJgm54S/1GhbdnA==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/vite-plugin-svgr/-/vite-plugin-svgr-5.2.0.tgz", + "integrity": "sha512-qj2eAKF8C6PZWemVTvQA0xgQIcP1hHU6Buh7fl6BhvayWwnuxE+z417miKxeDvRWbDrupQ1oK99hfxElopJ3sQ==", "dev": true, "license": "MIT", "dependencies": { - "@rollup/pluginutils": "^5.2.0", + "@rollup/pluginutils": "^5.3.0", "@svgr/core": "^8.1.0", "@svgr/plugin-jsx": "^8.1.0" }, "peerDependencies": { - "vite": ">=2.6.0" + "vite": ">=3.0.0" } }, "node_modules/vitest": { diff --git a/package.json b/package.json index e58b870f..2c4397a8 100644 --- a/package.json +++ b/package.json @@ -125,7 +125,7 @@ "typescript": "^5.8.3", "typescript-eslint": "^8.70.0", "vite": "^7.1.5", - "vite-plugin-svgr": "^4.5.0", + "vite-plugin-svgr": "^5.2.0", "vitest": "^5.0.1" }, "overrides": { From 24ef5b9b8e269458b99fdca7b389abe15cdde959 Mon Sep 17 00:00:00 2001 From: lee-sihun Date: Thu, 17 Sep 2026 14:47:46 +0900 Subject: [PATCH 3/5] =?UTF-8?q?chore(deps):=20Rust=20=EC=9D=98=EC=A1=B4?= =?UTF-8?q?=EC=84=B1=206=EA=B0=9C=20=EB=A9=94=EC=9D=B4=EC=A0=80=20?= =?UTF-8?q?=EC=97=85=EB=8D=B0=EC=9D=B4=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit base64 0.23, fern 0.7, infer 0.22, notify 8.2 + notify-debouncer-mini 0.7, sha2 0.11, thread-priority 3.1. 모두 코드 수정 없이 호환된다. Co-Authored-By: Claude Fable 5.1 --- src-tauri/Cargo.lock | 302 ++++++++++++++++++++----------------------- src-tauri/Cargo.toml | 16 +-- 2 files changed, 150 insertions(+), 168 deletions(-) diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index 46d59929..d7a52d86 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -16,7 +16,7 @@ checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" dependencies = [ "cfg-if", "cipher", - "cpufeatures", + "cpufeatures 0.2.17", ] [[package]] @@ -82,9 +82,9 @@ checksum = "330a5ed07fa54e4702c9d6c4174f74427fc0ef6e214bbd677ae50a5099946470" [[package]] name = "arrayvec" -version = "0.7.6" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" +checksum = "d3fb67a6e08acf24fdeccbac2cb6ac4305825bd1f117462e0e6f2f193345ad56" [[package]] name = "asio-sys" @@ -355,6 +355,15 @@ dependencies = [ "generic-array", ] +[[package]] +name = "block-buffer" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2f6c7dbe95a6ed67ad9f18e57daf93a2f034c524b99fd2b76d18fdfeb6660aa" +dependencies = [ + "hybrid-array", +] + [[package]] name = "block2" version = "0.6.2" @@ -559,6 +568,17 @@ dependencies = [ "uuid", ] +[[package]] +name = "cfb" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a347dcabdae9c31b0825fd6a8bed285ec9c2acb89c47827126d52fa4f59cece3" +dependencies = [ + "fnv", + "uuid", + "web-time", +] + [[package]] name = "cfg-expr" version = "0.15.8" @@ -599,7 +619,7 @@ version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" dependencies = [ - "crypto-common", + "crypto-common 0.1.7", "inout", ] @@ -631,13 +651,12 @@ dependencies = [ [[package]] name = "colored" -version = "1.9.4" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a5f741c91823341bebf717d4c71bda820630ce065443b58bd1b7451af008355" +checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c" dependencies = [ - "is-terminal", "lazy_static", - "winapi", + "windows-sys 0.59.0", ] [[package]] @@ -659,6 +678,12 @@ dependencies = [ "crossbeam-utils", ] +[[package]] +name = "const-oid" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6ef517f0926dd24a1582492c791b6a4818a4d94e789a334894aa15b0d12f55c" + [[package]] name = "constant_time_eq" version = "0.1.5" @@ -819,6 +844,15 @@ dependencies = [ "libc", ] +[[package]] +name = "cpufeatures" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ca28b0ae3115b884660db4118d803791fd6756b6e88f39c0f3f7859060d7566" +dependencies = [ + "libc", +] + [[package]] name = "crc32fast" version = "1.5.0" @@ -853,6 +887,15 @@ dependencies = [ "typenum", ] +[[package]] +name = "crypto-common" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce6e4c961d6cd6c9a86db418387425e8bdeaf05b3c8bc1411e6dca4c252f1453" +dependencies = [ + "hybrid-array", +] + [[package]] name = "cssparser" version = "0.36.0" @@ -1051,11 +1094,22 @@ version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ - "block-buffer", - "crypto-common", + "block-buffer 0.10.4", + "crypto-common 0.1.7", "subtle", ] +[[package]] +name = "digest" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1dd6dbb5841937940781866fa1281a1ff7bd3bf827091440879f9994983d5c2" +dependencies = [ + "block-buffer 0.12.1", + "const-oid", + "crypto-common 0.2.2", +] + [[package]] name = "dirs" version = "6.0.0" @@ -1158,14 +1212,14 @@ name = "dm-note" version = "2.0.2" dependencies = [ "anyhow", - "base64 0.22.1", + "base64 0.23.1", "cocoa", "cpal", "dirs-next", "fern", "futures-util", "imagesize", - "infer", + "infer 0.22.0", "libc", "local-ip-address", "log", @@ -1188,7 +1242,7 @@ dependencies = [ "semver", "serde", "serde_json", - "sha2", + "sha2 0.11.0", "symphonia", "tauri", "tauri-build", @@ -1414,9 +1468,9 @@ dependencies = [ [[package]] name = "fern" -version = "0.6.2" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9f0c14694cbd524c8720dd69b0e3179344f04ebb5f90f2e4a440c6ea3b2f1ee" +checksum = "4316185f709b23713e41e3195f90edef7fb00c3ed4adc79769cf09cc762a3b29" dependencies = [ "colored", "log", @@ -1432,18 +1486,6 @@ dependencies = [ "rustc_version", ] -[[package]] -name = "filetime" -version = "0.2.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc0505cd1b6fa6580283f6bdf70a73fcf4aba1184038c90902b92b3dd0df63ed" -dependencies = [ - "cfg-if", - "libc", - "libredox", - "windows-sys 0.60.2", -] - [[package]] name = "find-msvc-tools" version = "0.1.5" @@ -1966,7 +2008,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "digest", + "digest 0.10.7", ] [[package]] @@ -2024,6 +2066,15 @@ version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" +[[package]] +name = "hybrid-array" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3944cf8cf766b40e2a1a333ee5e9b563f854d5fa49d6a8ca2764e97c6eddb214" +dependencies = [ + "typenum", +] + [[package]] name = "hyper" version = "1.8.1" @@ -2263,25 +2314,34 @@ version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a588916bfdfd92e71cacef98a63d9b1f0d74d6599980d11894290e7ddefffcf7" dependencies = [ - "cfb", + "cfb 0.7.3", +] + +[[package]] +name = "infer" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4200d433cbd5178df7797c9c2e75b348b728e39631cf14520d1e2fc424201f4" +dependencies = [ + "cfb 0.14.0", ] [[package]] name = "inotify" -version = "0.9.6" +version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8069d3ec154eb856955c1c0fbffefbf5f3c40a104ec912d4797314c1801abff" +checksum = "4cc00ea907cab49550b7da656f80ebb97be1b997d931fbcd28d39734e17ce592" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.10.0", "inotify-sys", "libc", ] [[package]] name = "inotify-sys" -version = "0.1.5" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb" +checksum = "c033f80b2c113cdf91ab7a33faa9cbc014726dcad99880c8609af2a370edf37d" dependencies = [ "libc", ] @@ -2320,17 +2380,6 @@ dependencies = [ "once_cell", ] -[[package]] -name = "is-terminal" -version = "0.4.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3640c1c38b8e4e43584d8df18be5fc6b0aa314ce6ebf51b53313d4306cca8e46" -dependencies = [ - "hermit-abi", - "libc", - "windows-sys 0.61.2", -] - [[package]] name = "is-wsl" version = "0.4.0" @@ -2548,7 +2597,6 @@ checksum = "df15f6eac291ed1cf25865b1ee60399f57e7c227e7f51bdbd4c5270396a9ed50" dependencies = [ "bitflags 2.10.0", "libc", - "redox_syscall 0.6.0", ] [[package]] @@ -2667,18 +2715,6 @@ dependencies = [ "simd-adler32", ] -[[package]] -name = "mio" -version = "0.8.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" -dependencies = [ - "libc", - "log", - "wasi", - "windows-sys 0.48.0", -] - [[package]] name = "mio" version = "1.1.1" @@ -2686,6 +2722,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc" dependencies = [ "libc", + "log", "wasi", "windows-sys 0.61.2", ] @@ -2788,32 +2825,41 @@ dependencies = [ [[package]] name = "notify" -version = "6.1.1" +version = "8.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6205bd8bb1e454ad2e27422015fb5e4f2bcc7e08fa8f27058670d208324a4d2d" +checksum = "4d3d07927151ff8575b7087f245456e549fea62edf0ec4e565a5ee50c8402bc3" dependencies = [ "bitflags 2.10.0", - "crossbeam-channel", - "filetime", "fsevent-sys", "inotify", "kqueue", "libc", "log", - "mio 0.8.11", + "mio", + "notify-types", "walkdir", - "windows-sys 0.48.0", + "windows-sys 0.60.2", ] [[package]] name = "notify-debouncer-mini" -version = "0.4.1" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d40b221972a1fc5ef4d858a2f671fb34c75983eb385463dff3780eeff6a9d43" +checksum = "17849edfaabd9a5fef1c606d99cfc615a8e99f7ac4366406d86c7942a3184cf2" dependencies = [ - "crossbeam-channel", "log", "notify", + "notify-types", + "tempfile", +] + +[[package]] +name = "notify-types" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42b8cfee0e339a0337359f3c88165702ac6e600dc01c0cc9579a92d62b08477a" +dependencies = [ + "bitflags 2.10.0", ] [[package]] @@ -3250,7 +3296,7 @@ checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.5.18", + "redox_syscall", "smallvec", "windows-link 0.2.1", ] @@ -3281,10 +3327,10 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" dependencies = [ - "digest", + "digest 0.10.7", "hmac", "password-hash", - "sha2", + "sha2 0.10.9", ] [[package]] @@ -3655,9 +3701,9 @@ checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" [[package]] name = "rand" -version = "0.8.6" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ca0ecfa931c29007047d1bc58e623ab12e5590e8c7cc53200d5202b69266d8a" +checksum = "e058c7de0b26af77780c769414d6257830bb240f3c38477dbc2c16e5f54d6d4c" dependencies = [ "libc", "rand_chacha 0.3.1", @@ -3743,15 +3789,6 @@ dependencies = [ "bitflags 2.10.0", ] -[[package]] -name = "redox_syscall" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec96166dafa0886eb81fe1c0a388bece180fbef2135f97c1e2cf8302e74b43b5" -dependencies = [ - "bitflags 2.10.0", -] - [[package]] name = "redox_users" version = "0.4.6" @@ -4313,8 +4350,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" dependencies = [ "cfg-if", - "cpufeatures", - "digest", + "cpufeatures 0.2.17", + "digest 0.10.7", ] [[package]] @@ -4324,8 +4361,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" dependencies = [ "cfg-if", - "cpufeatures", - "digest", + "cpufeatures 0.2.17", + "digest 0.10.7", +] + +[[package]] +name = "sha2" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "446ba717509524cb3f22f17ecc096f10f4822d76ab5c0b9822c5f9c284e825f4" +dependencies = [ + "cfg-if", + "cpufeatures 0.3.1", + "digest 0.11.3", ] [[package]] @@ -4392,7 +4440,7 @@ dependencies = [ "objc2-foundation", "objc2-quartz-core", "raw-window-handle", - "redox_syscall 0.5.18", + "redox_syscall", "tracing", "wasm-bindgen", "web-sys", @@ -4859,7 +4907,7 @@ dependencies = [ "semver", "serde", "serde_json", - "sha2", + "sha2 0.10.9", "syn 2.0.111", "tauri-utils", "thiserror 2.0.20", @@ -4964,7 +5012,7 @@ dependencies = [ "dunce", "glob", "http", - "infer", + "infer 0.19.0", "json-patch", "log", "memchr", @@ -5063,16 +5111,16 @@ dependencies = [ [[package]] name = "thread-priority" -version = "1.2.0" +version = "3.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cfe075d7053dae61ac5413a34ea7d4913b6e6207844fd726bdd858b37ff72bf5" +checksum = "8d2e834949be5111506bb252643498af1514f600d9e1dceedaa42afae155b67f" dependencies = [ "bitflags 2.10.0", "cfg-if", "libc", "log", "rustversion", - "winapi", + "windows", ] [[package]] @@ -5138,7 +5186,7 @@ checksum = "27ad5e34374e03cfffefc301becb44e9dc3c17584f414349ebe29ed26661822d" dependencies = [ "bytes", "libc", - "mio 1.1.1", + "mio", "pin-project-lite", "signal-hook-registry", "socket2", @@ -5410,7 +5458,7 @@ dependencies = [ "http", "httparse", "log", - "rand 0.8.6", + "rand 0.8.8", "sha1", "thiserror 1.0.69", "utf-8", @@ -6034,15 +6082,6 @@ dependencies = [ "windows-targets 0.42.2", ] -[[package]] -name = "windows-sys" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -dependencies = [ - "windows-targets 0.48.5", -] - [[package]] name = "windows-sys" version = "0.52.0" @@ -6094,21 +6133,6 @@ dependencies = [ "windows_x86_64_msvc 0.42.2", ] -[[package]] -name = "windows-targets" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" -dependencies = [ - "windows_aarch64_gnullvm 0.48.5", - "windows_aarch64_msvc 0.48.5", - "windows_i686_gnu 0.48.5", - "windows_i686_msvc 0.48.5", - "windows_x86_64_gnu 0.48.5", - "windows_x86_64_gnullvm 0.48.5", - "windows_x86_64_msvc 0.48.5", -] - [[package]] name = "windows-targets" version = "0.52.6" @@ -6166,12 +6190,6 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" - [[package]] name = "windows_aarch64_gnullvm" version = "0.52.6" @@ -6190,12 +6208,6 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" - [[package]] name = "windows_aarch64_msvc" version = "0.52.6" @@ -6214,12 +6226,6 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" -[[package]] -name = "windows_i686_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" - [[package]] name = "windows_i686_gnu" version = "0.52.6" @@ -6250,12 +6256,6 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" -[[package]] -name = "windows_i686_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" - [[package]] name = "windows_i686_msvc" version = "0.52.6" @@ -6274,12 +6274,6 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" - [[package]] name = "windows_x86_64_gnu" version = "0.52.6" @@ -6298,12 +6292,6 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" - [[package]] name = "windows_x86_64_gnullvm" version = "0.52.6" @@ -6322,12 +6310,6 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" - [[package]] name = "windows_x86_64_msvc" version = "0.52.6" @@ -6410,7 +6392,7 @@ dependencies = [ "once_cell", "percent-encoding", "raw-window-handle", - "sha2", + "sha2 0.10.9", "soup3", "tao-macros", "thiserror 2.0.20", diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 94ee2a2b..8f8a710e 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -17,14 +17,14 @@ zip = "0.6" anyhow = "1.0" serde = { version = "1.0", features = ["derive"] } serde_json = { version = "1.0", features = ["float_roundtrip"] } -base64 = "0.22" +base64 = "0.23" minisign-verify = "0.2.5" thiserror = "2.0" parking_lot = "0.12" log = "0.4" -notify = "6.1" -notify-debouncer-mini = "0.4" -fern = { version = "0.6", features = ["colored"] } +notify = "8.2" +notify-debouncer-mini = "0.7" +fern = { version = "0.7", features = ["colored"] } tauri = { version = "~2.11.5", features = ["wry", "devtools", "macos-private-api", "protocol-asset", "tray-icon"] } tauri-runtime-wry = { version = "~2.11.4", features = ["devtools"] } tauri-plugin-single-instance = "2" @@ -41,9 +41,9 @@ plist = "1" url = "2" unicode-normalization = "0.1" zip = "0.6" -sha2 = "0.10" +sha2 = "0.11" quick-xml = { version = "0.42", features = ["encoding"] } -infer = "0.19" +infer = "0.22" imagesize = "0.15" rodio = { git = "https://github.com/lee-sihun/rodio", rev = "7b771e15", default-features = false, features = ["playback"] } symphonia = { version = "0.5", default-features = false, features = ["ogg", "vorbis", "wav", "aiff", "mp3", "isomp4", "aac", "pcm", "adpcm", "flac", "alac"] } @@ -79,7 +79,7 @@ windows = { version = "0.61.3", features = [ "Win32_Security", "Win32_UI_Shell" ] } -thread-priority = "1.2" +thread-priority = "3.1" self-replace = "1.5" [target."cfg(target_os = \"macos\")".dependencies] @@ -89,7 +89,7 @@ objc = "0.2" objc2 = "0.6" objc-foundation = "0.1" cocoa = "0.22" -thread-priority = "1.2" +thread-priority = "3.1" # objc 크레이트의 매크로에서 발생하는 cfg 경고 억제 [lints.rust] From 8135d2bf5f993dd8e4d5f9748347f50f090d3f4d Mon Sep 17 00:00:00 2001 From: lee-sihun Date: Thu, 17 Sep 2026 14:48:22 +0900 Subject: [PATCH 4/5] =?UTF-8?q?chore(deps):=20tokio-tungstenite=200.24=20?= =?UTF-8?q?=E2=86=92=200.30?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 0.26부터 Message::Text가 String 대신 Utf8Bytes를 받는다. OBS 브릿지와 테스트의 전송 지점 24곳을 Message::text 생성자로 바꾼다. 동작 변화 없음. Co-Authored-By: Claude Fable 5.1 --- src-tauri/Cargo.lock | 80 ++++++++++++---------- src-tauri/Cargo.toml | 2 +- src-tauri/src/commands/app/obs.rs | 2 +- src-tauri/src/services/obs_bridge.rs | 20 +++--- src-tauri/src/services/obs_bridge/tests.rs | 26 +++---- 5 files changed, 69 insertions(+), 61 deletions(-) diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index d7a52d86..626553ec 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -601,6 +601,17 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" +[[package]] +name = "chacha20" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "65c35e4b699c7e15ccbe7ee35c005e4fc0a278d22238a2857e6ce2dadeda1b06" +dependencies = [ + "cfg-if", + "cpufeatures 0.3.1", + "rand_core 0.10.1", +] + [[package]] name = "chrono" version = "0.4.42" @@ -1804,6 +1815,7 @@ dependencies = [ "cfg-if", "libc", "r-efi 6.0.0", + "rand_core 0.10.1", ] [[package]] @@ -3699,35 +3711,25 @@ version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" -[[package]] -name = "rand" -version = "0.8.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e058c7de0b26af77780c769414d6257830bb240f3c38477dbc2c16e5f54d6d4c" -dependencies = [ - "libc", - "rand_chacha 0.3.1", - "rand_core 0.6.4", -] - [[package]] name = "rand" version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9ef1d0d795eb7d84685bca4f72f3649f064e6641543d3a8c415898726a57b41" dependencies = [ - "rand_chacha 0.9.0", + "rand_chacha", "rand_core 0.9.5", ] [[package]] -name = "rand_chacha" -version = "0.3.1" +name = "rand" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +checksum = "c7f5fa3a058cd35567ef9bfa5e75732bee0f9e4c55fa90477bef2dfcdbc4be80" dependencies = [ - "ppv-lite86", - "rand_core 0.6.4", + "chacha20", + "getrandom 0.4.3", + "rand_core 0.10.1", ] [[package]] @@ -3745,9 +3747,6 @@ name = "rand_core" version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -dependencies = [ - "getrandom 0.2.16", -] [[package]] name = "rand_core" @@ -3758,6 +3757,12 @@ dependencies = [ "getrandom 0.3.4", ] +[[package]] +name = "rand_core" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63b8176103e19a2643978565ca18b50549f6101881c443590420e4dc998a3c69" + [[package]] name = "raw-window-handle" version = "0.6.2" @@ -4354,6 +4359,17 @@ dependencies = [ "digest 0.10.7", ] +[[package]] +name = "sha1" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aacc4cc499359472b4abe1bf11d0b12e688af9a805fa5e3016f9a386dc2d0214" +dependencies = [ + "cfg-if", + "cpufeatures 0.3.1", + "digest 0.11.3", +] + [[package]] name = "sha2" version = "0.10.9" @@ -5217,9 +5233,9 @@ dependencies = [ [[package]] name = "tokio-tungstenite" -version = "0.24.0" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edc5f74e248dc973e0dbb7b74c7e0d6fcc301c694ff50049504004ef4d0cdcd9" +checksum = "17a073bfed563fa236697a068031408a93cd9522e08abf9933ead3e73411bd71" dependencies = [ "futures-util", "log", @@ -5448,20 +5464,18 @@ checksum = "d2df906b07856748fa3f6e0ad0cbaa047052d4a7dd609e231c4f72cee8c36f31" [[package]] name = "tungstenite" -version = "0.24.0" +version = "0.30.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18e5b8366ee7a95b16d32197d0b2604b43a0be89dc5fac9f8e96ccafbaedda8a" +checksum = "e48ac77174b19c110a50ab2128b24215ac9cb40e0e12e093fb602d175c569d22" dependencies = [ - "byteorder", "bytes", "data-encoding", "http", "httparse", "log", - "rand 0.8.8", - "sha1", - "thiserror 1.0.69", - "utf-8", + "rand 0.10.2", + "sha1 0.11.0", + "thiserror 2.0.20", ] [[package]] @@ -5580,12 +5594,6 @@ dependencies = [ "url", ] -[[package]] -name = "utf-8" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" - [[package]] name = "utf8_iter" version = "1.0.4" @@ -6617,7 +6625,7 @@ dependencies = [ "flate2", "hmac", "pbkdf2", - "sha1", + "sha1 0.10.6", "time", "zstd", ] diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 8f8a710e..1fb8a3f0 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -48,7 +48,7 @@ imagesize = "0.15" rodio = { git = "https://github.com/lee-sihun/rodio", rev = "7b771e15", default-features = false, features = ["playback"] } symphonia = { version = "0.5", default-features = false, features = ["ogg", "vorbis", "wav", "aiff", "mp3", "isomp4", "aac", "pcm", "adpcm", "flac", "alac"] } tokio = { version = "1", features = ["rt", "net", "sync", "time", "macros"] } -tokio-tungstenite = "0.24" +tokio-tungstenite = "0.30" futures-util = "0.3" local-ip-address = "0.6.10" ttf-parser = "0.25.1" diff --git a/src-tauri/src/commands/app/obs.rs b/src-tauri/src/commands/app/obs.rs index 1fb13e7c..ebbd3f02 100644 --- a/src-tauri/src/commands/app/obs.rs +++ b/src-tauri/src/commands/app/obs.rs @@ -152,7 +152,7 @@ mod tests { serde_json::json!({ "token": token, "protocol": OBS_PROTOCOL_VERSION }), ); websocket - .send(Message::Text(hello.to_string())) + .send(Message::text(hello.to_string())) .await .expect("OBS hello 전송 실패"); diff --git a/src-tauri/src/services/obs_bridge.rs b/src-tauri/src/services/obs_bridge.rs index f6cf5e9c..9dab67bf 100644 --- a/src-tauri/src/services/obs_bridge.rs +++ b/src-tauri/src/services/obs_bridge.rs @@ -575,7 +575,7 @@ impl ObsBridgeService { ), }), ); - let _ = ws_tx.send(Message::Text(err_msg.to_string())).await; + let _ = ws_tx.send(Message::text(err_msg.to_string())).await; self.client_count.fetch_sub(1, Ordering::Relaxed); return; } @@ -595,7 +595,7 @@ impl ObsBridgeService { 0, serde_json::json!({"code": "AUTH_FAILED", "message": "Invalid token"}), ); - let _ = ws_tx.send(Message::Text(err_msg.to_string())).await; + let _ = ws_tx.send(Message::text(err_msg.to_string())).await; self.client_count.fetch_sub(1, Ordering::Relaxed); return; } @@ -608,7 +608,7 @@ impl ObsBridgeService { } let ack_msg = protocol.hello_ack(self.server_version.clone()); if ws_tx - .send(Message::Text(ack_msg.to_string())) + .send(Message::text(ack_msg.to_string())) .await .is_err() { @@ -624,7 +624,7 @@ impl ObsBridgeService { let snapshot = self.cached_snapshot.read().clone(); let snapshot_msg = protocol.snapshot(snapshot); if ws_tx - .send(Message::Text(snapshot_msg.to_string())) + .send(Message::text(snapshot_msg.to_string())) .await .is_err() { @@ -650,7 +650,7 @@ impl ObsBridgeService { Ok(ObsBroadcast::Shutdown) => break, Ok(broadcast) => { let msg = protocol.broadcast(&broadcast); - if ws_tx.send(Message::Text(msg.to_string())).await.is_err() { + if ws_tx.send(Message::text(msg.to_string())).await.is_err() { break; } } @@ -658,7 +658,7 @@ impl ObsBridgeService { log::warn!("[ObsBridge] {addr}: {n}개 메시지 누락, 스냅샷 재전송"); let snapshot = self.cached_snapshot.read().clone(); let msg = protocol.snapshot(snapshot); - if ws_tx.send(Message::Text(msg.to_string())).await.is_err() { + if ws_tx.send(Message::text(msg.to_string())).await.is_err() { break; } } @@ -677,14 +677,14 @@ impl ObsBridgeService { match envelope.msg_type.as_str() { "ping" => { let pong = protocol.pong(); - if ws_tx.send(Message::Text(pong.to_string())).await.is_err() { + if ws_tx.send(Message::text(pong.to_string())).await.is_err() { break; } } "resync_request" => { let snapshot = self.cached_snapshot.read().clone(); let msg = protocol.snapshot(snapshot); - if ws_tx.send(Message::Text(msg.to_string())).await.is_err() { + if ws_tx.send(Message::text(msg.to_string())).await.is_err() { break; } } @@ -712,7 +712,7 @@ impl ObsBridgeService { break; } let msg = protocol.invoke_response(request_id, result); - if ws_tx.send(Message::Text(msg.to_string())).await.is_err() { + if ws_tx.send(Message::text(msg.to_string())).await.is_err() { break; } } @@ -722,7 +722,7 @@ impl ObsBridgeService { break; } let ping_msg = protocol.ping(); - if ws_tx.send(Message::Text(ping_msg.to_string())).await.is_err() { + if ws_tx.send(Message::text(ping_msg.to_string())).await.is_err() { break; } } diff --git a/src-tauri/src/services/obs_bridge/tests.rs b/src-tauri/src/services/obs_bridge/tests.rs index cf42aaa2..5279166e 100644 --- a/src-tauri/src/services/obs_bridge/tests.rs +++ b/src-tauri/src/services/obs_bridge/tests.rs @@ -81,7 +81,7 @@ async fn connect_authenticated(port: u16, token: &str) -> TestWebSocket { 0, serde_json::json!({ "token": token, "protocol": OBS_PROTOCOL_VERSION }), ); - ws.send(Message::Text(hello.to_string())) + ws.send(Message::text(hello.to_string())) .await .expect("hello 전송 실패"); @@ -439,15 +439,15 @@ async fn websocket_session_preserves_handshake_projection_and_client_sequence() .expect("WS 연결 실패"); // hello 전의 malformed/다른 text envelope 무시 - ws.send(Message::Text("not-json".to_string())) + ws.send(Message::text("not-json".to_string())) .await .expect("malformed text 전송 실패"); - ws.send(Message::Text( + ws.send(Message::text( make_envelope("ping", 10, Value::Null).to_string(), )) .await .expect("handshake 이전 ping 전송 실패"); - ws.send(Message::Text( + ws.send(Message::text( make_envelope( "hello", 11, @@ -481,7 +481,7 @@ async fn websocket_session_preserves_handshake_projection_and_client_sequence() assert_eq!(server_ping["seq"], 2); assert_eq!(server_ping["payload"], Value::Null); - ws.send(Message::Text( + ws.send(Message::text( make_envelope("ping", 12, Value::Null).to_string(), )) .await @@ -490,7 +490,7 @@ async fn websocket_session_preserves_handshake_projection_and_client_sequence() assert_eq!(pong["seq"], 3); assert_eq!(pong["payload"], Value::Null); - ws.send(Message::Text( + ws.send(Message::text( make_envelope("resync_request", 13, Value::Null).to_string(), )) .await @@ -499,7 +499,7 @@ async fn websocket_session_preserves_handshake_projection_and_client_sequence() assert_eq!(resync["seq"], 4); assert_eq!(resync["payload"], serde_json::json!({ "revision": 7 })); - ws.send(Message::Text( + ws.send(Message::text( make_envelope( "invoke_request", 14, @@ -951,7 +951,7 @@ async fn protocol_mismatch_is_rejected_before_auth() { "seq": 0, "payload": { "token": "wrong-token", "protocol": 999 }, }); - ws.send(Message::Text(hello.to_string())) + ws.send(Message::text(hello.to_string())) .await .expect("hello 전송 실패"); @@ -975,7 +975,7 @@ async fn auth_failure_follows_protocol_validation_and_empty_server_token_disable let (mut ws, _) = connect_async(format!("ws://127.0.0.1:{port}")) .await .expect("WS 연결 실패"); - ws.send(Message::Text( + ws.send(Message::text( make_envelope( "hello", 0, @@ -1003,7 +1003,7 @@ async fn auth_failure_follows_protocol_validation_and_empty_server_token_disable let (mut ws, _) = connect_async(format!("ws://127.0.0.1:{port}")) .await .expect("빈 토큰 WS 연결 실패"); - ws.send(Message::Text( + ws.send(Message::text( make_envelope( "hello", 0, @@ -1071,7 +1071,7 @@ async fn legacy_protocol_v1_hello_is_rejected() { "seq": 0, "payload": { "token": "token", "protocol": 1 }, }); - ws.send(Message::Text(hello.to_string())) + ws.send(Message::text(hello.to_string())) .await .expect("hello 전송 실패"); @@ -1115,7 +1115,7 @@ async fn lan_address_accepts_authenticated_clients() { 0, serde_json::json!({ "token": "lan-token", "protocol": OBS_PROTOCOL_VERSION }), ); - ws.send(Message::Text(hello.to_string())) + ws.send(Message::text(hello.to_string())) .await .expect("hello 전송 실패"); receive_envelope(&mut ws, "hello_ack").await; @@ -1140,7 +1140,7 @@ async fn token_rotation_disconnects_existing_sessions_and_keeps_server_running() assert_eq!(bridge.status().port, port); let resync = make_envelope("resync_request", 1, Value::Null); - let _ = old_ws.send(Message::Text(resync.to_string())).await; + let _ = old_ws.send(Message::text(resync.to_string())).await; bridge.publish( "settings:changed", serde_json::json!({ "authenticated": false }), From 486165ebc84544987e67ca06c340303056c0602d Mon Sep 17 00:00:00 2001 From: lee-sihun Date: Thu, 17 Sep 2026 14:52:01 +0900 Subject: [PATCH 5/5] =?UTF-8?q?ci:=20Dependabot=EC=97=90=EC=84=9C=20?= =?UTF-8?q?=EB=B3=B4=EB=A5=98=ED=95=9C=20=EB=A9=94=EC=9D=B4=EC=A0=80=20?= =?UTF-8?q?=EC=97=85=EB=8D=B0=EC=9D=B4=ED=8A=B8=20=EC=B6=94=EA=B0=80=20?= =?UTF-8?q?=EC=A0=9C=EC=99=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 밀린 업데이트를 한 번에 검토해 받을 수 없는 것만 남겼다. npm: @eslint/js, vite, @vitejs/plugin-react, typescript, @types/node(Node 22 고정) cargo: windows, cpal, symphonia, reqwest Co-Authored-By: Claude Fable 5.1 --- .github/dependabot.yml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 3df06399..bbadf1a3 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -20,12 +20,25 @@ updates: # ESLint 10: Hooks 린트 7.1 전환이 선행 조건 (7.0.1의 peer가 ESLint 9까지) - dependency-name: eslint update-types: ['version-update:semver-major'] + - dependency-name: '@eslint/js' + update-types: ['version-update:semver-major'] # Tailwind 4: @tailwindcss/postcss 분리·CSS-first 설정 마이그레이션 필요 - dependency-name: tailwindcss update-types: ['version-update:semver-major'] # jsdom 30: CSSOM 직렬화 변화로 사용자 CSS 격리 테스트 기대값 재검토 필요 - dependency-name: jsdom update-types: ['version-update:semver-major'] + # Vite 8(Rolldown): 번들러·CSS 압축기 교체라 실제 앱 화면 검증 필요, plugin-react 6은 Vite 8 전용 + - dependency-name: vite + update-types: ['version-update:semver-major'] + - dependency-name: '@vitejs/plugin-react' + update-types: ['version-update:semver-major'] + # TypeScript 6+: tsconfig 기본값 변경 마이그레이션 필요, 7은 typescript-eslint 미지원 + - dependency-name: typescript + update-types: ['version-update:semver-major'] + # .node-version(22)과 맞춘다 — Node 메이저를 올릴 때 함께 올린다 + - dependency-name: '@types/node' + update-types: ['version-update:semver-major'] groups: # 서로 정확히 같은 버전을 peer로 요구해 따로 올리면 npm ci가 실패한다 vitest: @@ -44,6 +57,18 @@ updates: # zip: 레거시 WebView2 고정 런타임 경로 전용 — 해당 경로 정리 시 의존성째 제거 - dependency-name: zip update-types: ['version-update:semver-major'] + # windows 0.62+: Tauri가 쓰는 windows 버전과 HWND 타입이 어긋난다 — Tauri와 함께 올린다 (#165) + - dependency-name: windows + versions: ['>=0.62'] + # cpal 0.18+: rodio 포크(lee-sihun/rodio)가 같은 cpal을 써야 한다 — 포크와 함께 올린다 + - dependency-name: cpal + versions: ['>=0.18'] + # symphonia 0.6+: 오디오 버퍼·디코더·probe API 재구성으로 오디오 엔진 이전 필요 + - dependency-name: symphonia + versions: ['>=0.6'] + # reqwest 0.13+: TLS 기능 체계 변경(ring → aws-lc-rs, 플랫폼 검증기) — 자동 업데이트 경로 검증 필요 + - dependency-name: reqwest + versions: ['>=0.13'] groups: cargo-minor-patch: update-types: [minor, patch]