From 75754230a9e3ecc1990b64a4bedca64caecde89c Mon Sep 17 00:00:00 2001 From: didirus Date: Tue, 27 Jan 2026 20:53:18 +0300 Subject: [PATCH] Remove old patch file --- patches/AstralRinth_Git_Diff_02112025.patch | 31363 ------------------ 1 file changed, 31363 deletions(-) delete mode 100644 patches/AstralRinth_Git_Diff_02112025.patch diff --git a/patches/AstralRinth_Git_Diff_02112025.patch b/patches/AstralRinth_Git_Diff_02112025.patch deleted file mode 100644 index 0533ff4c..00000000 --- a/patches/AstralRinth_Git_Diff_02112025.patch +++ /dev/null @@ -1,31363 +0,0 @@ -diff --git a/.github/ISSUE_TEMPLATE/1-app-bug.yml b/.github/ISSUE_TEMPLATE/1-app-bug.yml -new file mode 100644 -index 000000000..fad0c15ca ---- /dev/null -+++ b/.github/ISSUE_TEMPLATE/1-app-bug.yml -@@ -0,0 +1,60 @@ -+name: 🎮 Bug with Modrinth App -+description: For issues with Modrinth App. -+labels: [app] -+type: 'bug' -+body: -+ - type: checkboxes -+ attributes: -+ label: Please confirm the following. -+ options: -+ - label: I checked the [existing issues](https://github.com/modrinth/code/issues?q=is%3Aissue) for duplicate problems -+ required: true -+ - label: I have tried resolving the issue using the [support portal](https://support.modrinth.com) -+ required: true -+ - label: I have ensured my Modrinth App installation is up to date -+ required: true -+ - type: input -+ id: version -+ attributes: -+ label: What version of the Modrinth App are you using? -+ description: Find this in ⚙️ Settings (bottom right) -> After Modrinth App (bottom left) -+ validations: -+ required: true -+ - type: dropdown -+ id: oses -+ attributes: -+ label: What operating systems are you seeing the problem on? -+ multiple: true -+ options: -+ - Windows -+ - MacOS -+ - Linux -+ - type: textarea -+ attributes: -+ label: Describe the bug -+ description: A clear and concise description of what the bug is. Include screenshots if applicable. -+ validations: -+ required: true -+ - type: textarea -+ attributes: -+ label: Steps to reproduce -+ description: Steps to reproduce the behavior. -+ placeholder: | -+ 1. Go to '...' -+ 2. Click on '...' -+ 3. Scroll down to '...' -+ 4. See error -+ validations: -+ required: false -+ - type: textarea -+ attributes: -+ label: Expected behavior -+ description: A clear and concise description of what you expected to happen. -+ validations: -+ required: false -+ - type: textarea -+ attributes: -+ label: Additional context -+ description: Add any other context about the problem here. -+ validations: -+ required: false -diff --git a/.github/ISSUE_TEMPLATE/2-web-bug.yml b/.github/ISSUE_TEMPLATE/2-web-bug.yml -new file mode 100644 -index 000000000..983279c14 ---- /dev/null -+++ b/.github/ISSUE_TEMPLATE/2-web-bug.yml -@@ -0,0 +1,53 @@ -+name: 🌐 Bug with Modrinth.com -+description: For issues with the Modrinth website. -+labels: [website] -+type: 'bug' -+body: -+ - type: checkboxes -+ attributes: -+ label: Please confirm the following. -+ options: -+ - label: I checked the [existing issues](https://github.com/modrinth/code/issues?q=is%3Aissue) for duplicate problems -+ required: true -+ - label: I have tried resolving the issue using the [support portal](https://support.modrinth.com) -+ required: true -+ - type: dropdown -+ id: browsers -+ attributes: -+ label: What browsers are you seeing the problem on? -+ multiple: true -+ options: -+ - Chrome (including Arc, Brave, Opera, Vivaldi) -+ - Microsoft Edge -+ - Firefox -+ - Safari -+ - Other (please specify) -+ - type: textarea -+ attributes: -+ label: Describe the bug -+ description: A clear and concise description of what the bug is. Include screenshots if applicable. -+ validations: -+ required: false -+ - type: textarea -+ attributes: -+ label: Steps to reproduce -+ description: Steps to reproduce the behavior. -+ placeholder: | -+ 1. Go to '...' -+ 2. Click on '...' -+ 3. Scroll down to '...' -+ 4. See error -+ validations: -+ required: false -+ - type: textarea -+ attributes: -+ label: Expected behavior -+ description: A clear and concise description of what you expected to happen. -+ validations: -+ required: false -+ - type: textarea -+ attributes: -+ label: Additional context -+ description: Add any other context about the problem here. -+ validations: -+ required: false -diff --git a/.github/ISSUE_TEMPLATE/4-api-bug.yml b/.github/ISSUE_TEMPLATE/4-api-bug.yml -new file mode 100644 -index 000000000..00fac9bac ---- /dev/null -+++ b/.github/ISSUE_TEMPLATE/4-api-bug.yml -@@ -0,0 +1,42 @@ -+name: 🛠 Bug with Modrinth API -+description: For issues with the Modrinth API for developers. -+labels: [api, backend] -+type: 'bug' -+body: -+ - type: checkboxes -+ attributes: -+ label: Please confirm the following. -+ options: -+ - label: I checked the [existing issues](https://github.com/modrinth/code/issues?q=is%3Aissue) for duplicate problems -+ required: true -+ - label: I have tried resolving the issue using the [support portal](https://support.modrinth.com) -+ required: true -+ - type: textarea -+ attributes: -+ label: Describe the bug -+ description: A clear and concise description of what the bug is. Include screenshots if applicable. -+ validations: -+ required: false -+ - type: textarea -+ attributes: -+ label: Steps to reproduce -+ description: Steps to reproduce the behavior. -+ placeholder: | -+ 1. Go to '...' -+ 2. Click on '...' -+ 3. Scroll down to '...' -+ 4. See error -+ validations: -+ required: false -+ - type: textarea -+ attributes: -+ label: Expected behavior -+ description: A clear and concise description of what you expected to happen. -+ validations: -+ required: false -+ - type: textarea -+ attributes: -+ label: Additional context -+ description: Add any other context about the problem here. -+ validations: -+ required: false -diff --git a/.github/ISSUE_TEMPLATE/5-feature-request.yml b/.github/ISSUE_TEMPLATE/5-feature-request.yml -new file mode 100644 -index 000000000..0b358e9b4 ---- /dev/null -+++ b/.github/ISSUE_TEMPLATE/5-feature-request.yml -@@ -0,0 +1,47 @@ -+name: 💡 Feature request -+description: Suggest an idea -+type: 'feature' -+ -+body: -+ - type: checkboxes -+ attributes: -+ label: Please confirm the following. -+ options: -+ - label: I checked the [existing issues](https://github.com/modrinth/code/issues?q=is%3Aissue) for duplicate feature requests -+ required: true -+ - label: I have checked that this feature request is not on our [roadmap](https://roadmap.modrinth.com) -+ required: true -+ - type: dropdown -+ id: projects -+ attributes: -+ label: What parts of Modrinth is your feature request related too? -+ multiple: true -+ options: -+ - Modrinth App -+ - Modrinth.com website -+ - Modrinth Servers -+ - Modrinth API for developers -+ - type: textarea -+ attributes: -+ label: Is your suggested feature related to a problem? Please describe. -+ description: A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] -+ validations: -+ required: false -+ - type: textarea -+ attributes: -+ label: Describe the solution you'd like -+ description: A clear and concise description of what you want to happen. -+ validations: -+ required: false -+ - type: textarea -+ attributes: -+ label: Describe alternatives you've considered -+ description: A clear and concise description of any alternative solutions or features you've considered. -+ validations: -+ required: false -+ - type: textarea -+ attributes: -+ label: Additional context -+ description: Add any other context or screenshots about the suggested enhancement here. -+ validations: -+ required: false -diff --git a/.github/workflows/astralrinth-build.yml b/.github/workflows/astralrinth-build.yml -deleted file mode 100644 -index 63bb12c65..000000000 ---- a/.github/workflows/astralrinth-build.yml -+++ /dev/null -@@ -1,158 +0,0 @@ --name: AstralRinth App build -- --on: -- push: -- branches: -- - main -- - master -- - prod -- - release -- - beta -- - feature* -- tags: -- - release-* -- - beta-* -- paths: -- - .github/workflows/astralrinth-build.yml -- - 'apps/app/**' -- - 'apps/app-frontend/**' -- - 'packages/app-lib/**' -- - 'packages/app-macros/**' -- - 'packages/assets/**' -- - 'packages/ui/**' -- - 'packages/utils/**' -- workflow_dispatch: -- --jobs: -- build: -- name: Build -- strategy: -- fail-fast: false -- matrix: -- # platform: [macos-latest, windows-latest, ubuntu-latest] -- platform: [windows-latest, ubuntu-latest] -- include: -- # - platform: macos-latest -- # artifact-target-name: universal-apple-darwin -- - platform: windows-latest -- artifact-target-name: x86_64-pc-windows-msvc -- - platform: ubuntu-latest -- artifact-target-name: x86_64-unknown-linux-gnu -- -- runs-on: ${{ matrix.platform }} -- -- steps: -- - name: 📥 Check out code -- uses: actions/checkout@v4 -- with: -- fetch-depth: 2 -- -- - name: 🔍 Validate Git config does not introduce CRLF -- shell: bash -- run: | -- echo "🔍 Checking Git config for CRLF settings..." -- -- autocrlf=$(git config --get core.autocrlf || echo "unset") -- eol_setting=$(git config --get core.eol || echo "unset") -- -- echo "core.autocrlf = $autocrlf" -- echo "core.eol = $eol_setting" -- -- if [ "$autocrlf" = "true" ]; then -- echo "⚠️ WARNING: core.autocrlf is set to 'true'. Consider setting it to 'input' or 'false'." -- fi -- -- if [ "$eol_setting" = "crlf" ]; then -- echo "⚠️ WARNING: core.eol is set to 'crlf'. Consider unsetting it or setting to 'lf'." -- fi -- -- - name: 🔍 Check migration files line endings (LF only) -- shell: bash -- run: | -- echo "🔍 Scanning migration SQL files for CR characters (\\r)..." -- if grep -Iq $'\r' packages/app-lib/migrations/*.sql; then -- echo "❌ ERROR: Some migration files contain CR (\\r) characters — expected only LF line endings." -- exit 1 -- fi -- echo "✅ All migration files use LF line endings" -- -- - name: 🧰 Setup Rust toolchain -- uses: actions-rust-lang/setup-rust-toolchain@v1 -- with: -- target: ${{ matrix.artifact-target-name }} -- -- - name: 🧰 Install pnpm -- uses: pnpm/action-setup@v4 -- -- - name: 🧰 Setup Node.js -- uses: actions/setup-node@v4 -- with: -- node-version-file: .nvmrc -- cache: pnpm -- -- - name: 🧰 Install Linux build dependencies -- if: matrix.platform == 'ubuntu-latest' -- run: | -- sudo apt-get update -- sudo apt-get install -yq \ -- libgtk-3-dev \ -- libwebkit2gtk-4.1-dev \ -- libayatana-appindicator3-dev \ -- librsvg2-dev \ -- xdg-utils \ -- openjdk-17-jdk -- -- - name: ⚙️ Set application environment -- shell: bash -- run: | -- cp packages/app-lib/.env.prod packages/app-lib/.env -- -- - name: 💨 Setup Turbo cache -- uses: rharkor/caching-for-turbo@v1.8 -- -- - name: 🧰 Install dependencies -- run: pnpm install -- -- - name: ✍️ Set up Windows code signing (jsign) -- if: matrix.platform == 'windows-latest' && env.SIGN_WINDOWS_BINARIES == 'true' -- shell: bash -- run: | -- choco install jsign --ignore-dependencies -- -- - name: 🗑️ Clean up cached bundles -- shell: bash -- run: | -- rm -rf target/release/bundle -- rm -rf target/*/release/bundle || true -- -- # - name: 🔨 Build macOS app -- # if: matrix.platform == 'macos-latest' -- # run: pnpm --filter=@modrinth/app run tauri build --target universal-apple-darwin --config tauri-release.conf.json -- # env: -- # TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }} -- # TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }} -- -- - name: 🔨 Build Linux app -- if: matrix.platform == 'ubuntu-latest' -- run: pnpm --filter=@modrinth/app run tauri build --config tauri-release.conf.json -- env: -- TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }} -- TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }} -- -- - name: 🔨 Build Windows app -- if: matrix.platform == 'windows-latest' -- shell: pwsh -- run: | -- $env:JAVA_HOME = "$env:JAVA_HOME_17_X64" -- pnpm --filter=@modrinth/app run tauri build --config tauri-release.conf.json --verbose --bundles 'nsis' -- env: -- TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }} -- TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }} -- -- - name: 📤 Upload app bundles -- uses: actions/upload-artifact@v3 -- with: -- name: App bundle (${{ matrix.artifact-target-name }}) -- path: | -- target/release/bundle/** -- target/*/release/bundle/** -diff --git a/.github/workflows/daedalus-docker.yml b/.github/workflows/daedalus-docker.yml -new file mode 100644 -index 000000000..ad6661134 ---- /dev/null -+++ b/.github/workflows/daedalus-docker.yml -@@ -0,0 +1,62 @@ -+name: daedalus-docker-build -+ -+on: -+ push: -+ branches: -+ - '**' -+ paths: -+ - .github/workflows/daedalus-docker.yml -+ - 'apps/daedalus_client/**' -+ - 'packages/daedalus/**' -+ pull_request: -+ types: [opened, synchronize] -+ paths: -+ - .github/workflows/daedalus-docker.yml -+ - 'apps/daedalus_client/**' -+ - 'packages/daedalus/**' -+ merge_group: -+ types: [checks_requested] -+ -+jobs: -+ docker: -+ runs-on: ubuntu-latest -+ steps: -+ - name: 📥 Check out code -+ uses: actions/checkout@v4 -+ -+ - name: 🧰 Set up Docker Buildx -+ uses: docker/setup-buildx-action@v2 -+ -+ - name: ⚙️ Generate Docker image metadata -+ id: docker_meta -+ uses: docker/metadata-action@v5 -+ env: -+ DOCKER_METADATA_ANNOTATIONS_LEVELS: manifest,index -+ with: -+ images: ghcr.io/modrinth/daedalus -+ labels: | -+ org.opencontainers.image.title=daedalus -+ org.opencontainers.image.description=Modrinth game metadata query client -+ org.opencontainers.image.licenses=MIT -+ annotations: | -+ org.opencontainers.image.title=daedalus -+ org.opencontainers.image.description=Modrinth game metadata query client -+ org.opencontainers.image.licenses=MIT -+ -+ - name: 🔑 Login to GitHub Packages -+ uses: docker/login-action@v3 -+ with: -+ registry: ghcr.io -+ username: ${{ github.actor }} -+ password: ${{ secrets.GITHUB_TOKEN }} -+ -+ - name: 🔨 Build and push -+ uses: docker/build-push-action@v6 -+ with: -+ file: ./apps/daedalus_client/Dockerfile -+ push: ${{ github.event_name != 'pull_request' }} -+ tags: ${{ steps.docker_meta.outputs.tags }} -+ labels: ${{ steps.docker_meta.outputs.labels }} -+ annotations: ${{ steps.docker_meta.outputs.annotations }} -+ cache-from: type=registry,ref=ghcr.io/modrinth/daedalus:main -+ cache-to: type=inline -diff --git a/.github/workflows/daedalus-run.yml b/.github/workflows/daedalus-run.yml -new file mode 100644 -index 000000000..56fbd9f82 ---- /dev/null -+++ b/.github/workflows/daedalus-run.yml -@@ -0,0 +1,51 @@ -+name: Run Meta -+ -+on: -+ schedule: -+ - cron: '*/5 * * * *' -+ workflow_dispatch: -+ -+jobs: -+ run-docker: -+ if: github.repository_owner == 'modrinth' -+ runs-on: ubuntu-latest -+ -+ steps: -+ - name: Checkout repository -+ uses: actions/checkout@v3 -+ -+ - name: Log in to GitHub Container Registry -+ uses: docker/login-action@v2 -+ with: -+ registry: ghcr.io -+ username: ${{ github.actor }} -+ password: ${{ secrets.GITHUB_TOKEN }} -+ -+ - name: Pull Docker image from GHCR -+ run: docker pull ghcr.io/modrinth/daedalus:main -+ -+ - name: Run Docker container -+ env: -+ BASE_URL: ${{ secrets.BASE_URL }} -+ S3_ACCESS_TOKEN: ${{ secrets.S3_ACCESS_TOKEN }} -+ S3_SECRET: ${{ secrets.S3_SECRET }} -+ S3_URL: ${{ secrets.S3_URL }} -+ S3_REGION: ${{ secrets.S3_REGION }} -+ S3_BUCKET_NAME: ${{ secrets.S3_BUCKET_NAME }} -+ CLOUDFLARE_INTEGRATION: ${{ secrets.CLOUDFLARE_INTEGRATION }} -+ CLOUDFLARE_TOKEN: ${{ secrets.CLOUDFLARE_TOKEN }} -+ CLOUDFLARE_ZONE_ID: ${{ secrets.CLOUDFLARE_ZONE_ID }} -+ run: | -+ docker run \ -+ --name daedalus \ -+ -e RUST_LOG=warn,daedalus_client=trace \ -+ -e BASE_URL=$BASE_URL \ -+ -e S3_ACCESS_TOKEN=$S3_ACCESS_TOKEN \ -+ -e S3_SECRET=$S3_SECRET \ -+ -e S3_URL=$S3_URL \ -+ -e S3_REGION=$S3_REGION \ -+ -e S3_BUCKET_NAME=$S3_BUCKET_NAME \ -+ -e CLOUDFLARE_INTEGRATION=$CLOUDFLARE_INTEGRATION \ -+ -e CLOUDFLARE_TOKEN=$CLOUDFLARE_TOKEN \ -+ -e CLOUDFLARE_ZONE_ID=$CLOUDFLARE_ZONE_ID \ -+ ghcr.io/modrinth/daedalus:main -diff --git a/.github/workflows/frontend-pages.yml b/.github/workflows/frontend-pages.yml -new file mode 100644 -index 000000000..cd575fdfe ---- /dev/null -+++ b/.github/workflows/frontend-pages.yml -@@ -0,0 +1,30 @@ -+name: Clear pages cache -+ -+on: -+ push: -+ branches: -+ - prod -+ -+jobs: -+ wait: -+ if: github.repository_owner == 'modrinth' -+ runs-on: ubuntu-latest -+ permissions: -+ contents: read -+ deployments: write -+ steps: -+ - name: Cloudflare Pages deployment -+ uses: WalshyDev/cf-pages-await@v1 -+ with: -+ apiToken: ${{ secrets.CF_API_TOKEN }} -+ accountId: '9ddae624c98677d68d93df6e524a6061' -+ project: 'frontend' -+ commitHash: ${{ steps.push-changes.outputs.commit-hash }} -+ - name: Purge cache -+ if: github.ref == 'refs/heads/prod' -+ run: | -+ curl -X POST \ -+ -H "Authorization: Bearer ${{ secrets.CF_API_TOKEN }}" \ -+ -H "Content-Type: application/json" \ -+ --data '{"hosts": ["modrinth.com", "www.modrinth.com"]}' \ -+ https://api.cloudflare.com/client/v4/zones/e39df17b9c4ef44cbce2646346ee6d33/purge_cache -diff --git a/.github/workflows/labrinth-docker.yml b/.github/workflows/labrinth-docker.yml -new file mode 100644 -index 000000000..99a57f7a8 ---- /dev/null -+++ b/.github/workflows/labrinth-docker.yml -@@ -0,0 +1,70 @@ -+name: docker-build -+ -+on: -+ push: -+ branches: -+ - '**' -+ paths: -+ - .github/workflows/labrinth-docker.yml -+ - 'apps/labrinth/**' -+ - Cargo.toml -+ - Cargo.lock -+ pull_request: -+ types: [opened, synchronize] -+ paths: -+ - .github/workflows/labrinth-docker.yml -+ - 'apps/labrinth/**' -+ - Cargo.toml -+ - Cargo.lock -+ merge_group: -+ types: [checks_requested] -+ -+jobs: -+ docker: -+ runs-on: ubuntu-latest -+ steps: -+ - name: 📥 Check out code -+ uses: actions/checkout@v4 -+ -+ - name: 🧰 Set up Docker Buildx -+ uses: docker/setup-buildx-action@v2 -+ -+ - name: ⚙️ Generate Docker image metadata -+ id: docker_meta -+ uses: docker/metadata-action@v5 -+ env: -+ # GitHub Packages requires annotations metadata in at least the index descriptor to show them -+ # up properly in its UI it seems, but it's not clear about it, because the docs refer to the -+ # image manifest only. See: -+ # https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry#adding-a-description-to-multi-arch-images -+ DOCKER_METADATA_ANNOTATIONS_LEVELS: manifest,index -+ with: -+ images: ghcr.io/modrinth/labrinth -+ labels: | -+ org.opencontainers.image.title=labrinth -+ org.opencontainers.image.description=Modrinth API -+ org.opencontainers.image.licenses=AGPL-3.0-only -+ annotations: | -+ org.opencontainers.image.title=labrinth -+ org.opencontainers.image.description=Modrinth API -+ org.opencontainers.image.licenses=AGPL-3.0-only -+ -+ - name: 🔑 Login to GitHub Packages -+ uses: docker/login-action@v3 -+ with: -+ registry: ghcr.io -+ username: ${{ github.actor }} -+ password: ${{ secrets.GITHUB_TOKEN }} -+ -+ - name: 🔨 Build and push -+ uses: docker/build-push-action@v6 -+ with: -+ file: ./apps/labrinth/Dockerfile -+ push: ${{ github.event_name != 'pull_request' }} -+ tags: ${{ steps.docker_meta.outputs.tags }} -+ labels: ${{ steps.docker_meta.outputs.labels }} -+ annotations: ${{ steps.docker_meta.outputs.annotations }} -+ build-args: | -+ GIT_HASH=${{ fromJSON(steps.docker_meta.outputs.json).labels['org.opencontainers.image.revision'] }} -+ cache-from: type=registry,ref=ghcr.io/modrinth/labrinth:main -+ cache-to: type=inline -diff --git a/.github/workflows/theseus-build.yml b/.github/workflows/theseus-build.yml -new file mode 100644 -index 000000000..287f5b6de ---- /dev/null -+++ b/.github/workflows/theseus-build.yml -@@ -0,0 +1,152 @@ -+name: Modrinth App build -+on: -+ push: -+ branches: -+ - main -+ tags: -+ - 'v*' -+ paths: -+ - .github/workflows/theseus-build.yml -+ - 'apps/app/**' -+ - 'apps/app-frontend/**' -+ - 'packages/app-lib/**' -+ - 'packages/app-macros/**' -+ - 'packages/assets/**' -+ - 'packages/ui/**' -+ - 'packages/utils/**' -+ workflow_dispatch: -+ inputs: -+ sign-windows-binaries: -+ description: Sign Windows binaries -+ type: boolean -+ default: true -+ required: false -+ -+jobs: -+ build: -+ name: Build -+ strategy: -+ fail-fast: false -+ matrix: -+ platform: [macos-latest, windows-latest, ubuntu-latest] -+ include: -+ - platform: macos-latest -+ artifact-target-name: universal-apple-darwin -+ - platform: windows-latest -+ artifact-target-name: x86_64-pc-windows-msvc -+ - platform: ubuntu-latest -+ artifact-target-name: x86_64-unknown-linux-gnu -+ -+ runs-on: ${{ matrix.platform }} -+ -+ steps: -+ - name: 📥 Check out code -+ uses: actions/checkout@v4 -+ with: -+ fetch-depth: 0 -+ -+ - name: 🧰 Setup Rust toolchain -+ uses: actions-rust-lang/setup-rust-toolchain@v1 -+ with: -+ rustflags: '' -+ target: ${{ startsWith(matrix.platform, 'macos') && 'x86_64-apple-darwin' || '' }} -+ -+ - name: 🧰 Install pnpm -+ uses: pnpm/action-setup@v4 -+ -+ - name: 🧰 Setup Node.js -+ uses: actions/setup-node@v4 -+ with: -+ node-version-file: .nvmrc -+ cache: pnpm -+ -+ - name: 🧰 Install Linux build dependencies -+ if: startsWith(matrix.platform, 'ubuntu') -+ run: | -+ sudo apt-get update -+ sudo apt-get install -yq libwebkit2gtk-4.1-dev libayatana-appindicator3-dev librsvg2-dev -+ -+ - name: 🧰 Setup Dasel -+ uses: jaxxstorm/action-install-gh-release@v2.1.0 -+ with: -+ repo: TomWright/dasel -+ tag: v2.8.1 -+ extension-matching: disable -+ rename-to: ${{ startsWith(matrix.platform, 'windows') && 'dasel.exe' || 'dasel' }} -+ chmod: 0755 -+ -+ - name: ⚙️ Set application version and environment -+ shell: bash -+ run: | -+ APP_VERSION="$(git describe --tags --always | sed -E 's/-([0-9]+)-(g[0-9a-fA-F]+)$/-canary+\1.\2/')" -+ echo "Setting application version to $APP_VERSION" -+ dasel put -f apps/app/Cargo.toml -t string -v "${APP_VERSION#v}" 'package.version' -+ dasel put -f packages/app-lib/Cargo.toml -t string -v "${APP_VERSION#v}" 'package.version' -+ dasel put -f apps/app-frontend/package.json -t string -v "${APP_VERSION#v}" 'version' -+ -+ cp packages/app-lib/.env.prod packages/app-lib/.env -+ -+ - name: 💨 Setup Turbo cache -+ uses: rharkor/caching-for-turbo@v1.8 -+ -+ - name: 🧰 Install dependencies -+ run: pnpm install -+ -+ - name: ✍️ Set up Windows code signing -+ if: startsWith(matrix.platform, 'windows') -+ shell: bash -+ run: | -+ if [ '${{ startsWith(github.ref, 'refs/tags/v') || inputs.sign-windows-binaries }}' = 'true' ]; then -+ choco install jsign --ignore-dependencies # GitHub runners come with a global Java installation already -+ else -+ dasel delete -f apps/app/tauri-release.conf.json 'bundle.windows.signCommand' -+ fi -+ -+ - name: 🔨 Build macOS app -+ run: pnpm --filter=@modrinth/app run tauri build --target universal-apple-darwin --config tauri-release.conf.json -+ if: startsWith(matrix.platform, 'macos') -+ env: -+ ENABLE_CODE_SIGNING: ${{ secrets.APPLE_CERTIFICATE }} -+ APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }} -+ APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }} -+ APPLE_SIGNING_IDENTITY: ${{ secrets.APPLE_SIGNING_IDENTITY }} -+ APPLE_ID: ${{ secrets.APPLE_ID }} -+ APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }} -+ APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }} -+ TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }} -+ TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }} -+ -+ - name: 🔨 Build Linux app -+ run: pnpm --filter=@modrinth/app run tauri build --config tauri-release.conf.json -+ if: startsWith(matrix.platform, 'ubuntu') -+ env: -+ TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }} -+ TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }} -+ -+ - name: 🔨 Build Windows app -+ run: | -+ [System.Convert]::FromBase64String("$env:DIGICERT_ONE_SIGNER_CLIENT_CERTIFICATE_BASE64") | Set-Content -Path signer-client-cert.p12 -AsByteStream -+ $env:DIGICERT_ONE_SIGNER_CREDENTIALS = "$env:DIGICERT_ONE_SIGNER_API_KEY|$PWD\signer-client-cert.p12|$env:DIGICERT_ONE_SIGNER_CLIENT_CERTIFICATE_PASSWORD" -+ $env:JAVA_HOME = "$env:JAVA_HOME_17_X64" -+ pnpm --filter=@modrinth/app run tauri build --config tauri-release.conf.json --verbose --bundles 'nsis,updater' -+ Remove-Item -Path signer-client-cert.p12 -ErrorAction SilentlyContinue -+ if: startsWith(matrix.platform, 'windows') -+ env: -+ TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }} -+ TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }} -+ DIGICERT_ONE_SIGNER_API_KEY: ${{ secrets.DIGICERT_ONE_SIGNER_API_KEY }} -+ DIGICERT_ONE_SIGNER_CLIENT_CERTIFICATE_BASE64: ${{ secrets.DIGICERT_ONE_SIGNER_CLIENT_CERTIFICATE_BASE64 }} -+ DIGICERT_ONE_SIGNER_CLIENT_CERTIFICATE_PASSWORD: ${{ secrets.DIGICERT_ONE_SIGNER_CLIENT_CERTIFICATE_PASSWORD }} -+ -+ - name: 📤 Upload app bundles -+ uses: actions/upload-artifact@v4 -+ with: -+ name: App bundle (${{ matrix.artifact-target-name }}) -+ path: | -+ target/release/bundle/appimage/Modrinth App_*.AppImage* -+ target/release/bundle/deb/Modrinth App_*.deb* -+ target/release/bundle/rpm/Modrinth App-*.rpm* -+ target/universal-apple-darwin/release/bundle/macos/Modrinth App.app.tar.gz* -+ target/universal-apple-darwin/release/bundle/dmg/Modrinth App_*.dmg* -+ target/release/bundle/nsis/Modrinth App_*-setup.exe* -+ target/release/bundle/nsis/Modrinth App_*-setup.nsis.zip* -diff --git a/.github/workflows/theseus-release.yml b/.github/workflows/theseus-release.yml -new file mode 100644 -index 000000000..6cd2be01f ---- /dev/null -+++ b/.github/workflows/theseus-release.yml -@@ -0,0 +1,118 @@ -+name: Modrinth App release -+on: -+ workflow_dispatch: -+ inputs: -+ version-tag: -+ description: Version tag to release to the wide public -+ type: string -+ required: true -+ release-notes: -+ description: Release notes to include in the Tauri version manifest -+ default: A new release of the Modrinth App is available! -+ type: string -+ required: true -+ -+jobs: -+ release: -+ name: Release Modrinth App -+ runs-on: ubuntu-latest -+ -+ env: -+ LINUX_X64_BUNDLE_ARTIFACT_NAME: App bundle (x86_64-unknown-linux-gnu) -+ WINDOWS_X64_BUNDLE_ARTIFACT_NAME: App bundle (x86_64-pc-windows-msvc) -+ MACOS_UNIVERSAL_BUNDLE_ARTIFACT_NAME: App bundle (universal-apple-darwin) -+ LAUNCHER_FILES_BUCKET_BASE_URL: https://launcher-files.modrinth.com -+ -+ steps: -+ - name: 📥 Download Modrinth App artifacts -+ uses: dawidd6/action-download-artifact@v11 -+ with: -+ workflow: theseus-build.yml -+ workflow_conclusion: success -+ event: push -+ branch: ${{ inputs.version-tag }} -+ use_unzip: true -+ -+ - name: 🛠️ Generate version manifest -+ env: -+ VERSION_TAG: ${{ inputs.version-tag }} -+ RELEASE_NOTES: ${{ inputs.release-notes }} -+ run: | -+ # Reference: https://tauri.app/plugin/updater/#server-support -+ jq -nc \ -+ --arg versionTag "${VERSION_TAG#v}" \ -+ --arg releaseNotes "$RELEASE_NOTES" \ -+ --rawfile macOsAarch64UpdateArtifactSignature "${MACOS_UNIVERSAL_BUNDLE_ARTIFACT_NAME}/universal-apple-darwin/release/bundle/macos/Modrinth App.app.tar.gz.sig" \ -+ --rawfile macOsX64UpdateArtifactSignature "${MACOS_UNIVERSAL_BUNDLE_ARTIFACT_NAME}/universal-apple-darwin/release/bundle/macos/Modrinth App.app.tar.gz.sig" \ -+ --rawfile linuxX64UpdateArtifactSignature "${LINUX_X64_BUNDLE_ARTIFACT_NAME}/release/bundle/appimage/Modrinth App_${VERSION_TAG#v}_amd64.AppImage.tar.gz.sig" \ -+ --rawfile windowsX64UpdateArtifactSignature "${WINDOWS_X64_BUNDLE_ARTIFACT_NAME}/release/bundle/nsis/Modrinth App_${VERSION_TAG#v}_x64-setup.nsis.zip.sig" \ -+ '{ -+ "version": $versionTag, -+ "notes": $releaseNotes, -+ "pub_date": now | todateiso8601, -+ "platforms": { -+ "darwin-aarch64": { -+ "signature": $macOsAarch64UpdateArtifactSignature, -+ "url": @uri "${{ env.LAUNCHER_FILES_BUCKET_BASE_URL }}/versions/\($versionTag)/macos/\("Modrinth App.app.tar.gz")", -+ "install_urls": [@uri "${{ env.LAUNCHER_FILES_BUCKET_BASE_URL }}/versions/\($versionTag)/macos/\("Modrinth App_" + $versionTag + "_universal.dmg")"] -+ }, -+ "darwin-x86_64": { -+ "signature": $macOsX64UpdateArtifactSignature, -+ "url": @uri "${{ env.LAUNCHER_FILES_BUCKET_BASE_URL }}/versions/\($versionTag)/macos/\("Modrinth App.app.tar.gz")", -+ "install_urls": [@uri "${{ env.LAUNCHER_FILES_BUCKET_BASE_URL }}/versions/\($versionTag)/macos/\("Modrinth App_" + $versionTag + "_universal.dmg")"] -+ }, -+ "linux-x86_64": { -+ "signature": $linuxX64UpdateArtifactSignature, -+ "url": @uri "${{ env.LAUNCHER_FILES_BUCKET_BASE_URL }}/versions/\($versionTag)/linux/\("Modrinth App_" + $versionTag + "_amd64.AppImage.tar.gz")", -+ "install_urls": [ -+ @uri "${{ env.LAUNCHER_FILES_BUCKET_BASE_URL }}/versions/\($versionTag)/linux/\("Modrinth App_" + $versionTag + "_amd64.deb")", -+ @uri "${{ env.LAUNCHER_FILES_BUCKET_BASE_URL }}/versions/\($versionTag)/linux/\("Modrinth App_" + $versionTag + "_amd64.AppImage")", -+ @uri "${{ env.LAUNCHER_FILES_BUCKET_BASE_URL }}/versions/\($versionTag)/linux/\("Modrinth App-" + $versionTag + "-1.x86_64.rpm")" -+ ] -+ }, -+ "windows-x86_64": { -+ "signature": $windowsX64UpdateArtifactSignature, -+ "url": @uri "${{ env.LAUNCHER_FILES_BUCKET_BASE_URL }}/versions/\($versionTag)/windows/\("Modrinth App_" + $versionTag + "_x64-setup.nsis.zip")", -+ "install_urls": [@uri "${{ env.LAUNCHER_FILES_BUCKET_BASE_URL }}/versions/\($versionTag)/windows/\("Modrinth App_" + $versionTag + "_x64-setup.exe")"] -+ } -+ } -+ }' > updates.json -+ -+ echo "Generated manifest for version ${VERSION_TAG}:" -+ cat updates.json -+ -+ - name: 📤 Upload release artifacts -+ env: -+ VERSION_TAG: ${{ inputs.version-tag }} -+ AWS_ACCESS_KEY_ID: ${{ secrets.LAUNCHER_FILES_BUCKET_ACCESS_KEY_ID }} -+ AWS_SECRET_ACCESS_KEY: ${{ secrets.LAUNCHER_FILES_BUCKET_SECRET_ACCESS_KEY }} -+ AWS_BUCKET: ${{ secrets.LAUNCHER_FILES_BUCKET_NAME }} -+ AWS_REGION: ${{ secrets.LAUNCHER_FILES_BUCKET_REGION }} -+ AWS_ENDPOINT_URL: ${{ secrets.LAUNCHER_FILES_BUCKET_ENDPOINT_URL }} -+ AWS_PAGER: '' -+ # Work around incompatible checksum behavior with some S3-like object storage providers, -+ # such as Cloudflare R2. See: -+ # - https://developers.cloudflare.com/r2/examples/aws/aws-cli/ -+ # - https://developers.cloudflare.com/r2/examples/aws/aws-sdk-java/ -+ AWS_REQUEST_CHECKSUM_CALCULATION: when_required -+ AWS_RESPONSE_CHECKSUM_VALIDATION: when_required -+ run: | -+ for macosBundleType in 'macos' 'dmg'; do -+ aws s3 cp --recursive \ -+ "${MACOS_UNIVERSAL_BUNDLE_ARTIFACT_NAME}/universal-apple-darwin/release/bundle/${macosBundleType}" \ -+ "s3://${AWS_BUCKET}/versions/${VERSION_TAG#v}/macos" -+ done -+ -+ for linuxBundleType in 'appimage' 'deb' 'rpm'; do -+ aws s3 cp --recursive \ -+ "${LINUX_X64_BUNDLE_ARTIFACT_NAME}/release/bundle/${linuxBundleType}" \ -+ "s3://${AWS_BUCKET}/versions/${VERSION_TAG#v}/linux" -+ done -+ -+ for windowsBundleType in 'nsis'; do -+ aws s3 cp --recursive \ -+ "${WINDOWS_X64_BUNDLE_ARTIFACT_NAME}/release/bundle/${windowsBundleType}" \ -+ "s3://${AWS_BUCKET}/versions/${VERSION_TAG#v}/windows" -+ done -+ -+ aws s3 cp updates.json "s3://${AWS_BUCKET}" -diff --git a/.github/workflows/turbo-ci.yml b/.github/workflows/turbo-ci.yml -new file mode 100644 -index 000000000..ba62ac5a5 ---- /dev/null -+++ b/.github/workflows/turbo-ci.yml -@@ -0,0 +1,92 @@ -+name: CI -+ -+on: -+ push: -+ branches: [main] -+ pull_request: -+ types: [opened, synchronize] -+ merge_group: -+ types: [checks_requested] -+ -+jobs: -+ build: -+ name: Lint and Test -+ runs-on: ubuntu-latest -+ -+ env: -+ # Ensure pnpm output is colored in GitHub Actions logs -+ FORCE_COLOR: 3 -+ # Make cargo nextest successfully ignore projects without tests -+ NEXTEST_NO_TESTS: pass -+ # Fail on warnings in CI -+ # (but don't do this in the root `Cargo.toml`, -+ # since we don't want warnings to become errors -+ # while developing) -+ RUSTFLAGS: -Dwarnings -+ -+ steps: -+ - name: 📥 Check out code -+ uses: actions/checkout@v4 -+ with: -+ fetch-depth: 2 -+ -+ - name: 🧰 Install build dependencies -+ run: | -+ sudo apt-get update -+ sudo apt-get install -yq libwebkit2gtk-4.1-dev libayatana-appindicator3-dev librsvg2-dev -+ -+ - name: 🧰 Install pnpm -+ uses: pnpm/action-setup@v4 -+ -+ - name: 🧰 Setup Node.js -+ uses: actions/setup-node@v4 -+ with: -+ node-version-file: .nvmrc -+ cache: pnpm -+ -+ - name: 🧰 Setup Rust toolchain -+ uses: actions-rust-lang/setup-rust-toolchain@v1 -+ with: -+ rustflags: '' -+ components: clippy, rustfmt -+ cache: false -+ -+ - name: 🧰 Setup nextest -+ uses: taiki-e/install-action@nextest -+ -+ # cargo-binstall does not have pre-built binaries for sqlx-cli, so we fall -+ # back to a cached cargo install -+ - name: 🧰 Setup cargo-sqlx -+ uses: taiki-e/cache-cargo-install-action@v2 -+ with: -+ tool: sqlx-cli -+ locked: false -+ no-default-features: true -+ features: rustls,postgres -+ -+ - name: 💨 Setup Turbo cache -+ uses: rharkor/caching-for-turbo@v1.8 -+ -+ - name: 🧰 Install dependencies -+ run: pnpm install -+ -+ - name: ⚙️ Start services -+ run: docker compose up --wait -+ -+ - name: ⚙️ Setup labrinth environment and database -+ working-directory: apps/labrinth -+ run: | -+ cp .env.local .env -+ sqlx database setup -+ -+ - name: ⚙️ Set app environment -+ working-directory: packages/app-lib -+ run: cp .env.staging .env -+ -+ - name: 🔍 Lint and test -+ run: pnpm run ci -+ -+ - name: 🔍 Verify intl:extract has been run -+ run: | -+ pnpm intl:extract -+ git diff --exit-code --color */*/src/locales/en-US/index.json -diff --git a/Cargo.lock b/Cargo.lock -index d2cd92361..069844001 100644 ---- a/Cargo.lock -+++ b/Cargo.lock -@@ -8,7 +8,7 @@ version = "0.5.2" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "5f7b0a21988c1bf877cf4759ef5ddaac04c1c9fe808c9142ecb78ba97d97a28a" - dependencies = [ -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "bytes", - "futures-core", - "futures-sink", -@@ -44,7 +44,7 @@ dependencies = [ - "actix-service", - "actix-utils", - "actix-web", -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "bytes", - "derive_more 2.0.1", - "futures-core", -@@ -68,7 +68,7 @@ dependencies = [ - "actix-service", - "actix-utils", - "base64 0.22.1", -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "brotli", - "bytes", - "bytestring", -@@ -103,7 +103,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "e01ed3140b2f8d422c68afa1ed2e85d996ea619c988ac834d255db32138655cb" - dependencies = [ - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -141,7 +141,7 @@ dependencies = [ - "parse-size", - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -259,7 +259,7 @@ dependencies = [ - "actix-router", - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -324,7 +324,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" - dependencies = [ - "cfg-if", -- "getrandom 0.3.4", -+ "getrandom 0.3.3", - "once_cell", - "version_check", - "zerocopy", -@@ -332,9 +332,9 @@ dependencies = [ - - [[package]] - name = "aho-corasick" --version = "1.1.4" -+version = "1.1.3" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" -+checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" - dependencies = [ - "memchr", - ] -@@ -434,15 +434,6 @@ version = "1.0.100" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" - --[[package]] --name = "ar_archive_writer" --version = "0.2.0" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "f0c269894b6fe5e9d7ada0cf69b5bf847ff35bc25fc271f08e1d080fce80339a" --dependencies = [ -- "object 0.32.2", --] -- - [[package]] - name = "arbitrary" - version = "1.4.2" -@@ -460,7 +451,7 @@ checksum = "0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -653,7 +644,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -693,7 +684,7 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -734,7 +725,7 @@ checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -831,7 +822,7 @@ dependencies = [ - "base64 0.22.1", - "http 1.3.1", - "log", -- "rustls 0.23.34", -+ "rustls 0.23.32", - "serde", - "serde_json", - "url", -@@ -846,14 +837,14 @@ checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" - - [[package]] - name = "av1-grain" --version = "0.2.5" -+version = "0.2.4" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "8cfddb07216410377231960af4fcab838eaa12e013417781b78bd95ee22077f8" -+checksum = "4f3efb2ca85bc610acfa917b5aaa36f3fcbebed5b3182d7f877b02531c4b80c8" - dependencies = [ - "anyhow", - "arrayvec", - "log", -- "nom 8.0.0", -+ "nom 7.1.3", - "num-rational", - "v_frame", - ] -@@ -896,15 +887,16 @@ dependencies = [ - - [[package]] - name = "aws-lc-sys" --version = "0.32.3" -+version = "0.32.2" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "107a4e9d9cab9963e04e84bb8dee0e25f2a987f9a8bad5ed054abd439caa8f8c" -+checksum = "a2b715a6010afb9e457ca2b7c9d2b9c344baa8baed7b38dc476034c171b32575" - dependencies = [ - "bindgen", - "cc", - "cmake", - "dunce", - "fs_extra", -+ "libloading 0.8.8", - ] - - [[package]] -@@ -973,7 +965,7 @@ dependencies = [ - "cfg-if", - "libc", - "miniz_oxide", -- "object 0.37.3", -+ "object", - "rustc-demangle", - "windows-link 0.2.1", - ] -@@ -1020,7 +1012,7 @@ version = "0.72.1" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895" - dependencies = [ -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "cexpr", - "clang-sys", - "itertools 0.13.0", -@@ -1031,7 +1023,7 @@ dependencies = [ - "regex", - "rustc-hash", - "shlex", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -1063,11 +1055,11 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - - [[package]] - name = "bitflags" --version = "2.10.0" -+version = "2.9.4" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" -+checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394" - dependencies = [ -- "serde_core", -+ "serde", - ] - - [[package]] -@@ -1157,7 +1149,7 @@ dependencies = [ - "proc-macro-crate 3.4.0", - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -1183,9 +1175,9 @@ dependencies = [ - - [[package]] - name = "bstr" --version = "1.12.1" -+version = "1.12.0" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "63044e1ae8e69f3b5a92c736ca6269b8d12fa7efe39bf34ddb06d102cf0e2cab" -+checksum = "234113d19d0d7d613b40e86fb654acf958910802bcceab913a4f9e7cda03b1a4" - dependencies = [ - "memchr", - ] -@@ -1262,9 +1254,9 @@ dependencies = [ - - [[package]] - name = "bzip2" --version = "0.6.1" -+version = "0.6.0" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "f3a53fac24f34a81bc9954b5d6cfce0c21e18ec6959f44f56e8e90e4bb7c346c" -+checksum = "bea8dcd42434048e4f7a304411d9273a411f647446c1234a65ce0554923f4cff" - dependencies = [ - "libbz2-rs-sys", - ] -@@ -1275,7 +1267,7 @@ version = "0.18.5" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "8ca26ef0159422fb77631dc9d17b102f253b876fe1586b03b803e63a309b4ee2" - dependencies = [ -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "cairo-sys-rs", - "glib", - "libc", -@@ -1347,9 +1339,9 @@ dependencies = [ - - [[package]] - name = "cc" --version = "1.2.44" -+version = "1.2.41" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "37521ac7aabe3d13122dc382493e20c9416f299d2ccd5b3a5340a2570cdeb0f3" -+checksum = "ac9fe6cdbb24b6ade63616c0a0688e45bb56732262c158df3c0c4bea4ca47cb7" - dependencies = [ - "find-msvc-tools", - "jobserver", -@@ -1404,9 +1396,9 @@ dependencies = [ - - [[package]] - name = "cfg-if" --version = "1.0.4" -+version = "1.0.3" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" -+checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9" - - [[package]] - name = "cfg_aliases" -@@ -1478,14 +1470,14 @@ checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" - dependencies = [ - "glob", - "libc", -- "libloading 0.8.9", -+ "libloading 0.8.8", - ] - - [[package]] - name = "clap" --version = "4.5.51" -+version = "4.5.48" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "4c26d721170e0295f191a69bd9a1f93efcdb0aff38684b61ab5750468972e5f5" -+checksum = "e2134bb3ea021b78629caa971416385309e0131b351b25e01dc16fb54e1b5fae" - dependencies = [ - "clap_builder", - "clap_derive", -@@ -1493,9 +1485,9 @@ dependencies = [ - - [[package]] - name = "clap_builder" --version = "4.5.51" -+version = "4.5.48" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "75835f0c7bf681bfd05abe44e965760fea999a5286c6eb2d59883634fd02011a" -+checksum = "c2ba64afa3c0a6df7fa517765e31314e983f51dda798ffba27b988194fb65dc9" - dependencies = [ - "anstream", - "anstyle", -@@ -1505,21 +1497,21 @@ dependencies = [ - - [[package]] - name = "clap_derive" --version = "4.5.49" -+version = "4.5.47" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "2a0b5487afeab2deb2ff4e03a807ad1a03ac532ff5a2cee5d86884440c7f7671" -+checksum = "bbfd7eae0b0f1a6e63d4b13c9c478de77c2eb546fba158ad50b4203dc24b9f9c" - dependencies = [ - "heck 0.5.0", - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] - name = "clap_lex" --version = "0.7.6" -+version = "0.7.5" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "a1d728cc89cf3aee9ff92b05e62b19ee65a02b5702cff7d5a377e32c6ae29d8d" -+checksum = "b94f61472cee1439c0b966b47e3aca9ae07e45d070759512cd390ea2bebc6675" - - [[package]] - name = "clickhouse" -@@ -1558,7 +1550,7 @@ dependencies = [ - "proc-macro2", - "quote", - "serde_derive_internals", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -1877,7 +1869,7 @@ version = "0.24.0" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "fa95a34622365fa5bbf40b20b75dba8dfa8c94c734aea8ac9a5ca38af14316f1" - dependencies = [ -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "core-foundation 0.10.1", - "core-graphics-types", - "foreign-types", -@@ -1890,7 +1882,7 @@ version = "0.2.0" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb" - dependencies = [ -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "core-foundation 0.10.1", - "libc", - ] -@@ -2029,26 +2021,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" - dependencies = [ - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] - name = "csv" --version = "1.4.0" -+version = "1.3.1" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "52cd9d68cf7efc6ddfaaee42e7288d3a99d613d4b50f76ce9827ae0c6e14f938" -+checksum = "acdc4883a9c96732e4733212c01447ebd805833b7275a73ca3ee080fd77afdaf" - dependencies = [ - "csv-core", - "itoa", - "ryu", -- "serde_core", -+ "serde", - ] - - [[package]] - name = "csv-core" --version = "0.1.13" -+version = "0.1.12" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "704a3c26996a80471189265814dbc2c257598b96b8a7feae2d31ace646bb9782" -+checksum = "7d02f3b0da4c6504f86e9cd789d8dbafab48c2321be74e9987593de5a894d93d" - dependencies = [ - "memchr", - ] -@@ -2060,7 +2052,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "32a2785755761f3ddc1492979ce1e48d2c00d09311c39e4466429188f3dd6501" - dependencies = [ - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -2084,7 +2076,7 @@ dependencies = [ - "dashmap", - "dotenvy", - "futures", -- "indexmap 2.12.0", -+ "indexmap 2.11.4", - "itertools 0.14.0", - "reqwest", - "rust-s3", -@@ -2130,7 +2122,7 @@ dependencies = [ - "proc-macro2", - "quote", - "strsim", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -2144,7 +2136,7 @@ dependencies = [ - "proc-macro2", - "quote", - "strsim", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -2155,7 +2147,7 @@ checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" - dependencies = [ - "darling_core 0.20.11", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -2166,7 +2158,7 @@ checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" - dependencies = [ - "darling_core 0.21.3", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -2256,9 +2248,9 @@ dependencies = [ - - [[package]] - name = "deranged" --version = "0.5.5" -+version = "0.5.4" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "ececcb659e7ba858fb4f10388c250a7252eb0a27373f1a72b8748afdd248e587" -+checksum = "a41953f86f8a05768a6cda24def994fd2f424b04ec5c719cf89989779f199071" - dependencies = [ - "powerfmt", - "serde_core", -@@ -2272,7 +2264,7 @@ checksum = "1e567bd82dcff979e4b03460c307b3cdc9e96fde3d73bed1496d2bc75d9dd62a" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -2293,7 +2285,7 @@ dependencies = [ - "darling 0.20.11", - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -2303,7 +2295,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c" - dependencies = [ - "derive_builder_core", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -2316,7 +2308,7 @@ dependencies = [ - "proc-macro2", - "quote", - "rustc_version", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -2336,7 +2328,7 @@ checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - "unicode-xid", - ] - -@@ -2430,7 +2422,7 @@ version = "0.3.0" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec" - dependencies = [ -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "block2 0.6.2", - "libc", - "objc2 0.6.3", -@@ -2444,7 +2436,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -2453,7 +2445,7 @@ version = "0.5.2" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412" - dependencies = [ -- "libloading 0.8.9", -+ "libloading 0.8.8", - ] - - [[package]] -@@ -2476,7 +2468,7 @@ checksum = "788160fb30de9cdd857af31c6a2675904b16ece8fc2737b2c7127ba368c9d0f4" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -2490,9 +2482,9 @@ dependencies = [ - - [[package]] - name = "document-features" --version = "0.2.12" -+version = "0.2.11" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "d4b8a88685455ed29a21542a33abd9cb6510b6b129abadabdcef0f4c55bc8f61" -+checksum = "95249b50c6c185bee49034bcb378a49dc2b5dff0be90ff6616d31d64febab05d" - dependencies = [ - "litrs", - ] -@@ -2660,7 +2652,7 @@ dependencies = [ - "heck 0.5.0", - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -2681,7 +2673,7 @@ checksum = "67c78a4d8fdf9953a5c9d458f9efe940fd97a0cab0941c075a813ac594733827" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -2703,7 +2695,7 @@ dependencies = [ - "darling 0.21.3", - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -2748,7 +2740,7 @@ checksum = "44f23cf4b44bfce11a86ace86f8a73ffdec849c9fd00a386a53d278bd9e81fb3" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -2823,7 +2815,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "f83197f59927b46c04a183a619b7c29df34e63e63c7869320862268c0ef687e0" - dependencies = [ - "bit_field", -- "half 2.7.1", -+ "half 2.7.0", - "lebe", - "miniz_oxide", - "rayon-core", -@@ -2884,7 +2876,7 @@ checksum = "a0aca10fb742cb43f9e7bb8467c91aa9bcb8e3ffbc6a6f7389bb93ffc920577d" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -2948,9 +2940,9 @@ dependencies = [ - - [[package]] - name = "flate2" --version = "1.1.5" -+version = "1.1.4" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "bfe33edd8e85a12a67454e37f8c75e730830d83e313556ab9ebf9ee7fbeb3bfb" -+checksum = "dc5a4e564e38c699f2880d3fda590bedc2e69f3f84cd48b457bd892ce61d0aa9" - dependencies = [ - "crc32fast", - "libz-rs-sys", -@@ -2998,7 +2990,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -3159,7 +3151,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -3313,12 +3305,12 @@ dependencies = [ - - [[package]] - name = "gethostname" --version = "1.1.0" -+version = "1.0.2" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "1bd49230192a3797a9a4d6abe9b3eed6f7fa4c8a8a4947977c6f80025f92cbd8" -+checksum = "fc257fdb4038301ce4b9cd1b3b51704509692bb3ff716a410cbd07925d9dae55" - dependencies = [ - "rustix 1.1.2", -- "windows-link 0.2.1", -+ "windows-targets 0.52.6", - ] - - [[package]] -@@ -3347,15 +3339,15 @@ dependencies = [ - - [[package]] - name = "getrandom" --version = "0.3.4" -+version = "0.3.3" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" -+checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" - dependencies = [ - "cfg-if", - "js-sys", - "libc", - "r-efi", -- "wasip2", -+ "wasi 0.14.7+wasi-0.2.4", - "wasm-bindgen", - ] - -@@ -3413,7 +3405,7 @@ version = "0.18.5" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "233daaf6e83ae6a12a52055f568f9d7cf4671dabb78ff9560ab6da230ce00ee5" - dependencies = [ -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "futures-channel", - "futures-core", - "futures-executor", -@@ -3441,7 +3433,7 @@ dependencies = [ - "proc-macro-error", - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -3531,7 +3523,7 @@ dependencies = [ - "proc-macro-error", - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -3546,7 +3538,7 @@ dependencies = [ - "futures-sink", - "futures-util", - "http 0.2.12", -- "indexmap 2.12.0", -+ "indexmap 2.11.4", - "slab", - "tokio", - "tokio-util", -@@ -3565,7 +3557,7 @@ dependencies = [ - "futures-core", - "futures-sink", - "http 1.3.1", -- "indexmap 2.12.0", -+ "indexmap 2.11.4", - "slab", - "tokio", - "tokio-util", -@@ -3580,9 +3572,9 @@ checksum = "1b43ede17f21864e81be2fa654110bf1e793774238d86ef8555c37e6519c0403" - - [[package]] - name = "half" --version = "2.7.1" -+version = "2.7.0" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" -+checksum = "e54c115d4f30f52c67202f079c5f9d8b49db4691f460fdb0b4c2e838261b2ba5" - dependencies = [ - "cfg-if", - "crunchy", -@@ -3737,11 +3729,11 @@ dependencies = [ - - [[package]] - name = "home" --version = "0.5.12" -+version = "0.5.11" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "cc627f471c528ff0c4a49e1d5e60450c8f6461dd6d10ba9dcd3a61d3dff7728d" -+checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" - dependencies = [ -- "windows-sys 0.61.2", -+ "windows-sys 0.59.0", - ] - - [[package]] -@@ -3940,8 +3932,8 @@ dependencies = [ - "http 1.3.1", - "hyper 1.7.0", - "hyper-util", -- "rustls 0.23.34", -- "rustls-native-certs 0.8.2", -+ "rustls 0.23.32", -+ "rustls-native-certs 0.8.1", - "rustls-pki-types", - "tokio", - "tokio-rustls 0.26.4", -@@ -4024,9 +4016,9 @@ dependencies = [ - - [[package]] - name = "icu_collections" --version = "2.1.1" -+version = "2.0.0" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "4c6b649701667bbe825c3b7e6388cb521c23d88644678e83c0c4d0a621a34b43" -+checksum = "200072f5d0e3614556f94a9930d5dc3e0662a652823904c3a75dc3b0af7fee47" - dependencies = [ - "displaydoc", - "potential_utf", -@@ -4037,9 +4029,9 @@ dependencies = [ - - [[package]] - name = "icu_locale_core" --version = "2.1.1" -+version = "2.0.0" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "edba7861004dd3714265b4db54a3c390e880ab658fec5f7db895fae2046b5bb6" -+checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" - dependencies = [ - "displaydoc", - "litemap", -@@ -4050,10 +4042,11 @@ dependencies = [ - - [[package]] - name = "icu_normalizer" --version = "2.1.1" -+version = "2.0.0" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "5f6c8828b67bf8908d82127b2054ea1b4427ff0230ee9141c54251934ab1b599" -+checksum = "436880e8e18df4d7bbc06d58432329d6458cc84531f7ac5f024e93deadb37979" - dependencies = [ -+ "displaydoc", - "icu_collections", - "icu_normalizer_data", - "icu_properties", -@@ -4064,38 +4057,42 @@ dependencies = [ - - [[package]] - name = "icu_normalizer_data" --version = "2.1.1" -+version = "2.0.0" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "7aedcccd01fc5fe81e6b489c15b247b8b0690feb23304303a9e560f37efc560a" -+checksum = "00210d6893afc98edb752b664b8890f0ef174c8adbb8d0be9710fa66fbbf72d3" - - [[package]] - name = "icu_properties" --version = "2.1.1" -+version = "2.0.1" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "e93fcd3157766c0c8da2f8cff6ce651a31f0810eaa1c51ec363ef790bbb5fb99" -+checksum = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b" - dependencies = [ -+ "displaydoc", - "icu_collections", - "icu_locale_core", - "icu_properties_data", - "icu_provider", -+ "potential_utf", - "zerotrie", - "zerovec", - ] - - [[package]] - name = "icu_properties_data" --version = "2.1.1" -+version = "2.0.1" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "02845b3647bb045f1100ecd6480ff52f34c35f82d9880e029d329c21d1054899" -+checksum = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632" - - [[package]] - name = "icu_provider" --version = "2.1.1" -+version = "2.0.0" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "85962cf0ce02e1e0a629cc34e7ca3e373ce20dda4c4d7294bbd0bf1fdb59e614" -+checksum = "03c80da27b5f4187909049ee2d72f276f0d9f99a42c306bd0131ecfe04d8e5af" - dependencies = [ - "displaydoc", - "icu_locale_core", -+ "stable_deref_trait", -+ "tinystr", - "writeable", - "yoke", - "zerofrom", -@@ -4195,9 +4192,9 @@ dependencies = [ - - [[package]] - name = "indexmap" --version = "2.12.0" -+version = "2.11.4" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "6717a8d2a5a929a1a2eb43a12812498ed141a0bcfb7e8f7844fbdbe4303bba9f" -+checksum = "4b0f83760fb341a774ed326568e19f5a863af4a952def8c39f9ab92fd95b88e5" - dependencies = [ - "equivalent", - "hashbrown 0.16.0", -@@ -4207,9 +4204,9 @@ dependencies = [ - - [[package]] - name = "indicatif" --version = "0.18.2" -+version = "0.18.0" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "ade6dfcba0dfb62ad59e59e7241ec8912af34fd29e0e743e3db992bd278e8b65" -+checksum = "70a646d946d06bedbbc4cac4c218acf4bbf2d87757a784857025f4d447e4e1cd" - dependencies = [ - "console", - "portable-atomic", -@@ -4245,7 +4242,7 @@ dependencies = [ - "crossbeam-utils", - "dashmap", - "env_logger", -- "indexmap 2.12.0", -+ "indexmap 2.11.4", - "itoa", - "log", - "num-format", -@@ -4261,7 +4258,7 @@ version = "0.11.0" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "f37dccff2791ab604f9babef0ba14fbe0be30bd368dc541e2b08d07c8aa908f3" - dependencies = [ -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "inotify-sys", - "libc", - ] -@@ -4292,7 +4289,18 @@ checksum = "c34819042dc3d3971c46c2190835914dfbe0c3c13f61449b2997f4e9722dfa60" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", -+] -+ -+[[package]] -+name = "io-uring" -+version = "0.7.10" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "046fa2d4d00aea763528b4950358d0ead425372445dc8ff86312b3c69ff7727b" -+dependencies = [ -+ "bitflags 2.9.4", -+ "cfg-if", -+ "libc", - ] - - [[package]] -@@ -4340,13 +4348,13 @@ dependencies = [ - - [[package]] - name = "is-terminal" --version = "0.4.17" -+version = "0.4.16" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "3640c1c38b8e4e43584d8df18be5fc6b0aa314ce6ebf51b53313d4306cca8e46" -+checksum = "e04d7f318608d35d4b61ddd75cbdaee86b023ebe2bd5a66ee0915f0bf93095a9" - dependencies = [ - "hermit-abi", - "libc", -- "windows-sys 0.61.2", -+ "windows-sys 0.59.0", - ] - - [[package]] -@@ -4361,9 +4369,9 @@ dependencies = [ - - [[package]] - name = "is_terminal_polyfill" --version = "1.70.2" -+version = "1.70.1" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" -+checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" - - [[package]] - name = "iso8601" -@@ -4475,15 +4483,15 @@ version = "0.1.34" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" - dependencies = [ -- "getrandom 0.3.4", -+ "getrandom 0.3.3", - "libc", - ] - - [[package]] - name = "js-sys" --version = "0.3.82" -+version = "0.3.81" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "b011eec8cc36da2aab2d5cff675ec18454fad408585853910a202391cf9f8e65" -+checksum = "ec48937a97411dcb524a265206ccd4c90bb711fca92b2792c407f268825b9305" - dependencies = [ - "once_cell", - "wasm-bindgen", -@@ -4552,7 +4560,7 @@ version = "0.7.0" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "b750dcadc39a09dbadd74e118f6dd6598df77fa01df0cfcdc52c28dece74528a" - dependencies = [ -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "serde", - "unicode-segmentation", - ] -@@ -4585,7 +4593,7 @@ checksum = "02cb977175687f33fa4afa0c95c112b987ea1443e5a51c8f8ff27dc618270cc2" - dependencies = [ - "cssparser", - "html5ever", -- "indexmap 2.12.0", -+ "indexmap 2.11.4", - "selectors", - ] - -@@ -4606,7 +4614,7 @@ dependencies = [ - "async-stripe", - "async-trait", - "base64 0.22.1", -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "bytes", - "censor", - "chrono", -@@ -4648,7 +4656,7 @@ dependencies = [ - "rust-s3", - "rust_decimal", - "rust_iso3166", -- "rustls 0.23.34", -+ "rustls 0.23.32", - "rusty-money", - "sentry", - "sentry-actix", -@@ -4725,8 +4733,8 @@ dependencies = [ - "nom 8.0.0", - "percent-encoding", - "quoted_printable", -- "rustls 0.23.34", -- "rustls-native-certs 0.8.2", -+ "rustls 0.23.32", -+ "rustls-native-certs 0.8.1", - "socket2 0.6.1", - "tokio", - "tokio-rustls 0.26.4", -@@ -4791,12 +4799,12 @@ dependencies = [ - - [[package]] - name = "libloading" --version = "0.8.9" -+version = "0.8.8" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" -+checksum = "07033963ba89ebaf1584d767badaa2e8fcec21aedea6b8c0346d487d49c28667" - dependencies = [ - "cfg-if", -- "windows-link 0.2.1", -+ "windows-targets 0.53.5", - ] - - [[package]] -@@ -4811,7 +4819,7 @@ version = "0.1.10" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "416f7e718bdb06000964960ffa43b4335ad4012ae8b99060261aa4a8088d5ccb" - dependencies = [ -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "libc", - "redox_syscall", - ] -@@ -4860,15 +4868,15 @@ checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" - - [[package]] - name = "litemap" --version = "0.8.1" -+version = "0.8.0" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "6373607a59f0be73a39b6fe456b8192fcc3585f602af20751600e974dd455e77" -+checksum = "241eaef5fd12c88705a01fc1066c48c4b36e0dd4377dcdc7ec3942cea7a69956" - - [[package]] - name = "litrs" --version = "1.0.0" -+version = "0.4.2" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "11d3d7f243d5c5a8b9bb5d6dd2b1602c0cb0b9db1621bafc7ed66e35ff9fe092" -+checksum = "f5e54036fe321fd421e10d732f155734c4e4afd610dd556d9a82833ab3ee0bed" - - [[package]] - name = "local-channel" -@@ -4964,7 +4972,7 @@ checksum = "88a9689d8d44bf9964484516275f5cd4c9b59457a6940c1d5d0ecbb94510a36b" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -5009,7 +5017,7 @@ checksum = "5cf92c10c7e361d6b99666ec1c6f9805b0bea2c3bd8c78dc6fe98ac5bd78db11" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -5048,7 +5056,7 @@ dependencies = [ - "proc-macro2", - "quote", - "structmeta", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -5145,14 +5153,14 @@ dependencies = [ - - [[package]] - name = "mio" --version = "1.1.0" -+version = "1.0.4" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "69d83b0086dc8ecf3ce9ae2874b2d1290252e2a30720bea58a5c6639b0092873" -+checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" - dependencies = [ - "libc", - "log", - "wasi 0.11.1+wasi-snapshot-preview1", -- "windows-sys 0.61.2", -+ "windows-sys 0.59.0", - ] - - [[package]] -@@ -5204,9 +5212,9 @@ dependencies = [ - - [[package]] - name = "moxcms" --version = "0.7.9" -+version = "0.7.7" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "0fbdd3d7436f8b5e892b8b7ea114271ff0fa00bc5acae845d53b07d498616ef6" -+checksum = "c588e11a3082784af229e23e8e4ecf5bcc6fbe4f69101e0421ce8d79da7f0b40" - dependencies = [ - "num-traits", - "pxfm", -@@ -5275,7 +5283,7 @@ version = "0.9.0" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" - dependencies = [ -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "jni-sys", - "log", - "ndk-sys", -@@ -5311,7 +5319,7 @@ version = "0.30.1" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" - dependencies = [ -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "cfg-if", - "cfg_aliases", - "libc", -@@ -5355,7 +5363,7 @@ version = "8.2.0" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "4d3d07927151ff8575b7087f245456e549fea62edf0ec4e565a5ee50c8402bc3" - dependencies = [ -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "fsevent-sys", - "inotify", - "kqueue", -@@ -5429,10 +5437,11 @@ dependencies = [ - - [[package]] - name = "num-bigint-dig" --version = "0.8.5" -+version = "0.8.4" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "82c79c15c05d4bf82b6f5ef163104cc81a760d8e874d38ac50ab67c8877b647b" -+checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151" - dependencies = [ -+ "byteorder", - "lazy_static", - "libm", - "num-integer", -@@ -5466,7 +5475,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -5532,9 +5541,9 @@ dependencies = [ - - [[package]] - name = "num_enum" --version = "0.7.5" -+version = "0.7.4" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "b1207a7e20ad57b847bbddc6776b968420d38292bbfe2089accff5e19e82454c" -+checksum = "a973b4e44ce6cad84ce69d797acf9a044532e4184c4f267913d1b546a0727b7a" - dependencies = [ - "num_enum_derive", - "rustversion", -@@ -5542,14 +5551,14 @@ dependencies = [ - - [[package]] - name = "num_enum_derive" --version = "0.7.5" -+version = "0.7.4" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "ff32365de1b6743cb203b710788263c44a03de03802daf96092f2da4fe6ba4d7" -+checksum = "77e878c846a8abae00dd069496dbe8751b16ac1c3d6bd2a7283a938e8228f90d" - dependencies = [ - "proc-macro-crate 3.4.0", - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -5584,7 +5593,7 @@ version = "0.3.2" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "d49e936b501e5c5bf01fda3a9452ff86dc3ea98ad5f283e1455153142d97518c" - dependencies = [ -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "block2 0.6.2", - "libc", - "objc2 0.6.3", -@@ -5605,7 +5614,7 @@ version = "0.3.2" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "73ad74d880bb43877038da939b7427bba67e9dd42004a18b809ba7d87cee241c" - dependencies = [ -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "objc2 0.6.3", - "objc2-foundation 0.3.2", - ] -@@ -5616,7 +5625,7 @@ version = "0.3.2" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "0b402a653efbb5e82ce4df10683b6b28027616a2715e90009947d50b8dd298fa" - dependencies = [ -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "objc2 0.6.3", - "objc2-foundation 0.3.2", - ] -@@ -5627,7 +5636,7 @@ version = "0.3.2" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" - dependencies = [ -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "dispatch2", - "objc2 0.6.3", - ] -@@ -5638,7 +5647,7 @@ version = "0.3.2" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "e022c9d066895efa1345f8e33e584b9f958da2fd4cd116792e15e07e4720a807" - dependencies = [ -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "dispatch2", - "objc2 0.6.3", - "objc2-core-foundation", -@@ -5661,7 +5670,7 @@ version = "0.3.2" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "0cde0dfb48d25d2b4862161a4d5fcc0e3c24367869ad306b0c9ec0073bfed92d" - dependencies = [ -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "objc2 0.6.3", - "objc2-core-foundation", - "objc2-core-graphics", -@@ -5673,7 +5682,7 @@ version = "0.3.2" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "d425caf1df73233f29fd8a5c3e5edbc30d2d4307870f802d18f00d83dc5141a6" - dependencies = [ -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "objc2 0.6.3", - "objc2-core-foundation", - "objc2-core-graphics", -@@ -5701,7 +5710,7 @@ version = "0.2.2" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" - dependencies = [ -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "block2 0.5.1", - "libc", - "objc2 0.5.2", -@@ -5713,7 +5722,7 @@ version = "0.3.2" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272" - dependencies = [ -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "block2 0.6.2", - "libc", - "objc2 0.6.3", -@@ -5736,7 +5745,7 @@ version = "0.3.2" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "180788110936d59bab6bd83b6060ffdfffb3b922ba1396b312ae795e1de9d81d" - dependencies = [ -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "objc2 0.6.3", - "objc2-core-foundation", - ] -@@ -5757,7 +5766,7 @@ version = "0.2.2" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" - dependencies = [ -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "block2 0.5.1", - "objc2 0.5.2", - "objc2-foundation 0.2.2", -@@ -5769,7 +5778,7 @@ version = "0.3.2" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "f112d1746737b0da274ef79a23aac283376f335f4095a083a267a082f21db0c0" - dependencies = [ -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "objc2 0.6.3", - "objc2-app-kit", - "objc2-foundation 0.3.2", -@@ -5781,7 +5790,7 @@ version = "0.2.2" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" - dependencies = [ -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "block2 0.5.1", - "objc2 0.5.2", - "objc2-foundation 0.2.2", -@@ -5794,7 +5803,7 @@ version = "0.3.2" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "96c1358452b371bf9f104e21ec536d37a650eb10f7ee379fff67d2e08d537f1f" - dependencies = [ -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "objc2 0.6.3", - "objc2-foundation 0.3.2", - ] -@@ -5805,7 +5814,7 @@ version = "0.3.2" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "709fe137109bd1e8b5a99390f77a7d8b2961dafc1a1c5db8f2e60329ad6d895a" - dependencies = [ -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "objc2 0.6.3", - "objc2-core-foundation", - ] -@@ -5816,7 +5825,7 @@ version = "0.3.2" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "d87d638e33c06f577498cbcc50491496a3ed4246998a7fbba7ccb98b1e7eab22" - dependencies = [ -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "objc2 0.6.3", - "objc2-core-foundation", - "objc2-foundation 0.3.2", -@@ -5828,7 +5837,7 @@ version = "0.3.2" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "b2e5aaab980c433cf470df9d7af96a7b46a9d892d521a2cbbb2f8a4c16751e7f" - dependencies = [ -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "block2 0.6.2", - "objc2 0.6.3", - "objc2-app-kit", -@@ -5838,15 +5847,6 @@ dependencies = [ - "objc2-security", - ] - --[[package]] --name = "object" --version = "0.32.2" --source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" --dependencies = [ -- "memchr", --] -- - [[package]] - name = "object" - version = "0.37.3" -@@ -5868,9 +5868,9 @@ dependencies = [ - - [[package]] - name = "once_cell_polyfill" --version = "1.70.2" -+version = "1.70.1" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" -+checksum = "a4895175b425cb1f87721b59f0f286c2092bd4af812243672510e1ac53e2e0ad" - - [[package]] - name = "open" -@@ -6193,7 +6193,7 @@ dependencies = [ - "phf_shared 0.11.3", - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -6206,7 +6206,7 @@ dependencies = [ - "phf_shared 0.13.1", - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -6262,7 +6262,7 @@ checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -6322,7 +6322,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "740ebea15c5d1428f910cd1a5f52cebf8d25006245ed8ade92702f4943d91e07" - dependencies = [ - "base64 0.22.1", -- "indexmap 2.12.0", -+ "indexmap 2.11.4", - "quick-xml 0.38.3", - "serde", - "time", -@@ -6347,7 +6347,7 @@ version = "0.18.0" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "97baced388464909d42d89643fe4361939af9b7ce7a31ee32a168f832a70f2a0" - dependencies = [ -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "crc32fast", - "fdeflate", - "flate2", -@@ -6376,9 +6376,9 @@ checksum = "f84267b20a16ea918e43c6a88433c2d54fa145c92a811b5b047ccbe153674483" - - [[package]] - name = "potential_utf" --version = "0.1.4" -+version = "0.1.3" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "b73949432f5e2a09657003c25bca5e19a0e9c84f8058ca374f49e0ebe605af77" -+checksum = "84df19adbe5b5a0782edcab45899906947ab039ccf4573713735ee7de1e6b08a" - dependencies = [ - "zerovec", - ] -@@ -6426,7 +6426,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" - dependencies = [ - "proc-macro2", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -6524,7 +6524,7 @@ dependencies = [ - "proc-macro-error-attr2", - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -6535,9 +6535,9 @@ checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" - - [[package]] - name = "proc-macro2" --version = "1.0.103" -+version = "1.0.101" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "5ee95bc4ef87b8d5ba32e8b7714ccc834865276eab0aed5c9958d00ec45f49e8" -+checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de" - dependencies = [ - "unicode-ident", - ] -@@ -6548,7 +6548,7 @@ version = "0.17.0" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "cc5b72d8145275d844d4b5f6d4e1eef00c8cd889edb6035c21675d1bb1f45c9f" - dependencies = [ -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "hex", - "procfs-core", - "rustix 0.38.44", -@@ -6560,7 +6560,7 @@ version = "0.17.0" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "239df02d8349b06fc07398a3a1697b06418223b1c7725085e801e7c0fc6a12ec" - dependencies = [ -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "hex", - ] - -@@ -6580,7 +6580,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "52717f9a02b6965224f95ca2a81e2e0c5c43baacd28ca057577988930b6c3d5b" - dependencies = [ - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -6620,7 +6620,7 @@ dependencies = [ - "itertools 0.14.0", - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -6660,11 +6660,10 @@ checksum = "33cb294fe86a74cbcf50d4445b37da762029549ebeea341421c7c70370f86cac" - - [[package]] - name = "psm" --version = "0.1.28" -+version = "0.1.27" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "d11f2fedc3b7dafdc2851bc52f277377c5473d378859be234bc7ebb593144d01" -+checksum = "e66fcd288453b748497d8fb18bccc83a16b0518e3906d4b8df0a8d42d93dbb1c" - dependencies = [ -- "ar_archive_writer", - "cc", - ] - -@@ -6779,7 +6778,7 @@ dependencies = [ - "quinn-proto", - "quinn-udp", - "rustc-hash", -- "rustls 0.23.34", -+ "rustls 0.23.32", - "socket2 0.6.1", - "thiserror 2.0.17", - "tokio", -@@ -6794,12 +6793,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "f1906b49b0c3bc04b5fe5d86a77925ae6524a19b816ae38ce1e426255f1d8a31" - dependencies = [ - "bytes", -- "getrandom 0.3.4", -+ "getrandom 0.3.3", - "lru-slab", - "rand 0.9.2", - "ring", - "rustc-hash", -- "rustls 0.23.34", -+ "rustls 0.23.32", - "rustls-pki-types", - "slab", - "thiserror 2.0.17", -@@ -6949,7 +6948,7 @@ version = "0.9.3" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" - dependencies = [ -- "getrandom 0.3.4", -+ "getrandom 0.3.3", - ] - - [[package]] -@@ -7076,7 +7075,7 @@ version = "0.5.18" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" - dependencies = [ -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - ] - - [[package]] -@@ -7118,7 +7117,7 @@ checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -7200,8 +7199,8 @@ dependencies = [ - "percent-encoding", - "pin-project-lite", - "quinn", -- "rustls 0.23.34", -- "rustls-native-certs 0.8.2", -+ "rustls 0.23.32", -+ "rustls-native-certs 0.8.1", - "rustls-pki-types", - "serde", - "serde_json", -@@ -7360,7 +7359,7 @@ dependencies = [ - "proc-macro2", - "quote", - "rust-embed-utils", -- "syn 2.0.108", -+ "syn 2.0.106", - "walkdir", - ] - -@@ -7442,7 +7441,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "ae8c0cb48f413ebe24dc2d148788e0efbe09ba3e011d9277162f2eaf8e1069a3" - dependencies = [ - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -7484,7 +7483,7 @@ version = "0.38.44" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" - dependencies = [ -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "errno", - "libc", - "linux-raw-sys 0.4.15", -@@ -7497,7 +7496,7 @@ version = "1.1.2" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e" - dependencies = [ -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "errno", - "libc", - "linux-raw-sys 0.11.0", -@@ -7518,16 +7517,16 @@ dependencies = [ - - [[package]] - name = "rustls" --version = "0.23.34" -+version = "0.23.32" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "6a9586e9ee2b4f8fab52a0048ca7334d7024eef48e2cb9407e3497bb7cab7fa7" -+checksum = "cd3c25631629d034ce7cd9940adc9d45762d46de2b0f57193c4443b92c6d4d40" - dependencies = [ - "aws-lc-rs", - "log", - "once_cell", - "ring", - "rustls-pki-types", -- "rustls-webpki 0.103.8", -+ "rustls-webpki 0.103.7", - "subtle", - "zeroize", - ] -@@ -7546,9 +7545,9 @@ dependencies = [ - - [[package]] - name = "rustls-native-certs" --version = "0.8.2" -+version = "0.8.1" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "9980d917ebb0c0536119ba501e90834767bffc3d60641457fd84a1f3fd337923" -+checksum = "7fcff2dd52b58a8d98a70243663a0d234c4e2b79235637849d15913394a247d3" - dependencies = [ - "openssl-probe", - "rustls-pki-types", -@@ -7576,9 +7575,9 @@ dependencies = [ - - [[package]] - name = "rustls-pki-types" --version = "1.13.0" -+version = "1.12.0" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "94182ad936a0c91c324cd46c6511b9510ed16af436d7b5bab34beab0afd55f7a" -+checksum = "229a4a4c221013e7e1f1a043678c5cc39fe5171437c88fb47151a21e6f5b5c79" - dependencies = [ - "web-time", - "zeroize", -@@ -7596,9 +7595,9 @@ dependencies = [ - - [[package]] - name = "rustls-webpki" --version = "0.103.8" -+version = "0.103.7" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "2ffdfa2f5286e2247234e03f680868ac2815974dc39e00ea15adc445d0aafe52" -+checksum = "e10b3f4191e8a80e6b43eebabfac91e5dcecebb27a71f04e820c47ec41d314bf" - dependencies = [ - "aws-lc-rs", - "ring", -@@ -7722,7 +7721,7 @@ dependencies = [ - "proc-macro2", - "quote", - "serde_derive_internals", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -7761,7 +7760,7 @@ checksum = "22f968c5ea23d555e670b449c1c5e7b2fc399fdaec1d304a17cd48e288abc107" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -7784,7 +7783,7 @@ version = "2.11.1" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" - dependencies = [ -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "core-foundation 0.9.4", - "core-foundation-sys", - "libc", -@@ -7797,7 +7796,7 @@ version = "3.5.1" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "b3297343eaf830f66ede390ea39da1d462b6b0c1b000f420d0a83f898bbbe6ef" - dependencies = [ -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "core-foundation 0.10.1", - "core-foundation-sys", - "libc", -@@ -7850,7 +7849,7 @@ checksum = "48b85e25e8a1fc13928885e8bf13abe8a09e15c46993aed05d6405f7755d6e20" - dependencies = [ - "httpdate", - "reqwest", -- "rustls 0.23.34", -+ "rustls 0.23.32", - "sentry-backtrace", - "sentry-contexts", - "sentry-core", -@@ -7938,7 +7937,7 @@ version = "0.45.0" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "428f780866a613142dcc81b7f8551ae4d1c056f4df22b6d7ddd9154a9974eb03" - dependencies = [ -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "sentry-backtrace", - "sentry-core", - "tracing-core", -@@ -8033,7 +8032,7 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -8044,7 +8043,7 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -8121,7 +8120,7 @@ checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -8151,7 +8150,7 @@ dependencies = [ - "proc-macro2", - "quote", - "serde", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -8168,15 +8167,15 @@ dependencies = [ - - [[package]] - name = "serde_with" --version = "3.15.1" -+version = "3.15.0" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "aa66c845eee442168b2c8134fec70ac50dc20e760769c8ba0ad1319ca1959b04" -+checksum = "6093cd8c01b25262b84927e0f7151692158fab02d961e04c979d3903eba7ecc5" - dependencies = [ - "base64 0.22.1", - "chrono", - "hex", - "indexmap 1.9.3", -- "indexmap 2.12.0", -+ "indexmap 2.11.4", - "schemars 0.9.0", - "schemars 1.0.4", - "serde_core", -@@ -8187,14 +8186,14 @@ dependencies = [ - - [[package]] - name = "serde_with_macros" --version = "3.15.1" -+version = "3.15.0" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "b91a903660542fced4e99881aa481bdbaec1634568ee02e0b8bd57c64cb38955" -+checksum = "a7e6c180db0816026a61afa1cff5344fb7ebded7e4d3062772179f2501481c27" - dependencies = [ - "darling 0.21.3", - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -8216,7 +8215,7 @@ checksum = "772ee033c0916d670af7860b6e1ef7d658a4629a6d0b4c8c3e67f09b3765b75d" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -8487,13 +8486,13 @@ dependencies = [ - "futures-util", - "hashbrown 0.15.5", - "hashlink", -- "indexmap 2.12.0", -+ "indexmap 2.11.4", - "log", - "memchr", - "once_cell", - "percent-encoding", - "rust_decimal", -- "rustls 0.23.34", -+ "rustls 0.23.32", - "serde", - "serde_json", - "sha2", -@@ -8517,7 +8516,7 @@ dependencies = [ - "quote", - "sqlx-core", - "sqlx-macros-core", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -8540,7 +8539,7 @@ dependencies = [ - "sqlx-mysql", - "sqlx-postgres", - "sqlx-sqlite", -- "syn 2.0.108", -+ "syn 2.0.106", - "tokio", - "url", - ] -@@ -8553,7 +8552,7 @@ checksum = "aa003f0038df784eb8fecbbac13affe3da23b45194bd57dba231c8f48199c526" - dependencies = [ - "atoi", - "base64 0.22.1", -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "byteorder", - "bytes", - "chrono", -@@ -8598,7 +8597,7 @@ checksum = "db58fcd5a53cf07c184b154801ff91347e4c30d17a3562a635ff028ad5deda46" - dependencies = [ - "atoi", - "base64 0.22.1", -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "byteorder", - "chrono", - "crc", -@@ -8744,7 +8743,7 @@ dependencies = [ - "proc-macro2", - "quote", - "structmeta-derive", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -8755,7 +8754,7 @@ checksum = "152a0b65a590ff6c3da95cabe2353ee04e6167c896b28e3b14478c2636c922fc" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -8788,9 +8787,9 @@ dependencies = [ - - [[package]] - name = "syn" --version = "2.0.108" -+version = "2.0.106" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "da58917d35242480a05c2897064da0a80589a2a0476c9a3f2fdc83b53502e917" -+checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6" - dependencies = [ - "proc-macro2", - "quote", -@@ -8814,7 +8813,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -8846,7 +8845,7 @@ version = "0.6.1" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b" - dependencies = [ -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "core-foundation 0.9.4", - "system-configuration-sys", - ] -@@ -8882,11 +8881,11 @@ checksum = "7b2093cf4c8eb1e67749a6762251bc9cd836b6fc171623bd0a9d324d37af2417" - - [[package]] - name = "tao" --version = "0.34.5" -+version = "0.34.3" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "f3a753bdc39c07b192151523a3f77cd0394aa75413802c883a0f6f6a0e5ee2e7" -+checksum = "959469667dbcea91e5485fc48ba7dd6023face91bb0f1a14681a70f99847c3f7" - dependencies = [ -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "block2 0.6.2", - "core-foundation 0.10.1", - "core-graphics", -@@ -8928,7 +8927,7 @@ checksum = "f4e16beb8b2ac17db28eab8bca40e62dbfbb34c0fcdc6d9826b11b7b5d047dfd" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -8956,9 +8955,9 @@ checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1" - - [[package]] - name = "tauri" --version = "2.9.2" -+version = "2.8.5" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "8bceb52453e507c505b330afe3398510e87f428ea42b6e76ecb6bd63b15965b5" -+checksum = "d4d1d3b3dc4c101ac989fd7db77e045cc6d91a25349cd410455cb5c57d510c1c" - dependencies = [ - "anyhow", - "bytes", -@@ -8966,7 +8965,7 @@ dependencies = [ - "dirs", - "dunce", - "embed_plist", -- "getrandom 0.3.4", -+ "getrandom 0.3.3", - "glob", - "gtk", - "heck 0.5.0", -@@ -9000,6 +8999,7 @@ dependencies = [ - "tokio", - "tray-icon", - "url", -+ "urlpattern", - "webkit2gtk", - "webview2-com", - "window-vibrancy", -@@ -9008,9 +9008,9 @@ dependencies = [ - - [[package]] - name = "tauri-build" --version = "2.5.1" -+version = "2.4.1" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "a924b6c50fe83193f0f8b14072afa7c25b7a72752a2a73d9549b463f5fe91a38" -+checksum = "9c432ccc9ff661803dab74c6cd78de11026a578a9307610bbc39d3c55be7943f" - dependencies = [ - "anyhow", - "cargo_toml", -@@ -9032,9 +9032,9 @@ dependencies = [ - - [[package]] - name = "tauri-codegen" --version = "2.5.0" -+version = "2.4.0" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "6c1fe64c74cc40f90848281a90058a6db931eb400b60205840e09801ee30f190" -+checksum = "1ab3a62cf2e6253936a8b267c2e95839674e7439f104fa96ad0025e149d54d8a" - dependencies = [ - "base64 0.22.1", - "brotli", -@@ -9048,7 +9048,7 @@ dependencies = [ - "serde", - "serde_json", - "sha2", -- "syn 2.0.108", -+ "syn 2.0.106", - "tauri-utils", - "thiserror 2.0.17", - "time", -@@ -9059,23 +9059,23 @@ dependencies = [ - - [[package]] - name = "tauri-macros" --version = "2.5.0" -+version = "2.4.0" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "260c5d2eb036b76206b9fca20b7be3614cfd21046c5396f7959e0e64a4b07f2f" -+checksum = "4368ea8094e7045217edb690f493b55b30caf9f3e61f79b4c24b6db91f07995e" - dependencies = [ - "heck 0.5.0", - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - "tauri-codegen", - "tauri-utils", - ] - - [[package]] - name = "tauri-plugin" --version = "2.5.1" -+version = "2.4.0" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "076c78a474a7247c90cad0b6e87e593c4c620ed4efdb79cbe0214f0021f6c39d" -+checksum = "9946a3cede302eac0c6eb6c6070ac47b1768e326092d32efbb91f21ed58d978f" - dependencies = [ - "anyhow", - "glob", -@@ -9090,9 +9090,9 @@ dependencies = [ - - [[package]] - name = "tauri-plugin-deep-link" --version = "2.4.5" -+version = "2.4.3" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "6e82759f7c7d51de3cbde51c04b3f2332de52436ed84541182cd8944b04e9e73" -+checksum = "cd67112fb1131834c2a7398ffcba520dbbf62c17de3b10329acd1a3554b1a9bb" - dependencies = [ - "dunce", - "plist", -@@ -9111,9 +9111,9 @@ dependencies = [ - - [[package]] - name = "tauri-plugin-dialog" --version = "2.4.2" -+version = "2.4.0" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "313f8138692ddc4a2127c4c9607d616a46f5c042e77b3722450866da0aad2f19" -+checksum = "0beee42a4002bc695550599b011728d9dfabf82f767f134754ed6655e434824e" - dependencies = [ - "log", - "raw-window-handle", -@@ -9129,9 +9129,9 @@ dependencies = [ - - [[package]] - name = "tauri-plugin-fs" --version = "2.4.4" -+version = "2.4.2" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "47df422695255ecbe7bac7012440eddaeefd026656171eac9559f5243d3230d9" -+checksum = "315784ec4be45e90a987687bae7235e6be3d6e9e350d2b75c16b8a4bf22c1db7" - dependencies = [ - "anyhow", - "dunce", -@@ -9151,9 +9151,9 @@ dependencies = [ - - [[package]] - name = "tauri-plugin-http" --version = "2.5.4" -+version = "2.5.2" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "c00685aceab12643cf024f712ab0448ba8fcadf86f2391d49d2e5aa732aacc70" -+checksum = "938a3d7051c9a82b431e3a0f3468f85715b3442b3c3a3913095e9fa509e2652c" - dependencies = [ - "bytes", - "cookie_store", -@@ -9175,9 +9175,9 @@ dependencies = [ - - [[package]] - name = "tauri-plugin-opener" --version = "2.5.2" -+version = "2.5.0" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "c26b72571d25dee25667940027114e60f569fc3974f8cefbe50c2cbc5fd65e3b" -+checksum = "786156aa8e89e03d271fbd3fe642207da8e65f3c961baa9e2930f332bf80a1f5" - dependencies = [ - "dunce", - "glob", -@@ -9197,9 +9197,9 @@ dependencies = [ - - [[package]] - name = "tauri-plugin-os" --version = "2.3.2" -+version = "2.3.1" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "d8f08346c8deb39e96f86973da0e2d76cbb933d7ac9b750f6dc4daf955a6f997" -+checksum = "77a1c77ebf6f20417ab2a74e8c310820ba52151406d0c80fbcea7df232e3f6ba" - dependencies = [ - "gethostname", - "log", -@@ -9215,9 +9215,9 @@ dependencies = [ - - [[package]] - name = "tauri-plugin-single-instance" --version = "2.3.6" -+version = "2.3.4" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "dd707f8c86b4e3004e2c141fa24351f1909ba40ce1b8437e30d5ed5277dd3710" -+checksum = "fb9cac815bf11c4a80fb498666bcdad66d65b89e3ae24669e47806febb76389c" - dependencies = [ - "serde", - "serde_json", -@@ -9262,11 +9262,11 @@ dependencies = [ - - [[package]] - name = "tauri-plugin-window-state" --version = "2.4.1" -+version = "2.4.0" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "73736611e14142408d15353e21e3cca2f12a3cfb523ad0ce85999b6d2ef1a704" -+checksum = "2d5f6fe3291bfa609c7e0b0ee3bedac294d94c7018934086ce782c1d0f2a468e" - dependencies = [ -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "log", - "serde", - "serde_json", -@@ -9277,9 +9277,9 @@ dependencies = [ - - [[package]] - name = "tauri-runtime" --version = "2.9.1" -+version = "2.8.0" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "9368f09358496f2229313fccb37682ad116b7f46fa76981efe116994a0628926" -+checksum = "d4cfc9ad45b487d3fded5a4731a567872a4812e9552e3964161b08edabf93846" - dependencies = [ - "cookie 0.18.1", - "dpi", -@@ -9302,9 +9302,9 @@ dependencies = [ - - [[package]] - name = "tauri-runtime-wry" --version = "2.9.1" -+version = "2.8.1" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "929f5df216f5c02a9e894554401bcdab6eec3e39ec6a4a7731c7067fc8688a93" -+checksum = "c1fe9d48bd122ff002064e88cfcd7027090d789c4302714e68fcccba0f4b7807" - dependencies = [ - "gtk", - "http 1.3.1", -@@ -9329,9 +9329,9 @@ dependencies = [ - - [[package]] - name = "tauri-utils" --version = "2.8.0" -+version = "2.7.0" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "f6b8bbe426abdbf52d050e52ed693130dbd68375b9ad82a3fb17efb4c8d85673" -+checksum = "41a3852fdf9a4f8fbeaa63dc3e9a85284dd6ef7200751f0bd66ceee30c93f212" - dependencies = [ - "anyhow", - "brotli", -@@ -9382,7 +9382,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16" - dependencies = [ - "fastrand 2.3.0", -- "getrandom 0.3.4", -+ "getrandom 0.3.3", - "once_cell", - "rustix 1.1.2", - "windows-sys 0.61.2", -@@ -9558,7 +9558,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -9569,7 +9569,7 @@ checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -9589,7 +9589,7 @@ checksum = "af9605de7fee8d9551863fd692cce7637f548dbd9db9180fcc07ccc6d26c336f" - dependencies = [ - "fax", - "flate2", -- "half 2.7.1", -+ "half 2.7.0", - "quick-error", - "weezl", - "zune-jpeg", -@@ -9597,9 +9597,9 @@ dependencies = [ - - [[package]] - name = "tikv-jemalloc-ctl" --version = "0.6.1" -+version = "0.6.0" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "661f1f6a57b3a36dc9174a2c10f19513b4866816e13425d3e418b11cc37bc24c" -+checksum = "f21f216790c8df74ce3ab25b534e0718da5a1916719771d3fec23315c99e468b" - dependencies = [ - "libc", - "paste", -@@ -9608,9 +9608,9 @@ dependencies = [ - - [[package]] - name = "tikv-jemalloc-sys" --version = "0.6.1+5.3.0-1-ge13ca993e8ccb9ba9847cc330696e02839f328f7" -+version = "0.6.0+5.3.0-1-ge13ca993e8ccb9ba9847cc330696e02839f328f7" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "cd8aa5b2ab86a2cefa406d889139c162cbb230092f7d1d7cbc1716405d852a3b" -+checksum = "cd3c60906412afa9c2b5b5a48ca6a5abe5736aec9eb48ad05037a677e52e4e2d" - dependencies = [ - "cc", - "libc", -@@ -9618,9 +9618,9 @@ dependencies = [ - - [[package]] - name = "tikv-jemallocator" --version = "0.6.1" -+version = "0.6.0" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "0359b4327f954e0567e69fb191cf1436617748813819c94b8cd4a431422d053a" -+checksum = "4cec5ff18518d81584f477e9bfdf957f5bb0979b0bac3af4ca30b5b3ae2d2865" - dependencies = [ - "libc", - "tikv-jemalloc-sys", -@@ -9668,9 +9668,9 @@ dependencies = [ - - [[package]] - name = "tinystr" --version = "0.8.2" -+version = "0.8.1" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "42d3e9c45c09de15d06dd8acf5f4e0e399e85927b7f00711024eb7ae10fa4869" -+checksum = "5d4f6d1145dcb577acf783d4e601bc1d76a13337bb54e6233add580b07344c8b" - dependencies = [ - "displaydoc", - "zerovec", -@@ -9693,31 +9693,34 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" - - [[package]] - name = "tokio" --version = "1.48.0" -+version = "1.47.1" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "ff360e02eab121e0bc37a2d3b4d4dc622e6eda3a8e5253d5435ecf5bd4c68408" -+checksum = "89e49afdadebb872d3145a5638b59eb0691ea23e46ca484037cfab3b76b95038" - dependencies = [ -+ "backtrace", - "bytes", -+ "io-uring", - "libc", - "mio", - "parking_lot", - "pin-project-lite", - "signal-hook-registry", -+ "slab", - "socket2 0.6.1", - "tokio-macros", - "tracing", -- "windows-sys 0.61.2", -+ "windows-sys 0.59.0", - ] - - [[package]] - name = "tokio-macros" --version = "2.6.0" -+version = "2.5.0" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" -+checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -9736,7 +9739,7 @@ version = "0.26.4" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61" - dependencies = [ -- "rustls 0.23.34", -+ "rustls 0.23.32", - "tokio", - ] - -@@ -9784,7 +9787,7 @@ version = "0.9.8" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "f0dc8b1fb61449e27716ec0e1bdf0f6b8f3e8f6b05391e8497b8b6d7804ea6d8" - dependencies = [ -- "indexmap 2.12.0", -+ "indexmap 2.11.4", - "serde_core", - "serde_spanned 1.0.3", - "toml_datetime 0.7.3", -@@ -9817,7 +9820,7 @@ version = "0.19.15" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" - dependencies = [ -- "indexmap 2.12.0", -+ "indexmap 2.11.4", - "toml_datetime 0.6.3", - "winnow 0.5.40", - ] -@@ -9828,7 +9831,7 @@ version = "0.20.2" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" - dependencies = [ -- "indexmap 2.12.0", -+ "indexmap 2.11.4", - "serde", - "serde_spanned 0.6.9", - "toml_datetime 0.6.3", -@@ -9841,7 +9844,7 @@ version = "0.23.7" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "6485ef6d0d9b5d0ec17244ff7eb05310113c3f316f2d14200d4de56b3cb98f8d" - dependencies = [ -- "indexmap 2.12.0", -+ "indexmap 2.11.4", - "toml_datetime 0.7.3", - "toml_parser", - "winnow 0.7.13", -@@ -9947,7 +9950,7 @@ version = "0.6.6" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "adc82fd73de2a9722ac5da747f12383d2bfdb93591ee6c58486e0097890f05f2" - dependencies = [ -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "bytes", - "futures-util", - "http 1.3.1", -@@ -10004,7 +10007,7 @@ checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -10075,9 +10078,9 @@ dependencies = [ - - [[package]] - name = "tray-icon" --version = "0.21.2" -+version = "0.21.1" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "e3d5572781bee8e3f994d7467084e1b1fd7a93ce66bd480f8156ba89dee55a2b" -+checksum = "a0d92153331e7d02ec09137538996a7786fe679c629c279e82a6be762b7e6fe2" - dependencies = [ - "crossbeam-channel", - "dirs", -@@ -10092,7 +10095,7 @@ dependencies = [ - "png 0.17.16", - "serde", - "thiserror 2.0.17", -- "windows-sys 0.60.2", -+ "windows-sys 0.59.0", - ] - - [[package]] -@@ -10113,7 +10116,7 @@ dependencies = [ - "httparse", - "log", - "rand 0.9.2", -- "rustls 0.23.34", -+ "rustls 0.23.32", - "rustls-pki-types", - "sha1", - "thiserror 2.0.17", -@@ -10213,24 +10216,24 @@ checksum = "5c1cb5db39152898a79168971543b1cb5020dff7fe43c8dc468b0885f5e29df5" - - [[package]] - name = "unicode-ident" --version = "1.0.22" -+version = "1.0.19" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" -+checksum = "f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d" - - [[package]] - name = "unicode-normalization" --version = "0.1.25" -+version = "0.1.24" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "5fd4f6878c9cb28d874b009da9e8d183b5abc80117c40bbd187a1fde336be6e8" -+checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" - dependencies = [ - "tinyvec", - ] - - [[package]] - name = "unicode-properties" --version = "0.1.4" -+version = "0.1.3" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "7df058c713841ad818f1dc5d3fd88063241cc61f49f5fbea4b951e8cf5a8d71d" -+checksum = "e70f2a8b45122e719eb623c01822704c4e0907e7e426a05927e1a1cfff5b75d0" - - [[package]] - name = "unicode-segmentation" -@@ -10277,7 +10280,7 @@ dependencies = [ - "base64 0.22.1", - "log", - "percent-encoding", -- "rustls 0.23.34", -+ "rustls 0.23.32", - "rustls-pemfile 2.2.0", - "rustls-pki-types", - "ureq-proto", -@@ -10351,7 +10354,7 @@ version = "5.4.0" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "2fcc29c80c21c31608227e0912b2d7fddba57ad76b606890627ba8ee7964e993" - dependencies = [ -- "indexmap 2.12.0", -+ "indexmap 2.11.4", - "serde", - "serde_json", - "utoipa-gen", -@@ -10377,7 +10380,7 @@ dependencies = [ - "proc-macro2", - "quote", - "regex", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -10420,7 +10423,7 @@ version = "1.18.1" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "2f87b8aa10b915a06587d0dec516c282ff295b475d94abf425d62b57710070a2" - dependencies = [ -- "getrandom 0.3.4", -+ "getrandom 0.3.3", - "js-sys", - "rand 0.9.2", - "serde", -@@ -10471,7 +10474,7 @@ dependencies = [ - "proc-macro-error2", - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -10488,9 +10491,9 @@ checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" - - [[package]] - name = "version-compare" --version = "0.2.1" -+version = "0.2.0" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "03c2856837ef78f57382f06b2b8563a2f512f7185d732608fd9176cb3b8edf0e" -+checksum = "852e951cb7832cb45cb1169900d19760cfa39b82bc0ea9c0e5a14ae88411c98b" - - [[package]] - name = "version_check" -@@ -10571,6 +10574,15 @@ version = "0.11.1+wasi-snapshot-preview1" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" - -+[[package]] -+name = "wasi" -+version = "0.14.7+wasi-0.2.4" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "883478de20367e224c0090af9cf5f9fa85bed63a95c1abf3afc5c083ebc06e8c" -+dependencies = [ -+ "wasip2", -+] -+ - [[package]] - name = "wasip2" - version = "1.0.1+wasi-0.2.4" -@@ -10588,9 +10600,9 @@ checksum = "b8dad83b4f25e74f184f64c43b150b91efe7647395b42289f38e50566d82855b" - - [[package]] - name = "wasm-bindgen" --version = "0.2.105" -+version = "0.2.104" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "da95793dfc411fbbd93f5be7715b0578ec61fe87cb1a42b12eb625caa5c5ea60" -+checksum = "c1da10c01ae9f1ae40cbfac0bac3b1e724b320abfcf52229f80b547c0d250e2d" - dependencies = [ - "cfg-if", - "once_cell", -@@ -10599,11 +10611,25 @@ dependencies = [ - "wasm-bindgen-shared", - ] - -+[[package]] -+name = "wasm-bindgen-backend" -+version = "0.2.104" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "671c9a5a66f49d8a47345ab942e2cb93c7d1d0339065d4f8139c486121b43b19" -+dependencies = [ -+ "bumpalo", -+ "log", -+ "proc-macro2", -+ "quote", -+ "syn 2.0.106", -+ "wasm-bindgen-shared", -+] -+ - [[package]] - name = "wasm-bindgen-futures" --version = "0.4.55" -+version = "0.4.54" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "551f88106c6d5e7ccc7cd9a16f312dd3b5d36ea8b4954304657d5dfba115d4a0" -+checksum = "7e038d41e478cc73bae0ff9b36c60cff1c98b8f38f8d7e8061e79ee63608ac5c" - dependencies = [ - "cfg-if", - "js-sys", -@@ -10614,9 +10640,9 @@ dependencies = [ - - [[package]] - name = "wasm-bindgen-macro" --version = "0.2.105" -+version = "0.2.104" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "04264334509e04a7bf8690f2384ef5265f05143a4bff3889ab7a3269adab59c2" -+checksum = "7ca60477e4c59f5f2986c50191cd972e3a50d8a95603bc9434501cf156a9a119" - dependencies = [ - "quote", - "wasm-bindgen-macro-support", -@@ -10624,22 +10650,22 @@ dependencies = [ - - [[package]] - name = "wasm-bindgen-macro-support" --version = "0.2.105" -+version = "0.2.104" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "420bc339d9f322e562942d52e115d57e950d12d88983a14c79b86859ee6c7ebc" -+checksum = "9f07d2f20d4da7b26400c9f4a0511e6e0345b040694e8a75bd41d578fa4421d7" - dependencies = [ -- "bumpalo", - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", -+ "wasm-bindgen-backend", - "wasm-bindgen-shared", - ] - - [[package]] - name = "wasm-bindgen-shared" --version = "0.2.105" -+version = "0.2.104" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "76f218a38c84bcb33c25ec7059b07847d465ce0e0a76b995e134a45adcb6af76" -+checksum = "bad67dc8b2a1a6e5448428adec4c3e84c43e561d8c9ee8a9e5aabeb193ec41d1" - dependencies = [ - "unicode-ident", - ] -@@ -10677,7 +10703,7 @@ version = "0.31.11" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "c66a47e840dc20793f2264eb4b3e4ecb4b75d91c0dd4af04b456128e0bdd449d" - dependencies = [ -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "rustix 1.1.2", - "wayland-backend", - "wayland-scanner", -@@ -10689,7 +10715,7 @@ version = "0.32.9" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "efa790ed75fbfd71283bd2521a1cfdc022aabcc28bdcff00851f9e4ae88d9901" - dependencies = [ -- "bitflags 2.10.0", -+ "bitflags 2.9.4", - "wayland-backend", - "wayland-client", - "wayland-scanner", -@@ -10719,9 +10745,9 @@ dependencies = [ - - [[package]] - name = "web-sys" --version = "0.3.82" -+version = "0.3.81" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "3a1f95c0d03a47f4ae1f7a64643a6bb97465d9b740f0fa8f90ea33915c99a9a1" -+checksum = "9367c417a924a74cae129e6a2ae3b47fabb1f8995595ab474029da749a8be120" - dependencies = [ - "js-sys", - "wasm-bindgen", -@@ -10830,7 +10856,7 @@ checksum = "1d228f15bba3b9d56dde8bddbee66fa24545bd17b48d5128ccf4a8742b18e431" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -11002,7 +11028,7 @@ checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -11013,7 +11039,7 @@ checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -11462,15 +11488,15 @@ dependencies = [ - - [[package]] - name = "writeable" --version = "0.6.2" -+version = "0.6.1" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "9edde0db4769d2dc68579893f2306b26c6ecfbe0ef499b013d731b7b9247e0b9" -+checksum = "ea2f10b9bb0928dfb1b42b65e1f9e36f7f54dbdf08457afefb38afcdec4fa2bb" - - [[package]] - name = "wry" --version = "0.53.5" -+version = "0.53.4" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "728b7d4c8ec8d81cab295e0b5b8a4c263c0d41a785fb8f8c4df284e5411140a2" -+checksum = "6d78ec082b80fa088569a970d043bb3050abaabf4454101d44514ee8d9a8c9f6" - dependencies = [ - "base64 0.22.1", - "block2 0.6.2", -@@ -11553,9 +11579,9 @@ dependencies = [ - - [[package]] - name = "xml-rs" --version = "0.8.28" -+version = "0.8.27" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "3ae8337f8a065cfc972643663ea4279e04e7256de865aa66fe25cec5fb912d3f" -+checksum = "6fd8403733700263c6eb89f192880191f1b83e332f7a20371ddcf421c4a337c7" - - [[package]] - name = "yaserde" -@@ -11580,7 +11606,7 @@ dependencies = [ - "quote", - "serde", - "serde_tokenstream", -- "syn 2.0.108", -+ "syn 2.0.106", - "xml-rs", - ] - -@@ -11597,10 +11623,11 @@ dependencies = [ - - [[package]] - name = "yoke" --version = "0.8.1" -+version = "0.8.0" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "72d6e5c6afb84d73944e5cedb052c4680d5657337201555f9f2a16b7406d4954" -+checksum = "5f41bb01b8226ef4bfd589436a297c53d118f65921786300e427be8d487695cc" - dependencies = [ -+ "serde", - "stable_deref_trait", - "yoke-derive", - "zerofrom", -@@ -11608,21 +11635,21 @@ dependencies = [ - - [[package]] - name = "yoke-derive" --version = "0.8.1" -+version = "0.8.0" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d" -+checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - "synstructure", - ] - - [[package]] - name = "zbus" --version = "5.12.0" -+version = "5.11.0" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "b622b18155f7a93d1cd2dc8c01d2d6a44e08fb9ebb7b3f9e6ed101488bad6c91" -+checksum = "2d07e46d035fb8e375b2ce63ba4e4ff90a7f73cf2ffb0138b29e1158d2eaadf7" - dependencies = [ - "async-broadcast", - "async-executor", -@@ -11645,8 +11672,7 @@ dependencies = [ - "tokio", - "tracing", - "uds_windows", -- "uuid 1.18.1", -- "windows-sys 0.61.2", -+ "windows-sys 0.60.2", - "winnow 0.7.13", - "zbus_macros", - "zbus_names", -@@ -11655,14 +11681,14 @@ dependencies = [ - - [[package]] - name = "zbus_macros" --version = "5.12.0" -+version = "5.11.0" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "1cdb94821ca8a87ca9c298b5d1cbd80e2a8b67115d99f6e4551ac49e42b6a314" -+checksum = "57e797a9c847ed3ccc5b6254e8bcce056494b375b511b3d6edcec0aeb4defaca" - dependencies = [ - "proc-macro-crate 3.4.0", - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - "zbus_names", - "zvariant", - "zvariant_utils", -@@ -11697,7 +11723,7 @@ checksum = "88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -11717,7 +11743,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - "synstructure", - ] - -@@ -11729,9 +11755,9 @@ checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" - - [[package]] - name = "zerotrie" --version = "0.2.3" -+version = "0.2.2" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "2a59c17a5562d507e4b54960e8569ebee33bee890c70aa3fe7b97e85a9fd7851" -+checksum = "36f0bbd478583f79edad978b407914f61b2972f5af6fa089686016be8f9af595" - dependencies = [ - "displaydoc", - "yoke", -@@ -11740,9 +11766,9 @@ dependencies = [ - - [[package]] - name = "zerovec" --version = "0.11.5" -+version = "0.11.4" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "6c28719294829477f525be0186d13efa9a3c602f7ec202ca9e353d310fb9a002" -+checksum = "e7aa2bd55086f1ab526693ecbe444205da57e25f4489879da80635a46d90e73b" - dependencies = [ - "yoke", - "zerofrom", -@@ -11751,13 +11777,13 @@ dependencies = [ - - [[package]] - name = "zerovec-derive" --version = "0.11.2" -+version = "0.11.1" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3" -+checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - ] - - [[package]] -@@ -11769,7 +11795,7 @@ dependencies = [ - "arbitrary", - "crc32fast", - "flate2", -- "indexmap 2.12.0", -+ "indexmap 2.11.4", - "memchr", - "zopfli", - ] -@@ -11782,7 +11808,7 @@ checksum = "caa8cd6af31c3b31c6631b8f483848b91589021b28fffe50adada48d4f4d2ed1" - dependencies = [ - "arbitrary", - "crc32fast", -- "indexmap 2.12.0", -+ "indexmap 2.11.4", - "memchr", - ] - -@@ -11797,7 +11823,7 @@ dependencies = [ - "crc32fast", - "deflate64", - "flate2", -- "indexmap 2.12.0", -+ "indexmap 2.11.4", - "memchr", - "zopfli", - "zstd", -@@ -11811,9 +11837,9 @@ checksum = "2f06ae92f42f5e5c42443fd094f245eb656abf56dd7cce9b8b263236565e00f2" - - [[package]] - name = "zopfli" --version = "0.8.3" -+version = "0.8.2" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "f05cd8797d63865425ff89b5c4a48804f35ba0ce8d125800027ad6017d2b5249" -+checksum = "edfc5ee405f504cd4984ecc6f14d02d55cfda60fa4b689434ef4102aae150cd7" - dependencies = [ - "bumpalo", - "crc32fast", -@@ -11875,9 +11901,9 @@ dependencies = [ - - [[package]] - name = "zvariant" --version = "5.8.0" -+version = "5.7.0" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "2be61892e4f2b1772727be11630a62664a1826b62efa43a6fe7449521cb8744c" -+checksum = "999dd3be73c52b1fccd109a4a81e4fcd20fab1d3599c8121b38d04e1419498db" - dependencies = [ - "endi", - "enumflags2", -@@ -11890,14 +11916,14 @@ dependencies = [ - - [[package]] - name = "zvariant_derive" --version = "5.8.0" -+version = "5.7.0" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "da58575a1b2b20766513b1ec59d8e2e68db2745379f961f86650655e862d2006" -+checksum = "6643fd0b26a46d226bd90d3f07c1b5321fe9bb7f04673cb37ac6d6883885b68e" - dependencies = [ - "proc-macro-crate 3.4.0", - "proc-macro2", - "quote", -- "syn 2.0.108", -+ "syn 2.0.106", - "zvariant_utils", - ] - -@@ -11910,7 +11936,7 @@ dependencies = [ - "proc-macro2", - "quote", - "serde", -- "syn 2.0.108", -+ "syn 2.0.106", - "winnow 0.7.13", - ] - -diff --git a/README.md b/README.md -index 6bd709c34..74def556e 100644 ---- a/README.md -+++ b/README.md -@@ -1,125 +1,39 @@ --# 📘 Navigation -+# ![Modrinth Monorepo Cover](/.github/assets/monorepo_cover.png) - --- [🔧 Install Instructions](#install-instructions) --- [✨ Features](#features) --- [🚀 Getting Started](#getting-started) --- [⚠️ Disclaimer](#disclaimer) --- [💰 Donate](#support-our-project-crypto-wallets) -+![Issues](https://img.shields.io/github/issues-raw/Modrinth/code?color=c78aff&label=issues&style=for-the-badge) -+![Pull Requests](https://img.shields.io/github/issues-pr-raw/Modrinth/code?color=c78aff&label=PRs&style=for-the-badge) -+![Contributors](https://img.shields.io/github/contributors/Modrinth/code?color=c78aff&label=contributors&style=for-the-badge) -+![Lines](https://img.shields.io/endpoint?url=https://ghloc.vercel.app/api/modrinth/code/badge?style=flat&logoColor=white&color=c78aff&style=for-the-badge) -+![Commit Activity](https://img.shields.io/github/commit-activity/m/Modrinth/code?color=c78aff&label=commits&style=for-the-badge) -+![Last Commit](https://img.shields.io/github/last-commit/Modrinth/code?color=c78aff&label=last%20commit&style=for-the-badge) - --## Other languages --> [Русский](readme/ru_ru/README.md) -+## Modrinth Monorepo - --## Support channel --> [Telegram](https://me.astralium.su/ref/telegram_channel) -+Welcome to the Modrinth Monorepo, the primary codebase for the Modrinth web interface and app. It contains ![Lines](https://img.shields.io/endpoint?url=https://ghloc.vercel.app/api/modrinth/olympus/badge?logoColor=white&color=black&label=) lines of code and has ![Contributors](https://img.shields.io/github/contributors/Modrinth/code?color=black&label=) contributors! - ----- -+If you're not a developer and you've stumbled upon this repository, you can access the web interface on the [Modrinth website](https://modrinth.com) and download the latest release of the app [here](https://modrinth.com/app). - --# About Project -+## Development - --## **AstralRinth • Empowering Your Minecraft Adventure** -+This repository contains two primary packages. For detailed development information, please refer to their respective READMEs: - --Welcome to **AstralRinth (AR)** — a powerful fork of Modrinth, reimagined to enhance your Minecraft journey. Whether you're a GUI enthusiast or a developer building with Modrinth’s API, **Theseus Core** is your launchpad into a new era of Minecraft gameplay. -+- [Web Interface](apps/frontend/README.md) -+- [Desktop App](apps/app/README.md) - --- *Recently, improved integration with the Git Astralium API has been added.* -+## Contributing - --## **About the Software** -+We welcome contributions! Before submitting any contributions, please read our [contributing guidelines](https://docs.modrinth.com/contributing/getting-started/). - --**AstralRinth** is a dedicated branch of the Theseus project, focused on **offline authentication**, offering you more flexibility and control. Play Minecraft without the need for constant online verification — a user-first approach to modern modded gaming. -+If you plan to fork this repository for your own purposes, please review our [copying guidelines](COPYING.md). - --## **AR • Unlocking Minecraft's Boundless Horizon** -+## Security - --This unique fork introduces a **free trial Minecraft experience**, bypassing license checks while maintaining rich functionality. Currently includes: -+If you discover a security vulnerability within our codebase, please follow our [responsible disclosure guidelines](https://modrinth.com/legal/security). - ----- -+## Support - --# Install Instructions -+If you need help with the Modrinth web interface or app, please visit our [support page](https://support.modrinth.com). For general inquiries, you can also join our [Discord server](https://discord.modrinth.com). - --To install the launcher: -+## License - --1. Visit the [releases page](https://git.astralium.su/didirus/AstralRinth/releases) to download the correct version for your system. --2. Run the downloaded file or extract and launch it, depending on the format. -- --### Downloadable File Extensions -- --| Extension | OS | Notes | --| --------- | ------- | --------------------------------------------------------------------- | --| `.msi` | Windows | Supported on all recent Windows versions | --| `.dmg` | macOS | Works on Ventura, Sonoma, Sequoia _(may also support older versions)_ | --| `.deb` | Linux | Basic support; compatibility may vary by distribution | -- --### Installation Warnings -- --Avoid using builds with these prefixes — they may be unstable or experimental: -- --- `dev` --- `nightly` --- `dirty` --- `dirty-dev` --- `dirty-nightly` --- `dirty_dev` --- `dirty_nightly` -- ----- -- --# Features -- --> _The launcher provides an opportunity to use the well-known Modrinth, but with an improved user experience._ -- --## Included exclusive features -- --- No ads in the entire launcher. --- Custom `.svg` vector icons for a distinct UI. --- Improved compatibility with both licensed and pirate accounts. -- - Use **official microsoft accounts** or **offline/pirate accounts** — login won't break. -- - Supports license-free access for testing or personal use. -- - No dependence on official authentication services. --- Discord Rich Presence integration: -- - Dynamic status messages. -- - In-game timer and AFK counter. --- Strict disabling of statistics and other Modrinth metrics. --- Optimized archive/package size. --- Integrated update fetcher for seamless version management. -- - Built-in update alerts for new versions posted on Git Astralium. -- - Automatic download and installation capabilities. --- Database migration fixes, when error occurred (Interactive Mode) (Modrinth issue) --- Ely.by full integration -- - The official account skin system is managed by ely.by -- - Offline accounts must install AuthLib through the instance settings -- ----- -- --# Getting Started -- --To begin using AstralRinth: -- --1. **Download Your OS Version** -- -- - Go to the [releases page](https://git.astralium.su/didirus/AstralRinth/releases) -- - [How to choose a file](#downloadable-file-extensions) -- - [How to choose a release](#installation-warnings) -- --2. **Log In** -- -- - Use your official Mojang/Microsoft account, or test using a non-licensed account. -- --3. **Launch Minecraft** -- - Start Minecraft from the launcher. -- - The launcher will auto-detect the recommended JVM version. -- - You can also configure Java manually in the settings. -- ----- -- --# Disclaimer -- --- **AstralRinth** is intended **solely for educational and experimental use**. --- We **do not condone piracy** — users are encouraged to purchase a legitimate Minecraft license. --- Respect all relevant licensing agreements and support Minecraft developers. -- ----- -- --# Support Our Project (Crypto Wallets) -- --If you'd like to support development, you can donate via the following crypto wallets: -- --- Toncoin (TON): UQA5pGOJhIz9UAVEOh5t2ur1QVbNr_FC1eq9bOb3GwTgaiqk --- USDT (TON): UQA5pGOJhIz9UAVEOh5t2ur1QVbNr_FC1eq9bOb3GwTgaiqk -+All packages in this repository are licensed under their respective licenses. Refer to the LICENSE file in each package for more information. -diff --git a/apps/app-frontend/index.html b/apps/app-frontend/index.html -index 876739c33..50867a419 100644 ---- a/apps/app-frontend/index.html -+++ b/apps/app-frontend/index.html -@@ -4,7 +4,7 @@ - - - -- AstralRinth App -+ Modrinth App - - - -diff --git a/apps/app-frontend/src/App.vue b/apps/app-frontend/src/App.vue -index e70f31776..e281beb6e 100644 ---- a/apps/app-frontend/src/App.vue -+++ b/apps/app-frontend/src/App.vue -@@ -32,7 +32,7 @@ import { - NotificationPanel, - OverflowMenu, - ProgressSpinner, -- provideNotificationManager -+ provideNotificationManager, - } from '@modrinth/ui' - import { renderString } from '@modrinth/utils' - import { getVersion } from '@tauri-apps/api/app' -@@ -43,9 +43,10 @@ import { type } from '@tauri-apps/plugin-os' - import { saveWindowState, StateFlags } from '@tauri-apps/plugin-window-state' - import { defineMessages, useVIntl } from '@vintl/vintl' - import { $fetch } from 'ofetch' --import { computed, onMounted, onUnmounted, provide, ref } from 'vue' -+import { computed, onMounted, onUnmounted, provide, ref, watch } from 'vue' - import { RouterView, useRoute, useRouter } from 'vue-router' - -+import ModrinthAppLogo from '@/assets/modrinth_app.svg?component' - import ModrinthLoadingIndicator from '@/components/LoadingIndicatorBar.vue' - import AccountsCard from '@/components/ui/AccountsCard.vue' - import Breadcrumbs from '@/components/ui/Breadcrumbs.vue' -@@ -58,12 +59,15 @@ import InstanceCreationModal from '@/components/ui/InstanceCreationModal.vue' - import AppSettingsModal from '@/components/ui/modal/AppSettingsModal.vue' - import AuthGrantFlowWaitModal from '@/components/ui/modal/AuthGrantFlowWaitModal.vue' - import NavButton from '@/components/ui/NavButton.vue' -+import PromotionWrapper from '@/components/ui/PromotionWrapper.vue' - import QuickInstanceSwitcher from '@/components/ui/QuickInstanceSwitcher.vue' - import RunningAppBar from '@/components/ui/RunningAppBar.vue' - import SplashScreen from '@/components/ui/SplashScreen.vue' -+import UpdateToast from '@/components/ui/UpdateToast.vue' - import URLConfirmModal from '@/components/ui/URLConfirmModal.vue' - import { useCheckDisableMouseover } from '@/composables/macCssFix.js' --import { debugAnalytics, optOutAnalytics, trackEvent } from '@/helpers/analytics' -+import { hide_ads_window, init_ads_window, show_ads_window } from '@/helpers/ads.js' -+import { debugAnalytics, initAnalytics, optOutAnalytics, trackEvent } from '@/helpers/analytics' - import { get_user } from '@/helpers/cache.js' - import { command_listener, warning_listener } from '@/helpers/events.js' - import { useFetch } from '@/helpers/fetch.js' -@@ -72,11 +76,16 @@ import { list } from '@/helpers/profile.js' - import { get as getSettings, set as setSettings } from '@/helpers/settings.ts' - import { get_opening_command, initialize_state } from '@/helpers/state' - import { -+ areUpdatesEnabled, -+ enqueueUpdateForInstallation, - getOS, -- isDev -+ getUpdateSize, -+ isDev, -+ isNetworkMetered, - } from '@/helpers/utils.js' - import { -- provideAppUpdateDownloadProgress -+ provideAppUpdateDownloadProgress, -+ subscribeToDownloadProgress, - } from '@/providers/download-progress.ts' - import { useError } from '@/store/error.js' - import { useInstall } from '@/store/install.js' -@@ -87,10 +96,6 @@ import { generateSkinPreviews } from './helpers/rendering/batch-skin-renderer' - import { get_available_capes, get_available_skins } from './helpers/skins' - import { AppNotificationManager } from './providers/app-notifications' - --// [AR] Imports --import { get, set } from '@/helpers/settings.ts' --import { getRemote, updateState } from '@/helpers/update.js' -- - const themeStore = useTheming() - - const notificationManager = new AppNotificationManager() -@@ -123,15 +128,18 @@ const isMaximized = ref(false) - - onMounted(async () => { - await useCheckDisableMouseover() -- await getRemote(false) // [AR] Check for updates - - document.querySelector('body').addEventListener('click', handleClick) - document.querySelector('body').addEventListener('auxclick', handleAuxClick) -+ -+ checkUpdates() - }) - - onUnmounted(async () => { - document.querySelector('body').removeEventListener('click', handleClick) - document.querySelector('body').removeEventListener('auxclick', handleAuxClick) -+ -+ await unlistenUpdateDownload?.() - }) - - const { formatMessage } = useVIntl() -@@ -159,18 +167,11 @@ const messages = defineMessages({ - }) - - async function setupApp() { -- // [AR] Patched -- const settings = await get() -- settings.personalized_ads = false -- settings.telemetry = false -- await set(settings) -- - stateInitialized.value = true - const { - native_decorations, - theme, - telemetry, -- personalized_ads, - collapsed_navigation, - advanced_rendering, - onboarded, -@@ -206,14 +207,10 @@ async function setupApp() { - isMaximized.value = await getCurrentWindow().isMaximized() - }) - -- // [AR] Patched -+ initAnalytics() - if (!telemetry) { -- console.info("[AR] • Telemetry disabled by default (Hard patched).") -- optOutAnalytics() -- } -- if (!personalized_ads) { -- console.info("[AR] • Personalized ads disabled by default (Hard patched).") -- } -+ optOutAnalytics() -+ } - if (dev) debugAnalytics() - trackEvent('Launched', { version, dev, onboarded }) - -@@ -386,6 +383,19 @@ const forceSidebar = computed( - () => route.path.startsWith('/browse') || route.path.startsWith('/project'), - ) - const sidebarVisible = computed(() => sidebarToggled.value || forceSidebar.value) -+const showAd = computed(() => !(!sidebarVisible.value || hasPlus.value)) -+ -+watch( -+ showAd, -+ () => { -+ if (!showAd.value) { -+ hide_ads_window(true) -+ } else { -+ init_ads_window(true) -+ } -+ }, -+ { immediate: true }, -+) - - onMounted(() => { - invoke('show_window') -@@ -422,6 +432,108 @@ const appUpdateDownload = { - progress: ref(0), - version: ref(), - } -+let unlistenUpdateDownload -+ -+const downloadProgress = computed(() => appUpdateDownload.progress.value) -+const downloadPercent = computed(() => Math.trunc(appUpdateDownload.progress.value * 100)) -+ -+const metered = ref(true) -+const finishedDownloading = ref(false) -+const restarting = ref(false) -+const updateToastDismissed = ref(false) -+const availableUpdate = ref(null) -+const updateSize = ref(null) -+async function checkUpdates() { -+ if (!(await areUpdatesEnabled())) { -+ console.log('Skipping update check as updates are disabled in this build or environment') -+ return -+ } -+ -+ async function performCheck() { -+ const update = await invoke('plugin:updater|check') -+ const isExistingUpdate = update.version === availableUpdate.value?.version -+ -+ if (!update) { -+ console.log('No update available') -+ return -+ } -+ -+ if (isExistingUpdate) { -+ console.log('Update is already known') -+ return -+ } -+ -+ appUpdateDownload.progress.value = 0 -+ finishedDownloading.value = false -+ updateToastDismissed.value = false -+ -+ console.log(`Update ${update.version} is available.`) -+ -+ metered.value = await isNetworkMetered() -+ if (!metered.value) { -+ console.log('Starting download of update') -+ downloadUpdate(update) -+ } else { -+ console.log(`Metered connection detected, not auto-downloading update.`) -+ } -+ -+ getUpdateSize(update.rid).then((size) => (updateSize.value = size)) -+ -+ availableUpdate.value = update -+ } -+ -+ await performCheck() -+ setTimeout( -+ () => { -+ checkUpdates() -+ }, -+ 5 /* min */ * 60 /* sec */ * 1000 /* ms */, -+ ) -+} -+ -+async function showUpdateToast() { -+ updateToastDismissed.value = false -+} -+ -+async function downloadAvailableUpdate() { -+ return downloadUpdate(availableUpdate.value) -+} -+ -+async function downloadUpdate(versionToDownload) { -+ if (!versionToDownload) { -+ handleError(`Failed to download update: no version available`) -+ } -+ -+ if (appUpdateDownload.progress.value !== 0) { -+ console.error(`Update ${versionToDownload.version} already downloading`) -+ return -+ } -+ -+ console.log(`Downloading update ${versionToDownload.version}`) -+ -+ try { -+ enqueueUpdateForInstallation(versionToDownload.rid).then(() => { -+ finishedDownloading.value = true -+ unlistenUpdateDownload?.().then(() => { -+ unlistenUpdateDownload = null -+ }) -+ console.log('Finished downloading!') -+ }) -+ unlistenUpdateDownload = await subscribeToDownloadProgress( -+ appUpdateDownload, -+ versionToDownload.version, -+ ) -+ } catch (e) { -+ handleError(e) -+ } -+} -+ -+async function installUpdate() { -+ restarting.value = true -+ setTimeout(async () => { -+ await handleClose() -+ }, 250) -+} - - function handleClick(e) { - let target = e.target -@@ -496,20 +608,24 @@ async function openSurvey() { - onOpen: () => console.info('Opened user survey'), - onClose: () => { - console.info('Closed user survey') -+ show_ads_window() - }, - onSubmit: () => console.info('Active user survey submitted'), - } - - try { -+ hide_ads_window() - if (window.Tally?.openPopup) { - console.info(`Opening Tally popup for user survey (form ID: ${formId})`) - dismissSurvey() - window.Tally.openPopup(formId, popupOptions) - } else { - console.warn('Tally script not yet loaded') -+ show_ads_window() - } - } catch (e) { - console.error('Error opening Tally popup:', e) -+ show_ads_window() - } - - console.info(`Found user survey to show with tally_id: ${formId}`) -@@ -564,13 +680,46 @@ async function processPendingSurveys() { - } - } - --provideAppUpdateDownloadProgress(appUpdateDownload) // [AR Note] If delete this shit line -> SettingsModal will not work. -+provideAppUpdateDownloadProgress(appUpdateDownload) - - - - - -diff --git a/apps/app-frontend/src/components/ui/ErrorModal.vue b/apps/app-frontend/src/components/ui/ErrorModal.vue -index 1636ce4af..17a9dffc7 100644 ---- a/apps/app-frontend/src/components/ui/ErrorModal.vue -+++ b/apps/app-frontend/src/components/ui/ErrorModal.vue -@@ -19,18 +19,12 @@ import { install } from '@/helpers/profile.js' - import { cancel_directory_change } from '@/helpers/settings.ts' - import { handleSevereError } from '@/store/error.js' - --// [AR] Imports --import { applyMigrationFix } from '@/helpers/utils.js' --import { restartApp } from '@/helpers/utils.js' -- - const { handleError } = injectNotificationManager() - - const errorModal = ref() - const error = ref() - const closable = ref(true) - const errorCollapsed = ref(false) --const migrationFixSuccess = ref(null) // null | true | false --const migrationFixCallbackModel = ref() - - const title = ref('An error occurred') - const errorType = ref('unknown') -@@ -78,7 +72,7 @@ defineExpose({ - supportLink.value = 'https://support.modrinth.com' - metadata.value.profilePath = context.profilePath - } else if (source === 'state_init') { -- title.value = 'Error initializing AstralRinth App' -+ title.value = 'Error initializing Modrinth App' - errorType.value = 'state_init' - supportLink.value = 'https://support.modrinth.com' - } else { -@@ -156,26 +150,6 @@ async function copyToClipboard(text) { - copied.value = false - }, 3000) - } -- --async function onApplyMigrationFix(eol) { -- console.log(`[AR] • Attempting to apply migration ${eol.toUpperCase()} fix`) -- try { -- const result = await applyMigrationFix(eol) -- migrationFixSuccess.value = result === true -- console.log(`[AR] • Successfully applied migration ${eol.toUpperCase()} fix`, result) -- } catch (err) { -- console.error(`[AR] • Failed to apply migration fix:`, err) -- migrationFixSuccess.value = false -- } finally { -- migrationFixCallbackModel.value?.show?.() -- if (migrationFixSuccess.value === true) { -- setTimeout(async () => { -- await restartApp() -- }, 3000) -- } -- } --} -- - - - - - - - -diff --git a/apps/app-frontend/src/components/ui/instance_settings/InstallationSettings.vue b/apps/app-frontend/src/components/ui/instance_settings/InstallationSettings.vue -index ec6806fc0..72474057c 100644 ---- a/apps/app-frontend/src/components/ui/instance_settings/InstallationSettings.vue -+++ b/apps/app-frontend/src/components/ui/instance_settings/InstallationSettings.vue -@@ -25,7 +25,6 @@ import { - type Project, - type Version, - } from '@modrinth/utils' --import ModalWrapper from '@/components/ui/modal/ModalWrapper.vue' - import { defineMessages, useVIntl } from '@vintl/vintl' - import dayjs from 'dayjs' - import { computed, type ComputedRef, type Ref, ref, shallowRef, watch } from 'vue' -@@ -44,11 +43,6 @@ import type { - ManifestLoaderVersion, - } from '../../../helpers/types' - --import { initAuthlibPatching } from '@/helpers/utils.js' --const authLibPatchingModal = ref(null) --const isAuthLibPatchedSuccess = ref(false) --const isAuthLibPatching = ref(false) -- - const { handleError } = injectNotificationManager() - const { formatMessage } = useVIntl() - -@@ -462,43 +456,9 @@ const messages = defineMessages({ - defaultMessage: 'reinstall', - }, - }) -- --async function handleInitAuthLibPatching(ismojang: boolean) { -- isAuthLibPatching.value = true -- let state = false -- let instance_path = props.instance.loader_version != null ? props.instance.game_version + "-" + props.instance.loader_version : props.instance.game_version -- try { -- state = await initAuthlibPatching(instance_path, ismojang) -- } catch (err) { -- console.error(err) -- } -- isAuthLibPatching.value = false -- isAuthLibPatchedSuccess.value = state -- authLibPatchingModal.value.show() --} - - - - -- -- -diff --git a/apps/app-frontend/src/components/ui/modal/AppSettingsModal.vue b/apps/app-frontend/src/components/ui/modal/AppSettingsModal.vue -index c4dbed402..932540de9 100644 ---- a/apps/app-frontend/src/components/ui/modal/AppSettingsModal.vue -+++ b/apps/app-frontend/src/components/ui/modal/AppSettingsModal.vue -@@ -3,9 +3,7 @@ import { - CoffeeIcon, - GameIcon, - GaugeIcon, -- AstralRinthLogo, -- DownloadIcon, -- SpinnerIcon, -+ ModrinthIcon, - PaintbrushIcon, - ReportIcon, - SettingsIcon, -@@ -25,24 +23,6 @@ import JavaSettings from '@/components/ui/settings/JavaSettings.vue' - import PrivacySettings from '@/components/ui/settings/PrivacySettings.vue' - import ResourceManagementSettings from '@/components/ui/settings/ResourceManagementSettings.vue' - import { get, set } from '@/helpers/settings.ts' -- --// [AR] Imports --import { installState, getRemote, updateState } from '@/helpers/update.js' -- --const updateModalView = ref(null) --const updateRequestFailView = ref(null) -- --const initUpdateModal = async () => { -- updateModalView.value.show() --} -- --const initDownload = async () => { -- updateModalView.value.hide() -- const result = await getRemote(true); -- if (!result) { -- updateRequestFailView.value.show() -- } --} - import { injectAppUpdateDownloadProgress } from '@/providers/download-progress.ts' - import { useTheming } from '@/store/state' - -@@ -185,103 +165,19 @@ const messages = defineMessages({ - }" - @click="devModeCount" - > -- -+ - -
--

AstralRinth App {{ version }}

-+

Modrinth App {{ version }}

-

- macOS - {{ osPlatform }} - {{ osVersion }} -

-
--
-- -- --
- - - - -- -- --
--
-- The new version of the AstralRinth launcher is available! --

Your version is outdated. We recommend that you update to the latest version.

--
--
--

⚠️ Please, read this notice before initialize update process

--

-- Before updating, make sure that you have saved and closed all running instances and made a backup copy of the launcher data such as -- %appdata%\Roaming\AstralRinthApp on Windows or ~/Library/Application Support/AstralRinthApp on macOS. -- Remember that the authors of the product are not responsible for the breakdown of -- your files, so you should always make back up copies of them and keep them in a safe place. --

--
--
--

-- ☁️ Latest release tag: -- --
-- ☁️ Latest release title: -- --
-- 💾 Installed & Running version: -- v{{ version }} --

--
-- -- Checkout our git repository -- --
-- -- --
--
--
-- --
--
--

Error occurred

--

Unfortunately, the program was unable to download the file from our servers.

--

-- Please try downloading it yourself from -- Git -- Astralium -- if there are any updates available. --

--
-- --
--

-- Local AstralRinth: -- v{{ version }} --

--
-- --
-- --
--
--
- - -- -- -diff --git a/apps/app-frontend/src/components/ui/modal/ConfirmModalWrapper.vue b/apps/app-frontend/src/components/ui/modal/ConfirmModalWrapper.vue -index fbae0e7d0..06e23d2e8 100644 ---- a/apps/app-frontend/src/components/ui/modal/ConfirmModalWrapper.vue -+++ b/apps/app-frontend/src/components/ui/modal/ConfirmModalWrapper.vue -@@ -2,7 +2,7 @@ - import { ConfirmModal } from '@modrinth/ui' - import { ref } from 'vue' - --// import { hide_ads_window, show_ads_window } from '@/helpers/ads.js' -+import { hide_ads_window, show_ads_window } from '@/helpers/ads.js' - import { useTheming } from '@/store/theme.ts' - - const themeStore = useTheming() -@@ -38,10 +38,10 @@ const props = defineProps({ - type: Boolean, - default: true, - }, -- // showAdOnClose: { -- // type: Boolean, -- // default: true, -- // }, -+ showAdOnClose: { -+ type: Boolean, -+ default: true, -+ }, - markdown: { - type: Boolean, - default: true, -@@ -53,7 +53,7 @@ const modal = ref(null) - - defineExpose({ - show: () => { -- // hide_ads_window() -+ hide_ads_window() - modal.value.show() - }, - hide: () => { -@@ -62,11 +62,11 @@ defineExpose({ - }, - }) - --// function onModalHide() { --// if (props.showAdOnClose) { --// show_ads_window() --// } --// } -+function onModalHide() { -+ if (props.showAdOnClose) { -+ show_ads_window() -+ } -+} - - function proceed() { - emit('proceed') -diff --git a/apps/app-frontend/src/components/ui/modal/ModalWrapper.vue b/apps/app-frontend/src/components/ui/modal/ModalWrapper.vue -index ce19cd5db..8f1f3db3f 100644 ---- a/apps/app-frontend/src/components/ui/modal/ModalWrapper.vue -+++ b/apps/app-frontend/src/components/ui/modal/ModalWrapper.vue -@@ -2,7 +2,7 @@ - import { NewModal as Modal } from '@modrinth/ui' - import { useTemplateRef } from 'vue' - --// import { hide_ads_window, show_ads_window } from '@/helpers/ads.js' -+import { hide_ads_window, show_ads_window } from '@/helpers/ads.js' - import { useTheming } from '@/store/theme.ts' - - const themeStore = useTheming() -@@ -26,16 +26,16 @@ const props = defineProps({ - return () => {} - }, - }, -- // showAdOnClose: { -- // type: Boolean, -- // default: true, -- // }, -+ showAdOnClose: { -+ type: Boolean, -+ default: true, -+ }, - }) - const modal = useTemplateRef('modal') - - defineExpose({ - show: (e: MouseEvent) => { -- // hide_ads_window() -+ hide_ads_window() - modal.value?.show(e) - }, - hide: () => { -@@ -45,9 +45,9 @@ defineExpose({ - }) - - function onModalHide() { -- // if (props.showAdOnClose) { -- // show_ads_window() -- // } -+ if (props.showAdOnClose) { -+ show_ads_window() -+ } - props.onHide?.() - } - -diff --git a/apps/app-frontend/src/components/ui/modal/ShareModalWrapper.vue b/apps/app-frontend/src/components/ui/modal/ShareModalWrapper.vue -index aefea372e..9358ee908 100644 ---- a/apps/app-frontend/src/components/ui/modal/ShareModalWrapper.vue -+++ b/apps/app-frontend/src/components/ui/modal/ShareModalWrapper.vue -@@ -2,7 +2,7 @@ - import { ShareModal } from '@modrinth/ui' - import { ref } from 'vue' - --// import { hide_ads_window, show_ads_window } from '@/helpers/ads.js' -+import { hide_ads_window, show_ads_window } from '@/helpers/ads.js' - import { useTheming } from '@/store/theme.ts' - - const themeStore = useTheming() -@@ -34,7 +34,7 @@ const modal = ref(null) - - defineExpose({ - show: (passedContent) => { -- // hide_ads_window() -+ hide_ads_window() - modal.value.show(passedContent) - }, - hide: () => { -@@ -43,9 +43,9 @@ defineExpose({ - }, - }) - --// function onModalHide() { --// show_ads_window() --// } -+function onModalHide() { -+ show_ads_window() -+} - - -