diff --git a/.editorconfig b/.editorconfig index e54c763817..ff05c2e04e 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,6 +1,6 @@ root = true -[*.{js,ts,tsx,css}] +[*.{js,cjs,ts,tsx,css}] charset = utf-8 end_of_line = lf indent_size = 4 diff --git a/.github/actions/build-electron/action.yml b/.github/actions/build-electron/action.yml index 9c6934a8d3..58fa9743a5 100644 --- a/.github/actions/build-electron/action.yml +++ b/.github/actions/build-electron/action.yml @@ -85,6 +85,7 @@ runs: APPLE_ID: ${{ env.APPLE_ID }} APPLE_ID_PASSWORD: ${{ env.APPLE_ID_PASSWORD }} WINDOWS_SIGN_EXECUTABLE: ${{ env.WINDOWS_SIGN_EXECUTABLE }} + WINDOWS_SIGN_ERROR_LOG: ${{ env.WINDOWS_SIGN_ERROR_LOG }} TRILIUM_ARTIFACT_NAME_HINT: TriliumNotes-${{ github.ref_name }}-${{ inputs.os }}-${{ inputs.arch }} TARGET_ARCH: ${{ inputs.arch }} run: pnpm run --filter desktop electron-forge:make --arch=${{ inputs.arch }} --platform=${{ inputs.forge_platform }} diff --git a/.github/workflows/main-docker.yml b/.github/workflows/main-docker.yml index 32e4d8ba5c..c1e5a61341 100644 --- a/.github/workflows/main-docker.yml +++ b/.github/workflows/main-docker.yml @@ -86,12 +86,12 @@ jobs: - name: Upload Playwright trace if: failure() - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: Playwright trace (${{ matrix.dockerfile }}) path: test-output/playwright/output - - uses: actions/upload-artifact@v6 + - uses: actions/upload-artifact@v7 if: ${{ !cancelled() }} with: name: Playwright report (${{ matrix.dockerfile }}) @@ -204,7 +204,9 @@ jobs: file: apps/server/${{ matrix.dockerfile }} platforms: ${{ matrix.platform }} labels: ${{ steps.meta.outputs.labels }} - outputs: type=image,name=${{ env.GHCR_REGISTRY }}/${{ env.IMAGE_NAME }},push-by-digest=true,name-canonical=true,push=true + outputs: | + type=image,name=${{ env.GHCR_REGISTRY }}/${{ env.IMAGE_NAME }},push-by-digest=true,name-canonical=true,push=true + type=image,name=${{ env.DOCKERHUB_REGISTRY }}/${{ env.IMAGE_NAME }},push-by-digest=true,name-canonical=true,push=true - name: Export digest run: | @@ -213,7 +215,7 @@ jobs: touch "/tmp/digests/${digest#sha256:}" - name: Upload digest - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: digests-${{ env.PLATFORM_PAIR }}-${{ matrix.dockerfile }} path: /tmp/digests/* @@ -227,7 +229,7 @@ jobs: - build steps: - name: Download digests - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: path: /tmp/digests pattern: digests-* diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 3f57913ab8..57150e41a3 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -87,6 +87,7 @@ jobs: APPLE_ID: ${{ secrets.APPLE_ID }} APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }} WINDOWS_SIGN_EXECUTABLE: ${{ vars.WINDOWS_SIGN_EXECUTABLE }} + WINDOWS_SIGN_ERROR_LOG: ${{ vars.WINDOWS_SIGN_ERROR_LOG }} GPG_SIGNING_KEY: ${{ secrets.GPG_SIGN_KEY }} - name: Publish release @@ -102,7 +103,7 @@ jobs: name: Nightly Build - name: Publish artifacts - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 if: ${{ github.event_name == 'pull_request' }} with: name: TriliumNotes ${{ matrix.os.name }} ${{ matrix.arch }} diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index d529d42587..3e6f3528c0 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -77,7 +77,7 @@ jobs: - name: Upload test report if: failure() - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: e2e report ${{ matrix.arch }} path: apps/server-e2e/test-output diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7d893979af..14210f03a7 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -17,10 +17,22 @@ jobs: steps: - uses: actions/checkout@v6 + - uses: pnpm/action-setup@v4 + - name: Set up node & dependencies + uses: actions/setup-node@v6 + with: + node-version: 24 + cache: 'pnpm' + + - name: Install dependencies + run: pnpm install --filter source --frozen-lockfile --ignore-scripts + - name: Check version consistency run: pnpm tsx ${{ github.workspace }}/scripts/check-version-consistency.ts ${{ github.ref_name }} make-electron: name: Make Electron + needs: + - sanity-check strategy: fail-fast: false matrix: @@ -78,16 +90,19 @@ jobs: APPLE_ID: ${{ secrets.APPLE_ID }} APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }} WINDOWS_SIGN_EXECUTABLE: ${{ vars.WINDOWS_SIGN_EXECUTABLE }} + WINDOWS_SIGN_ERROR_LOG: ${{ vars.WINDOWS_SIGN_ERROR_LOG }} GPG_SIGNING_KEY: ${{ secrets.GPG_SIGN_KEY }} - name: Upload the artifact - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: release-desktop-${{ matrix.os.name }}-${{ matrix.arch }} path: apps/desktop/upload/*.* build_server: name: Build Linux Server + needs: + - sanity-check strategy: fail-fast: false matrix: @@ -108,7 +123,7 @@ jobs: arch: ${{ matrix.arch }} - name: Upload the artifact - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 with: name: release-server-linux-${{ matrix.arch }} path: upload/*.* @@ -128,7 +143,7 @@ jobs: docs/Release Notes - name: Download all artifacts - uses: actions/download-artifact@v7 + uses: actions/download-artifact@v8 with: merge-multiple: true pattern: release-* diff --git a/.github/workflows/web-clipper.yml b/.github/workflows/web-clipper.yml index e2fb90326b..2e2644b04c 100644 --- a/.github/workflows/web-clipper.yml +++ b/.github/workflows/web-clipper.yml @@ -48,7 +48,7 @@ jobs: pnpm --filter web-clipper zip:firefox - name: Upload build artifacts - uses: actions/upload-artifact@v6 + uses: actions/upload-artifact@v7 if: ${{ !startsWith(github.ref, 'refs/tags/web-clipper-v') }} with: name: web-clipper-extension diff --git a/apps/client/package.json b/apps/client/package.json index 4a9b78bb67..77d937fb42 100644 --- a/apps/client/package.json +++ b/apps/client/package.json @@ -1,6 +1,6 @@ { "name": "@triliumnext/client", - "version": "0.101.3", + "version": "0.102.0", "description": "JQuery-based client for TriliumNext, used for both web and desktop (via Electron)", "private": true, "license": "AGPL-3.0-only", @@ -44,7 +44,7 @@ "debounce": "3.0.0", "draggabilly": "3.0.0", "force-graph": "1.51.1", - "globals": "17.3.0", + "globals": "17.4.0", "i18next": "25.8.13", "i18next-http-backend": "3.0.2", "jquery": "4.0.0", diff --git a/apps/client/src/services/content_renderer.ts b/apps/client/src/services/content_renderer.ts index a03a89892a..afd53c53f9 100644 --- a/apps/client/src/services/content_renderer.ts +++ b/apps/client/src/services/content_renderer.ts @@ -1,6 +1,7 @@ import "./content_renderer.css"; import { normalizeMimeTypeForCKEditor } from "@triliumnext/commons"; +import { h, render } from "preact"; import WheelZoom from 'vanilla-js-wheel-zoom'; import FAttachment from "../entities/fattachment.js"; @@ -16,8 +17,6 @@ import protectedSessionHolder from "./protected_session_holder.js"; import renderService from "./render.js"; import { applySingleBlockSyntaxHighlight } from "./syntax_highlight.js"; import utils, { getErrorMessage } from "./utils.js"; -import PdfViewer from "../widgets/type_widgets/file/PdfViewer"; -import { h, render } from "preact"; let idCounter = 1; @@ -58,7 +57,7 @@ export async function getRenderedContent(this: {} | { ctx: string }, entity: FNo } else if (["image", "canvas", "mindMap"].includes(type)) { renderImage(entity, $renderedContent, options); } else if (!options.tooltip && ["file", "pdf", "audio", "video"].includes(type)) { - renderFile(entity, type, $renderedContent); + await renderFile(entity, type, $renderedContent); } else if (type === "mermaid") { await renderMermaid(entity, $renderedContent); } else if (type === "render" && entity instanceof FNote) { @@ -181,7 +180,7 @@ function renderImage(entity: FNote | FAttachment, $renderedContent: JQuery) { +async function renderFile(entity: FNote | FAttachment, type: string, $renderedContent: JQuery) { let entityType, entityId; if (entity instanceof FNote) { @@ -199,6 +198,7 @@ function renderFile(entity: FNote | FAttachment, type: string, $renderedContent: if (type === "pdf") { const url = `../../api/${entityType}/${entityId}/open`; const $viewer = $(`
`); + const PdfViewer = (await import("../widgets/type_widgets/file/PdfViewer")).default; render(h(PdfViewer, {pdfUrl: url, editable: false}), $viewer.get(0)!); $content.append($viewer); diff --git a/apps/client/src/translations/hi/translation.json b/apps/client/src/translations/hi/translation.json index a48c11c6de..e9580ef5b8 100644 --- a/apps/client/src/translations/hi/translation.json +++ b/apps/client/src/translations/hi/translation.json @@ -51,7 +51,7 @@ }, "add_link": { "note": "नोट", - "add_link": "लिंक जोड़ें", + "add_link": "लिंक ऐड करें", "help_on_links": "लिंक्स पर मदद।", "search_note": "नोट को नाम से खोजें", "link_title_mirrors": "लिंक टाइटल नोट के करंट टाइटल के हिसाब से बदलता है", @@ -112,7 +112,7 @@ "help_on_tree_prefix": "ट्री प्रीफ़िक्स पर मदद", "prefix": "प्रीफ़िक्स: ", "save": "सेव करें", - "branch_prefix_saved": "ब्रांच प्रीफ़िक्स सेव कर दिया गया है।", + "branch_prefix_saved": "ब्रांच प्रीफ़िक्स सेव हो चुका है।", "branch_prefix_saved_multiple": "{{count}} ब्रांचेस के लिए ब्रांच प्रीफ़िक्स सेव कर दिया गया है।", "affected_branches": "प्रभावित ब्रांचेस ({{count}}):" }, diff --git a/apps/client/src/translations/tr/translation.json b/apps/client/src/translations/tr/translation.json index 84c574a4d0..2f534ba12e 100644 --- a/apps/client/src/translations/tr/translation.json +++ b/apps/client/src/translations/tr/translation.json @@ -50,8 +50,15 @@ }, "bundle-error": { "title": "Özel bir betik yüklenemedi", - "message": "ID'si \"{{id}}\" ve başlığı \"{{title}}\" olan nottan alınan komut dosyası şunun nedeniyle yürütülemedi:\n\n{{message}}" - } + "message": "Komut şu nedenle yürütülemedi:\n\n{{message}}" + }, + "widget-list-error": { + "title": "Sunucudan widget listesi alınamadı" + }, + "widget-render-error": { + "title": "Özel React widget'ı çizilirken sorun yaşandı" + }, + "scripting-error": "Kullanıcı tanımlı betik hatası: {{title}}" }, "add_link": { "add_link": "Bağlantı ekle", diff --git a/apps/client/src/translations/tw/translation.json b/apps/client/src/translations/tw/translation.json index 9eecb868e1..f095101a9d 100644 --- a/apps/client/src/translations/tw/translation.json +++ b/apps/client/src/translations/tw/translation.json @@ -1495,7 +1495,8 @@ "beta-feature": "Beta", "task-list": "任務列表", "new-feature": "新增", - "collections": "集合" + "collections": "集合", + "ai-chat": "AI 聊天" }, "protect_note": { "toggle-on": "保護筆記", @@ -1594,7 +1595,8 @@ }, "search_result": { "no_notes_found": "沒有找到符合搜尋條件的筆記。", - "search_not_executed": "尚未執行搜尋。請點擊上方的「搜尋」按鈕查看結果。" + "search_not_executed": "尚未執行搜尋。", + "search_now": "立即搜尋" }, "spacer": { "configure_launchbar": "設定啟動欄" @@ -2011,7 +2013,9 @@ "app-restart-required": "(需要重啟程式以套用更改)" }, "pagination": { - "total_notes": "{{count}} 筆記" + "total_notes": "{{count}} 筆記", + "prev_page": "上一頁", + "next_page": "下一頁" }, "collections": { "rendering_error": "發現錯誤,無法顯示內容。" diff --git a/apps/client/src/widgets/dialogs/PopupEditor.css b/apps/client/src/widgets/dialogs/PopupEditor.css index 84f4c93197..c1f5c7b2a3 100644 --- a/apps/client/src/widgets/dialogs/PopupEditor.css +++ b/apps/client/src/widgets/dialogs/PopupEditor.css @@ -118,3 +118,11 @@ body.mobile .modal.popup-editor-dialog .modal-dialog { border-radius: 0; } } + +.modal.popup-editor-dialog .note-list-widget { + --content-margin-inline: 12px; + + &:not(.full-height) .note-list-wrapper { + margin-inline: var(--content-margin-inline); + } +} \ No newline at end of file diff --git a/apps/desktop/electron-forge/sign-windows.cjs b/apps/desktop/electron-forge/sign-windows.cjs index ddcf354c44..6a6fc19bc8 100644 --- a/apps/desktop/electron-forge/sign-windows.cjs +++ b/apps/desktop/electron-forge/sign-windows.cjs @@ -1,9 +1,10 @@ const child_process = require("child_process"); const fs = require("fs"); +const { rm } = require("fs/promises"); const path = require("path"); -module.exports = function (filePath) { - const { WINDOWS_SIGN_EXECUTABLE } = process.env; +module.exports = async function (filePath) { + const { WINDOWS_SIGN_EXECUTABLE, WINDOWS_SIGN_ERROR_LOG } = process.env; if (!WINDOWS_SIGN_EXECUTABLE) { console.warn("[Sign] Skip signing due to missing environment variable."); @@ -13,18 +14,57 @@ module.exports = function (filePath) { const outputDir = path.join(__dirname, "sign"); console.log("Output dir is ", path.resolve(outputDir)); if (!fs.existsSync(outputDir)) { - fs.mkdirSync(outputDir); + fs.mkdirSync(outputDir); } const command = `${WINDOWS_SIGN_EXECUTABLE} --executable "${filePath}"`; console.log(`[Sign] Running ${command}`); - try { - child_process.execSync(command); - } catch (e) { - console.warn(`[Sign] Unable to sign ${filePath} due to:\n${e.stdout.toString("utf-8")})}`) - return; + let remainingTries = 10; + let sleepTime = 10_000; + while (remainingTries > 0) { + // Delete the log file that might be blocking the signing. + try { + await rm(WINDOWS_SIGN_ERROR_LOG, { + force: true + }) + } catch (e) { + console.error("[Sign] Unable to delete the log file."); + process.exit(2); + } + + // Run the signing. + try { + child_process.execSync(command); + console.log(`[Sign] Signed ${filePath} successfully.`); + break; + } catch (e) { + const output = e.stdout.toString("utf-8"); + console.warn(`[Sign] Unable to sign ${filePath} due to:\n${output}`); + + // Check if the error is retryable. + if (!output.includes("http://timestamp.digicert.com")) { + console.warn("Cannot retry due to unknown error."); + process.exit(1); + } + + console.info(`Waiting for ${sleepTime / 1000}s before retrying...`); + } + + await sleep(sleepTime); + sleepTime *= 2; + remainingTries--; } - console.log(`[Sign] Signed ${filePath} successfully.`); -} \ No newline at end of file + if (remainingTries < 1) { + console.error("Failed to sign."); + process.exit(1); + } + +} + +function sleep(time_ms) { + return new Promise((resolve) => { + setTimeout(resolve, time_ms); + }); +} diff --git a/apps/desktop/package.json b/apps/desktop/package.json index ebc9ea50d1..4d89f35d71 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -1,6 +1,6 @@ { "name": "@triliumnext/desktop", - "version": "0.101.3", + "version": "0.102.0", "description": "Build your personal knowledge base with Trilium Notes", "private": true, "main": "src/main.ts", diff --git a/apps/edit-docs/package.json b/apps/edit-docs/package.json index a25092d9e7..9f955bcd52 100644 --- a/apps/edit-docs/package.json +++ b/apps/edit-docs/package.json @@ -1,6 +1,6 @@ { "name": "@triliumnext/edit-docs", - "version": "0.101.3", + "version": "0.102.0", "private": true, "description": "Desktop version of Trilium which imports the demo database (presented to new users at start-up) or the user guide and other documentation and saves the modifications for committing.", "dependencies": { diff --git a/apps/server/package.json b/apps/server/package.json index adad6fff0e..5d3b210f86 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -1,6 +1,6 @@ { "name": "@triliumnext/server", - "version": "0.101.3", + "version": "0.102.0", "description": "The server-side component of TriliumNext, which exposes the client via the web, allows for sync and provides a REST API for both internal and external use.", "private": true, "main": "./src/main.ts", diff --git a/apps/server/src/assets/translations/tr/server.json b/apps/server/src/assets/translations/tr/server.json index dcb1b624a2..45d04b9221 100644 --- a/apps/server/src/assets/translations/tr/server.json +++ b/apps/server/src/assets/translations/tr/server.json @@ -16,6 +16,9 @@ "create-note-into": "Aktif nota bağlı alt not oluştur", "create-note-after": "Aktif nottan sonra yeni bir not oluştur", "delete-note": "Notu sil", - "move-note-down": "Notu aşağıya kaydır" + "move-note-down": "Notu aşağıya kaydır", + "create-note-into-inbox": "Eğer tanımlandıysa gelen kutusunda bir not veya günlük not oluşturun", + "move-note-up-in-hierarchy": "Notu hiyerarşide yukarı taşı", + "move-note-down-in-hierarchy": "Notu hiyerarşide aşağı taşı" } } diff --git a/apps/website/src/translations/hi/translation.json b/apps/website/src/translations/hi/translation.json index 52211c7236..fd908577bf 100644 --- a/apps/website/src/translations/hi/translation.json +++ b/apps/website/src/translations/hi/translation.json @@ -21,15 +21,18 @@ }, "note_types": { "canvas_title": "कैनवास", - "mindmap_title": "माइंडमैप" + "mindmap_title": "माइंडमैप", + "file_title": "फ़ाइल नोट्स" }, "extensibility_benefits": { "share_title": "वेब पर नोट्स शेयर करें", - "share_description": "अगर आपके पास सर्वर है, तो इसका उपयोग अपने नोट्स के एक हिस्से को अन्य लोगों के साथ शेयर करने के लिए किया जा सकता है।" + "share_description": "अगर आपके पास सर्वर है, तो इसका उपयोग अपने नोट्स के एक हिस्से को अन्य लोगों के साथ शेयर करने के लिए किया जा सकता है।", + "import_export_title": "इंपोर्ट/एक्सपोर्ट" }, "collections": { "calendar_title": "कैलेंडर", - "table_title": "टेबल" + "table_title": "टेबल", + "board_title": "कानबान बोर्ड" }, "download_now": { "linux_small": "लिनक्स के लिए", diff --git a/apps/website/src/translations/tr/translation.json b/apps/website/src/translations/tr/translation.json index 7c4b0822db..76d93f32bf 100644 --- a/apps/website/src/translations/tr/translation.json +++ b/apps/website/src/translations/tr/translation.json @@ -19,6 +19,11 @@ "note_structure_title": "Not yapısı", "note_structure_description": "Notlar hiyerarşik olarak düzenlenebilir. Her not 'alt notlar' içerebildiği için klasörlere ihtiyaç duyulmaz. Tek bir not, hiyerarşinin birden fazla noktasına eklenebilir.", "attributes_description": "Notlar arasında ilişkiler kurun veya kolay kategorizasyon için etiketler ekleyin. Tablolarda ve panolarda kullanılabilen yapılandırılmış bilgileri eklemek için öne çıkan öznitelikleri kullanın.", - "hoisting_description": "Kişisel ve iş notlarınızı bir çalışma alanı altında gruplandırarak kolayca ayırın; bu sayede not ağacınız yalnızca belirli bir not kümesini gösterecek şekilde odaklanacaktır." + "hoisting_description": "Kişisel ve iş notlarınızı bir çalışma alanı altında gruplandırarak kolayca ayırın; bu sayede not ağacınız yalnızca belirli bir not kümesini gösterecek şekilde odaklanacaktır.", + "attributes_title": "Not etiketleri ve ilişkileri" + }, + "productivity_benefits": { + "title": "Üretkenlik ve güvenlik", + "revisions_title": "Note düzenlemeleri" } } diff --git a/docs/README-ar.md b/docs/README-ar.md index bacb285274..4946f1ee69 100644 --- a/docs/README-ar.md +++ b/docs/README-ar.md @@ -41,7 +41,7 @@ script)](./README-ZH_TW.md) | [English](../README.md) | [French](./README-fr.md) - [الإصدار الليلي](https://github.com/TriliumNext/Trilium/releases/tag/nightly) – إصدار تطوير غير مستقر، يتم تحديثه يوميًا بأحدث الميزات والإصلاحات. -## 📚توثيق +## 📚 الوثائق **يمكنكم الاطلاع على وثائقنا الشاملة على الرابط التالي: [docs.triliumnotes.org](https://docs.triliumnotes.org/)** @@ -61,33 +61,35 @@ script)](./README-ZH_TW.md) | [English](../README.md) | [French](./README-fr.md) - [ترقية تريليوم للملاحظات](https://docs.triliumnotes.org/user-guide/setup/upgrading) - [مفاهيم ومميزات - اساسية](https://docs.triliumnotes.org/user-guide/concepts/notes) + أساسية](https://docs.triliumnotes.org/user-guide/concepts/notes) - [أنماط قاعدة المعرفة الشخصية](https://docs.triliumnotes.org/user-guide/misc/patterns-of-personal-knowledge) -## 🎁الميزات +## 🎁 المميزات -* يمكن ترتيب النوتات الموسيقية في شجرة ذات عمق غير محدود. ويمكن وضع نوتة واحدة - في أماكن متعددة في الشجرة (انظر +* يمكن تنظيم الملاحظات في شجرة ذات عمق غير محدود. كما يمكن وضع الملاحظة الواحدة + في أماكن متعددة داخل الشجرة (راجع [الاستنساخ](https://docs.triliumnotes.org/user-guide/concepts/notes/cloning)) * محرر ملاحظات WYSIWYG غني يتضمن على سبيل المثال الجداول والصور و[الرياضيات](https://docs.triliumnotes.org/user-guide/note-types/text) مع - تنسيق تلقائي لـ Markdown[2] -* دعم تحرير [الملاحظات التي تحتوي على شفرة - المصدر](https://docs.triliumnotes.org/user-guide/note-types/code)، بما في ذلك - تمييز بناء الجملة -* التنقل السريع والسهل بين الملاحظات - (https://docs.triliumnotes.org/user-guide/concepts/navigation/note-navigation)، - والبحث في النص الكامل، ورفع الملاحظات - (https://docs.triliumnotes.org/user-guide/concepts/navigation/note-hoisting) -* سلس [ملاحظة حول إصدار - النظام](https://docs.triliumnotes.org/user-guide/concepts/notes/note-revisions) + Markdown [تنسيق + تلقائي](https://docs.triliumnotes.org/user-guide/note-types/text/markdown-formatting) +* دعم تحرير [ملاحظات التعليمات + البرمجية](https://docs.triliumnotes.org/user-guide/note-types/code)، بما في + ذلك تمييز بناء الجملة +* [التنقل بين + الملاحظات](https://docs.triliumnotes.org/user-guide/concepts/navigation/note-navigation) + سهل وسريع، مع دعم البحث في النص الكامل، و[رفع + الملاحظات](https://docs.triliumnotes.org/user-guide/concepts/navigation/note-hoisting) +* نظام [إصدارات + الملاحظات](https://docs.triliumnotes.org/user-guide/concepts/notes/note-revisions) + السلس * يمكن استخدام [السمات](https://docs.triliumnotes.org/user-guide/advanced-usage/attributes) لتنظيم الملاحظات والاستعلام عنها و[البرمجة النصية](https://docs.triliumnotes.org/user-guide/scripts) المتقدمة -* UI available in English, German, Spanish, French, Romanian, and Chinese - (simplified and traditional) +* واجهة المستخدم متوفرة باللغات الإنجليزية والألمانية والإسبانية والفرنسية + والرومانية والصينية (المبسطة والتقليدية) * تكامل مباشر مع [أنظمة الهوية المفتوحة OpenID وكلمات المرور المؤقتة TOTP](https://docs.triliumnotes.org/user-guide/setup/server/mfa) لتسجيل دخول أكثر أماناً @@ -118,131 +120,129 @@ script)](./README-ZH_TW.md) | [English](../README.md) | [French](./README-fr.md) المتقدمة](https://docs.triliumnotes.org/user-guide/advanced-usage/advanced-showcases) * [واجهة REST API](https://docs.triliumnotes.org/user-guide/advanced-usage/etapi) للأتمتة -* Scales well in both usability and performance upwards of 100 000 notes -* Touch optimized [mobile - frontend](https://docs.triliumnotes.org/user-guide/setup/mobile-frontend) for - smartphones and tablets -* Built-in [dark - theme](https://docs.triliumnotes.org/user-guide/concepts/themes), support for - user themes -* [Evernote](https://docs.triliumnotes.org/user-guide/concepts/import-export/evernote) - and [Markdown import & - export](https://docs.triliumnotes.org/user-guide/concepts/import-export/markdown) -* [Web Clipper](https://docs.triliumnotes.org/user-guide/setup/web-clipper) for - easy saving of web content -* Customizable UI (sidebar buttons, user-defined widgets, ...) -* [Metrics](https://docs.triliumnotes.org/user-guide/advanced-usage/metrics), - along with a Grafana Dashboard. +* يتميز بسهولة الاستخدام والأداء العاليين، ويستوعب أكثر من 100,000 ملاحظة +* "[واجهة جوال](https://docs.triliumnotes.org/user-guide/setup/mobile-frontend) + محسنة للمس، مخصصة للهواتف الذكية والأجهزة اللوحية" +* [الوضع الداكن](https://docs.triliumnotes.org/user-guide/concepts/themes) + المدمج، ودعم سمات المستخدم +* [إيفيرنوت + (Evernote)](https://docs.triliumnotes.org/user-guide/concepts/import-export/evernote) + و[استيراد وتصدير ملفات + Markdown](https://docs.triliumnotes.org/user-guide/concepts/import-export/markdown) +* [أداة قص الويب](https://docs.triliumnotes.org/user-guide/setup/web-clipper) + لحفظ محتوى الويب بسهولة +* واجهة مستخدم قابلة للتخصيص (أزرار الشريط الجانبي، أدوات المستخدم المحددة، ...) +* [مؤشرات + الأداء](https://docs.triliumnotes.org/user-guide/advanced-usage/metrics)، مع + لوحة تحكم Grafana. -✨ Check out the following third-party resources/communities for more TriliumNext -related goodies: +✨ اطلع على الموارد/المجتمعات الخارجية التالية لمزيد من المعلومات المفيدة +المتعلقة بـ TriliumNext: -- [awesome-trilium](https://github.com/Nriver/awesome-trilium) for 3rd party - themes, scripts, plugins and more. -- [TriliumRocks!](https://trilium.rocks/) for tutorials, guides, and much more. +- [awesome-trillium](https://github.com/Nriver/awesome-trilium) للقوالب والبرامج + النصية والإضافات الخارجية والمزيد. +- [TriliumRocks!](https://trilium.rocks/) للحصول على دروس تعليمية، وأدلة، وغير + ذلك الكثير. -## ❓لماذا تريليوم التالي؟ +## ؟لماذا TriliumNext؟ -The original Trilium developer ([Zadam](https://github.com/zadam)) has -graciously given the Trilium repository to the community project which resides -at https://github.com/TriliumNext +قام مطور Trilium الأصلي ([Zadam](https://github.com/zadam)) مشكورًا بإهداء +مستودع Trilium إلى مشروع المجتمع الموجود على الرابط التالي: +https://github.com/TriliumNext -### ⬆️ الهجرة من Zadam الى تريليوم؟ +### ⬆️الانتقال من Zadam/Trilium؟ -There are no special migration steps to migrate from a zadam/Trilium instance to -a TriliumNext/Trilium instance. Simply [install -TriliumNext/Trilium](#-installation) as usual and it will use your existing -database. +لا توجد خطوات انتقال خاصة للانتقال من نسخة zadam/Trilium إلى نسخة +TriliumNext/Trilium. ما عليك سوى تثبيت TriliumNext/Trilium كالمعتاد، وسيستخدم +قاعدة بياناتك الحالية. -Versions up to and including -[v0.90.4](https://github.com/TriliumNext/Trilium/releases/tag/v0.90.4) are -compatible with the latest zadam/trilium version of -[v0.63.7](https://github.com/zadam/trilium/releases/tag/v0.63.7). Any later -versions of TriliumNext/Trilium have their sync versions incremented which -prevents direct migration. +الإصدارات حتى الإصدار +[v0.90.4](https://github.com/TriliumNext/Trilium/releases/tag/v0.90.4) متوافقة +مع أحدث إصدار من zadam/trillium وهو [v0.63.7]{2]. أما الإصدارات اللاحقة من +TriliumNext/Trilium، فقد تم تحديث أرقام المزامنة الخاصة بها، مما يمنع الترقية +المباشرة. -## 💬تحدث معنا +## 💬 ناقش معنا -Feel free to join our official conversations. We would love to hear what -features, suggestions, or issues you may have! +لا تترددوا في الانضمام إلى محادثاتنا الرسمية. يسعدنا أن نسمع عن الميزات أو +الاقتراحات أو المشاكل التي قد تواجهونها! -- [Matrix](https://matrix.to/#/#triliumnext:matrix.org) (For synchronous - discussions.) - - The `General` Matrix room is also bridged to - [XMPP](xmpp:discuss@trilium.thisgreat.party?join) -- [Github Discussions](https://github.com/TriliumNext/Trilium/discussions) (For - asynchronous discussions.) -- [Github Issues](https://github.com/TriliumNext/Trilium/issues) (For bug - reports and feature requests.) +- [ماتريكس (Matrix)](https://matrix.to/#/#triliumnext:matrix.org) (للمناقشات + المتزامنة.) + - غرفة ماتريكس `العامة` مرتبطة أيضاً بـ + [XMPP](xmpp:discuss@trilium.thisgreat.party?join) (Extensible Messaging and + Presence Protocol) +- [مناقشات GitHub](https://github.com/TriliumNext/Trilium/discussions) + (للمناقشات غير المتزامنة.) +- [Github Issues](https://github.com/TriliumNext/Trilium/issues) (لتقديم تقارير + الأخطاء وطلبات الميزات.) -## 🏗️ تثبيت +## 🏗️ التثبيت -### ويندوز / نظام تشغيل ماك +### ويندوز (Windows) / نظام تشغيل ماك (MacOS) -Download the binary release for your platform from the [latest release -page](https://github.com/TriliumNext/Trilium/releases/latest), unzip the package -and run the `trilium` executable. +نزل الإصدار الثنائي (Binary) المناسب لمنصتك من [صفحة أحدث +الإصدارات](https://github.com/TriliumNext/Trilium/releases/latest)، ثم فك ضغط +الحزمة وشغّل ملف `trilium` التنفيذي. -### لينكس +### لينكس (Linux) -If your distribution is listed in the table below, use your distribution's -package. +إذا كانت توزيعتك مدرجة في الجدول أدناه، فاستخدم الحزمة الخاصة بتوزيعتك. -[![Packaging -status](https://repology.org/badge/vertical-allrepos/triliumnext.svg)](https://repology.org/project/triliumnext/versions) +[![حالة +الحزم](https://repology.org/badge/vertical-allrepos/triliumnext.svg)](https://repology.org/project/triliumnext/versions) -You may also download the binary release for your platform from the [latest -release page](https://github.com/TriliumNext/Trilium/releases/latest), unzip the -package and run the `trilium` executable. +يمكنك أيضًا تنزيل الإصدار الثنائي لمنصتك من [صفحة أحدث +إصدار](https://github.com/TriliumNext/Trilium/releases/latest)، وفك ضغط الحزمة +وتشغيل الملف التنفيذي `trillium`. -TriliumNext is also provided as a Flatpak, but not yet published on FlatHub. +يتم توفير TriliumNext أيضًا كـ Flatpak، ولكن لم يتم نشره بعد على FlatHub. -### مستعرض( اي نظام تشغيل) +### متصفح (أي نظام تشغيل) -If you use a server installation (see below), you can directly access the web -interface (which is almost identical to the desktop app). +إذا كنت تستخدم تثبيت الخادم (انظر أدناه)، فيمكنك الوصول مباشرة إلى واجهة الويب +(وهي مطابقة تقريبًا لتطبيق سطح المكتب). -Currently only the latest versions of Chrome & Firefox are supported (and -tested). +حالياً، يتم دعم أحدث إصدارات متصفحي Chrome و Firefox فقط (والتي تم اختبارها). -### هاتف المحمول +### الهاتف المحمول -To use TriliumNext on a mobile device, you can use a mobile web browser to -access the mobile interface of a server installation (see below). +لاستخدام TriliumNext على الأجهزة المحمولة، يمكنك استخدام المتصفح للوصول إلى +واجهة الجوال الخاصة بنسخة الخادم المثبتة (انظر أدناه). -See issue https://github.com/TriliumNext/Trilium/issues/4962 for more -information on mobile app support. +راجع المشكلة رقم https://github.com/TriliumNext/Trilium/issues/4962 لمزيد من +المعلومات حول دعم إصدار الهاتف المحمول. -If you prefer a native Android app, you can use +إذا كنت تفضل تطبيقًا أصليًا لنظام Android، يمكنك استخدام [TriliumDroid](https://apt.izzysoft.de/fdroid/index/apk/eu.fliegendewurst.triliumdroid). -Report bugs and missing features at [their -repository](https://github.com/FliegendeWurst/TriliumDroid). Note: It is best to -disable automatic updates on your server installation (see below) when using -TriliumDroid since the sync version must match between Trilium and TriliumDroid. +أبلغ عن الأخطاء والميزات المفقودة في +[مستودعهم](https://github.com/FliegendeWurst/TriliumDroid). ملاحظة: يُفضل تعطيل +التحديثات التلقائية على تثبيت الخادم الخاص بك (انظر أدناه) عند استخدام +TriliumDroid، حيث يجب أن تتطابق نسخة المزامنة بين Trilium وTriliumDroid. ### الخادم -To install TriliumNext on your own server (including via Docker from -[Dockerhub](https://hub.docker.com/r/triliumnext/trilium)) follow [the server -installation docs](https://docs.triliumnotes.org/user-guide/setup/server). +لتثبيت TriliumNext على خادمك الخاص (بما في ذلك عبر Docker من +[Dockerhub](https://hub.docker.com/r/triliumnext/trilium)) اتبع [وثائق تثبيت +الخادم]{2]. ## 💻 المساهمة -### ترجمات +### الترجمات -If you are a native speaker, help us translate Trilium by heading over to our -[Weblate page](https://hosted.weblate.org/engage/trilium/). +إذا كنت متحدثًا أصليًا للغة، فساعدنا في ترجمة Trilium من خلال التوجه إلى [صفحة +الويب]{1]. -Here's the language coverage we have so far: +إليك قائمة نسبة اكتمال اللغات المدعومة حتى الآن: -[![Translation -status](https://hosted.weblate.org/widget/trilium/multi-auto.svg)](https://hosted.weblate.org/engage/trilium/) +[![حالة +الترجمة](https://hosted.weblate.org/widget/trilium/multi-auto.svg)](https://hosted.weblate.org/engage/trilium/) -### كود +### التعليمات البرمجية -Download the repository, install dependencies using `pnpm` and then run the -server (available at http://localhost:8080): +قم بتنزيل المستودع، وقم بتثبيت التبعيات باستخدام `pnpm`، ثم قم بتشغيل الخادم +(المتاح على http://localhost:8080): ```shell git clone https://github.com/TriliumNext/Trilium.git cd Trilium @@ -252,8 +252,8 @@ pnpm run server:start ### التوثيق -Download the repository, install dependencies using `pnpm` and then run the -environment required to edit the documentation: +قم بتنزيل المستودع، وقم بتثبيت التبعيات باستخدام `pnpm`، ثم قم بتشغيل البيئة +المطلوبة لتحرير الوثائق: ```shell git clone https://github.com/TriliumNext/Trilium.git cd Trilium @@ -262,8 +262,8 @@ pnpm edit-docs:edit-docs ``` ### بناء الملف التنفيذي -Download the repository, install dependencies using `pnpm` and then build the -desktop app for Windows: +قم بتنزيل المستودع، وقم بتثبيت التبعيات باستخدام `pnpm`، ثم قم ببناء تطبيق سطح +المكتب لنظام التشغيل ويندوز (Windows): ```shell git clone https://github.com/TriliumNext/Trilium.git cd Trilium @@ -271,71 +271,66 @@ pnpm install pnpm run --filter desktop electron-forge:make --arch=x64 --platform=win32 ``` -For more details, see the [development -docs](https://github.com/TriliumNext/Trilium/tree/main/docs/Developer%20Guide/Developer%20Guide). +لمزيد من التفاصيل، راجع [وثائق +التطوير](https://github.com/TriliumNext/Trilium/tree/main/docs/Developer%20Guide/Developer%20Guide). -### توثيق المطور +### وثائق المطورين -Please view the [documentation -guide](https://github.com/TriliumNext/Trilium/blob/main/docs/Developer%20Guide/Developer%20Guide/Environment%20Setup.md) -for details. If you have more questions, feel free to reach out via the links -described in the "Discuss with us" section above. +يرجى الاطلاع على [دليل +التوثيق](https://github.com/TriliumNext/Trilium/blob/main/docs/Developer%20Guide/Developer%20Guide/Environment%20Setup.md) +لمزيد من التفاصيل. إذا كانت لديكم أي استفسارات أخرى، فلا تترددوا في التواصل معنا +عبر الروابط الموضحة في قسم "ناقش معنا" أعلاه. -## 👏 اشادات +## 👏 شكر خاص -* [zadam](https://github.com/zadam) for the original concept and implementation - of the application. -* [Sarah Hussein](https://github.com/Sarah-Hussein) for designing the - application icon. -* [nriver](https://github.com/nriver) for his work on internationalization. -* [Thomas Frei](https://github.com/thfrei) for his original work on the Canvas. -* [antoniotejada](https://github.com/nriver) for the original syntax highlight - widget. -* [Dosu](https://dosu.dev/) for providing us with the automated responses to - GitHub issues and discussions. -* [Tabler Icons](https://tabler.io/icons) for the system tray icons. +* [zadam](https://github.com/zadam): للمفهوم الأصلي وتنفيذ التطبيق. +* [سارة حسين (Sarah Hussein)](https://github.com/Sarah-Hussein): لتصميم أيقونة + التطبيق. +* [nriver](https://github.com/nriver): لعمله على تدويل التطبيق (دعم اللغات). +* [Thomas Frei](https://github.com/thfrei): لعمله الأصلي على "اللوحة" (Canvas). +* [antoniotejada](https://github.com/nriver): لأداة تمييز الصيغة البرمجية + (Syntax highlight) الأصلية. +* [Dosu](https://dosu.dev/): لتزويدنا بالردود الآلية على مشكلات ونقاشات GitHub. +* [Tabler Icons](https://tabler.io/icons): لأيقونات شريط النظام. -Trilium would not be possible without the technologies behind it: +لم يكن لـ Trilium أن يرى النور لولا التقنيات التي تقف خلفه: -* [CKEditor 5](https://github.com/ckeditor/ckeditor5) - the visual editor behind - text notes. We are grateful for being offered a set of the premium features. -* [CodeMirror](https://github.com/codemirror/CodeMirror) - code editor with - support for huge amount of languages. -* [Excalidraw](https://github.com/excalidraw/excalidraw) - the infinite - whiteboard used in Canvas notes. -* [Mind Elixir](https://github.com/SSShooter/mind-elixir-core) - providing the - mind map functionality. -* [Leaflet](https://github.com/Leaflet/Leaflet) - for rendering geographical - maps. -* [Tabulator](https://github.com/olifolkerd/tabulator) - for the interactive - table used in collections. -* [FancyTree](https://github.com/mar10/fancytree) - feature-rich tree library - without real competition. -* [jsPlumb](https://github.com/jsplumb/jsplumb) - visual connectivity library. - Used in [relation - maps](https://docs.triliumnotes.org/user-guide/note-types/relation-map) and - [link - maps](https://docs.triliumnotes.org/user-guide/advanced-usage/note-map#link-map) +* [CKEditor 5](https://github.com/ckeditor/ckeditor5): - المحرر المرئي خلف + الملاحظات النصية. نحن ممتنون لحصولنا على مجموعة من الميزات المدفوعة (Premium). +* [CodeMirror](https://github.com/codemirror/CodeMirror): - محرر أكواد يدعم + عدداً هائلاً من اللغات. +* [Excalidraw](https://github.com/excalidraw/excalidraw): - السبورة البيضاء + اللانهائية المستخدمة في ملاحظات Canvas. +* [Mind Elixir](https://github.com/SSShooter/mind-elixir-core): - يوفر وظائف + الخرائط الذهنية. +* [Leaflet](https://github.com/Leaflet/Leaflet): - لعرض الخرائط الجغرافية. +* [Tabulator](https://github.com/olifolkerd/tabulator): - للجداول التفاعلية + المستخدمة في المجموعات. +* [FancyTree](https://github.com/mar10/fancytree): - مكتبة "شجرية" غنية بالميزات + ولا يوجد لها منافس حقيقي. +* [jsPlumb](https://github.com/jsplumb/jsplumb): - مكتبة للربط المرئي، تُستخدم + في [خرائط + العلاقات](https://docs.triliumnotes.org/user-guide/note-types/relation-map) + و[خرائط + الروابط](https://docs.triliumnotes.org/user-guide/advanced-usage/note-map#link-map) ## 🤝 الدعم -Trilium is built and maintained with [hundreds of hours of -work](https://github.com/TriliumNext/Trilium/graphs/commit-activity). Your -support keeps it open-source, improves features, and covers costs such as -hosting. +تم بناء وصيانة برنامج Trilium بمئات الساعات من العمل. دعمكم يحافظ على كونه مفتوح +المصدر، ويحسن الميزات، ويغطي التكاليف مثل الاستضافة. -Consider supporting the main developer -([eliandoran](https://github.com/eliandoran)) of the application via: +يرجى التفكير في دعم المطور الرئيسي ([eliandoran](https://github.com/eliandoran)) +للتطبيق عبر: -- [GitHub Sponsors](https://github.com/sponsors/eliandoran) +- [رعاة GitHub](https://github.com/sponsors/eliandoran) - [PayPal](https://paypal.me/eliandoran) -- [Buy Me a Coffee](https://buymeacoffee.com/eliandoran) +- [اشترِ لي قهوة](https://buymeacoffee.com/eliandoran) ## 🔑 الترخيص -Copyright 2017-2025 zadam, Elian Doran, and other contributors +جميع الحقوق محفوظة لـ zadam وإليان دوران ومساهمين آخرين، من عام 2017 إلى عام +2025 -This program is free software: you can redistribute it and/or modify it under -the terms of the GNU Affero General Public License as published by the Free -Software Foundation, either version 3 of the License, or (at your option) any -later version. +هذا البرنامج هو برنامج مجاني: يمكنك إعادة توزيعه و/أو تعديله بموجب شروط رخصة جنو +أفيرو (GNU Affero) العامة كما نشرتها مؤسسة البرمجيات الحرة، سواء الإصدار 3 من +الرخصة، أو (حسب اختيارك) أي إصدار لاحق. diff --git a/docs/README-tr.md b/docs/README-tr.md index bd52da803b..9d9a7bc2db 100644 --- a/docs/README-tr.md +++ b/docs/README-tr.md @@ -50,10 +50,9 @@ edin(https://docs.triliumnotes.org/)** Dokümantasyonumuz birden fazla formatta mevcuttur: - **Çevrimiçi Dökümantasyon**: Tüm dökümantasyonu görebilmek için [docs.triliumnotes.org](https://docs.triliumnotes.org/)'a uğrayın -- **In-App Help**: Press `F1` within Trilium to access the same documentation - directly in the application -- **GitHub**: Navigate through the [User Guide](./User%20Guide/User%20Guide/) in - this repository +- **Uygulama içi Yardım**: Aynı dökümantasyona ulaşmak için Trillium + içerisindeyken `F1` tuşuna basın +- **Github**: Bu repodaki [Kullanıcı Rehberi] sayfasına yönelin ### Hızlı linkler - [Başlangıç Kılavuzu](https://docs.triliumnotes.org/) @@ -64,7 +63,7 @@ Dokümantasyonumuz birden fazla formatta mevcuttur: - [Patterns of Personal Knowledge Base](https://docs.triliumnotes.org/user-guide/misc/patterns-of-personal-knowledge) -## 🎁 Features +## 🎁 Özellikler * Notes can be arranged into arbitrarily deep tree. Single note can be placed into multiple places in the tree (see diff --git a/docs/Release Notes/!!!meta.json b/docs/Release Notes/!!!meta.json index 3c4265cdd4..581507ba06 100644 --- a/docs/Release Notes/!!!meta.json +++ b/docs/Release Notes/!!!meta.json @@ -61,6 +61,32 @@ "attachments": [], "dirFileName": "Release Notes", "children": [ + { + "isClone": false, + "noteId": "d582eD4RY4OM", + "notePath": [ + "hD3V4hiu2VW4", + "d582eD4RY4OM" + ], + "title": "v0.102.0", + "notePosition": 10, + "prefix": null, + "isExpanded": false, + "type": "text", + "mime": "text/html", + "attributes": [ + { + "type": "relation", + "name": "template", + "value": "wyurrlcDl416", + "isInheritable": false, + "position": 60 + } + ], + "format": "markdown", + "dataFileName": "v0.102.0.md", + "attachments": [] + }, { "isClone": false, "noteId": "IlBzLeN3MJhw", @@ -69,7 +95,7 @@ "IlBzLeN3MJhw" ], "title": "v0.101.3", - "notePosition": 10, + "notePosition": 20, "prefix": null, "isExpanded": false, "type": "text", @@ -95,7 +121,7 @@ "vcBthaXcwAm6" ], "title": "v0.101.2", - "notePosition": 20, + "notePosition": 30, "prefix": null, "isExpanded": false, "type": "text", @@ -121,7 +147,7 @@ "AgUcrU9nFXuW" ], "title": "v0.101.1", - "notePosition": 30, + "notePosition": 40, "prefix": null, "isExpanded": false, "type": "text", @@ -147,7 +173,7 @@ "uYwlZ594eyJu" ], "title": "v0.101.0", - "notePosition": 40, + "notePosition": 50, "prefix": null, "isExpanded": false, "type": "text", @@ -173,7 +199,7 @@ "iPGKEk7pwJXK" ], "title": "v0.100.0", - "notePosition": 50, + "notePosition": 60, "prefix": null, "isExpanded": false, "type": "text", @@ -199,7 +225,7 @@ "7HKMTjmopLcM" ], "title": "v0.99.5", - "notePosition": 60, + "notePosition": 70, "prefix": null, "isExpanded": false, "type": "text", @@ -225,7 +251,7 @@ "RMBaNYPsRpIr" ], "title": "v0.99.4", - "notePosition": 70, + "notePosition": 80, "prefix": null, "isExpanded": false, "type": "text", @@ -251,7 +277,7 @@ "yuroLztFfpu5" ], "title": "v0.99.3", - "notePosition": 80, + "notePosition": 90, "prefix": null, "isExpanded": false, "type": "text", @@ -277,7 +303,7 @@ "z207sehwMJ6C" ], "title": "v0.99.2", - "notePosition": 90, + "notePosition": 100, "prefix": null, "isExpanded": false, "type": "text", @@ -303,7 +329,7 @@ "WGQsXq2jNyTi" ], "title": "v0.99.1", - "notePosition": 100, + "notePosition": 110, "prefix": null, "isExpanded": false, "type": "text", @@ -329,7 +355,7 @@ "cyw2Yue9vXf3" ], "title": "v0.99.0", - "notePosition": 110, + "notePosition": 120, "prefix": null, "isExpanded": false, "type": "text", @@ -355,7 +381,7 @@ "QOJwjruOUr4k" ], "title": "v0.98.1", - "notePosition": 120, + "notePosition": 130, "prefix": null, "isExpanded": false, "type": "text", @@ -381,7 +407,7 @@ "PLUoryywi0BC" ], "title": "v0.98.0", - "notePosition": 130, + "notePosition": 140, "prefix": null, "isExpanded": false, "type": "text", @@ -407,7 +433,7 @@ "lvOuiWsLDv8F" ], "title": "v0.97.2", - "notePosition": 140, + "notePosition": 150, "prefix": null, "isExpanded": false, "type": "text", @@ -433,7 +459,7 @@ "OtFZ6Nd9vM3n" ], "title": "v0.97.1", - "notePosition": 150, + "notePosition": 160, "prefix": null, "isExpanded": false, "type": "text", @@ -459,7 +485,7 @@ "SJZ5PwfzHSQ1" ], "title": "v0.97.0", - "notePosition": 160, + "notePosition": 170, "prefix": null, "isExpanded": false, "type": "text", @@ -485,7 +511,7 @@ "mYXFde3LuNR7" ], "title": "v0.96.0", - "notePosition": 170, + "notePosition": 180, "prefix": null, "isExpanded": false, "type": "text", @@ -511,7 +537,7 @@ "jthwbL0FdaeU" ], "title": "v0.95.0", - "notePosition": 180, + "notePosition": 190, "prefix": null, "isExpanded": false, "type": "text", @@ -537,7 +563,7 @@ "7HGYsJbLuhnv" ], "title": "v0.94.1", - "notePosition": 190, + "notePosition": 200, "prefix": null, "isExpanded": false, "type": "text", @@ -563,7 +589,7 @@ "Neq53ujRGBqv" ], "title": "v0.94.0", - "notePosition": 200, + "notePosition": 210, "prefix": null, "isExpanded": false, "type": "text", @@ -589,7 +615,7 @@ "VN3xnce1vLkX" ], "title": "v0.93.0", - "notePosition": 210, + "notePosition": 220, "prefix": null, "isExpanded": false, "type": "text", @@ -607,7 +633,7 @@ "WRaBfQqPr6qo" ], "title": "v0.92.7", - "notePosition": 220, + "notePosition": 230, "prefix": null, "isExpanded": false, "type": "text", @@ -633,7 +659,7 @@ "a2rwfKNmUFU1" ], "title": "v0.92.6", - "notePosition": 230, + "notePosition": 240, "prefix": null, "isExpanded": false, "type": "text", @@ -651,7 +677,7 @@ "fEJ8qErr0BKL" ], "title": "v0.92.5-beta", - "notePosition": 240, + "notePosition": 250, "prefix": null, "isExpanded": false, "type": "text", @@ -669,7 +695,7 @@ "kkkZQQGSXjwy" ], "title": "v0.92.4", - "notePosition": 250, + "notePosition": 260, "prefix": null, "isExpanded": false, "type": "text", @@ -687,7 +713,7 @@ "vAroNixiezaH" ], "title": "v0.92.3-beta", - "notePosition": 260, + "notePosition": 270, "prefix": null, "isExpanded": false, "type": "text", @@ -705,7 +731,7 @@ "mHEq1wxAKNZd" ], "title": "v0.92.2-beta", - "notePosition": 270, + "notePosition": 280, "prefix": null, "isExpanded": false, "type": "text", @@ -723,7 +749,7 @@ "IykjoAmBpc61" ], "title": "v0.92.1-beta", - "notePosition": 280, + "notePosition": 290, "prefix": null, "isExpanded": false, "type": "text", @@ -741,7 +767,7 @@ "dq2AJ9vSBX4Y" ], "title": "v0.92.0-beta", - "notePosition": 290, + "notePosition": 300, "prefix": null, "isExpanded": false, "type": "text", @@ -759,7 +785,7 @@ "3a8aMe4jz4yM" ], "title": "v0.91.6", - "notePosition": 300, + "notePosition": 310, "prefix": null, "isExpanded": false, "type": "text", @@ -777,7 +803,7 @@ "8djQjkiDGESe" ], "title": "v0.91.5", - "notePosition": 310, + "notePosition": 320, "prefix": null, "isExpanded": false, "type": "text", @@ -795,7 +821,7 @@ "OylxVoVJqNmr" ], "title": "v0.91.4-beta", - "notePosition": 320, + "notePosition": 330, "prefix": null, "isExpanded": false, "type": "text", @@ -813,7 +839,7 @@ "tANGQDvnyhrj" ], "title": "v0.91.3-beta", - "notePosition": 330, + "notePosition": 340, "prefix": null, "isExpanded": false, "type": "text", @@ -831,7 +857,7 @@ "hMoBfwSoj1SC" ], "title": "v0.91.2-beta", - "notePosition": 340, + "notePosition": 350, "prefix": null, "isExpanded": false, "type": "text", @@ -849,7 +875,7 @@ "a2XMSKROCl9z" ], "title": "v0.91.1-beta", - "notePosition": 350, + "notePosition": 360, "prefix": null, "isExpanded": false, "type": "text", @@ -867,7 +893,7 @@ "yqXFvWbLkuMD" ], "title": "v0.90.12", - "notePosition": 360, + "notePosition": 370, "prefix": null, "isExpanded": false, "type": "text", @@ -885,7 +911,7 @@ "veS7pg311yJP" ], "title": "v0.90.11-beta", - "notePosition": 370, + "notePosition": 380, "prefix": null, "isExpanded": false, "type": "text", @@ -903,7 +929,7 @@ "sq5W9TQxRqMq" ], "title": "v0.90.10-beta", - "notePosition": 380, + "notePosition": 390, "prefix": null, "isExpanded": false, "type": "text", @@ -921,7 +947,7 @@ "yFEGVCUM9tPx" ], "title": "v0.90.9-beta", - "notePosition": 390, + "notePosition": 400, "prefix": null, "isExpanded": false, "type": "text", @@ -939,7 +965,7 @@ "o4wAGqOQuJtV" ], "title": "v0.90.8", - "notePosition": 400, + "notePosition": 410, "prefix": null, "isExpanded": false, "type": "text", @@ -972,7 +998,7 @@ "i4A5g9iOg9I0" ], "title": "v0.90.7-beta", - "notePosition": 410, + "notePosition": 420, "prefix": null, "isExpanded": false, "type": "text", @@ -990,7 +1016,7 @@ "ThNf2GaKgXUs" ], "title": "v0.90.6-beta", - "notePosition": 420, + "notePosition": 430, "prefix": null, "isExpanded": false, "type": "text", @@ -1008,7 +1034,7 @@ "G4PAi554kQUr" ], "title": "v0.90.5-beta", - "notePosition": 430, + "notePosition": 440, "prefix": null, "isExpanded": false, "type": "text", @@ -1035,7 +1061,7 @@ "zATRobGRCmBn" ], "title": "v0.90.4", - "notePosition": 440, + "notePosition": 450, "prefix": null, "isExpanded": false, "type": "text", @@ -1053,7 +1079,7 @@ "sCDLf8IKn3Iz" ], "title": "v0.90.3", - "notePosition": 450, + "notePosition": 460, "prefix": null, "isExpanded": false, "type": "text", @@ -1071,7 +1097,7 @@ "VqqyBu4AuTjC" ], "title": "v0.90.2-beta", - "notePosition": 460, + "notePosition": 470, "prefix": null, "isExpanded": false, "type": "text", @@ -1089,7 +1115,7 @@ "RX3Nl7wInLsA" ], "title": "v0.90.1-beta", - "notePosition": 470, + "notePosition": 480, "prefix": null, "isExpanded": false, "type": "text", @@ -1107,7 +1133,7 @@ "GyueACukPWjk" ], "title": "v0.90.0-beta", - "notePosition": 480, + "notePosition": 490, "prefix": null, "isExpanded": false, "type": "text", @@ -1125,7 +1151,7 @@ "kzjHexDTTeVB" ], "title": "v0.48", - "notePosition": 490, + "notePosition": 500, "prefix": null, "isExpanded": false, "type": "text", @@ -1192,7 +1218,7 @@ "wyurrlcDl416" ], "title": "Release Template", - "notePosition": 500, + "notePosition": 510, "prefix": null, "isExpanded": false, "type": "text", diff --git a/docs/Release Notes/Release Notes/Release Template.md b/docs/Release Notes/Release Notes/Release Template.md index d1371c558a..ff160444ca 100644 --- a/docs/Release Notes/Release Notes/Release Template.md +++ b/docs/Release Notes/Release Notes/Release Template.md @@ -1,17 +1,19 @@ # Release Template > [!NOTE] -> If you are interested in an [official mobile application](https://oss.issuehunt.io/r/TriliumNext/Trilium/issues/7447)  ([#7447](https://github.com/TriliumNext/Trilium/issues/7447)) or [multi-user support](https://oss.issuehunt.io/r/TriliumNext/Trilium/issues/4956) ([#4956](https://github.com/TriliumNext/Trilium/issues/4956)), consider offering financial support via IssueHunt (see links). - -> [!IMPORTANT] > If you enjoyed this release, consider showing a token of appreciation by: > > * Pressing the “Star” button on [GitHub](https://github.com/TriliumNext/Trilium) (top-right). > * Considering a one-time or recurrent donation to the [lead developer](https://github.com/eliandoran) via [GitHub Sponsors](https://github.com/sponsors/eliandoran) or [PayPal](https://paypal.me/eliandoran). +> * If you are interested in an [official mobile application](https://oss.issuehunt.io/r/TriliumNext/Trilium/issues/7447)  ([#7447](https://github.com/TriliumNext/Trilium/issues/7447)) or [multi-user support](https://oss.issuehunt.io/r/TriliumNext/Trilium/issues/4956) ([#4956](https://github.com/TriliumNext/Trilium/issues/4956)), consider offering financial support via IssueHunt (see links). ## 💡 Key highlights * \[…\] +## 📱 Mobile improvements + +* \[…\] + ## 🐞 Bugfixes * \[…\] diff --git a/docs/Release Notes/Release Notes/v0.102.0.md b/docs/Release Notes/Release Notes/v0.102.0.md new file mode 100644 index 0000000000..fe554fe601 --- /dev/null +++ b/docs/Release Notes/Release Notes/v0.102.0.md @@ -0,0 +1,210 @@ +# v0.102.0 +> [!IMPORTANT] +> LLM integration was removed due to the complexity of maintaining this feature. For more information, see [#8797](https://github.com/orgs/TriliumNext/discussions/8797). This means that the database needs migration (downgrades will not be possible without restoring from backup), but it will not affect the sync with the server. + +> [!NOTE] +> If you enjoyed this release, consider showing a token of appreciation by: +> +> * Pressing the “Star” button on [GitHub](https://github.com/TriliumNext/Trilium) (top-right). +> * Considering a one-time or recurrent donation to the [lead developer](https://github.com/eliandoran) via [GitHub Sponsors](https://github.com/sponsors/eliandoran) or [PayPal](https://paypal.me/eliandoran). +> * If you are interested in an [official mobile application](https://oss.issuehunt.io/r/TriliumNext/Trilium/issues/7447)  ([#7447](https://github.com/TriliumNext/Trilium/issues/7447)) or [multi-user support](https://oss.issuehunt.io/r/TriliumNext/Trilium/issues/4956) ([#4956](https://github.com/TriliumNext/Trilium/issues/4956)), consider offering financial support via IssueHunt (see links). + +## 💡 Key highlights + +* Trilium now has support for **custom icon packs** that can be used for note icons. See [Icon Packs - User Guide](https://docs.triliumnotes.org/user-guide/concepts/themes/icon-packs) for more info and a list of [official icon packs](https://triliumnotes.org/en/resources). +* New layout now provides a save indicator near the note title. +* Trilium now uses its own PDF renderer (based on PDF.js viewer from Mozilla). This allows for more features such as annotations, search (within the current file), filling forms as well as remembering last reading position. See [documentation](https://docs.triliumnotes.org/user-guide/note-types/file/pdf) for more info. +* Some Collections will hide their children in the note tree by default. See [the documentation](https://docs.triliumnotes.org/user-guide/concepts/ui/note-tree/hiding-subtree) for details. +* **jQuery has been updated to v4.0.0 which introduces breaking changes that could potentially affect your scripts.** +* Desktop app: background effects (Vibrancy) are now available for macOS. + +## 📱 Mobile improvements + +* Collections now show the “Collection properties” toolbar, allowing to switch views and configure the collection. +* The tab row was removed in favor of a more browser-like tab switcher, displayed as a modal with note preview. +* The title row was significantly changed: + * The note icon is now displayed with the possibility of changing the icon. + * Inherited from the new layout on desktop: the note badges (read-only, shared), save indicator. + * Icons should now be easier to press. + * The inline title for text and code notes from new layout is now available. +* The note actions menu (right of note title): + * All the features that are available on the desktop on the new layout are now available, allowing features such as search, toggling share/template/bookmark, changing note type/editability and even import/export/print. + * Some components from the status bar were also relocated here for mobile: backlinks, note paths, attachments, note info, similar notes and text/code language switchers. + * Custom note actions (note-specific) were also ported, with buttons such as “Run active note”, “Toggle read-only”, “Upload new revision”. +* Launch bar improvements + * [Custom mobile launchbar launcher](https://github.com/TriliumNext/Trilium/issues/8054) + * [Add Bookmarks launcher to mobile UI](https://github.com/TriliumNext/Trilium/issues/5464) +* New split (empty tab): added button to close the split. +* Promoted attributes are no longer fixed at the top and are part of the scrollable area, including a way to collapse it. +* Background effects are now enforced to be disabled, to avoid performance issues. This also fixes grayish menus due to the black backdrop. +* Virtual keyboard detection not working properly on iOS +* Search for notes is now available for mobile, either via the launch bar or the global menu. The layout was optimized slightly for mobile. +* Recent notes are also available, via the launch bar or a dedicated entry in the global menu. +* [Editor format bar not visible after clicking button to edit 'readOnly' note in mobile view](https://github.com/TriliumNext/Trilium/issues/5368) +* [Support Saved Search Notes on Mobile UI](https://github.com/TriliumNext/Trilium/issues/4022) +* [Oversized note title and editor toolbar is cut off](https://github.com/TriliumNext/Trilium/issues/8205). +* [Web clipper "save link with a note", cannot see the link in android mobile view](https://github.com/TriliumNext/Trilium/issues/5198) +* [Add note attachment functionality to mobile web UI](https://github.com/TriliumNext/Trilium/issues/6490) +* Improved the layout of Shortcut options page. +* Added scroll padding to text and code notes (same as desktop). +* Improved the fit of empty tab. +* Fixed some usability issues with the side bar tree: too easy to close, tooltip remained stuck, sometimes cut at the bottom on some browsers. +* Search in full text in Jump to note is overlapped by text +* Keyboard shortcut plus symbol shown on some buttons +* Virtual keyboard detection not working on Android +* Toast not respecting safe area +* iOS viewport shifting in split notes +* Issues with formatting toolbar on iOS (Background, positioning, dragging) + +## 🐞 Bugfixes + +* Status bar: Attribute count counts internal links as well. +* Various UI fixes by @adoriandoran +* Boxicons: `border-right` icon missing. +* Share export: + * ZIP attachments having wrong extension. + * JS frontend files having the wrong extension by @kalbasit + * [Prevent crashing if candidate note is null](https://github.com/TriliumNext/Trilium/pull/8164) by @kalbasit +* PDF: clicking on the document doesn't focus the note in the note tree. +* [Colors with upper case or invalid colors can cause a crash](https://github.com/TriliumNext/Trilium/issues/8232) +* [New Layout performance issue: excessive calls to custom widget refresh/reload API](https://github.com/TriliumNext/Trilium/pull/8233) by @lzinga +* [Exporting a note as a static website (format == share) should support ~shareJs](https://github.com/TriliumNext/Trilium/issues/8171) by @kalbasit +* [Toggling right pane visibility incorrectly affects all windows](https://github.com/TriliumNext/Trilium/pull/8226) by @SiriusXT +* Revisions not displaying meta info (mime and file size) for `file` types. +* [Solved some performance issues](https://github.com/TriliumNext/Trilium/pull/8274) regarding the tree, especially if hoisted notes are involved: + * Tree is updated on content changes. + * Batch update causing a reduction in performance. + * Slow rendering of nodes. +* [Keyboard combinations with Alt not working properly on macOS](https://github.com/TriliumNext/Trilium/pull/8369) by @chloelee767 +* Markdown export not preserving HTML entities correctly. +* Error when printing presentations. +* Syntax highlighting tooltip in Settings → Code Options not indicating correct information. +* [Render notes not refreshing on attribute change](https://github.com/TriliumNext/Trilium/issues/8321) +* [Promoted attributes: check boxes not displaying initial value correctly](https://github.com/TriliumNext/Trilium/issues/8062) +* [Race condition in syntax highlight in the note list](https://github.com/TriliumNext/Trilium/issues/8464) +* [Mermaid graphs only render once unlocked and relocked](https://github.com/TriliumNext/Trilium/issues/8419) +* [Quick edit not working properly if “Keep content centered” is checked](https://github.com/TriliumNext/Trilium/issues/8371) +* [Canvas background color is not saved](https://github.com/TriliumNext/Trilium/issues/8325) +* [Calendar collection not respecting default formatting locale and casing](https://github.com/TriliumNext/Trilium/issues/8507) +* [Missing "Note Paths" in new layout if note is partially in hidden notes](https://github.com/TriliumNext/Trilium/issues/8597) +* New layout: Note type switcher shown in non-standard view modes (e.g. view source) +* [Keep content centered does not center "Notes edited on this day"](https://github.com/TriliumNext/Trilium/issues/8334) +* [Search error tooltips are not displayed in user interface](https://github.com/TriliumNext/Trilium/issues/8704) +* [RelationMap crashes when switching an empty note to Map view (TypeError: Cannot read properties of undefined (reading 'map'))](https://github.com/TriliumNext/Trilium/issues/8702) +* [Cannot select option in advanced sub-menu in some language](https://github.com/TriliumNext/Trilium/issues/8694) +* [web-clipper page 404 on triliumnotes.org](https://github.com/TriliumNext/Trilium/issues/8596) +* [web view note in second window does not load content](https://github.com/TriliumNext/Trilium/pull/8739) by @contributor +* [Wrong sync status tooltip](https://github.com/TriliumNext/Trilium/issues/8266) +* Code notes: + * Clicking at the bottom of a note would change the view port and affect all splits. + * Missing Node globals in linter for backend notes. +* Breadcrumb would split on multiple lines when width is constrained. +* Clicking on a web view would not activate the split. +* [When using the legacy theme, the window cannot be dragged in vertical layout](https://github.com/TriliumNext/Trilium/issues/8402) +* Fixed some issues with promoted attributes: + * Typing sometimes misses characters. + * Duplicate auto-complete instances. + * Flicker when applying autocomplete suggestion. +* Potential refresh issue in inherited attribute list. +* Calendar: creating a note in an unhoisted `#workspaceCalendarRoot` would create it in the `#calendarRoot` instead. +* HTML static export: exporting root tree would show “Hidden Notes” in the tree. +* [Breadcrumb not reacting to title updates](https://github.com/TriliumNext/Trilium/pull/8784) by @vedanshbodkhe21 +* Search: + * “No results” message not shown + * Double scroll bars +* [Fix week note title error when cross year](https://github.com/TriliumNext/Trilium/pull/8431) by @JYC333 +* Text notes: + * [Tab and Shift+Tab select images, tables, etc instead of indenting](https://github.com/TriliumNext/Trilium/issues/7986) by @perfectra1n + * [Tab key (⭾) jumps to footnote instead of indenting text](https://github.com/TriliumNext/Trilium/issues/7476) +* [Searching with orderby and parentheses](https://github.com/TriliumNext/Trilium/pull/8717) by @misch334 +* [After a protected note automatically re-enters protection mode, its status does not refresh automatically](https://github.com/TriliumNext/Trilium/issues/7761) +* Help notes are renamable. +* Canvas: not switching the dark mode at once with the system, remains in a messy state +* Mindmap: when app is dark mode and the mindmap is light, the input fields has no longer visible text + +## ✨ Improvements + +* Significant improvements to the icon selector. + * **Uses a virtual list pattern, allowing for 20k+ icons with little impact.** + * Placeholders and messages based on results. + * The icon categories feature was completely removed. This decision better aligns with support for multiple icon packs. + * Icons should now fit better (no unnecessary whitespace). + * Icons can be filtered by icon pack. + * “Reset to default” icon was converted to an icon near the filter button. +* Attachments list: MIME type is now displayed as well. +* [Note tree: Tooltips for share & clone icons](https://github.com/TriliumNext/Trilium/pull/8211) by @perfectra1n +* Improvements to _Note Revisions_: + * Previews now displayed for the following _File_ types: audio, video, PDF. + * Reduced layout shrinking on desktop. +* Markdown: + * Preserve HTML and JSX language tags in code blocks when importing. + * Add `spellcheck=false` to inline code. +* [Add right-click context menu to note list](https://github.com/TriliumNext/Trilium/pull/8254) by @SiriusXT +* [Visual math equation editor](https://github.com/TriliumNext/Trilium/pull/7842) by @Meinzzzz +* [Add logseq to supported protocols](https://github.com/TriliumNext/Trilium/pull/8320) by @contributor +* [Open notes in new window from tree](https://github.com/TriliumNext/Trilium/pull/8269) by @SiriusXT +* [Add "latex" alias for math command](https://github.com/TriliumNext/Trilium/pull/8357) by @Atmois +* [Show more helpful output when users encounter permissions issues within the data directory](https://github.com/TriliumNext/Trilium/pull/8273) by @perfectra1n +* [Ensure that "folders first" ordering mode doesn't place folder notes on top of notes flagged as #top](https://github.com/TriliumNext/Trilium/pull/7878) by @rom1dep +* Minor change in behavior for PDFs file notes: + * Dedicated default icon for PDF files. + * Remove extension from title for single PDF imports and replace underlines with space. +* Major improvements to SQL console: + * Integrated a better table system for displaying results, with sorting, pagination and filtering. + * The query can be hidden by locking the note for editing, for saved SQL notes. + * See [documentation](https://docs.triliumnotes.org/user-guide/advanced-usage/database/manual-editing/sql-console) for more info. +* Collections: + * Calendar: Slighter better performance and fewer glitches when adding, moving or deleting entries. + * The “Collection properties” toolbar is now displayed on both the new and old layouts. + * Collection-specific buttons such as the calendar or geomap buttons are now directly integrated into “Collection properties” to reduce vertical space usage. + * As such, some floating buttons were integrated into “Collection properties”. + * Geomap: Custom raster tiles are now supported by providing an URL, see documentation. +* ETAPI + * [Add revisions route and "undelete" route](https://github.com/TriliumNext/Trilium/pull/8455) by @perfectra1n + * [Add attachments route](https://github.com/TriliumNext/Trilium/pull/8578) by @perfectra1n +* Report printing/export to PDF errors on desktop. +* Active content (widgets, scripts) now have a dedicated badge on new layout with options to configure and toggle them easily. +* Setup screen for newly created web views by @adoriandoran +* Setup screen for newly created render notes. +* Warning screen for disabled web views & render notes. +* Display errors when rendering notes. +* [Improve card design](https://github.com/TriliumNext/Trilium/pull/8728/changes) by @adoriandoran +* [Disable hover and nested background darkening in list view](https://github.com/TriliumNext/Trilium/issues/8267) by @adoriandoran +* [List collections & search results: overhaul the list UI](https://github.com/TriliumNext/Trilium/pull/8705) by @adoriandoran +* Improve list pagination by @adoriandoran +* [Always show Note Paths in Status Bar](https://github.com/TriliumNext/Trilium/pull/8623) by @contributor +* Search: Improved the design of the “Search not yet executed” and “No results” messages +* Share: + * Add download icon to attachment links. + * [Align mobile/desktop UI with unified header](https://github.com/TriliumNext/Trilium/pull/8484) by @kalbasit +* Improve styling of grid and list view by @adoriandoran +* [Adopt MD060 compact style for table cells](https://github.com/TriliumNext/Trilium/pull/8840) by @yzx9 +* [PDF.js styling](https://github.com/TriliumNext/Trilium/pull/8857) by @adoriandoran +* [Desktop: Copy as Markdown](https://github.com/TriliumNext/Trilium/pull/8808) by @yzx9 + +## 📖 Documentation + +* Importing from Evernote by @miljed +* [Add subtreeHidden and map:\* attributes to labels documentation](https://github.com/TriliumNext/Trilium/pull/8594) & other documentation improvements by @hulmgulm +* enhanced icon pack creation by @hulmgulm + +## 🌍 Internationalization + +* Added support for Polish. +* Added support for Irish. +* Added support for Hindi by @vedanshbodkhe21. +* Many translation improvements. + +## 🛠️ Technical updates + +* Change /calendar/weeks/{date} to use ISO week format by @openapphub +* [Fix race condition in edit-docs Electron ready event](https://github.com/TriliumNext/Trilium/pull/8344) by @kalbasit +* [Allow other projects to use edit-docs for their own documentation](https://github.com/TriliumNext/Trilium/issues/8343) by @kalbasit +* CKEditor was updated, which should fix some stability issues. +* The desktop client was upgraded to Electron v40. +* Update Nix flake by @kalbasit +* [Similar Notes style is hardcoded](https://github.com/TriliumNext/Trilium/issues/2137) by @adoriandoran +* [Enhance build-docs utility with pnpm and Nix support](https://github.com/TriliumNext/Trilium/pull/8574) by @kalbasit +* add generic debugging/dap launch.json for client, server and vitest by @misch334 +* [Theming: color scheme selectors](https://github.com/TriliumNext/Trilium/pull/8839) by @adoriandoran +* [Theming: include the current theme ID as an attribute for the body element](https://github.com/TriliumNext/Trilium/pull/8842) by @adoriandoran \ No newline at end of file diff --git a/package.json b/package.json index f5750c4021..dcd39148c7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@triliumnext/source", - "version": "0.101.3", + "version": "0.102.0", "description": "Build your personal knowledge base with Trilium Notes", "directories": { "doc": "docs" diff --git a/packages/ckeditor5-admonition/package.json b/packages/ckeditor5-admonition/package.json index c14b7a9a4e..154b28f60a 100644 --- a/packages/ckeditor5-admonition/package.json +++ b/packages/ckeditor5-admonition/package.json @@ -32,7 +32,7 @@ "eslint": "10.0.2", "eslint-config-ckeditor5": ">=9.1.0", "http-server": "14.1.1", - "lint-staged": "16.2.7", + "lint-staged": "16.3.1", "stylelint": "17.4.0", "stylelint-config-ckeditor5": ">=9.1.0", "ts-node": "10.9.2", diff --git a/packages/ckeditor5-footnotes/package.json b/packages/ckeditor5-footnotes/package.json index 2b913cf2fe..94e67d3f91 100644 --- a/packages/ckeditor5-footnotes/package.json +++ b/packages/ckeditor5-footnotes/package.json @@ -33,7 +33,7 @@ "eslint": "10.0.2", "eslint-config-ckeditor5": ">=9.1.0", "http-server": "14.1.1", - "lint-staged": "16.2.7", + "lint-staged": "16.3.1", "stylelint": "17.4.0", "stylelint-config-ckeditor5": ">=9.1.0", "ts-node": "10.9.2", diff --git a/packages/ckeditor5-keyboard-marker/package.json b/packages/ckeditor5-keyboard-marker/package.json index 804addead3..0e15bb1e6e 100644 --- a/packages/ckeditor5-keyboard-marker/package.json +++ b/packages/ckeditor5-keyboard-marker/package.json @@ -35,7 +35,7 @@ "eslint": "10.0.2", "eslint-config-ckeditor5": ">=9.1.0", "http-server": "14.1.1", - "lint-staged": "16.2.7", + "lint-staged": "16.3.1", "stylelint": "17.4.0", "stylelint-config-ckeditor5": ">=9.1.0", "ts-node": "10.9.2", diff --git a/packages/ckeditor5-math/package.json b/packages/ckeditor5-math/package.json index f3fbe91284..c84b845418 100644 --- a/packages/ckeditor5-math/package.json +++ b/packages/ckeditor5-math/package.json @@ -35,7 +35,7 @@ "eslint": "10.0.2", "eslint-config-ckeditor5": ">=9.1.0", "http-server": "14.1.1", - "lint-staged": "16.2.7", + "lint-staged": "16.3.1", "stylelint": "17.4.0", "stylelint-config-ckeditor5": ">=9.1.0", "ts-node": "10.9.2", diff --git a/packages/ckeditor5-mermaid/package.json b/packages/ckeditor5-mermaid/package.json index 7c625b9f8d..c6b788f4ff 100644 --- a/packages/ckeditor5-mermaid/package.json +++ b/packages/ckeditor5-mermaid/package.json @@ -35,7 +35,7 @@ "eslint": "10.0.2", "eslint-config-ckeditor5": ">=9.1.0", "http-server": "14.1.1", - "lint-staged": "16.2.7", + "lint-staged": "16.3.1", "stylelint": "17.4.0", "stylelint-config-ckeditor5": ">=9.1.0", "ts-node": "10.9.2", diff --git a/packages/commons/package.json b/packages/commons/package.json index 0b30be8115..8d32ca4042 100644 --- a/packages/commons/package.json +++ b/packages/commons/package.json @@ -1,6 +1,6 @@ { "name": "@triliumnext/commons", - "version": "0.101.3", + "version": "0.102.0", "description": "Shared library between the clients (e.g. browser, Electron) and the server, mostly for type definitions and utility methods.", "private": true, "type": "module", diff --git a/packages/pdfjs-viewer/src/custom.css b/packages/pdfjs-viewer/src/custom.css index bee9cfcf26..8f7ff95343 100644 --- a/packages/pdfjs-viewer/src/custom.css +++ b/packages/pdfjs-viewer/src/custom.css @@ -91,7 +91,7 @@ input[type="number"] { --input-horizontal-padding: 8px; border-radius: 4px !important; - font-size: .85rem !important; + font-size: .85rem; &:hover { --field-bg-color: var(--tn-input-hover-background); @@ -135,12 +135,14 @@ input[type="color"] { /* #region Toolbar */ -#toolbarContainer select.scaleSelect, -#toolbarContainer input.pageNumber { +#toolbarContainer select#scaleSelect, +#toolbarContainer input#pageNumber { height: calc(var(--toolbar-height) - 8px); padding-block: 0; + font-size: 13px; } + #toolbarContainer { padding-inline: 12px; } @@ -230,14 +232,19 @@ input[type="color"] { } #toolbarContainer #toolbarViewer #pageNumber { - font-size: 12px; font-weight: 600; } +#numPages { + font-size: 13px; + line-height: unset; +} + #scaleSelectContainer { --dropdown-btn-bg-color: transparent; --button-hover-color: transparent; border-radius: 6px; + margin-top: 1px; &:hover, &:focus-within{ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 56397faaaf..4ab6e16033 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -73,10 +73,10 @@ importers: version: 24.11.0 '@vitest/browser-webdriverio': specifier: 4.0.18 - version: 4.0.18(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.18)(webdriverio@9.24.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + version: 4.0.18(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.0.18)(webdriverio@9.24.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/coverage-v8': specifier: 4.0.18 - version: 4.0.18(@vitest/browser@4.0.18(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.18))(vitest@4.0.18) + version: 4.0.18(@vitest/browser@4.0.18(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.0.18))(vitest@4.0.18) '@vitest/ui': specifier: 4.0.18 version: 4.0.18(vitest@4.0.18) @@ -127,7 +127,7 @@ importers: version: 0.18.0 rollup-plugin-webpack-stats: specifier: 2.1.11 - version: 2.1.11(rolldown@1.0.0-beta.29)(rollup@4.52.0)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) + version: 2.1.11(rolldown@1.0.0-beta.29)(rollup@4.52.0)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2)) tslib: specifier: 2.8.1 version: 2.8.1 @@ -145,13 +145,13 @@ importers: version: 2.0.1 vite: specifier: 7.3.1 - version: 7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + version: 7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2) vite-plugin-dts: specifier: 4.5.4 - version: 4.5.4(@types/node@24.11.0)(rollup@4.52.0)(typescript@5.9.3)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) + version: 4.5.4(@types/node@24.11.0)(rollup@4.52.0)(typescript@5.9.3)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2)) vitest: specifier: 4.0.18 - version: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.11.0)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(happy-dom@20.7.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.31.1)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + version: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.11.0)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(happy-dom@20.7.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.31.1)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2) apps/build-docs: devDependencies: @@ -267,8 +267,8 @@ importers: specifier: 1.51.1 version: 1.51.1 globals: - specifier: 17.3.0 - version: 17.3.0 + specifier: 17.4.0 + version: 17.4.0 i18next: specifier: 25.8.13 version: 25.8.13(typescript@5.9.3) @@ -344,7 +344,7 @@ importers: version: 5.0.0 '@prefresh/vite': specifier: 2.4.12 - version: 2.4.12(preact@10.28.4)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) + version: 2.4.12(preact@10.28.4)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2)) '@types/bootstrap': specifier: 5.2.10 version: 5.2.10 @@ -380,7 +380,7 @@ importers: version: 0.7.2 vite-plugin-static-copy: specifier: 3.2.0 - version: 3.2.0(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) + version: 3.2.0(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2)) apps/db-compare: dependencies: @@ -816,7 +816,7 @@ importers: version: 1.0.1 vite: specifier: 7.3.1 - version: 7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + version: 7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2) ws: specifier: 8.19.0 version: 8.19.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -841,10 +841,10 @@ importers: devDependencies: '@wxt-dev/auto-icons': specifier: 1.1.1 - version: 1.1.1(wxt@0.20.18(@types/node@24.11.0)(eslint@10.0.2(jiti@2.6.1))(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(rollup@4.52.0)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) + version: 1.1.1(wxt@0.20.18(@types/node@24.11.0)(eslint@10.0.2(jiti@2.6.1))(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(rollup@4.52.0)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2)) wxt: specifier: 0.20.18 - version: 0.20.18(@types/node@24.11.0)(eslint@10.0.2(jiti@2.6.1))(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(rollup@4.52.0)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + version: 0.20.18(@types/node@24.11.0)(eslint@10.0.2(jiti@2.6.1))(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(rollup@4.52.0)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2) apps/website: dependencies: @@ -869,7 +869,7 @@ importers: devDependencies: '@preact/preset-vite': specifier: 2.10.3 - version: 2.10.3(@babel/core@7.28.0)(preact@10.28.4)(rollup@4.52.0)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) + version: 2.10.3(@babel/core@7.28.0)(preact@10.28.4)(rollup@4.52.0)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2)) eslint: specifier: 10.0.2 version: 10.0.2(jiti@2.6.1) @@ -884,10 +884,10 @@ importers: version: 0.4.2 vite: specifier: 7.3.1 - version: 7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + version: 7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2) vitest: specifier: 4.0.18 - version: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.11.0)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(happy-dom@20.7.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.31.1)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + version: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.11.0)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(happy-dom@20.7.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.31.1)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2) packages/ckeditor5: dependencies: @@ -942,7 +942,7 @@ importers: version: 8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) '@vitest/browser': specifier: 4.0.18 - version: 4.0.18(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.18) + version: 4.0.18(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.0.18) '@vitest/coverage-istanbul': specifier: 4.0.18 version: 4.0.18(vitest@4.0.18) @@ -959,8 +959,8 @@ importers: specifier: 14.1.1 version: 14.1.1 lint-staged: - specifier: 16.2.7 - version: 16.2.7 + specifier: 16.3.1 + version: 16.3.1 stylelint: specifier: 17.4.0 version: 17.4.0(typescript@5.9.3) @@ -975,10 +975,10 @@ importers: version: 5.9.3 vite-plugin-svgo: specifier: 2.0.0 - version: 2.0.0(typescript@5.9.3)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) + version: 2.0.0(typescript@5.9.3)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2)) vitest: specifier: 4.0.18 - version: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.11.0)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(happy-dom@20.7.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.31.1)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + version: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.11.0)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(happy-dom@20.7.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.31.1)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2) webdriverio: specifier: 9.24.0 version: 9.24.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -1002,7 +1002,7 @@ importers: version: 8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) '@vitest/browser': specifier: 4.0.18 - version: 4.0.18(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.18) + version: 4.0.18(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.0.18) '@vitest/coverage-istanbul': specifier: 4.0.18 version: 4.0.18(vitest@4.0.18) @@ -1019,8 +1019,8 @@ importers: specifier: 14.1.1 version: 14.1.1 lint-staged: - specifier: 16.2.7 - version: 16.2.7 + specifier: 16.3.1 + version: 16.3.1 stylelint: specifier: 17.4.0 version: 17.4.0(typescript@5.9.3) @@ -1035,10 +1035,10 @@ importers: version: 5.9.3 vite-plugin-svgo: specifier: 2.0.0 - version: 2.0.0(typescript@5.9.3)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) + version: 2.0.0(typescript@5.9.3)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2)) vitest: specifier: 4.0.18 - version: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.11.0)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(happy-dom@20.7.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.31.1)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + version: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.11.0)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(happy-dom@20.7.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.31.1)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2) webdriverio: specifier: 9.24.0 version: 9.24.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -1062,7 +1062,7 @@ importers: version: 8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) '@vitest/browser': specifier: 4.0.18 - version: 4.0.18(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.18) + version: 4.0.18(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.0.18) '@vitest/coverage-istanbul': specifier: 4.0.18 version: 4.0.18(vitest@4.0.18) @@ -1079,8 +1079,8 @@ importers: specifier: 14.1.1 version: 14.1.1 lint-staged: - specifier: 16.2.7 - version: 16.2.7 + specifier: 16.3.1 + version: 16.3.1 stylelint: specifier: 17.4.0 version: 17.4.0(typescript@5.9.3) @@ -1095,10 +1095,10 @@ importers: version: 5.9.3 vite-plugin-svgo: specifier: 2.0.0 - version: 2.0.0(typescript@5.9.3)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) + version: 2.0.0(typescript@5.9.3)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2)) vitest: specifier: 4.0.18 - version: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.11.0)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(happy-dom@20.7.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.31.1)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + version: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.11.0)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(happy-dom@20.7.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.31.1)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2) webdriverio: specifier: 9.24.0 version: 9.24.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -1129,7 +1129,7 @@ importers: version: 8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) '@vitest/browser': specifier: 4.0.18 - version: 4.0.18(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.18) + version: 4.0.18(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.0.18) '@vitest/coverage-istanbul': specifier: 4.0.18 version: 4.0.18(vitest@4.0.18) @@ -1146,8 +1146,8 @@ importers: specifier: 14.1.1 version: 14.1.1 lint-staged: - specifier: 16.2.7 - version: 16.2.7 + specifier: 16.3.1 + version: 16.3.1 stylelint: specifier: 17.4.0 version: 17.4.0(typescript@5.9.3) @@ -1162,10 +1162,10 @@ importers: version: 5.9.3 vite-plugin-svgo: specifier: 2.0.0 - version: 2.0.0(typescript@5.9.3)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) + version: 2.0.0(typescript@5.9.3)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2)) vitest: specifier: 4.0.18 - version: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.11.0)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(happy-dom@20.7.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.31.1)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + version: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.11.0)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(happy-dom@20.7.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.31.1)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2) webdriverio: specifier: 9.24.0 version: 9.24.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -1196,7 +1196,7 @@ importers: version: 8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3) '@vitest/browser': specifier: 4.0.18 - version: 4.0.18(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.18) + version: 4.0.18(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.0.18) '@vitest/coverage-istanbul': specifier: 4.0.18 version: 4.0.18(vitest@4.0.18) @@ -1213,8 +1213,8 @@ importers: specifier: 14.1.1 version: 14.1.1 lint-staged: - specifier: 16.2.7 - version: 16.2.7 + specifier: 16.3.1 + version: 16.3.1 stylelint: specifier: 17.4.0 version: 17.4.0(typescript@5.9.3) @@ -1229,10 +1229,10 @@ importers: version: 5.9.3 vite-plugin-svgo: specifier: 2.0.0 - version: 2.0.0(typescript@5.9.3)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) + version: 2.0.0(typescript@5.9.3)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2)) vitest: specifier: 4.0.18 - version: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.11.0)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(happy-dom@20.7.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.31.1)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + version: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.11.0)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(happy-dom@20.7.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.31.1)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2) webdriverio: specifier: 9.24.0 version: 9.24.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -7452,8 +7452,8 @@ packages: resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} engines: {node: '>=18'} - commander@14.0.2: - resolution: {integrity: sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==} + commander@14.0.3: + resolution: {integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==} engines: {node: '>=20'} commander@2.20.3: @@ -9348,8 +9348,8 @@ packages: resolution: {integrity: sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==} engines: {node: '>=18'} - globals@17.3.0: - resolution: {integrity: sha512-yMqGUQVVCkD4tqjOJf3TnrvaaHDMYp4VlUSObbkIiuCPe/ofdMBFIAcBbCSRFWOnos6qRiTVStDwqPLUclaxIw==} + globals@17.4.0: + resolution: {integrity: sha512-hjrNztw/VajQwOLsMNT1cbJiH2muO3OROCHnbehc8eY5JyD2gqz4AcMHPqgaOR59DjgUjYAYLeH699g/eWi2jw==} engines: {node: '>=18'} globalthis@1.0.4: @@ -10610,8 +10610,8 @@ packages: linkify-it@5.0.0: resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} - lint-staged@16.2.7: - resolution: {integrity: sha512-lDIj4RnYmK7/kXMya+qJsmkRFkGolciXjrsZ6PC25GdTfWOAWetR0ZbsNXRAj1EHHImRSalc+whZFg56F5DVow==} + lint-staged@16.3.1: + resolution: {integrity: sha512-bqvvquXzFBAlSbluugR4KXAe4XnO/QZcKVszpkBtqLWa2KEiVy8n6Xp38OeUbv/gOJOX4Vo9u5pFt/ADvbm42Q==} engines: {node: '>=20.17'} hasBin: true @@ -11981,11 +11981,6 @@ packages: resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} engines: {node: '>=12'} - pidtree@0.6.0: - resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} - engines: {node: '>=0.10'} - hasBin: true - pify@2.3.0: resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} engines: {node: '>=0.10.0'} @@ -15297,6 +15292,11 @@ packages: engines: {node: '>= 14.6'} hasBin: true + yaml@2.8.2: + resolution: {integrity: sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==} + engines: {node: '>= 14.6'} + hasBin: true + yargs-parser@20.2.9: resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} engines: {node: '>=10'} @@ -16269,6 +16269,8 @@ snapshots: '@ckeditor/ckeditor5-utils': 47.4.0 '@ckeditor/ckeditor5-watchdog': 47.4.0 es-toolkit: 1.39.5 + transitivePeerDependencies: + - supports-color '@ckeditor/ckeditor5-dev-build-tools@54.3.3(@swc/helpers@0.5.17)(tslib@2.8.1)(typescript@5.9.3)': dependencies: @@ -19632,18 +19634,18 @@ snapshots: '@popperjs/core@2.11.8': {} - '@preact/preset-vite@2.10.3(@babel/core@7.28.0)(preact@10.28.4)(rollup@4.52.0)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))': + '@preact/preset-vite@2.10.3(@babel/core@7.28.0)(preact@10.28.4)(rollup@4.52.0)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2))': dependencies: '@babel/core': 7.28.0 '@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.0) '@babel/plugin-transform-react-jsx-development': 7.27.1(@babel/core@7.28.0) - '@prefresh/vite': 2.4.12(preact@10.28.4)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) + '@prefresh/vite': 2.4.12(preact@10.28.4)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2)) '@rollup/pluginutils': 5.1.4(rollup@4.52.0) babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.28.0) debug: 4.4.3(supports-color@8.1.1) picocolors: 1.1.1 - vite: 7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) - vite-prerender-plugin: 0.5.11(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) + vite: 7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2) + vite-prerender-plugin: 0.5.11(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2)) transitivePeerDependencies: - preact - rollup @@ -19664,7 +19666,7 @@ snapshots: '@prefresh/utils@1.2.1': {} - '@prefresh/vite@2.4.12(preact@10.28.4)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))': + '@prefresh/vite@2.4.12(preact@10.28.4)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2))': dependencies: '@babel/core': 7.28.0 '@prefresh/babel-plugin': 0.5.2 @@ -19672,7 +19674,7 @@ snapshots: '@prefresh/utils': 1.2.1 '@rollup/pluginutils': 4.2.1 preact: 10.28.4 - vite: 7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + vite: 7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - supports-color @@ -21881,10 +21883,10 @@ snapshots: - bufferutil - utf-8-validate - '@vitest/browser-webdriverio@4.0.18(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.18)(webdriverio@9.24.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))': + '@vitest/browser-webdriverio@4.0.18(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.0.18)(webdriverio@9.24.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))': dependencies: - '@vitest/browser': 4.0.18(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.18) - vitest: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.11.0)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(happy-dom@20.7.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.31.1)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + '@vitest/browser': 4.0.18(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.0.18) + vitest: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.11.0)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(happy-dom@20.7.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.31.1)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2) webdriverio: 9.24.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) transitivePeerDependencies: - bufferutil @@ -21892,16 +21894,16 @@ snapshots: - utf-8-validate - vite - '@vitest/browser@4.0.18(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.18)': + '@vitest/browser@4.0.18(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.0.18)': dependencies: - '@vitest/mocker': 4.0.18(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) + '@vitest/mocker': 4.0.18(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2)) '@vitest/utils': 4.0.18 magic-string: 0.30.21 pixelmatch: 7.1.0 pngjs: 7.0.0 sirv: 3.0.2 tinyrainbow: 3.0.3 - vitest: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.11.0)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(happy-dom@20.7.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.31.1)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + vitest: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.11.0)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(happy-dom@20.7.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.31.1)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2) ws: 8.19.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) transitivePeerDependencies: - bufferutil @@ -21921,11 +21923,11 @@ snapshots: magicast: 0.5.1 obug: 2.1.1 tinyrainbow: 3.0.3 - vitest: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.11.0)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(happy-dom@20.7.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.31.1)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + vitest: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.11.0)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(happy-dom@20.7.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.31.1)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - supports-color - '@vitest/coverage-v8@4.0.18(@vitest/browser@4.0.18(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.18))(vitest@4.0.18)': + '@vitest/coverage-v8@4.0.18(@vitest/browser@4.0.18(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.0.18))(vitest@4.0.18)': dependencies: '@bcoe/v8-coverage': 1.0.2 '@vitest/utils': 4.0.18 @@ -21937,9 +21939,9 @@ snapshots: obug: 2.1.1 std-env: 3.10.0 tinyrainbow: 3.0.3 - vitest: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.11.0)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(happy-dom@20.7.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.31.1)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + vitest: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.11.0)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(happy-dom@20.7.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.31.1)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2) optionalDependencies: - '@vitest/browser': 4.0.18(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.18) + '@vitest/browser': 4.0.18(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.0.18) '@vitest/expect@4.0.18': dependencies: @@ -21950,14 +21952,14 @@ snapshots: chai: 6.2.1 tinyrainbow: 3.0.3 - '@vitest/mocker@4.0.18(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))': + '@vitest/mocker@4.0.18(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2))': dependencies: '@vitest/spy': 4.0.18 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: msw: 2.7.5(@types/node@24.11.0)(typescript@5.9.3) - vite: 7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + vite: 7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2) '@vitest/pretty-format@4.0.18': dependencies: @@ -21985,7 +21987,7 @@ snapshots: sirv: 3.0.2 tinyglobby: 0.2.15 tinyrainbow: 3.0.3 - vitest: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.11.0)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(happy-dom@20.7.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.31.1)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + vitest: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.11.0)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(happy-dom@20.7.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.31.1)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2) '@vitest/utils@4.0.18': dependencies: @@ -22178,12 +22180,12 @@ snapshots: '@webext-core/match-patterns@1.0.3': {} - '@wxt-dev/auto-icons@1.1.1(wxt@0.20.18(@types/node@24.11.0)(eslint@10.0.2(jiti@2.6.1))(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(rollup@4.52.0)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))': + '@wxt-dev/auto-icons@1.1.1(wxt@0.20.18(@types/node@24.11.0)(eslint@10.0.2(jiti@2.6.1))(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(rollup@4.52.0)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2))': dependencies: defu: 6.1.4 fs-extra: 11.3.3 sharp: 0.34.5 - wxt: 0.20.18(@types/node@24.11.0)(eslint@10.0.2(jiti@2.6.1))(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(rollup@4.52.0)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + wxt: 0.20.18(@types/node@24.11.0)(eslint@10.0.2(jiti@2.6.1))(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(rollup@4.52.0)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2) '@wxt-dev/browser@0.1.37': dependencies: @@ -23401,7 +23403,7 @@ snapshots: commander@12.1.0: {} - commander@14.0.2: {} + commander@14.0.3: {} commander@2.20.3: {} @@ -24985,7 +24987,7 @@ snapshots: eslint-plugin-playwright@2.8.0(eslint@10.0.2(jiti@2.6.1)): dependencies: eslint: 10.0.2(jiti@2.6.1) - globals: 17.3.0 + globals: 17.4.0 eslint-plugin-react-hooks@5.2.0(eslint@10.0.2(jiti@2.6.1)): dependencies: @@ -25878,7 +25880,7 @@ snapshots: globals@16.5.0: {} - globals@17.3.0: {} + globals@17.4.0: {} globalthis@1.0.4: dependencies: @@ -27238,15 +27240,14 @@ snapshots: dependencies: uc.micro: 2.1.0 - lint-staged@16.2.7: + lint-staged@16.3.1: dependencies: - commander: 14.0.2 + commander: 14.0.3 listr2: 9.0.5 micromatch: 4.0.8 - nano-spawn: 2.0.0 - pidtree: 0.6.0 string-argv: 0.3.2 - yaml: 2.8.1 + tinyexec: 1.0.2 + yaml: 2.8.2 listr2@7.0.2: dependencies: @@ -29025,8 +29026,6 @@ snapshots: picomatch@4.0.3: {} - pidtree@0.6.0: {} - pify@2.3.0: {} pify@4.0.1: @@ -30220,11 +30219,11 @@ snapshots: '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.29 optional: true - rollup-plugin-stats@1.5.6(rolldown@1.0.0-beta.29)(rollup@4.52.0)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)): + rollup-plugin-stats@1.5.6(rolldown@1.0.0-beta.29)(rollup@4.52.0)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2)): optionalDependencies: rolldown: 1.0.0-beta.29 rollup: 4.52.0 - vite: 7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + vite: 7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2) rollup-plugin-styles@4.0.0(rollup@4.52.0): dependencies: @@ -30253,13 +30252,13 @@ snapshots: '@rollup/pluginutils': 5.1.4(rollup@4.52.0) rollup: 4.52.0 - rollup-plugin-webpack-stats@2.1.11(rolldown@1.0.0-beta.29)(rollup@4.52.0)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)): + rollup-plugin-webpack-stats@2.1.11(rolldown@1.0.0-beta.29)(rollup@4.52.0)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2)): dependencies: - rollup-plugin-stats: 1.5.6(rolldown@1.0.0-beta.29)(rollup@4.52.0)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) + rollup-plugin-stats: 1.5.6(rolldown@1.0.0-beta.29)(rollup@4.52.0)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2)) optionalDependencies: rolldown: 1.0.0-beta.29 rollup: 4.52.0 - vite: 7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + vite: 7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2) rollup@4.52.0: dependencies: @@ -32293,13 +32292,13 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 - vite-node@5.3.0(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1): + vite-node@5.3.0(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2): dependencies: cac: 6.7.14 es-module-lexer: 2.0.0 obug: 2.1.1 pathe: 2.0.3 - vite: 7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + vite: 7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - '@types/node' - jiti @@ -32313,7 +32312,7 @@ snapshots: - tsx - yaml - vite-plugin-dts@4.5.4(@types/node@24.11.0)(rollup@4.52.0)(typescript@5.9.3)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)): + vite-plugin-dts@4.5.4(@types/node@24.11.0)(rollup@4.52.0)(typescript@5.9.3)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2)): dependencies: '@microsoft/api-extractor': 7.52.8(@types/node@24.11.0) '@rollup/pluginutils': 5.1.4(rollup@4.52.0) @@ -32326,27 +32325,27 @@ snapshots: magic-string: 0.30.21 typescript: 5.9.3 optionalDependencies: - vite: 7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + vite: 7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - '@types/node' - rollup - supports-color - vite-plugin-static-copy@3.2.0(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)): + vite-plugin-static-copy@3.2.0(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2)): dependencies: chokidar: 3.6.0 p-map: 7.0.4 picocolors: 1.1.1 tinyglobby: 0.2.15 - vite: 7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + vite: 7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2) - vite-plugin-svgo@2.0.0(typescript@5.9.3)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)): + vite-plugin-svgo@2.0.0(typescript@5.9.3)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2)): dependencies: svgo: 3.3.2 typescript: 5.9.3 - vite: 7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + vite: 7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2) - vite-prerender-plugin@0.5.11(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)): + vite-prerender-plugin@0.5.11(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2)): dependencies: kolorist: 1.8.0 magic-string: 0.30.21 @@ -32354,9 +32353,9 @@ snapshots: simple-code-frame: 1.3.0 source-map: 0.7.6 stack-trace: 1.0.0-pre2 - vite: 7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + vite: 7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2) - vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1): + vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2): dependencies: esbuild: 0.27.2 fdir: 6.5.0(picomatch@4.0.3) @@ -32374,12 +32373,12 @@ snapshots: sass-embedded: 1.91.0 terser: 5.44.0 tsx: 4.21.0 - yaml: 2.8.1 + yaml: 2.8.2 - vitest@4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.11.0)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(happy-dom@20.7.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.31.1)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1): + vitest@4.0.18(@opentelemetry/api@1.9.0)(@types/node@24.11.0)(@vitest/browser-webdriverio@4.0.18)(@vitest/ui@4.0.18)(happy-dom@20.7.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.31.1)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2): dependencies: '@vitest/expect': 4.0.18 - '@vitest/mocker': 4.0.18(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)) + '@vitest/mocker': 4.0.18(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2)) '@vitest/pretty-format': 4.0.18 '@vitest/runner': 4.0.18 '@vitest/snapshot': 4.0.18 @@ -32396,12 +32395,12 @@ snapshots: tinyexec: 1.0.2 tinyglobby: 0.2.15 tinyrainbow: 3.0.3 - vite: 7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + vite: 7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2) why-is-node-running: 2.3.0 optionalDependencies: '@opentelemetry/api': 1.9.0 '@types/node': 24.11.0 - '@vitest/browser-webdriverio': 4.0.18(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.18)(webdriverio@9.24.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) + '@vitest/browser-webdriverio': 4.0.18(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.11.0)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.0.18)(webdriverio@9.24.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)) '@vitest/ui': 4.0.18(vitest@4.0.18) happy-dom: 20.7.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) jsdom: 26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5) @@ -32896,7 +32895,7 @@ snapshots: is-wsl: 3.1.0 powershell-utils: 0.1.0 - wxt@0.20.18(@types/node@24.11.0)(eslint@10.0.2(jiti@2.6.1))(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(rollup@4.52.0)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1): + wxt@0.20.18(@types/node@24.11.0)(eslint@10.0.2(jiti@2.6.1))(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(rollup@4.52.0)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2): dependencies: '@1natsu/wait-element': 4.1.2 '@aklinker1/rollup-plugin-visualizer': 5.12.0(rollup@4.52.0) @@ -32940,8 +32939,8 @@ snapshots: publish-browser-extension: 3.0.3 scule: 1.3.0 unimport: 5.6.0 - vite: 7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) - vite-node: 5.3.0(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1) + vite: 7.3.1(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2) + vite-node: 5.3.0(@types/node@24.11.0)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.31.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.2) web-ext-run: 0.2.4 optionalDependencies: eslint: 10.0.2(jiti@2.6.1) @@ -33007,6 +33006,8 @@ snapshots: yaml@2.8.1: {} + yaml@2.8.2: {} + yargs-parser@20.2.9: {} yargs-parser@21.1.1: {} diff --git a/scripts/check-version-consistency.ts b/scripts/check-version-consistency.ts index 235167b2d5..06d83bf493 100644 --- a/scripts/check-version-consistency.ts +++ b/scripts/check-version-consistency.ts @@ -11,12 +11,16 @@ const filesToCheck = [ ] function main() { - const expectedVersion = process.argv[2]; + let expectedVersion = process.argv[2]; if (!expectedVersion) { console.error('Expected version argument is missing.'); process.exit(1); } + if (expectedVersion.startsWith("v")) { + expectedVersion = expectedVersion.substring(1); + } + for (const fileToCheck of filesToCheck) { const packageJsonPath = join(projectRoot, fileToCheck); const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));