diff --git a/.editorconfig b/.editorconfig index 95843e73..3e7fd1b8 100644 --- a/.editorconfig +++ b/.editorconfig @@ -26,7 +26,3 @@ max_line_length = 98 [*.yml] indent_size = 2 indent_style = space - -[*.json] -indent_size = 4 -indent_style = space diff --git a/.forgejo/workflows/release-image.yml b/.forgejo/workflows/release-image.yml index 58d6cab2..04fc9de9 100644 --- a/.forgejo/workflows/release-image.yml +++ b/.forgejo/workflows/release-image.yml @@ -161,7 +161,7 @@ jobs: var-lib-apt-${{ matrix.slug }} key: var-lib-apt-${{ matrix.slug }} - name: inject cache into docker - uses: https://github.com/reproducible-containers/buildkit-cache-dance@v3.3.0 + uses: https://github.com/reproducible-containers/buildkit-cache-dance@v3.1.0 with: cache-map: | { diff --git a/.forgejo/workflows/renovate.yml b/.forgejo/workflows/renovate.yml index 0152b387..e8522bec 100644 --- a/.forgejo/workflows/renovate.yml +++ b/.forgejo/workflows/renovate.yml @@ -39,73 +39,24 @@ jobs: renovate: name: Renovate runs-on: ubuntu-latest - container: - image: ghcr.io/renovatebot/renovate:41 - options: --tmpfs /tmp:exec steps: - name: Checkout uses: actions/checkout@v4 - with: - show-progress: false - - - name: print node heap - run: /usr/local/renovate/node -e 'console.log(`node heap limit = ${require("v8").getHeapStatistics().heap_size_limit / (1024 * 1024)} Mb`)' - - - name: Restore renovate repo cache - uses: https://github.com/actions/cache@v4 - with: - path: | - /tmp/renovate/cache/renovate/repository - key: repo-cache-${{ github.run_id }} - restore-keys: | - repo-cache- - - - name: Restore renovate package cache - uses: https://github.com/actions/cache@v4 - with: - path: | - /tmp/renovate/cache/renovate/renovate-cache-sqlite - key: package-cache-${{ github.run_id }} - restore-keys: | - package-cache- - name: Self-hosted Renovate - uses: https://github.com/renovatebot/github-action@v43.0.9 + uses: https://github.com/renovatebot/github-action@v40.1.0 env: LOG_LEVEL: ${{ inputs.logLevel || 'info' }} - RENOVATE_DRY_RUN: ${{ inputs.dryRun || 'false' }} - - RENOVATE_PLATFORM: forgejo - RENOVATE_ENDPOINT: ${{ github.server_url }} RENOVATE_AUTODISCOVER: 'false' - RENOVATE_REPOSITORIES: '["${{ github.repository }}"]' - + RENOVATE_BINARY_SOURCE: 'install' + RENOVATE_DRY_RUN: ${{ inputs.dryRun || 'false' }} + RENOVATE_ENDPOINT: ${{ github.server_url }}/api/v1 RENOVATE_GIT_TIMEOUT: 60000 - - RENOVATE_REQUIRE_CONFIG: 'required' - RENOVATE_ONBOARDING: 'false' - - RENOVATE_PR_COMMITS_PER_RUN_LIMIT: 3 - + RENOVATE_GIT_URL: 'endpoint' RENOVATE_GITHUB_TOKEN_WARN: 'false' + RENOVATE_ONBOARDING: 'false' + RENOVATE_PLATFORM: 'forgejo' + RENOVATE_PR_COMMITS_PER_RUN_LIMIT: 3 + RENOVATE_REPOSITORIES: '["${{ github.repository }}"]' + RENOVATE_REQUIRE_CONFIG: 'required' RENOVATE_TOKEN: ${{ secrets.RENOVATE_TOKEN }} - GITHUB_COM_TOKEN: ${{ secrets.GH_PUBLIC_RO }} - - RENOVATE_REPOSITORY_CACHE: 'enabled' - RENOVATE_X_SQLITE_PACKAGE_CACHE: true - - - name: Save renovate repo cache - if: always() && env.RENOVATE_DRY_RUN != 'full' - uses: https://github.com/actions/cache@v4 - with: - path: | - /tmp/renovate/cache/renovate/repository - key: repo-cache-${{ github.run_id }} - - - name: Save renovate package cache - if: always() && env.RENOVATE_DRY_RUN != 'full' - uses: https://github.com/actions/cache@v4 - with: - path: | - /tmp/renovate/cache/renovate/renovate-cache-sqlite - key: package-cache-${{ github.run_id }} diff --git a/renovate.json b/renovate.json index 68d21b9d..deb428af 100644 --- a/renovate.json +++ b/renovate.json @@ -1,59 +1,62 @@ { - "$schema": "https://docs.renovatebot.com/renovate-schema.json", - "extends": ["config:recommended"], - "lockFileMaintenance": { - "enabled": true, - "schedule": ["at any time"] - }, - "nix": { - "enabled": true - }, - "labels": ["Dependencies", "Dependencies/Renovate"], - "ignoreDeps": [ - "tikv-jemallocator", - "tikv-jemalloc-sys", - "tikv-jemalloc-ctl", - "opentelemetry", - "opentelemetry_sdk", - "opentelemetry-jaeger", - "tracing-opentelemetry" - ], - "github-actions": { - "enabled": true, - "managerFilePatterns": [ - "/(^|/)\\.forgejo/workflows/[^/]+\\.ya?ml$/", - "/(^|/)\\.forgejo/actions/[^/]+/action\\.ya?ml$/", - "/(^|/)\\.github/workflows/[^/]+\\.ya?ml$/", - "/(^|/)\\.github/actions/[^/]+/action\\.ya?ml$/" - ] - }, - "packageRules": [ - { - "description": "Batch minor and patch GitHub Actions updates", - "matchManagers": ["github-actions"], - "matchUpdateTypes": ["minor", "patch"], - "groupName": "github-actions-non-major" - }, - { - "description": "Group Rust toolchain updates into a single PR", - "matchManagers": ["custom.regex"], - "matchPackageNames": ["rust", "rustc", "cargo"], - "groupName": "rust-toolchain" - }, - { - "description": "Group lockfile updates into a single PR", - "matchUpdateTypes": ["lockFileMaintenance"], - "groupName": "lockfile-maintenance" - }, - { - "description": "Batch patch-level Rust dependency updates", - "matchManagers": ["cargo"], - "matchUpdateTypes": ["patch"], - "groupName": "rust-patch-updates" - }, - { - "matchManagers": ["cargo"], - "prConcurrentLimit": 5 - } + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": [ + "config:recommended" + ], + "lockFileMaintenance": { + "enabled": true, + "schedule": [ + "at any time" ] + }, + "nix": { + "enabled": true + }, + "labels": [ + "Dependencies", + "Dependencies/Renovate" + ], + "ignoreDeps": [ + "tikv-jemallocator", + "tikv-jemalloc-sys", + "tikv-jemalloc-ctl", + "opentelemetry", + "opentelemetry_sdk", + "opentelemetry-jaeger", + "tracing-opentelemetry" + ], + "github-actions": { + "enabled": true, + "fileMatch": [ + "(^|/)\\.forgejo/workflows/[^/]+\\.ya?ml$", + "(^|/)\\.forgejo/actions/[^/]+/action\\.ya?ml$", + "(^|/)\\.github/workflows/[^/]+\\.ya?ml$", + "(^|/)\\.github/actions/[^/]+/action\\.ya?ml$" + ] + }, + "packageRules": [ + { + "description": "Batch minor and patch GitHub Actions updates", + "matchManagers": ["github-actions"], + "matchUpdateTypes": ["minor", "patch"], + "groupName": "github-actions-non-major" + }, + { + "description": "Group Rust toolchain updates into a single PR", + "matchManagers": ["regex"], + "matchPackageNames": ["rust", "rustc", "cargo"], + "groupName": "rust-toolchain" + }, + { + "description": "Group lockfile updates into a single PR", + "matchUpdateTypes": ["lockFileMaintenance"], + "groupName": "lockfile-maintenance" + }, + { + "description": "Batch patch-level Rust dependency updates", + "matchManagers": ["cargo"], + "matchUpdateTypes": ["patch"], + "groupName": "rust-patch-updates" + } + ] } diff --git a/src/api/client/admin/suspend.rs b/src/api/client/admin/suspend.rs index 0d3493f6..29682694 100644 --- a/src/api/client/admin/suspend.rs +++ b/src/api/client/admin/suspend.rs @@ -14,10 +14,10 @@ pub(crate) async fn get_suspended_status( let sender_user = body.sender_user(); if !services.users.is_admin(sender_user).await { return Err!(Request(Forbidden("Only server administrators can use this endpoint"))); - } + }; if !services.globals.user_is_local(&body.user_id) { return Err!(Request(InvalidParam("Can only check the suspended status of local users"))); - } + }; if !services.users.is_active(&body.user_id).await { return Err!(Request(NotFound("Unknown user"))); } @@ -36,10 +36,10 @@ pub(crate) async fn put_suspended_status( let sender_user = body.sender_user(); if !services.users.is_admin(sender_user).await { return Err!(Request(Forbidden("Only server administrators can use this endpoint"))); - } + }; if !services.globals.user_is_local(&body.user_id) { return Err!(Request(InvalidParam("Can only set the suspended status of local users"))); - } + }; if !services.users.is_active(&body.user_id).await { return Err!(Request(NotFound("Unknown user"))); } diff --git a/src/api/client/capabilities.rs b/src/api/client/capabilities.rs index 1fcb073f..2f9d6299 100644 --- a/src/api/client/capabilities.rs +++ b/src/api/client/capabilities.rs @@ -19,14 +19,14 @@ use crate::Ruma; /// of this server. pub(crate) async fn get_capabilities_route( State(services): State, - body: Ruma, + _body: Ruma, ) -> Result { let available: BTreeMap = Server::available_room_versions().collect(); - let authenticated = body.sender_user.as_ref().is_some() + let authenticated = _body.sender_user.as_ref().is_some() && services .users - .is_active_local(body.sender_user.as_ref().unwrap()) + .is_active_local(_body.sender_user.as_ref().unwrap()) .await; let mut capabilities = Capabilities::default(); @@ -53,7 +53,7 @@ pub(crate) async fn get_capabilities_route( if authenticated && services .users - .is_admin(body.sender_user.as_ref().unwrap()) + .is_admin(_body.sender_user.as_ref().unwrap()) .await { // Advertise suspension API diff --git a/src/api/client/sync/v3.rs b/src/api/client/sync/v3.rs index 298a6e4b..01428c08 100644 --- a/src/api/client/sync/v3.rs +++ b/src/api/client/sync/v3.rs @@ -430,7 +430,7 @@ async fn handle_left_room( .ok(); // Left before last sync - if (Some(since) >= left_count && !include_leave) || Some(next_batch) < left_count { + if Some(since) >= left_count { return Ok(None); } diff --git a/src/api/client/unversioned.rs b/src/api/client/unversioned.rs index 7f19bc94..a4136d1a 100644 --- a/src/api/client/unversioned.rs +++ b/src/api/client/unversioned.rs @@ -58,7 +58,6 @@ pub(crate) async fn get_supported_versions_route( ("uk.tcpip.msc4133".to_owned(), true), /* Extending User Profile API with Key:Value Pairs (https://github.com/matrix-org/matrix-spec-proposals/pull/4133) */ ("us.cloke.msc4175".to_owned(), true), /* Profile field for user time zone (https://github.com/matrix-org/matrix-spec-proposals/pull/4175) */ ("org.matrix.simplified_msc3575".to_owned(), true), /* Simplified Sliding sync (https://github.com/matrix-org/matrix-spec-proposals/pull/4186) */ - ("uk.timedout.msc4323".to_owned(), true), /* agnostic suspend (https://github.com/matrix-org/matrix-spec-proposals/pull/4323) */ ]), };