diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 85d97df66d60..b7ba21272be1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -59,7 +59,7 @@ jobs: merged-as-untrusted-at: ${{ inputs.mergedSha }} target-as-trusted-at: ${{ inputs.targetSha }} - - uses: cachix/install-nix-action@630ae543ea3a38a9a4166f03376c02c50f408342 # v31.11.0 + - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1 with: # Sandbox is disabled on MacOS by default. extra_nix_config: sandbox = true diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 8a8412701554..a39d972d2990 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -178,7 +178,7 @@ jobs: merged-as-untrusted-at: ${{ inputs.mergedSha }} target-as-trusted-at: ${{ inputs.targetSha }} - - uses: cachix/install-nix-action@630ae543ea3a38a9a4166f03376c02c50f408342 # v31.11.0 + - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1 - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17 continue-on-error: true diff --git a/.github/workflows/eval.yml b/.github/workflows/eval.yml index 4bed665957f5..567bf3a47447 100644 --- a/.github/workflows/eval.yml +++ b/.github/workflows/eval.yml @@ -139,7 +139,7 @@ jobs: core.info(`Found pinned.json commit: ${ciPinBumpCommit}`) - name: Install Nix - uses: cachix/install-nix-action@630ae543ea3a38a9a4166f03376c02c50f408342 # v31.11.0 + uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1 - name: Load supported versions id: versions @@ -187,7 +187,7 @@ jobs: target-as-trusted-at: ${{ inputs.targetSha }} - name: Install Nix - uses: cachix/install-nix-action@630ae543ea3a38a9a4166f03376c02c50f408342 # v31.11.0 + uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1 - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17 continue-on-error: true @@ -277,7 +277,7 @@ jobs: merge-multiple: true - name: Install Nix - uses: cachix/install-nix-action@630ae543ea3a38a9a4166f03376c02c50f408342 # v31.11.0 + uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1 - name: Combine all output paths and eval stats run: | @@ -486,7 +486,7 @@ jobs: merged-as-untrusted-at: ${{ inputs.mergedSha }} - name: Install Nix - uses: cachix/install-nix-action@630ae543ea3a38a9a4166f03376c02c50f408342 # v31.11.0 + uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1 - name: Ensure flake outputs on all systems still evaluate run: nix flake check --all-systems --no-build './nixpkgs/untrusted?shallow=1' diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 79b7cc295650..d6d4627ada81 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -35,7 +35,7 @@ jobs: with: merged-as-untrusted-at: ${{ inputs.mergedSha }} - - uses: cachix/install-nix-action@630ae543ea3a38a9a4166f03376c02c50f408342 # v31.11.0 + - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1 # TODO: Figure out how to best enable caching for the treefmt job. Cachix won't work well, # because the cache would be invalidated on every commit - treefmt checks every file. @@ -70,7 +70,7 @@ jobs: with: merged-as-untrusted-at: ${{ inputs.mergedSha }} - - uses: cachix/install-nix-action@630ae543ea3a38a9a4166f03376c02c50f408342 # v31.11.0 + - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1 - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17 continue-on-error: true @@ -100,7 +100,7 @@ jobs: merged-as-untrusted-at: ${{ inputs.mergedSha }} target-as-trusted-at: ${{ inputs.targetSha }} - - uses: cachix/install-nix-action@630ae543ea3a38a9a4166f03376c02c50f408342 # v31.11.0 + - uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1 - uses: cachix/cachix-action@5f2d7c5294214f71b873db4b969586b980625e71 # v17 continue-on-error: true diff --git a/doc/languages-frameworks/ocaml.section.md b/doc/languages-frameworks/ocaml.section.md index 06c2fb197105..2e392b20c3d6 100644 --- a/doc/languages-frameworks/ocaml.section.md +++ b/doc/languages-frameworks/ocaml.section.md @@ -59,6 +59,9 @@ Here is a simple package example. - The library will be installed using the `angstrom.install` file that dune generates. +- It also accepts an optional `dunePackages` argument, if there is more than one + dune package that needs to be built (see `zipperposition`) + ```nix { lib, diff --git a/maintainers/github-teams.json b/maintainers/github-teams.json index 662132d06a23..381ef2cf7467 100644 --- a/maintainers/github-teams.json +++ b/maintainers/github-teams.json @@ -694,8 +694,8 @@ "eclairevoyant": 848000 }, "members": { - "Eveeifyeve": 88671402, - "daylinmorgan": 47667941 + "daylinmorgan": 47667941, + "eveeifyeve": 88671402 }, "name": "nim" }, @@ -788,10 +788,11 @@ "description": "Maintain Pantheon desktop environment and platform", "id": 4786995, "maintainers": { + "bobby285271": 20080233, "davidak": 91113 }, "members": { - "bobby285271": 20080233 + "amz-x": 18249234 }, "name": "Pantheon" }, @@ -895,7 +896,6 @@ "0x4A6F": 9675338 }, "members": { - "DarkKirb": 23011243, "dramforever": 2818072, "fgaz": 8182846, "jonhermansen": 660911 diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index ccb50ef99e53..146d852c2f24 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -1958,6 +1958,12 @@ githubId = 14838767; name = "Jacopo Scannella"; }; + antoineco = { + email = "hello@acotten.com"; + github = "antoineco"; + githubId = 3299086; + name = "Antoine Cotten"; + }; anton-4 = { name = "Anton"; github = "Anton-4"; diff --git a/nixos/modules/services/monitoring/ups.nix b/nixos/modules/services/monitoring/ups.nix index 7ca9a63d95af..24d013c642e2 100644 --- a/nixos/modules/services/monitoring/ups.nix +++ b/nixos/modules/services/monitoring/ups.nix @@ -679,7 +679,7 @@ in environment = envVars; serviceConfig = { Type = "oneshot"; - ExecStart = "${cfg.package}/bin/upsdrvctl shutdown"; + ExecStart = "${cfg.package}/bin/upsdrvctl -u root shutdown"; }; }; diff --git a/nixos/modules/services/video/frigate.nix b/nixos/modules/services/video/frigate.nix index 5ecb88bfb8a2..387dc965cbee 100644 --- a/nixos/modules/services/video/frigate.nix +++ b/nixos/modules/services/video/frigate.nix @@ -787,6 +787,7 @@ in # Caches PrivateTmp = true; + TemporaryFileSystem = "/dev/shm:mode=1777,nosuid,nodev"; CacheDirectory = [ "frigate" # https://github.com/blakeblackshear/frigate/discussions/18129 diff --git a/nixos/modules/services/web-apps/discourse.nix b/nixos/modules/services/web-apps/discourse.nix index db5e98b32eab..7ad8705ae658 100644 --- a/nixos/modules/services/web-apps/discourse.nix +++ b/nixos/modules/services/web-apps/discourse.nix @@ -641,6 +641,8 @@ in s3_http_continue_timeout = null; s3_install_cors_rule = null; s3_asset_cdn_url = null; + s3_role_arn = null; + s3_role_session_name = null; max_user_api_reqs_per_minute = 20; max_user_api_reqs_per_day = 2880; @@ -667,7 +669,6 @@ in compress_anon_cache = false; anon_cache_store_threshold = 2; allowed_theme_repos = null; - enable_email_sync_demon = false; max_digests_enqueued_per_30_mins_per_site = 10000; cluster_name = null; multisite_config_path = "config/multisite.yml"; @@ -681,6 +682,10 @@ in allow_impersonation = true; log_line_max_chars = 160000; yjit_enabled = false; + # this option is set to `true` in discourse's defaults. + # however, having this option enabled appears to cause a segfault in mini_racer + # see https://github.com/rubyjs/mini_racer/issues/422 + mini_racer_single_threaded = false; }; services.redis.servers.discourse = @@ -951,27 +956,35 @@ in # asset pipeline enables this brotli_static on; gzip_static on; + add_header Access-Control-Allow-Origin *; ''; "~ ^/plugins/".extraConfig = cache_1y; "~ /images/emoji/".extraConfig = cache_1y; "~ ^/uploads/" = proxy { - extraConfig = cache_1y + '' + extraConfig = '' proxy_set_header X-Sendfile-Type X-Accel-Redirect; proxy_set_header X-Accel-Mapping ${cfg.package}/share/discourse/public/=/downloads/; # custom CSS location ~ /stylesheet-cache/ { + ${cache_1y} try_files $uri =404; } # this allows us to bypass rails location ~* \.(gif|png|jpg|jpeg|bmp|tif|tiff|ico|webp)$ { + ${cache_1y} try_files $uri =404; } - # SVG needs an extra header attached + # force attachment so SVGs can't render as a document on direct navigation location ~* \.(svg)$ { + ${cache_1y} + add_header Access-Control-Allow-Origin *; + add_header Content-Disposition attachment; + try_files $uri =404; } # thumbnails & optimized images location ~ /_?optimized/ { + ${cache_1y} try_files $uri =404; } ''; diff --git a/pkgs/applications/networking/browsers/chromium/info.json b/pkgs/applications/networking/browsers/chromium/info.json index e8116ae3696e..7e9a100f5dbb 100644 --- a/pkgs/applications/networking/browsers/chromium/info.json +++ b/pkgs/applications/networking/browsers/chromium/info.json @@ -1,10 +1,10 @@ { "chromium": { - "version": "151.0.7922.169", + "version": "151.0.7922.173", "chromedriver": { - "version": "151.0.7922.170", - "hash_darwin": "sha256-DpYk2U4zCxM+eHNThABQhtp5SN09ntQKpQL9Fh0aQ8I=", - "hash_darwin_aarch64": "sha256-UO/M1Mh1nDDKqHNPBxeVd0CXX24xiIpVBA/bNNa8s3M=" + "version": "151.0.7922.174", + "hash_darwin": "sha256-ZvSYSZVVXOUVNjBkrXNQ04qdUcAj7Z2RbWPt6/rVkdo=", + "hash_darwin_aarch64": "sha256-10cDX124TzB9kIQfx+Jxzz6mgo3Aq/C+Nfwy9BR0F2c=" }, "deps": { "depot_tools": { @@ -21,8 +21,8 @@ "DEPS": { "src": { "url": "https://chromium.googlesource.com/chromium/src.git", - "rev": "4b1c7520055f77780fe76d89bb89b76e4d19f64c", - "hash": "sha256-Esamlwf17X1PzJsQRRcIJ4QwA0qHD3vslQwzdAbGJxk=", + "rev": "a96602f30358e9b5d256a0464e7e4d4bec223004", + "hash": "sha256-uumIVSzf318Xd1JB9jESXgpLxXlrvMDclOzSFQqweZ8=", "recompress": true }, "src/third_party/clang-format/script": { @@ -827,8 +827,8 @@ }, "src/v8": { "url": "https://chromium.googlesource.com/v8/v8.git", - "rev": "dccfc345769bb723321ce10168d8084f7f9ac9f7", - "hash": "sha256-uyS4w15ppEOxv/FKsdtGDzSIER5bqZtHPic6eKTIVDM=" + "rev": "4b407bc23f23059b1019cde542601c2cf8f70eb2", + "hash": "sha256-TB1A+iIyZOdlbHvim1JOaXOf9uQnoAYqbUL2+PFKUcs=" }, "src/agents/shared": { "url": "https://chromium.googlesource.com/chromium/agents.git", diff --git a/pkgs/build-support/ocaml/dune.nix b/pkgs/build-support/ocaml/dune.nix index cbd1957dc2a8..6a640604b444 100644 --- a/pkgs/build-support/ocaml/dune.nix +++ b/pkgs/build-support/ocaml/dune.nix @@ -18,6 +18,7 @@ lib.extendMkDerivation { { pname, version, + dunePackages ? [ pname ], nativeBuildInputs ? [ ], enableParallelBuilding ? true, ... @@ -58,14 +59,14 @@ lib.extendMkDerivation { buildPhase = args.buildPhase or '' runHook preBuild - dune build -p ${pname} ''${enableParallelBuilding:+-j $NIX_BUILD_CORES} + dune build -p ${lib.concatStringsSep "," dunePackages} ''${enableParallelBuilding:+-j $NIX_BUILD_CORES} runHook postBuild ''; installPhase = args.installPhase or '' runHook preInstall - dune install --prefix $out --libdir $OCAMLFIND_DESTDIR ${pname} \ + dune install --prefix $out --libdir $OCAMLFIND_DESTDIR ${lib.concatStringsSep " " dunePackages} \ ${ if lib.versionAtLeast Dune.version "2.9" then "--docdir $out/share/doc --mandir $out/share/man" @@ -78,7 +79,7 @@ lib.extendMkDerivation { checkPhase = args.checkPhase or '' runHook preCheck - dune runtest -p ${pname} ''${enableParallelBuilding:+-j $NIX_BUILD_CORES} + dune runtest -p ${lib.concatStringsSep "," dunePackages} ''${enableParallelBuilding:+-j $NIX_BUILD_CORES} runHook postCheck ''; diff --git a/pkgs/by-name/do/dolibarr/package.nix b/pkgs/by-name/do/dolibarr/package.nix index faab9a3647d4..658a78085a9d 100644 --- a/pkgs/by-name/do/dolibarr/package.nix +++ b/pkgs/by-name/do/dolibarr/package.nix @@ -8,13 +8,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "dolibarr"; - version = "23.0.3"; + version = "23.0.4"; src = fetchFromGitHub { owner = "Dolibarr"; repo = "dolibarr"; tag = finalAttrs.version; - hash = "sha256-Yse1rUaxRnuXawgAk0m4U3GCZNlV0IPPpZ9Qml4heA8="; + hash = "sha256-YJKTaLGaILhCFREtAgmX+vzhXIKp0DIj6jn7TtqtFB4="; }; dontBuild = true; diff --git a/pkgs/by-name/fo/fosrl-pangolin/package.nix b/pkgs/by-name/fo/fosrl-pangolin/package.nix index 7f73cd3d3690..e34fad16e016 100644 --- a/pkgs/by-name/fo/fosrl-pangolin/package.nix +++ b/pkgs/by-name/fo/fosrl-pangolin/package.nix @@ -36,7 +36,7 @@ in buildNpmPackage (finalAttrs: { pname = "pangolin"; - version = "1.21.0"; + version = "1.21.1"; __structuredAttrs = true; enableParallelBuilding = true; @@ -45,12 +45,12 @@ buildNpmPackage (finalAttrs: { owner = "fosrl"; repo = "pangolin"; tag = finalAttrs.version; - hash = "sha256-LR4UO2xrTLKmemDVsJWtEQoV2bDy6U2ahxTtA+SDymI="; + hash = "sha256-zfXHev0bN3KVkoiSQ+2WQCgmcCtWi3dib6EiaYmthTo="; }; nodejs = nodejs_22; npmDepsFetcherVersion = 2; - npmDepsHash = "sha256-EBectG1zNdUb30SlhAzy9rCwF/mYHAV4HZTRbk2CbDY="; + npmDepsHash = "sha256-9wPn2nSD9VxMyHywrG52WrChsrJ/ctnKGlMZZEymP6A="; nativeBuildInputs = [ esbuild @@ -64,11 +64,11 @@ buildNpmPackage (finalAttrs: { # upstream inconsistently updates this # so leaving this here in case it's needed - postPatch = '' - substituteInPlace server/lib/consts.ts --replace-fail \ - 'export const APP_VERSION = "${lib.versions.majorMinor finalAttrs.version + ".0"}";' \ - 'export const APP_VERSION = "${finalAttrs.version}";' - ''; + # postPatch = '' + # substituteInPlace server/lib/consts.ts --replace-fail \ + # 'export const APP_VERSION = "${lib.versions.majorMinor finalAttrs.version + ".0"}";' \ + # 'export const APP_VERSION = "${finalAttrs.version}";' + # ''; preBuild = '' npm run set:${db false} diff --git a/pkgs/by-name/ge/gelly/package.nix b/pkgs/by-name/ge/gelly/package.nix index 1366478800f7..a3b816dff9d5 100644 --- a/pkgs/by-name/ge/gelly/package.nix +++ b/pkgs/by-name/ge/gelly/package.nix @@ -19,16 +19,16 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "gelly"; - version = "1.9.7"; + version = "1.10.0"; src = fetchFromGitHub { owner = "Fingel"; repo = "gelly"; tag = "v${finalAttrs.version}"; - hash = "sha256-KPU16kQUmM+TOOzw8JXFjlchhFHQy9Zt7brky9YW/fE="; + hash = "sha256-YpSES6qf9W7oj2LIQcI48N2SxMbVRumQ2zxsnYgMdlg="; }; - cargoHash = "sha256-CUbQp1E+snaIuduXmEXErOoOELFXmEm3Td1y5Mou+UA="; + cargoHash = "sha256-AHcdJF8Um7gUMF1g0ZVooyoCRGEX+tXvEmPOn6BIuMw="; nativeBuildInputs = [ pkg-config diff --git a/pkgs/by-name/gh/gh/package.nix b/pkgs/by-name/gh/gh/package.nix index 863633818114..ad9d4b1303b2 100644 --- a/pkgs/by-name/gh/gh/package.nix +++ b/pkgs/by-name/gh/gh/package.nix @@ -10,7 +10,7 @@ buildGoModule (finalAttrs: { pname = "gh"; - version = "2.97.0"; + version = "2.98.0"; __structuredAttrs = true; @@ -18,10 +18,10 @@ buildGoModule (finalAttrs: { owner = "cli"; repo = "cli"; tag = "v${finalAttrs.version}"; - hash = "sha256-yG3bo7YVs1Q//9PePusU0m4TilujQMxI4Faz26iAb5g="; + hash = "sha256-2MktrI8FEvGkU2/cC6vrPtujl8fszuxz+Ey30WjRjhg="; }; - vendorHash = "sha256-XeXHMEhe1ZVWtenyYIzaYjNovaArvI0xBRWVabUF9KU="; + vendorHash = "sha256-fhFsu/LjLNFwexSfUsd4X74UD+AQojLcdxU5IqOi3GY="; nativeBuildInputs = [ installShellFiles diff --git a/pkgs/by-name/ke/keycloak/package.nix b/pkgs/by-name/ke/keycloak/package.nix index 11480a1ebe93..2dc77cb1703c 100644 --- a/pkgs/by-name/ke/keycloak/package.nix +++ b/pkgs/by-name/ke/keycloak/package.nix @@ -24,11 +24,11 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "keycloak"; - version = "26.7.1"; + version = "26.7.2"; src = fetchzip { url = "https://github.com/keycloak/keycloak/releases/download/${finalAttrs.version}/keycloak-${finalAttrs.version}.zip"; - hash = "sha256-YkjFJcD2G132mUm4HmyHriAK+b+3UCUeLilEMeKBZho="; + hash = "sha256-D4Hj4OHX8veFjIDbvbQN0E7C2oHVpbD2U4TV1Z8fZ8Y="; }; nativeBuildInputs = [ diff --git a/pkgs/by-name/li/libsignal-ffi/package.nix b/pkgs/by-name/li/libsignal-ffi/package.nix index d5f380fb9654..074d7df30905 100644 --- a/pkgs/by-name/li/libsignal-ffi/package.nix +++ b/pkgs/by-name/li/libsignal-ffi/package.nix @@ -13,14 +13,14 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "libsignal-ffi"; # must match the version used in mautrix-signal # see https://github.com/mautrix/signal/issues/401 - version = "0.97.2"; + version = "0.100.0"; src = fetchFromGitHub { fetchSubmodules = true; owner = "signalapp"; repo = "libsignal"; tag = "v${finalAttrs.version}"; - hash = "sha256-p9NIt+n7MTsYWAFS+FOuSGMJUZi8rBlTb6ATgVJ+uU8="; + hash = "sha256-ATK0wnTbT3b8lFAwXSm5j31LXywCh70iOTgUL6Pfd+Q="; }; postPatch = @@ -46,7 +46,7 @@ rustPlatform.buildRustPackage (finalAttrs: { NIX_LDFLAGS = if stdenv.hostPlatform.isDarwin then "-lc++" else "-lstdc++"; }; - cargoHash = "sha256-JtNGubDMrUINCCiawrAW63L1trcBCAIibFpojK8mzhc="; + cargoHash = "sha256-OuJdAi2TbtpQlXSr7PpLuBqeHYx0l2ax5byoEZ5PGj8="; cargoBuildFlags = [ "-p" diff --git a/pkgs/by-name/lu/luanti/package.nix b/pkgs/by-name/lu/luanti/package.nix index 0ff4192c4245..5a15e4bfeedc 100644 --- a/pkgs/by-name/lu/luanti/package.nix +++ b/pkgs/by-name/lu/luanti/package.nix @@ -43,13 +43,13 @@ stdenv.mkDerivation (finalAttrs: { pname = "luanti"; - version = "5.16.1"; + version = "5.17.0"; src = fetchFromGitHub { owner = "luanti-org"; repo = "luanti"; tag = finalAttrs.version; - hash = "sha256-EzLjLkN/3BdcpWJ92QnrdhxKmY6Bz2JkOC0oX0TrUtI="; + hash = "sha256-PieiiJTpgUK7q0WiUY2EAp72ywHkDR2Mba1DCDkvCaY="; }; patches = [ diff --git a/pkgs/by-name/lu/lucida-downloader/package.nix b/pkgs/by-name/lu/lucida-downloader/package.nix index d14bfe592209..896b0e16c9d4 100644 --- a/pkgs/by-name/lu/lucida-downloader/package.nix +++ b/pkgs/by-name/lu/lucida-downloader/package.nix @@ -7,18 +7,18 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "lucida-downloader"; - version = "0.8.0"; + version = "0.9.0"; src = fetchFromGitHub { owner = "jelni"; repo = "lucida-downloader"; tag = "v${finalAttrs.version}"; - hash = "sha256-284f3+yKkE37wZzmyW7qupvYwEkmLvco8lc5dFSiLAQ="; + hash = "sha256-7mq6xoafXqhqhe9vLdc67aGzlUrD8hTyCGkIyqndfPA="; }; passthru.updateScript = nix-update-script { }; - cargoHash = "sha256-PT8E9AqvhChKk76AA2qsAf2ICy5maQ9SK96V/vkmwy8="; + cargoHash = "sha256-lUxPPykO/U7bVgtw3yGxqD0PbqHng5bIW0krvYW7+Kw="; meta = { description = "Multithreaded client for downloading music for free with lucida"; diff --git a/pkgs/by-name/ma/matrix-authentication-service/package.nix b/pkgs/by-name/ma/matrix-authentication-service/package.nix index d4e3a8957006..96e2315b28bc 100644 --- a/pkgs/by-name/ma/matrix-authentication-service/package.nix +++ b/pkgs/by-name/ma/matrix-authentication-service/package.nix @@ -20,21 +20,21 @@ rustPlatform.buildRustPackage (finalAttrs: { pname = "matrix-authentication-service"; - version = "1.22.0"; + version = "1.23.0"; src = fetchFromGitHub { owner = "element-hq"; repo = "matrix-authentication-service"; tag = "v${finalAttrs.version}"; - hash = "sha256-vy9eZYtlAMPXh+xvgAOEeJd7jZirX5Y4sXmNbYLBYGI="; + hash = "sha256-DnaVIMp+pRRsNlyBZiTiqXajOgGFBT38sNLmC+IF8pU="; }; - cargoHash = "sha256-3MDbg+vfLIqSDiRqBVZs2zbrg9UUpe4Vx+Ze656yOdE="; + cargoHash = "sha256-3fBikvSbPTiIYXk7TQKoQ/YqjF5ZCoN0xQRSqCmHF9Q="; pnpmDeps = fetchPnpmDeps { inherit (finalAttrs) pname version src; fetcherVersion = 4; - hash = "sha256-9a62WlBQW8lgXluMh+DM21CkFCqFYd7yUz220G1uTIY="; + hash = "sha256-8dPqsa1/D4q7hdntV1AmbRxQyZgAf7Q/z+etj+R/jIE="; }; pnpmRoot = "frontend"; diff --git a/pkgs/by-name/ma/mautrix-signal/package.nix b/pkgs/by-name/ma/mautrix-signal/package.nix index 27d3f2040855..246426482bf9 100644 --- a/pkgs/by-name/ma/mautrix-signal/package.nix +++ b/pkgs/by-name/ma/mautrix-signal/package.nix @@ -20,14 +20,14 @@ let in buildGoModule rec { pname = "mautrix-signal"; - version = "26.07"; - tag = "v0.2607.0"; + version = "26.08"; + tag = "v0.2608.0"; src = fetchFromGitHub { owner = "mautrix"; repo = "signal"; inherit tag; - hash = "sha256-l6IIL2bClC6t5+P0/AkFIjkD/eDpQnnmA8x4i5ROaY4="; + hash = "sha256-B06szaP9QbdVy6rmnGAVkavzgzFrJXeWCN1iIvUzbzc="; }; buildInputs = @@ -46,7 +46,7 @@ buildGoModule rec { CGO_LDFLAGS = toString [ cppStdLib ]; }; - vendorHash = "sha256-0ifGza94s4+ED5OrlrqoDKIDZIYJWJhB2q3LJRpKiJs="; + vendorHash = "sha256-KoFLr5As31/YyusfA3bxTnI1V73F6KGWLSZPg0LZa78="; ldflags = [ "-X" diff --git a/pkgs/by-name/mu/mullvad-browser/package.nix b/pkgs/by-name/mu/mullvad-browser/package.nix index 439f837374a3..1a4ba549c388 100644 --- a/pkgs/by-name/mu/mullvad-browser/package.nix +++ b/pkgs/by-name/mu/mullvad-browser/package.nix @@ -97,7 +97,7 @@ let ++ lib.optionals mediaSupport [ ffmpeg_7 ] ); - version = "15.0.19"; + version = "15.0.20"; sources = { x86_64-linux = fetchurl { @@ -109,7 +109,7 @@ let "https://tor.eff.org/dist/mullvadbrowser/${version}/mullvad-browser-linux-x86_64-${version}.tar.xz" "https://tor.calyxinstitute.org/dist/mullvadbrowser/${version}/mullvad-browser-linux-x86_64-${version}.tar.xz" ]; - hash = "sha256-9Vbv7A8JarYtT0Ll1bveQmwif7/IViq6geMxMqeF+S4="; + hash = "sha256-EyVih1kklIg7b3fdh6tqtEE3Xh/UPpPMZgfdxtY6c5s="; }; }; diff --git a/pkgs/by-name/te/teams-for-linux/package.nix b/pkgs/by-name/te/teams-for-linux/package.nix index 6533308cff6b..2d31d5a5d09e 100644 --- a/pkgs/by-name/te/teams-for-linux/package.nix +++ b/pkgs/by-name/te/teams-for-linux/package.nix @@ -5,7 +5,8 @@ fetchFromGitHub, alsa-utils, copyDesktopItems, - electron_41, + electron_42, + libicns, makeDesktopItem, makeWrapper, nix-update-script, @@ -14,26 +15,27 @@ }: let - electron = electron_41; + electron = electron_42; in buildNpmPackage rec { pname = "teams-for-linux"; - version = "2.11.1"; + version = "2.17.1"; src = fetchFromGitHub { owner = "IsmaelMartinez"; repo = "teams-for-linux"; tag = "v${version}"; - hash = "sha256-XEu0x9g2mEsmY+vZtazTOzW6KNMRbrxlPck/kPNehmo="; + hash = "sha256-qI8+QqnrkGmQGweMcfyaXQnjNMf4htJAF9Gk97zL9jg="; }; - npmDepsHash = "sha256-urLRj7668NX7CaDWAVxAoOg+c1TmMyvf23Je+RmFwHE="; + npmDepsHash = "sha256-wPHap85tS3JrN4ei/HRYyzwFfVFcPkBdbY5ViEk4bwE="; nativeBuildInputs = [ makeWrapper versionCheckHook ] - ++ lib.optionals (stdenv.hostPlatform.isLinux) [ copyDesktopItems ]; + ++ lib.optionals (stdenv.hostPlatform.isLinux) [ copyDesktopItems ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin) [ libicns ]; doInstallCheck = stdenv.hostPlatform.isLinux; @@ -48,13 +50,29 @@ buildNpmPackage rec { cp -r ${electron.dist}/. "$electron_dist" chmod -R u+w "$electron_dist" - npm exec electron-builder -- \ - --dir \ - -c.npmRebuild=true \ - -c.asarUnpack="**/*.node" \ - -c.electronDist="$electron_dist" \ - -c.electronVersion=${electron.version} \ - -c.mac.identity=null + electron_builder_args=( + --dir + -c.npmRebuild=true + -c.asarUnpack="**/*.node" + -c.electronDist="$electron_dist" + -c.electronVersion=${electron.version} + -c.mac.identity=null + ) + + '' + + lib.optionalString stdenv.hostPlatform.isDarwin '' + png2icns build/icon.icns \ + build/icons/16x16.png \ + build/icons/32x32.png \ + build/icons/128x128.png \ + build/icons/256x256.png \ + build/icons/512x512.png \ + build/icons/1024x1024.png + electron_builder_args+=(-c.mac.icon=build/icon.icns) + '' + + '' + + npm exec electron-builder -- "''${electron_builder_args[@]}" runHook postBuild ''; diff --git a/pkgs/by-name/ti/tirith/package.nix b/pkgs/by-name/ti/tirith/package.nix index 3f9bd107e3fa..3cdb6e678b53 100644 --- a/pkgs/by-name/ti/tirith/package.nix +++ b/pkgs/by-name/ti/tirith/package.nix @@ -8,15 +8,15 @@ }: rustPlatform.buildRustPackage (final: { pname = "tirith"; - version = "0.3.1"; + version = "0.3.3"; src = fetchFromGitHub { owner = "sheeki03"; repo = "tirith"; tag = "v${final.version}"; - hash = "sha256-RdStW5ubqypdmFqNk9DHtUp5jHnZdXiWW/lAlSaBb3c="; + hash = "sha256-kU/HeCW4QNS1Ica69YZkdSgL3gsbDOJVGTyINZOnHUQ="; }; - cargoHash = "sha256-/V2vv02x0zSsJCcJMSttG9eekRZMK7KTk6m2VYePFa8="; + cargoHash = "sha256-r13gquMmfJhR5N8Vu3/R+3SWUyVWyJFE6fiJbqbE5n4="; cargoBuildFlags = [ "-p" @@ -30,8 +30,18 @@ rustPlatform.buildRustPackage (final: { checkFlags = [ # requires a fully functional shell environment, generating init scripts needs a patch under nix to work at build time + "--skip=bash_capability_cache_steers_default_mode" + "--skip=bash_enter_degradation_is_visible_not_silent" + "--skip=cli::clipboard::tests::copy_path_does_not_consult_sidecar" + "--skip=clipboard_watch_exits_when_stdout_pipe_closed" "--skip=init_bash_output" + "--skip=init_prompt_status_emits_marker_wrapped_snippet_zsh" + "--skip=init_prompt_status_is_idempotent_when_run_twice" + "--skip=init_prompt_status_supports_bash_and_fish_and_powershell" + "--skip=init_without_prompt_status_does_not_emit_snippet" "--skip=init_zsh_output" + # fails with: no such file or directory + "--skip=cli::checkpoint::tests::restore_checkpoint_nonzero_on_partial_failure" ]; nativeBuildInputs = lib.optionals (stdenv.buildPlatform.canExecute stdenv.hostPlatform) [ diff --git a/pkgs/by-name/to/tor-browser/package.nix b/pkgs/by-name/to/tor-browser/package.nix index 0853039e03c2..8ed72299f59b 100644 --- a/pkgs/by-name/to/tor-browser/package.nix +++ b/pkgs/by-name/to/tor-browser/package.nix @@ -102,7 +102,7 @@ let ++ lib.optionals mediaSupport [ ffmpeg_7 ] ); - version = "15.0.19"; + version = "15.0.20"; sources = { x86_64-linux = fetchurl { @@ -112,7 +112,7 @@ let "https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux-x86_64-${version}.tar.xz" "https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux-x86_64-${version}.tar.xz" ]; - hash = "sha256-LrSrQx9JIcpjsSO2+fRFoHP797ZfGI9FpXfVdusr4s8="; + hash = "sha256-1DAmM9YFnS2tlOLIg7MRQdx7Paor+lqrsP0p3aGNIuk="; }; i686-linux = fetchurl { @@ -122,7 +122,7 @@ let "https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux-i686-${version}.tar.xz" "https://tor.calyxinstitute.org/dist/torbrowser/${version}/tor-browser-linux-i686-${version}.tar.xz" ]; - hash = "sha256-N+TjpJrHg8cB6vwCqrTWnz4/dwzu2/r55kNmkLemWvU="; + hash = "sha256-iqvfcBsVFN25JtAKDyL94hoL/K3rM0M7pbK7gbir5ZA="; }; }; diff --git a/pkgs/by-name/tu/tuigreet/package.nix b/pkgs/by-name/tu/tuigreet/package.nix index b1a16c8f2f5d..86f2afa8f4ab 100644 --- a/pkgs/by-name/tu/tuigreet/package.nix +++ b/pkgs/by-name/tu/tuigreet/package.nix @@ -8,16 +8,18 @@ }: rustPlatform.buildRustPackage (finalAttrs: { pname = "tuigreet"; - version = "0.9.1"; + version = "0.11.1"; + + __structuredAttrs = true; src = fetchFromGitHub { - owner = "apognu"; + owner = "tuigreet"; repo = "tuigreet"; tag = finalAttrs.version; - hash = "sha256-e0YtpakEaaWdgu+bMr2VFoUc6+SUMFk4hYtSyk5aApY="; + hash = "sha256-nZkZY4ZlywDUbOWmDpj1ubjoiLQamYCwTV72N0Lgb8g="; }; - cargoHash = "sha256-w6ZOqpwogKoN4oqqI1gFqY8xAnfvhEBVaL8/6JXpKXs="; + cargoHash = "sha256-5Q4E8nnmQ109gcfxxctn/rne5N4Qvz2Pft6o7as2fSc="; nativeBuildInputs = [ installShellFiles @@ -33,10 +35,13 @@ rustPlatform.buildRustPackage (finalAttrs: { meta = { description = "Graphical console greeter for greetd"; - homepage = "https://github.com/apognu/tuigreet"; - changelog = "https://github.com/apognu/tuigreet/releases/tag/${finalAttrs.version}"; + homepage = "https://github.com/tuigreet/tuigreet"; + changelog = "https://github.com/tuigreet/tuigreet/releases/tag/${finalAttrs.version}"; license = lib.licenses.gpl3Plus; - maintainers = [ ]; + maintainers = with lib.maintainers; [ + NotAShelf + antoineco + ]; platforms = lib.platforms.linux; mainProgram = "tuigreet"; }; diff --git a/pkgs/by-name/wa/wayvr/package.nix b/pkgs/by-name/wa/wayvr/package.nix index dab03ad22a39..062ca59a90ee 100644 --- a/pkgs/by-name/wa/wayvr/package.nix +++ b/pkgs/by-name/wa/wayvr/package.nix @@ -1,13 +1,17 @@ { alsa-lib, + autoPatchelfHook, dav1d, dbus, fetchFromGitHub, lib, + libinput, libx11, + libxcursor, libxext, libxrandr, libxcb, + libxi, libxkbcommon, nix-update-script, openssl, @@ -17,35 +21,48 @@ pkg-config, procps, pulseaudio, + replaceVars, rustPlatform, shaderc, stdenv, testers, + vulkan-loader, + wayland, wayvr, + xwayland-satellite, withOpenVR ? !stdenv.hostPlatform.isAarch64, }: rustPlatform.buildRustPackage (finalAttrs: { pname = "wayvr"; - version = "26.7.1"; + version = "26.8.0"; src = fetchFromGitHub { owner = "wlx-team"; repo = "wayvr"; tag = "v${finalAttrs.version}"; - hash = "sha256-SdHN3jDe2QJaRORy452RP7kTMxPOZOB/yjpApUOLhRU="; + hash = "sha256-0llU19bFJJ4yJvA6eGzOzyW8TnnurTS9js3/r+UAVCQ="; }; - cargoHash = "sha256-eGmlFtlorKG7uygLer3UW6ERLQzdugoYyXVSC2sFh+k="; + patches = [ + (replaceVars ./use-system-xwayland-satellite.patch { + xwayland-satellite = lib.getExe xwayland-satellite; + }) + ]; + + cargoHash = "sha256-yUHLtB3/cBEWVAN1vuGLLlLFqJ25ucIy6qqInTGaOvA="; nativeBuildInputs = [ pkg-config rustPlatform.bindgenHook + autoPatchelfHook ]; buildInputs = [ alsa-lib dav1d dbus + libinput + # X dependencies are dlopen'd at runtime by uidev libx11 libxext libxrandr @@ -54,6 +71,12 @@ rustPlatform.buildRustPackage (finalAttrs: { openssl openxr-loader pipewire + + # only dlopen'd at runtime by uidev + libxcursor + libxi + wayland + vulkan-loader ] ++ lib.optionals withOpenVR [ openvr ]; @@ -84,6 +107,20 @@ rustPlatform.buildRustPackage (finalAttrs: { rm $out/bin/prost_build ''; + preFixup = '' + patchelf \ + --add-needed libwayland-client.so.0 \ + --add-needed libwayland-cursor.so.0 \ + --add-needed libwayland-egl.so.1 \ + --add-needed libX11.so.6 \ + --add-needed libxcb.so.1 \ + --add-needed libXcursor.so.1 \ + --add-needed libXi.so.6 \ + --add-needed libvulkan.so.1 \ + --add-needed libxkbcommon.so.0 \ + $out/bin/uidev + ''; + passthru = { tests.testVersion = testers.testVersion { package = wayvr; }; @@ -97,7 +134,10 @@ rustPlatform.buildRustPackage (finalAttrs: { gpl3Only mit # wayvr-ipc ]; - maintainers = with lib.maintainers; [ Scrumplex ]; + maintainers = with lib.maintainers; [ + Scrumplex + ImSapphire + ]; platforms = lib.platforms.linux; broken = stdenv.hostPlatform.isAarch64 && withOpenVR; mainProgram = "wayvr"; diff --git a/pkgs/by-name/wa/wayvr/use-system-xwayland-satellite.patch b/pkgs/by-name/wa/wayvr/use-system-xwayland-satellite.patch new file mode 100644 index 000000000000..3f539add55e1 --- /dev/null +++ b/pkgs/by-name/wa/wayvr/use-system-xwayland-satellite.patch @@ -0,0 +1,25 @@ +diff --git a/wayvr/src/backend/wayvr/client.rs b/wayvr/src/backend/wayvr/client.rs +index 734e8b68..17058705 100644 +--- a/wayvr/src/backend/wayvr/client.rs ++++ b/wayvr/src/backend/wayvr/client.rs +@@ -98,7 +98,7 @@ impl WayVRCompositor { + ) -> anyhow::Result { + let (wayland_env, listener) = create_wayland_listener()?; + +- let xwayland_satellite = Command::new(bundled_executable("xwayland-satellite")) ++ let xwayland_satellite = Command::new("@xwayland-satellite@") + .arg(wayland_env.display_num_string()) + .env("WAYLAND_DISPLAY", wayland_env.wayland_display_num_string()) + .spawn() +@@ -468,11 +468,3 @@ fn accumulate_discrete_scroll(acc: &mut f32, delta_v120: i32) -> i32 { + + steps + } +- +-/// Runs executable from APPDIR, falling back to PATH +-fn bundled_executable(name: impl AsRef) -> PathBuf { +- match std::env::var_os("APPDIR") { +- Some(appdir) => PathBuf::from(appdir).join("usr").join("bin").join(name), +- None => PathBuf::from(name.as_ref()), +- } +-} diff --git a/pkgs/by-name/zi/zipperposition/package.nix b/pkgs/by-name/zi/zipperposition/package.nix index 7096bead775e..7d34ff216122 100644 --- a/pkgs/by-name/zi/zipperposition/package.nix +++ b/pkgs/by-name/zi/zipperposition/package.nix @@ -29,17 +29,12 @@ ocamlPackages.buildDunePackage { oseq ]; - buildPhase = '' - runHook preBuild - dune build -p logtk,libzipperposition,zipperposition,zipperposition-tools ''${enableParallelBuilding:+-j $NIX_BUILD_CORES} - runHook postBuild - ''; - - installPhase = '' - runHook preInstall - dune install --prefix $out --libdir $OCAMLFIND_DESTDIR logtk libzipperposition zipperposition zipperposition-tools - runHook postInstall - ''; + dunePackages = [ + "logtk" + "libzipperposition" + "zipperposition" + "zipperposition-tools" + ]; doCheck = true; @@ -49,12 +44,6 @@ ocamlPackages.buildDunePackage { qcheck-alcotest ]; - checkPhase = '' - runHook preCheck - dune runtest -p logtk,libzipperposition,zipperposition,zipperposition-tools ''${enableParallelBuilding:+-j $NIX_BUILD_CORES} - runHook postCheck - ''; - meta = { description = "Superposition prover for full first order logic"; homepage = "https://github.com/sneeuwballen/zipperposition"; diff --git a/pkgs/development/compilers/temurin-bin/jdk-linux-base.nix b/pkgs/development/compilers/temurin-bin/jdk-linux-base.nix index 8fe6a9f59b3a..42cc9add8331 100644 --- a/pkgs/development/compilers/temurin-bin/jdk-linux-base.nix +++ b/pkgs/development/compilers/temurin-bin/jdk-linux-base.nix @@ -56,7 +56,7 @@ let else "${name-prefix}-${sourcePerArch.packageType}-bin"; - version = sourcePerArch.${cpuName}.version or (throw "unsupported CPU ${cpuName}"); + version = sourcePerArch.${cpuName}.version or "unsupported"; src = fetchurl { inherit (sourcePerArch.${cpuName}) url sha256; diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix index 91eff80b0b17..b7fc47c572f9 100644 --- a/pkgs/development/libraries/ffmpeg/generic.nix +++ b/pkgs/development/libraries/ffmpeg/generic.nix @@ -453,6 +453,15 @@ stdenv.mkDerivation ( ++ optionals (lib.versionAtLeast version "5.1") [ ./nvccflags-cpp14.patch ] + ++ optionals (lib.versionAtLeast version "8.1.2" && stdenv.hostPlatform.isLoongArch64) [ + # https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/23825 (merged, but not backported to 8.1.x or 9.0.x) + # As git.ffmpeg.org deploys Anubis, we cannot fetch this patch reliably from there. + # So instead, we fetch it from Debian. + (fetchpatch2 { + url = "https://salsa.debian.org/multimedia-team/ffmpeg/-/raw/d52aea25bc9123bfaf61f7a7e5a0d9da01c8788d/debian/patches/0001-swscale-loongarch-fix-buffer-underflow-in-yuv2plane1.patch"; + hash = "sha256-QRkb7z4Btyd9ZgV/1hh6Fb87IhkygFgVDqQdloXKL6Q="; + }) + ] ++ optionals (lib.versionAtLeast version "7.0" && lib.versionOlder version "7.1.4") [ (fetchpatch2 { name = "unbreak-hardcoded-tables.patch"; diff --git a/pkgs/development/python-modules/skia-pathops/default.nix b/pkgs/development/python-modules/skia-pathops/default.nix index 275f8814a9cb..01c5ce9cdc5b 100644 --- a/pkgs/development/python-modules/skia-pathops/default.nix +++ b/pkgs/development/python-modules/skia-pathops/default.nix @@ -72,7 +72,7 @@ buildPythonPackage rec { description = "Python access to operations on paths using the Skia library"; homepage = "https://github.com/fonttools/skia-pathops"; license = lib.licenses.bsd3; - maintainers = [ ]; + maintainers = [ lib.maintainers.wegank ]; # "The Skia team is not endian-savvy enough to support big-endian CPUs." badPlatforms = lib.platforms.bigEndian; # ERROR at //gn/BUILDCONFIG.gn:87:14: Script returned non-zero exit code. diff --git a/pkgs/servers/http/nginx/mainline.nix b/pkgs/servers/http/nginx/mainline.nix index 6ebaf7704ae6..97033bf0b185 100644 --- a/pkgs/servers/http/nginx/mainline.nix +++ b/pkgs/servers/http/nginx/mainline.nix @@ -1,6 +1,6 @@ { callPackage, ... }@args: callPackage ./generic.nix args { - version = "1.31.3"; - hash = "sha256-p2V8UIEcLZLZiVOV6Lhz72A5gULE2yHrZHgRw49t1SU="; + version = "1.31.4"; + hash = "sha256-5vILZEoXpkPwWa5kZ6GXH+KBFYfQJeBxBodTofHjs8M="; } diff --git a/pkgs/servers/web-apps/discourse/default.nix b/pkgs/servers/web-apps/discourse/default.nix index 3125d926840d..d9102d56d003 100644 --- a/pkgs/servers/web-apps/discourse/default.nix +++ b/pkgs/servers/web-apps/discourse/default.nix @@ -11,7 +11,8 @@ nixosTests, defaultGemConfig, - ruby_3_3, + ruby_3_4, + fetchzip, gzip, gnutar, git, @@ -53,18 +54,18 @@ }: let - version = "2026.1.4"; + version = "2026.7.1"; src = fetchFromGitHub { owner = "discourse"; repo = "discourse"; rev = "v${version}"; - sha256 = "sha256-kQYDKZIMsWByuCZQfUlwhoIew5QykVylRMh6xvrHIBY="; + sha256 = "sha256-sGygaOCygtDVjg8uBGdDVaRouUKib8aAukaBAY8aQ9w="; }; pnpm = pnpm_10; - ruby = ruby_3_3; + ruby = ruby_3_4; runtimeDeps = [ # For backups, themes and assets @@ -176,129 +177,171 @@ let --chdir '${discourse}/share/discourse' ''; - rubyEnv = bundlerEnv { - name = "discourse-ruby-env-${version}"; - inherit version ruby; - gemdir = ./rubyEnv; - gemset = import ./rubyEnv/gemset.nix; - gemConfig = defaultGemConfig // { - mini_racer = attrs: { - buildInputs = [ icu78 ]; - dontBuild = false; - NIX_LDFLAGS = "-licui18n"; + rubyEnv = + let + # these hashes are auto-updated by update.py + dart-x64-hash = "sha256-2rnqNeEr8PFMuFa4IhutxxXui1dCw3XQVqCV5ZwsUR8="; + dart-arm64-hash = "sha256-8sgc9IaeWSRnURFtMuSOqnKACkDc5WynmLIboYWwoSM="; + in + bundlerEnv rec { + name = "discourse-ruby-env-${version}"; + inherit version ruby; + gemdir = ./rubyEnv; + gemset = import (gemdir + "/gemset.nix") src; + passthru = { + # these MUST be passthru'd for update.py to function correctly (to update dart-dart-x64-hash and dart-arm64-hash) + inherit dart-x64-hash dart-arm64-hash gemset; }; - libv8-node = - attrs: - let - noopScript = writeShellScript "noop" "exit 0"; - linkFiles = writeShellScript "link-files" '' - cd ../.. - - mkdir -p vendor/v8/${stdenv.hostPlatform.system}/libv8/obj/ - ln -s "${nodejs-slim_22.libv8}/lib/libv8.a" vendor/v8/${stdenv.hostPlatform.system}/libv8/obj/libv8_monolith.a - - ln -s ${nodejs-slim_22.libv8}/include vendor/v8/include - - mkdir -p ext/libv8-node - echo '--- !ruby/object:Libv8::Node::Location::Vendor {}' >ext/libv8-node/.location.yml - ''; - in - { + gemConfig = defaultGemConfig // { + mini_racer = attrs: { + buildInputs = [ icu78 ]; dontBuild = false; + NIX_LDFLAGS = "-licui18n"; + }; + libv8-node = + attrs: + let + noopScript = writeShellScript "noop" "exit 0"; + linkFiles = writeShellScript "link-files" '' + cd ../.. + + mkdir -p vendor/v8/${stdenv.hostPlatform.system}/libv8/obj/ + ln -s "${nodejs-slim_22.libv8}/lib/libv8.a" vendor/v8/${stdenv.hostPlatform.system}/libv8/obj/libv8_monolith.a + + ln -s ${nodejs-slim_22.libv8}/include vendor/v8/include + + mkdir -p ext/libv8-node + echo '--- !ruby/object:Libv8::Node::Location::Vendor {}' >ext/libv8-node/.location.yml + ''; + in + { + dontBuild = false; + postPatch = '' + cp ${noopScript} libexec/build-libv8 + cp ${noopScript} libexec/build-monolith + cp ${noopScript} libexec/download-node + cp ${noopScript} libexec/extract-node + cp ${linkFiles} libexec/inject-libv8 + ''; + }; + mini_suffix = attrs: { + propagatedBuildInputs = [ libpsl ]; + dontBuild = false; + # Use our libpsl instead of the vendored one, which isn't + # available for aarch64. It has to be called + # libpsl.x86_64.so or it isn't found. postPatch = '' - cp ${noopScript} libexec/build-libv8 - cp ${noopScript} libexec/build-monolith - cp ${noopScript} libexec/download-node - cp ${noopScript} libexec/extract-node - cp ${linkFiles} libexec/inject-libv8 + cp $(readlink -f ${lib.getLib libpsl}/lib/libpsl.so) vendor/libpsl.x86_64.so ''; }; - mini_suffix = attrs: { - propagatedBuildInputs = [ libpsl ]; - dontBuild = false; - # Use our libpsl instead of the vendored one, which isn't - # available for aarch64. It has to be called - # libpsl.x86_64.so or it isn't found. - postPatch = '' - cp $(readlink -f ${lib.getLib libpsl}/lib/libpsl.so) vendor/libpsl.x86_64.so - ''; - }; - tokenizers = attrs: { - cargoDeps = rustPlatform.fetchCargoVendor { - inherit (buildRubyGem { inherit (attrs) gemName version source; }) - name - src - unpackPhase - nativeBuildInputs - ; - hash = "sha256-Yxcerq4Wil1nrEzHoEmsTAj4VnUmrwRlA3WO2b72yOc="; + tokenizers = attrs: { + cargoDeps = rustPlatform.fetchCargoVendor { + inherit (buildRubyGem { inherit (attrs) gemName version source; }) + name + src + unpackPhase + nativeBuildInputs + ; + hash = "sha256-BWOnHSgEkhK1yYcQIYMbGz8HyATuQ8tFk8QzoNiuML8="; + }; + + dontBuild = false; + + nativeBuildInputs = [ + cargo + rustc + rustPlatform.cargoSetupHook + rustPlatform.bindgenHook + ]; + + disallowedReferences = [ + rustc.unwrapped + ]; + + preInstall = '' + export CARGO_HOME="$PWD/../.cargo/" + ''; + + postInstall = '' + find $out -type f -name .rustc_info.json -delete + ''; }; + tiktoken_ruby = attrs: { + cargoDeps = rustPlatform.fetchCargoVendor { + inherit (buildRubyGem { inherit (attrs) gemName version source; }) + name + src + unpackPhase + nativeBuildInputs + ; + hash = "sha256-OIkSavAjja1atbeyPAKFXsXoYI3nUk9c5G3RFBj53Uk="; + }; - dontBuild = false; + dontBuild = false; - nativeBuildInputs = [ - cargo - rustc - rustPlatform.cargoSetupHook - rustPlatform.bindgenHook - ]; + nativeBuildInputs = [ + cargo + rustc + rustPlatform.cargoSetupHook + rustPlatform.bindgenHook + ]; - disallowedReferences = [ - rustc.unwrapped - ]; + disallowedReferences = [ + rustc.unwrapped + ]; - preInstall = '' - export CARGO_HOME="$PWD/../.cargo/" - ''; + preInstall = '' + export CARGO_HOME="$PWD/../.cargo/" + ''; - postInstall = '' - find $out -type f -name .rustc_info.json -delete - ''; - }; - tiktoken_ruby = attrs: { - cargoDeps = rustPlatform.fetchCargoVendor { - inherit (buildRubyGem { inherit (attrs) gemName version source; }) - name - src - unpackPhase - nativeBuildInputs - ; - hash = "sha256-zyGK+XJpMls6w0Uydegqsj4TH4IrVxANm0qmpR7+95I="; + postInstall = '' + #ls $GEM_HOME/gems/${attrs.gemName}-${attrs.version}/lib + #mv -v $GEM_HOME/gems/${attrs.gemName}-${attrs.version}/lib/{glfm_markdown/glfm_markdown.so,} + find $out -type f -name .rustc_info.json -delete + ''; + }; + sass-embedded = attrs: { + # pre-download dart sass with the version matching sass-embedded. this is the same behavior as sass-embedded does internally + # but packages don't get internet access during build so it can't do it itself + env = + let + system-code = + if stdenv.system == "x86_64-linux" then + "linux-x64" + else if stdenv.system == "aarch64-linux" then + "linux-arm64" + else + "unsupported-system-triple-download-will-fail"; + hash = + if stdenv.system == "x86_64-linux" then + dart-x64-hash + else if stdenv.system == "aarch64-linux" then + dart-arm64-hash + else + "unsupported-system"; + in + attrs.env or { } + // { + DART_SASS_VENDORED = fetchzip { + inherit hash; + url = "https://github.com/sass/dart-sass/releases/download/${attrs.version}/dart-sass-${attrs.version}-${system-code}.tar.gz"; + }; + }; + dontBuild = false; + patches = [ + ./sass_embedded_vendored_dart_sass.patch + ]; }; - - dontBuild = false; - - nativeBuildInputs = [ - cargo - rustc - rustPlatform.cargoSetupHook - rustPlatform.bindgenHook - ]; - - disallowedReferences = [ - rustc.unwrapped - ]; - - preInstall = '' - export CARGO_HOME="$PWD/../.cargo/" - ''; - - postInstall = '' - #ls $GEM_HOME/gems/${attrs.gemName}-${attrs.version}/lib - #mv -v $GEM_HOME/gems/${attrs.gemName}-${attrs.version}/lib/{glfm_markdown/glfm_markdown.so,} - find $out -type f -name .rustc_info.json -delete - ''; }; + + groups = [ + "default" + "assets" + "development" + "test" + ]; }; - groups = [ - "default" - "assets" - "development" - "test" - ]; - }; - assets = stdenv.mkDerivation { pname = "discourse-assets"; inherit version src; @@ -307,7 +350,7 @@ let pname = "discourse-assets"; inherit version src pnpm; fetcherVersion = 3; - hash = "sha256-xft/2x0iti0yJ53uI9q2+FSvKgWWfKQzlMlPFz3RZsE="; + hash = "sha256-T0qcUYHqpjeGlyozcaiVI/Art0zh2PLyuMzbquhfe/o="; }; nativeBuildInputs = runtimeDeps ++ [ @@ -345,10 +388,16 @@ let # assets precompilation task. ./assets_rake_command.patch - # Little does he know, so he decided there is no need to generate the - # theme-transpiler over and over again. Which at the same time allows the removal - # of javascript devDependencies from the runtime environment. + # Because the required dependencies to execute the build at runtime don't exist, and + # because we fail to copy tmp/ (the default directory where the asset processor is cached, + # see notes in the discourse `installPhase`) we need to change the directory to something under + # frontend/ which is moved over as expected. ./prebuild-asset-processor.patch + + # safe_exec.rb, which is used to execute ImageMagick among other things, restricts executable paths to standard FHS paths + # which breaks on nix. this patch adds the entire /nix/store to allowed paths, which is sub-optimal but + # still provides some benifits over disabling entirely. + ./safe-exec-from-nix-store.patch ]; env.RAILS_ENV = "production"; @@ -398,6 +447,7 @@ let runHook preBuild patchShebangs script/ + patchShebangs bin/ bundle exec rake assets:precompile runHook postBuild @@ -441,10 +491,6 @@ let # Add the path to the CA cert bundle to make TLS work ./action_mailer_ca_cert.patch - # Log Unicorn messages to the journal and make request timeout - # configurable - ./unicorn_logging_and_timeout.patch - # Use the Ruby API version in the plugin gem path, to match the # one constructed by bundlerEnv ./plugin_gem_api_version.patch @@ -457,11 +503,17 @@ let # Make sure the notification email setting applies ./notification_email.patch - # Little does he know, so he decided there is no need to generate the - # theme-transpiler over and over again. Which at the same time allows the removal - # of javascript devDependencies from the runtime environment. + # Because the required dependencies to execute the build at runtime don't exist, and + # because we fail to copy tmp/ (the default directory where the asset processor is cached, + # see notes in the discourse `installPhase`) we need to change the directory to something under + # frontend/ which is moved over as expected. ./prebuild-asset-processor.patch + # safe_exec.rb, which is used to execute ImageMagick among other things, restricts executable paths to standard FHS paths + # which breaks on nix. this patch adds the entire /nix/store to allowed paths, which is sub-optimal but + # still provides some benifits over disabling entirely. + ./safe-exec-from-nix-store.patch + # Our app/assets/generated folder is a symlink, but the ruby File.mkdir_p doesn't allow # a symlink in the way to the last directory. This patch explicitly resolves the symlink. ./resolve_generated_assets_symlink.patch @@ -494,6 +546,9 @@ let cp -r . $out/share/discourse rm -r $out/share/discourse/log ln -sf /var/log/discourse $out/share/discourse/log + # we don't copy `tmp` from ${assets}, which means that any pre-cached content will be re-generated later + # however, we also can't copy `tmp` because then it would not be writeable by discourse, which it must be + # and we can't write to /var/lib/discourse/tmp, because you can't do that in a build. this sucks. ln -sf /var/lib/discourse/tmp $out/share/discourse/tmp ln -sf /run/discourse/config $out/share/discourse/config ln -sf /run/discourse/public $out/share/discourse/public diff --git a/pkgs/servers/web-apps/discourse/notification_email.patch b/pkgs/servers/web-apps/discourse/notification_email.patch index 9a64b1c1f9ea..7c6369e120ad 100644 --- a/pkgs/servers/web-apps/discourse/notification_email.patch +++ b/pkgs/servers/web-apps/discourse/notification_email.patch @@ -1,11 +1,10 @@ diff --git a/db/fixtures/990_settings.rb b/db/fixtures/990_settings.rb -deleted file mode 100644 -index 6f21e58813..0000000000 +index c64d9fbc205..d8cf8d88010 100644 --- a/db/fixtures/990_settings.rb -+++ /dev/null -@@ -1,12 +0,0 @@ --# frozen_string_literal: true -- ++++ b/db/fixtures/990_settings.rb +@@ -1,14 +1,3 @@ + # frozen_string_literal: true + -if SiteSetting.notification_email == SiteSetting.defaults[:notification_email] - # don't crash for invalid hostname, which is possible in dev - begin @@ -16,3 +15,5 @@ index 6f21e58813..0000000000 - end - end -end +- + SiteSetting.api_key_last_used_epoch = Time.now if SiteSetting.api_key_last_used_epoch.blank? diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-bbcode-color/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-bbcode-color/default.nix index 78744b8933f2..b7025a045d42 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-bbcode-color/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-bbcode-color/default.nix @@ -9,8 +9,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-bbcode-color"; - rev = "8c621d07a7a60b94d717fd435b0f137e89db99cd"; - sha256 = "sha256-+LqlJpg9s2GbZE136FUDIRn9C10a7IYPPu1crkMqMSA="; + rev = "b68e1c3bfbfe2468f70af47045276e4463568fe3"; + sha256 = "sha256-AM3AMZFaTTf9Q6ulr9qoTZafykPFBTkXvtkmU+TAPew="; }; meta = { homepage = "https://github.com/discourse/discourse-bbcode-color"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix index 23bedcf7d3df..da083a671aab 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix @@ -9,8 +9,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-docs"; - rev = "742515b059c27803a7b813ae420b65ceba1e8798"; - sha256 = "sha256-AG4WYskmEdW68n2XX4t139I3rlc0PNAL8cTehVvEgAs="; + rev = "0796384551e3f9d328c57e88577098be05d816c7"; + sha256 = "sha256-lZ8BlFaQcd9H+bom2igbJl4Ty7qmqtpbOpGbqIF8nEo="; }; meta = { homepage = "https://github.com/discourse/discourse-docs"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-events/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-events/default.nix index a0a59a6495f7..d356d6b3f2ca 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-events/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-events/default.nix @@ -10,8 +10,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "angusmcleod"; repo = "discourse-events"; - rev = "3004435beb0913296dbaf8e5b3cd65be7b84df56"; - sha256 = "sha256-TQ+mcd2IAswxqY6OJfXk+d770WBNBZ73bB2aAfxYSDs="; + rev = "5e22962b7346dbcdb579e7c3abb13c5c965c3c42"; + sha256 = "sha256-IZ7xJaPb44CZOtg4xA4crCe4//oZO3pjkgvXOM1lihE="; }; meta = { homepage = "https://github.com/angusmcleod/discourse-events"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-ldap-auth/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-ldap-auth/default.nix index d018474b9609..e730800ec70f 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-ldap-auth/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-ldap-auth/default.nix @@ -11,8 +11,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "jonmbake"; repo = "discourse-ldap-auth"; - rev = "0f5749ca6443d63999f78ed8eac49dead1b322bc"; - sha256 = "sha256-QquREAexMJjza+TtDveqJ3/sgjPCziv2oje4fKL6uz4="; + rev = "9776c1d021696e5bfdb8857093b8434063bc6ae1"; + sha256 = "sha256-ZXYuplYF1xjxqcKT7+u/zkjh0fCmIgQ+cWBhs7NFm14="; }; meta = { homepage = "https://github.com/jonmbake/discourse-ldap-auth"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix index d4a4f2e2e263..aa9437d33559 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix @@ -10,8 +10,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-prometheus"; - rev = "14d2328911c3b7ed5b38c4713c52cd835793be5a"; - sha256 = "sha256-GpNh+7091Lj0JW+RB9EOgxFNOCkFVvpPd0vbbpFcvcE="; + rev = "ce51879d2c487cf74ca08d6d83d6ccb41cb28738"; + sha256 = "sha256-OhzWC8dgfwhre1HF5sjqXAeIJd3wuknzb12RMCz3+4Y="; }; patches = [ diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix index f40aea26be30..64d955f6e317 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix @@ -9,8 +9,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-saved-searches"; - rev = "d13a708d33fc24bb6cc111e8d84fb896caf81ef4"; - sha256 = "sha256-3hnmtHR1k1bZKH3ezauQPr7pfbQYRTbGV8a39w6m6F8="; + rev = "a930ddee76321bb929989a2edbabb799199f1445"; + sha256 = "sha256-etcN88cIgaVvVAtE+z3zNacpNpwCp+cn2lE1DzeICyk="; }; meta = { homepage = "https://github.com/discourse/discourse-saved-searches"; diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix index 6e023a571438..132422792950 100644 --- a/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix +++ b/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix @@ -9,8 +9,8 @@ mkDiscoursePlugin { src = fetchFromGitHub { owner = "discourse"; repo = "discourse-yearly-review"; - rev = "7e7df7878212ad976031cbbc17a0dd4ca1d55def"; - sha256 = "sha256-+6CmXgXEyQb6CNSqaVqbfXQCc+XJQGDQnw9vgAlse0g="; + rev = "97720c573f04ce32544ef1e9353b12005de0bdec"; + sha256 = "sha256-ZhkrPYFjhtNoh6jQhqPTMZJqHMyZo3tdbtSl3MuOJz0="; }; meta = { homepage = "https://github.com/discourse/discourse-yearly-review"; diff --git a/pkgs/servers/web-apps/discourse/prebuild-asset-processor.patch b/pkgs/servers/web-apps/discourse/prebuild-asset-processor.patch index cc3cabcf241c..774907ceaad2 100644 --- a/pkgs/servers/web-apps/discourse/prebuild-asset-processor.patch +++ b/pkgs/servers/web-apps/discourse/prebuild-asset-processor.patch @@ -1,23 +1,13 @@ diff --git a/lib/asset_processor.rb b/lib/asset_processor.rb -index 06e8cadbb4..b3368d4912 100644 +index bacb376c856..11d7d7edd32 100644 --- a/lib/asset_processor.rb +++ b/lib/asset_processor.rb -@@ -1,7 +1,7 @@ - # frozen_string_literal: true - +@@ -3,7 +3,7 @@ class AssetProcessor -- PROCESSOR_PATH = "tmp/asset-processor.js" -+ PROCESSOR_PATH = "frontend/asset-processor.js" - - @mutex = Mutex.new - @ctx_init = Mutex.new -@@ -28,7 +28,9 @@ class AssetProcessor - end - - def self.build_production_asset_processor -- File.write(PROCESSOR_PATH, build_asset_processor) -+ if (!Rails.env.production? or !File.file?(PROCESSOR_PATH)) -+ File.write(PROCESSOR_PATH, build_asset_processor) -+ end - PROCESSOR_PATH - end + BASE_COMPILER_VERSION = 113 + +- PROCESSOR_DIR = "tmp/asset-processor" ++ PROCESSOR_DIR = "frontend/asset-processor.build" + LOCK_FILE = "#{PROCESSOR_DIR}/build.lock" + + CACHE_DEPENDENCY_GLOBS = %w[ diff --git a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile index 18ecc0c61e5e..0cb16063f2c9 100644 --- a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile +++ b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile @@ -1,6 +1,6 @@ # frozen_string_literal: true -ruby "~> 3.3" +ruby "~> 3.4" source "https://rubygems.org" # if there is a super emergency and rubygems is playing up, try @@ -20,7 +20,7 @@ gem "propshaft" gem "json" # this will eventually be added to rails, -# allows us to precompile all our templates in the unicorn master +# allows us to precompile all our templates in the app server master gem "actionview_precompiler", require: false gem "discourse-seed-fu" @@ -63,7 +63,9 @@ gem "fastimage" gem "aws-sdk-s3", require: false gem "aws-sdk-sns", require: false +gem "aws-sdk-sts", require: false gem "aws-sdk-mediaconvert", require: false +gem "aws-sdk-bedrockruntime", require: false gem "excon" gem "unf", require: false @@ -72,6 +74,7 @@ gem "email_reply_trimmer" gem "image_optim" gem "multi_json" gem "mustache" +gem "liquid", "5.12.0" gem "nokogiri" gem "loofah" gem "css_parser", require: false @@ -97,14 +100,14 @@ gem "rake" gem "thor", require: false gem "diffy", require: false gem "rinku" -gem "sidekiq" +gem "sidekiq", ">= 7.3.10" # ensuring it won't get downgraded to accomodate a connection_pool upgrade gem "mini_scheduler" gem "mini_racer" gem "highline", require: false -# When unicorn is not used anymore, we can use Rack 3 +# TODO: upgrade to Rack 3 now that Unicorn has been removed gem "rack", "< 3" gem "rack-protection" # security @@ -127,6 +130,7 @@ group :test do gem "rails-dom-testing", require: false gem "minio_runner", require: false gem "capybara-playwright-driver" + gem "puma", require: false end group :test, :development do @@ -142,7 +146,6 @@ group :test, :development do gem "shoulda-matchers", require: false gem "rspec-html-matchers" - gem "pry-stack_explorer", require: false gem "debug", ">= 1.0.0", require: "debug/prelude" gem "rubocop-discourse", require: false gem "parallel_tests" @@ -160,7 +163,6 @@ group :development do gem "ruby-prof", require: false, platform: :mri gem "bullet", require: !!ENV["BULLET"] gem "better_errors", platform: :mri, require: !!ENV["BETTER_ERRORS"] - gem "binding_of_caller" gem "yaml-lint" gem "yard" gem "ruby-lsp", require: false @@ -194,10 +196,12 @@ gem "htmlentities", require: false gem "rack-mini-profiler", require: ["enable_rails_patches"] -gem "unicorn", require: false, platform: :ruby -gem "puma", require: false gem "pitchfork", require: false +# Used by discourse-prometheus to collect socket queue stats. +# Was previously a transitive dependency of the unicorn gem. +gem "raindrops", require: false, platform: :ruby + gem "rbtrace", require: false, platform: :mri # required for feed importing and embedding @@ -224,6 +228,8 @@ gem "rqrcode" gem "rubyzip", require: false +gem "landlock", require: false + gem "sshkey", require: false gem "rchardet", require: false @@ -272,19 +278,10 @@ gem "iso8601" gem "rrule" group :migrations, optional: true do - gem "extralite-bundle", require: "extralite" - - # auto-loading - gem "zeitwerk" - - # databases - gem "trilogy" - - # CLI - gem "ruby-progressbar" - - # non-cryptographic hashing algorithm for generating placeholder IDs - gem "digest-xxhash" + gem "migrations-core", path: "migrations/core" + gem "migrations-tooling", path: "migrations/tooling" + gem "migrations-converters", path: "migrations/converters" + gem "migrations-importer", path: "migrations/importer" end gem "dry-initializer", "~> 3.1" @@ -301,13 +298,15 @@ gem "zendesk_api", require: false # for discourse-subscriptions gem "stripe", require: false -# for discourse-github +# for discourse-code-review gem "sawyer", require: false gem "octokit", require: false # for discourse-ai gem "tokenizers", require: false gem "tiktoken_ruby", require: false +gem "smarter_json", require: false +gem "json_completer", require: false gem "discourse_ai-tokenizers", require: false gem "ed25519" # TODO: remove this as existing ssl gem should handle this gem "Ascii85", require: false diff --git a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock index 2183789763f8..d2cdb9f438e7 100644 --- a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock +++ b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock @@ -1,17 +1,68 @@ +PATH + remote: migrations/converters + specs: + migrations-converters (0.0.1) + activesupport + colored2 + i18n + markbridge (>= 0.3.1) + migrations-core + pg + zeitwerk + +PATH + remote: migrations/core + specs: + migrations-core (0.0.1) + activesupport + colored2 + concurrent-ruby + digest-xxhash + extralite-bundle + i18n + json + lru_redux + samovar + unicode-display_width + zeitwerk + +PATH + remote: migrations/importer + specs: + migrations-importer (0.0.1) + activerecord + activesupport + colored2 + i18n + migrations-core + pg + zeitwerk + +PATH + remote: migrations/tooling + specs: + migrations-tooling (0.0.1) + activerecord + activesupport + colored2 + i18n + migrations-core + zeitwerk + GEM remote: https://rubygems.org/ specs: Ascii85 (2.0.1) - actionmailer (8.0.4) - actionpack (= 8.0.4) - actionview (= 8.0.4) - activejob (= 8.0.4) - activesupport (= 8.0.4) + actionmailer (8.0.5) + actionpack (= 8.0.5) + actionview (= 8.0.5) + activejob (= 8.0.5) + activesupport (= 8.0.5) mail (>= 2.8.0) rails-dom-testing (~> 2.2) - actionpack (8.0.4) - actionview (= 8.0.4) - activesupport (= 8.0.4) + actionpack (8.0.5) + actionview (= 8.0.5) + activesupport (= 8.0.5) nokogiri (>= 1.8.5) rack (>= 2.2.4) rack-session (>= 1.0.1) @@ -19,8 +70,8 @@ GEM rails-dom-testing (~> 2.2) rails-html-sanitizer (~> 1.6) useragent (~> 0.16) - actionview (8.0.4) - activesupport (= 8.0.4) + actionview (8.0.5) + activesupport (= 8.0.5) builder (~> 3.1) erubi (~> 1.11) rails-dom-testing (~> 2.2) @@ -29,16 +80,16 @@ GEM actionview (>= 6.0.a) active_model_serializers (0.8.4) activemodel (>= 3.0) - activejob (8.0.4) - activesupport (= 8.0.4) + activejob (8.0.5) + activesupport (= 8.0.5) globalid (>= 0.3.6) - activemodel (8.0.4) - activesupport (= 8.0.4) - activerecord (8.0.4) - activemodel (= 8.0.4) - activesupport (= 8.0.4) + activemodel (8.0.5) + activesupport (= 8.0.5) + activerecord (8.0.5) + activemodel (= 8.0.5) + activesupport (= 8.0.5) timeout (>= 0.4.0) - activesupport (8.0.4) + activesupport (8.0.5) base64 benchmark (>= 0.3) bigdecimal @@ -51,20 +102,26 @@ GEM securerandom (>= 0.3) tzinfo (~> 2.0, >= 2.0.5) uri (>= 0.13.1) - addressable (2.8.8) + addressable (2.9.0) public_suffix (>= 2.0.2, < 8.0) afm (1.0.0) annotaterb (4.20.0) activerecord (>= 6.0.0) activesupport (>= 6.0.0) ast (2.4.3) + auth-sanitizer (0.1.4) + version_gem (~> 1.1, >= 1.1.9) aws-eventstream (1.4.0) aws-partitions (1.1134.0) - aws-sdk-core (3.227.0) + aws-sdk-bedrockruntime (1.74.0) + aws-sdk-core (~> 3, >= 3.244.0) + aws-sigv4 (~> 1.5) + aws-sdk-core (3.254.0) aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.992.0) aws-sigv4 (~> 1.9) base64 + bigdecimal jmespath (~> 1, >= 1.6.1) logger aws-sdk-kms (1.99.0) @@ -73,13 +130,16 @@ GEM aws-sdk-mediaconvert (1.165.0) aws-sdk-core (~> 3, >= 3.227.0) aws-sigv4 (~> 1.5) - aws-sdk-s3 (1.182.0) - aws-sdk-core (~> 3, >= 3.216.0) + aws-sdk-s3 (1.227.0) + aws-sdk-core (~> 3, >= 3.254.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.5) aws-sdk-sns (1.96.0) aws-sdk-core (~> 3, >= 3.216.0) aws-sigv4 (~> 1.5) + aws-sdk-sts (1.12.0) + aws-sdk-core (~> 3, >= 3.110.0) + aws-sigv4 (~> 1.1) aws-sigv4 (1.12.1) aws-eventstream (~> 1, >= 1.0.2) base64 (0.3.0) @@ -89,12 +149,10 @@ GEM rack (>= 0.9.0) rouge (>= 1.0.0) bigdecimal (3.3.1) - binding_of_caller (1.0.1) - debug_inspector (>= 1.2.0) - bootsnap (1.19.0) + bootsnap (1.24.5) msgpack (~> 1.2) builder (3.3.0) - bullet (8.1.0) + bullet (8.1.3) activesupport (>= 3.0.0) uniform_notifier (~> 1.11) capybara (3.40.0) @@ -106,18 +164,22 @@ GEM rack-test (>= 0.6.3) regexp_parser (>= 1.5, < 3.0) xpath (~> 3.2) - capybara-playwright-driver (0.5.7) + capybara-playwright-driver (0.5.9) addressable capybara playwright-ruby-client (>= 1.16.0) - cbor (0.5.10.1) + cbor (0.5.10.3) certified (1.0.0) - cgi (0.5.0) + cgi (0.5.1) chunky_png (1.4.0) coderay (1.1.3) colored2 (4.0.3) - concurrent-ruby (1.3.5) + concurrent-ruby (1.3.7) connection_pool (2.5.5) + console (1.36.0) + fiber-annotation + fiber-local (~> 1.1) + json cose (1.3.1) cbor (~> 0.5.9) openssl-signature_algorithm (~> 1.0) @@ -126,24 +188,24 @@ GEM bigdecimal rexml crass (1.0.6) - css_parser (1.21.1) + css_parser (3.0.0) addressable + ssrf_filter (~> 1.5) csv (3.3.5) - date (3.5.0) - debug (1.11.0) + date (3.5.1) + debug (1.11.1) irb (~> 1.10) reline (>= 0.3.8) - debug_inspector (1.2.0) diff-lcs (1.6.2) diffy (3.4.4) digest (3.2.1) digest-xxhash (0.2.9) - discourse-emojis (1.0.44) + discourse-emojis (1.0.46) discourse-fonts (0.0.19) discourse-seed-fu (2.3.12) activerecord (>= 3.1) activesupport (>= 3.1) - discourse_ai-tokenizers (0.4) + discourse_ai-tokenizers (0.4.2) activesupport (>= 6.0) tiktoken_ruby (~> 0.0.15) tokenizers (~> 0.6.3) @@ -156,94 +218,99 @@ GEM dry-initializer (3.2.0) ed25519 (1.4.0) email_reply_trimmer (0.2.0) - erb (6.0.0) + erb (6.0.4) erubi (1.13.1) - excon (1.3.2) + excon (1.5.0) logger - exifr (1.4.1) - extralite-bundle (2.13) + exifr (1.5.1) + extralite-bundle (2.14) fabrication (3.0.0) faker (3.5.3) i18n (>= 1.8.11, < 2) - faraday (2.14.0) + faraday (2.14.3) faraday-net_http (>= 2.0, < 3.5) json logger - faraday-multipart (1.1.1) + faraday-multipart (1.2.0) multipart-post (~> 2.0) - faraday-net_http (3.4.2) + faraday-net_http (3.4.4) net-http (~> 0.5) - faraday-retry (2.3.2) + faraday-retry (2.4.0) faraday (~> 2.0) fast_blank (1.0.1) - fastimage (2.3.1) - ffi (1.17.2) - ffi (1.17.2-aarch64-linux-gnu) - ffi (1.17.2-aarch64-linux-musl) - ffi (1.17.2-arm-linux-gnu) - ffi (1.17.2-arm-linux-musl) - ffi (1.17.2-arm64-darwin) - ffi (1.17.2-x86_64-darwin) - ffi (1.17.2-x86_64-linux-gnu) - ffi (1.17.2-x86_64-linux-musl) + fastimage (2.4.1) + ffi (1.17.4) + ffi (1.17.4-aarch64-linux-gnu) + ffi (1.17.4-aarch64-linux-musl) + ffi (1.17.4-arm64-darwin) + ffi (1.17.4-x86_64-darwin) + ffi (1.17.4-x86_64-linux-gnu) + ffi (1.17.4-x86_64-linux-musl) + fiber-annotation (0.2.0) + fiber-local (1.1.0) + fiber-storage + fiber-storage (1.0.1) fspath (3.1.2) globalid (1.3.0) activesupport (>= 6.1) goldiloader (6.0.0) activerecord (>= 7.2, < 8.3) activesupport (>= 7.2, < 8.3) - google-protobuf (4.33.2) + google-protobuf (4.35.0) bigdecimal - rake (>= 13) - google-protobuf (4.33.2-aarch64-linux-gnu) + rake (~> 13.3) + google-protobuf (4.35.0-aarch64-linux-gnu) bigdecimal - rake (>= 13) - google-protobuf (4.33.2-aarch64-linux-musl) + rake (~> 13.3) + google-protobuf (4.35.0-aarch64-linux-musl) bigdecimal - rake (>= 13) - google-protobuf (4.33.2-arm64-darwin) + rake (~> 13.3) + google-protobuf (4.35.0-arm64-darwin) bigdecimal - rake (>= 13) - google-protobuf (4.33.2-x86_64-darwin) + rake (~> 13.3) + google-protobuf (4.35.0-x86_64-darwin) bigdecimal - rake (>= 13) - google-protobuf (4.33.2-x86_64-linux-gnu) + rake (~> 13.3) + google-protobuf (4.35.0-x86_64-linux-gnu) bigdecimal - rake (>= 13) - google-protobuf (4.33.2-x86_64-linux-musl) + rake (~> 13.3) + google-protobuf (4.35.0-x86_64-linux-musl) bigdecimal - rake (>= 13) + rake (~> 13.3) guess_html_encoding (0.0.11) hana (1.3.7) hashdiff (1.2.1) hashery (2.1.2) - hashie (5.0.0) + hashie (5.1.0) + logger highline (3.1.2) reline htmlentities (4.4.2) http_accept_language (2.1.1) - i18n (1.14.7) + i18n (1.14.8) concurrent-ruby (~> 1.0) - image_optim (0.31.4) + image_optim (0.32.0) exifr (~> 1.2, >= 1.2.2) fspath (~> 3.0) image_size (>= 1.5, < 4) in_threads (~> 1.3) progress (~> 3.0, >= 3.0.1) - image_size (3.4.0) + image_size (3.6.0) in_threads (1.6.0) inflection (1.0.0) - io-console (0.8.1) - irb (1.15.3) + io-console (0.8.2) + irb (1.18.0) pp (>= 0.6.0) + prism (>= 1.3.0) rdoc (>= 4.0.0) reline (>= 0.4.2) iso8601 (0.13.0) jmespath (1.6.2) - json (2.17.1) - json-schema (6.0.0) + json (2.19.9) + json-schema (6.2.0) addressable (~> 2.8) - bigdecimal (~> 3.1) + bigdecimal (>= 3.1, < 5) + json_completer (1.2.0) json_schemer (2.5.0) bigdecimal hana (~> 1.3) @@ -251,16 +318,21 @@ GEM simpleidn (~> 0.2) jwt (2.10.1) base64 - kgio (2.11.4) + landlock (0.3) language_server-protocol (3.17.0.5) - libv8-node (24.1.0.0) - libv8-node (24.1.0.0-aarch64-linux) - libv8-node (24.1.0.0-arm64-darwin) - libv8-node (24.1.0.0-x86_64-darwin) - libv8-node (24.1.0.0-x86_64-linux) - libv8-node (24.1.0.0-x86_64-linux-musl) + libv8-node (24.12.0.1) + libv8-node (24.12.0.1-aarch64-linux) + libv8-node (24.12.0.1-aarch64-linux-musl) + libv8-node (24.12.0.1-arm64-darwin) + libv8-node (24.12.0.1-x86_64-darwin) + libv8-node (24.12.0.1-x86_64-linux) + libv8-node (24.12.0.1-x86_64-linux-musl) lint_roller (1.1.0) - listen (3.9.0) + liquid (5.12.0) + bigdecimal + strscan (>= 3.1.1) + listen (3.10.0) + logger rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) literate_randomizer (0.4.0) @@ -271,8 +343,8 @@ GEM railties (>= 4) request_store (~> 1.0) logstash-event (1.2.02) - logster (2.20.1) - loofah (2.24.1) + logster (2.21.0) + loofah (2.25.1) crass (~> 1.0.2) nokogiri (>= 1.12.0) lru_redux (1.1.0) @@ -283,40 +355,43 @@ GEM net-imap net-pop net-smtp + markbridge (0.3.1) matrix (0.4.3) maxminddb (0.1.22) memory_profiler (1.1.0) - message_bus (4.4.1) - rack (>= 1.1.3) + message_bus (4.5.2) + rack (> 2, < 4) messageformat-wrapper (1.1.0) mini_racer (>= 0.6.3) method_source (1.1.0) mime-types (3.7.0) logger mime-types-data (~> 3.2025, >= 3.2025.0507) - mime-types-data (3.2025.0924) + mime-types-data (3.2026.0414) mini_mime (1.1.5) mini_portile2 (2.8.9) - mini_racer (0.19.1) - libv8-node (~> 24.1.0.0) - mini_scheduler (0.18.0) - sidekiq (>= 6.5, < 8.0) + mini_racer (0.21.4) + libv8-node (~> 24.12.0.1) + mini_scheduler (0.20.0) + sidekiq (>= 6.5, < 9.0) mini_sql (1.6.0) mini_suffix (0.3.3) ffi (~> 1.9) - minio_runner (1.0.1) - minitest (5.26.2) - mocha (2.8.2) + minio_runner (1.1.0) + minitest (6.0.6) + drb (~> 2.0) + prism (~> 1.5) + mocha (3.1.0) ruby2_keywords (>= 0.0.5) - msgpack (1.8.0) - multi_json (1.18.0) - multi_xml (0.7.2) - bigdecimal (~> 3.1) + msgpack (1.8.3) + multi_json (1.20.1) + multi_xml (0.9.1) + bigdecimal (>= 3.1, < 5) multipart-post (2.4.1) - mustache (1.1.1) - net-http (0.8.0) + mustache (1.1.2) + net-http (0.9.1) uri (>= 0.11.1) - net-imap (0.5.12) + net-imap (0.6.4.1) date net-protocol net-pop (0.1.2) @@ -326,31 +401,31 @@ GEM net-smtp (0.5.1) net-protocol nio4r (2.7.5) - nokogiri (1.18.10) + nokogiri (1.19.3) mini_portile2 (~> 2.8.2) racc (~> 1.4) - nokogiri (1.18.10-aarch64-linux-gnu) + nokogiri (1.19.3-aarch64-linux-gnu) racc (~> 1.4) - nokogiri (1.18.10-aarch64-linux-musl) + nokogiri (1.19.3-aarch64-linux-musl) racc (~> 1.4) - nokogiri (1.18.10-arm-linux-gnu) + nokogiri (1.19.3-arm64-darwin) racc (~> 1.4) - nokogiri (1.18.10-arm-linux-musl) + nokogiri (1.19.3-x86_64-darwin) racc (~> 1.4) - nokogiri (1.18.10-arm64-darwin) + nokogiri (1.19.3-x86_64-linux-gnu) racc (~> 1.4) - nokogiri (1.18.10-x86_64-darwin) + nokogiri (1.19.3-x86_64-linux-musl) racc (~> 1.4) - nokogiri (1.18.10-x86_64-linux-gnu) - racc (~> 1.4) - nokogiri (1.18.10-x86_64-linux-musl) - racc (~> 1.4) - oauth (1.1.3) + oauth (1.1.5) + auth-sanitizer (~> 0.1, >= 0.1.3) base64 (~> 0.1) - oauth-tty (~> 1.0, >= 1.0.6) - snaky_hash (~> 2.0) + cgi + oauth-tty (~> 1.0, >= 1.0.8) + snaky_hash (~> 2.0, >= 2.0.4) version_gem (~> 1.1, >= 1.1.9) - oauth-tty (1.0.6) + oauth-tty (1.0.8) + auth-sanitizer (~> 0.1, >= 0.1.3) + cgi version_gem (~> 1.1, >= 1.1.9) oauth2 (1.4.11) faraday (>= 0.17.3, < 3.0) @@ -358,7 +433,7 @@ GEM multi_json (~> 1.3) multi_xml (~> 0.5) rack (>= 1.2, < 4) - octokit (5.6.1) + octokit (10.0.0) faraday (>= 1, < 3) sawyer (~> 0.9) oj (3.16.12) @@ -368,8 +443,9 @@ GEM hashie (>= 3.4.6) rack (>= 2.2.3) rack-protection - omniauth-facebook (9.0.0) - omniauth-oauth2 (~> 1.2) + omniauth-facebook (10.0.0) + bigdecimal + omniauth-oauth2 (>= 1.2, < 3) omniauth-github (2.0.0) omniauth (~> 2.0) omniauth-oauth2 (~> 1.7.1) @@ -393,59 +469,58 @@ GEM openssl (> 2.0) optimist (3.2.1) ostruct (0.6.3) - parallel (1.27.0) - parallel_tests (5.5.0) + parallel (2.1.0) + parallel_tests (5.7.0) parallel - parser (3.3.10.0) + parser (3.3.11.1) ast (~> 2.4.1) racc pastel (0.8.0) tty-color (~> 0.5) - pdf-reader (2.15.0) + pdf-reader (2.15.1) Ascii85 (>= 1.0, < 3.0, != 2.0.0) afm (>= 0.2.1, < 2) hashery (~> 2.0) ruby-rc4 ttfunk - pg (1.6.2) - pg (1.6.2-aarch64-linux) - pg (1.6.2-aarch64-linux-musl) - pg (1.6.2-arm64-darwin) - pg (1.6.2-x86_64-darwin) - pg (1.6.2-x86_64-linux) - pg (1.6.2-x86_64-linux-musl) - pitchfork (0.18.1) + pg (1.6.3) + pg (1.6.3-aarch64-linux) + pg (1.6.3-aarch64-linux-musl) + pg (1.6.3-arm64-darwin) + pg (1.6.3-x86_64-darwin) + pg (1.6.3-x86_64-linux) + pg (1.6.3-x86_64-linux-musl) + pitchfork (0.18.2) logger rack (>= 2.0) - playwright-ruby-client (1.57.0) + playwright-ruby-client (1.60.0) + base64 concurrent-ruby (>= 1.1.6) mime-types (>= 3.0) pp (0.6.3) prettyprint prettier_print (1.2.1) prettyprint (0.2.0) - prism (1.6.0) + prism (1.9.0) progress (3.6.0) - propshaft (1.3.1) + propshaft (1.3.2) actionpack (>= 7.0.0) activesupport (>= 7.0.0) rack - pry (0.15.2) + pry (0.16.0) coderay (~> 1.1) method_source (~> 1.0) + reline (>= 0.6.0) pry-rails (0.3.11) pry (>= 0.13.0) - pry-stack_explorer (0.6.1) - binding_of_caller (~> 1.0) - pry (~> 0.13) - psych (5.2.6) + psych (5.4.0) date stringio - public_suffix (7.0.0) - puma (7.1.0) + public_suffix (7.0.5) + puma (8.0.2) nio4r (~> 2.0) racc (1.8.1) - rack (2.2.21) + rack (2.2.23) rack-mini-profiler (4.0.1) rack (>= 1.2.0) rack-protection (3.2.0) @@ -462,8 +537,8 @@ GEM activesupport (>= 5.0.0) minitest nokogiri (>= 1.6) - rails-html-sanitizer (1.6.2) - loofah (~> 2.21) + rails-html-sanitizer (1.7.0) + loofah (~> 2.25) nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0) rails_failover (2.3.0) activerecord (>= 6.1, < 9.0) @@ -472,9 +547,9 @@ GEM rails_multisite (7.0.0) activerecord (>= 7.1) railties (>= 7.1) - railties (8.0.4) - actionpack (= 8.0.4) - activesupport (= 8.0.4) + railties (8.0.5) + actionpack (= 8.0.5) + activesupport (= 8.0.5) irb (~> 1.13) rackup (>= 1.0.0) rake (>= 12.2) @@ -483,32 +558,34 @@ GEM zeitwerk (~> 2.6) rainbow (3.1.1) raindrops (0.20.1) - rake (13.3.1) - rake-compiler-dock (1.10.0) + rake (13.4.2) + rake-compiler-dock (1.12.0) rb-fsevent (0.11.2) rb-inotify (0.11.1) ffi (~> 1.0) - rb_sys (0.9.119) - rake-compiler-dock (= 1.10.0) - rbs (3.9.5) + rb_sys (0.9.128) + rake-compiler-dock (= 1.12.0) + rbs (4.0.2) logger - rbtrace (0.5.3) + prism (>= 1.6.0) + tsort + rbtrace (0.5.4) ffi (>= 1.0.6) msgpack (>= 0.4.3) optimist (>= 3.0.0) - rchardet (1.10.0) - rdoc (6.17.0) + rchardet (1.10.2) + rdoc (7.2.0) erb psych (>= 4.0.0) tsort redcarpet (3.6.1) redis (5.4.0) redis-client (>= 0.22.0) - redis-client (0.26.1) + redis-client (0.30.0) connection_pool redis-namespace (1.11.0) redis (>= 4) - regexp_parser (2.11.3) + regexp_parser (2.12.0) reline (0.6.3) io-console (~> 0.5) request_store (1.7.0) @@ -516,12 +593,13 @@ GEM rexml (3.4.4) rinku (2.0.6) rotp (6.3.0) - rouge (4.7.0) - rqrcode (3.1.1) + rouge (5.0.0) + strscan (~> 3.1) + rqrcode (3.2.0) chunky_png (~> 1.0) rqrcode_core (~> 2.0) - rqrcode_core (2.0.1) - rrule (0.7.0) + rqrcode_core (2.1.0) + rrule (0.8.0) activesupport (>= 2.3) rspec (3.13.2) rspec-core (~> 3.13.0) @@ -535,21 +613,21 @@ GEM rspec-html-matchers (0.10.0) nokogiri (~> 1) rspec (>= 3.0.0.a) - rspec-mocks (3.13.7) + rspec-mocks (3.13.8) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) rspec-multi-mock (0.3.1) rspec (>= 3.7.0) - rspec-rails (8.0.2) + rspec-rails (8.0.4) actionpack (>= 7.2) activesupport (>= 7.2) railties (>= 7.2) - rspec-core (~> 3.13) - rspec-expectations (~> 3.13) - rspec-mocks (~> 3.13) - rspec-support (~> 3.13) - rspec-support (3.13.6) - rss (0.3.1) + rspec-core (>= 3.13.0, < 5.0.0) + rspec-expectations (>= 3.13.0, < 5.0.0) + rspec-mocks (>= 3.13.0, < 5.0.0) + rspec-support (>= 3.13.0, < 5.0.0) + rspec-support (3.13.7) + rss (0.3.3) rexml rswag-specs (2.17.0) activesupport (>= 5.2, < 8.2) @@ -558,88 +636,89 @@ GEM rspec-core (>= 2.14) rtlcss (0.2.1) mini_racer (>= 0.6.3) - rubocop (1.81.7) + rubocop (1.86.1) json (~> 2.3) language_server-protocol (~> 3.17.0.2) lint_roller (~> 1.1.0) - parallel (~> 1.10) + parallel (>= 1.10) parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 2.9.3, < 3.0) - rubocop-ast (>= 1.47.1, < 2.0) + rubocop-ast (>= 1.49.0, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 4.0) - rubocop-ast (1.48.0) + rubocop-ast (1.49.1) parser (>= 3.3.7.2) - prism (~> 1.4) - rubocop-capybara (2.22.1) + prism (~> 1.7) + rubocop-capybara (2.23.0) lint_roller (~> 1.1) - rubocop (~> 1.72, >= 1.72.1) - rubocop-discourse (3.13.3) + rubocop (~> 1.81) + rubocop-discourse (3.18.0) activesupport (>= 6.1) lint_roller (>= 1.1.0) - rubocop (>= 1.73.2) - rubocop-capybara (>= 2.22.0) + rubocop-capybara (>= 2.23.0) + rubocop-discourse-base (>= 1.0.0) rubocop-factory_bot (>= 2.27.0) rubocop-rails (>= 2.30.3) rubocop-rspec (>= 3.0.1) rubocop-rspec_rails (>= 2.31.0) + rubocop-discourse-base (1.0.0) + rubocop (>= 1.80.0) rubocop-factory_bot (2.28.0) lint_roller (~> 1.1) rubocop (~> 1.72, >= 1.72.1) - rubocop-rails (2.33.4) + rubocop-rails (2.34.3) activesupport (>= 4.2.0) lint_roller (~> 1.1) rack (>= 1.1) rubocop (>= 1.75.0, < 2.0) rubocop-ast (>= 1.44.0, < 2.0) - rubocop-rspec (3.8.0) + rubocop-rspec (3.9.0) lint_roller (~> 1.1) rubocop (~> 1.81) rubocop-rspec_rails (2.32.0) lint_roller (~> 1.1) rubocop (~> 1.72, >= 1.72.1) rubocop-rspec (~> 3.5) - ruby-lsp (0.26.4) + ruby-lsp (0.26.9) language_server-protocol (~> 3.17.0) prism (>= 1.2, < 2.0) rbs (>= 3, < 5) ruby-lsp-rails (0.4.8) ruby-lsp (>= 0.26.0, < 0.27.0) - ruby-lsp-rspec (0.1.28) + ruby-lsp-rspec (0.1.29) ruby-lsp (~> 0.26.0) - ruby-prof (1.7.2) + ruby-prof (2.0.5) base64 + ostruct ruby-progressbar (1.13.0) ruby-rc4 (0.1.5) - ruby-readability (0.7.2) + ruby-readability (0.7.3) guess_html_encoding (>= 0.0.4) nokogiri (>= 1.6.0) ruby2_keywords (0.0.5) - rubyzip (2.4.1) + rubyzip (3.3.1) + samovar (2.5.1) + console (~> 1.0) sanitize (7.0.0) crass (~> 1.0.2) nokogiri (>= 1.16.8) - sass-embedded (1.91.0) + sass-embedded (1.100.0) google-protobuf (~> 4.31) rake (>= 13) - sass-embedded (1.91.0-aarch64-linux-gnu) + sass-embedded (1.100.0-aarch64-linux-gnu) google-protobuf (~> 4.31) - sass-embedded (1.91.0-aarch64-linux-musl) + sass-embedded (1.100.0-aarch64-linux-musl) google-protobuf (~> 4.31) - sass-embedded (1.91.0-arm-linux-gnueabihf) + sass-embedded (1.100.0-arm64-darwin) google-protobuf (~> 4.31) - sass-embedded (1.91.0-arm-linux-musleabihf) + sass-embedded (1.100.0-x86_64-darwin) google-protobuf (~> 4.31) - sass-embedded (1.91.0-arm64-darwin) + sass-embedded (1.100.0-x86_64-linux-gnu) google-protobuf (~> 4.31) - sass-embedded (1.91.0-x86_64-darwin) + sass-embedded (1.100.0-x86_64-linux-musl) google-protobuf (~> 4.31) - sass-embedded (1.91.0-x86_64-linux-gnu) - google-protobuf (~> 4.31) - sass-embedded (1.91.0-x86_64-linux-musl) - google-protobuf (~> 4.31) - sassc-embedded (1.80.5) + sassc-embedded (1.80.8) sass-embedded (~> 1.80) sawyer (0.9.3) addressable (>= 2.3.5) @@ -647,12 +726,12 @@ GEM securerandom (0.4.1) shoulda-matchers (7.0.1) activesupport (>= 7.1) - sidekiq (7.3.9) + sidekiq (7.3.10) base64 - connection_pool (>= 2.3.0) + connection_pool (>= 2.3.0, < 3) logger - rack (>= 2.2.4) - redis-client (>= 0.22.2) + rack (>= 2.2.4, < 3.3) + redis-client (>= 0.23.0, < 1) simplecov (0.22.0) docile (~> 1.1) simplecov-html (~> 0.11) @@ -660,46 +739,46 @@ GEM simplecov-html (0.13.2) simplecov_json_formatter (0.1.4) simpleidn (0.2.3) - snaky_hash (2.0.3) + smarter_json (1.2.6) + bigdecimal + snaky_hash (2.0.4) hashie (>= 0.1.0, < 6) version_gem (>= 1.1.8, < 3) - sqlite3 (2.8.1) + sqlite3 (2.9.5) mini_portile2 (~> 2.8.0) - sqlite3 (2.8.1-aarch64-linux-gnu) - sqlite3 (2.8.1-aarch64-linux-musl) - sqlite3 (2.8.1-arm-linux-gnu) - sqlite3 (2.8.1-arm-linux-musl) - sqlite3 (2.8.1-arm64-darwin) - sqlite3 (2.8.1-x86_64-darwin) - sqlite3 (2.8.1-x86_64-linux-gnu) - sqlite3 (2.8.1-x86_64-linux-musl) + sqlite3 (2.9.5-aarch64-linux-gnu) + sqlite3 (2.9.5-aarch64-linux-musl) + sqlite3 (2.9.5-arm64-darwin) + sqlite3 (2.9.5-x86_64-darwin) + sqlite3 (2.9.5-x86_64-linux-gnu) + sqlite3 (2.9.5-x86_64-linux-musl) sshkey (3.0.0) - stackprof (0.2.27) - stringio (3.1.9) + ssrf_filter (1.5.0) + stackprof (0.2.28) + stringio (3.2.0) stripe (11.1.0) + strscan (3.1.8) syntax_tree (6.3.0) prettier_print (>= 1.2.0) - test-prof (1.5.0) - thor (1.4.0) - tiktoken_ruby (0.0.15.1) + test-prof (1.6.1) + thor (1.5.0) + tiktoken_ruby (0.0.16) rb_sys (~> 0.9) - tiktoken_ruby (0.0.15.1-aarch64-linux) - tiktoken_ruby (0.0.15.1-aarch64-linux-musl) - tiktoken_ruby (0.0.15.1-arm-linux) - tiktoken_ruby (0.0.15.1-arm64-darwin) - tiktoken_ruby (0.0.15.1-x86_64-darwin) - tiktoken_ruby (0.0.15.1-x86_64-linux) - tiktoken_ruby (0.0.15.1-x86_64-linux-musl) - timeout (0.5.0) - tokenizers (0.6.3) + tiktoken_ruby (0.0.16-aarch64-linux) + tiktoken_ruby (0.0.16-aarch64-linux-musl) + tiktoken_ruby (0.0.16-arm64-darwin) + tiktoken_ruby (0.0.16-x86_64-darwin) + tiktoken_ruby (0.0.16-x86_64-linux) + tiktoken_ruby (0.0.16-x86_64-linux-musl) + timeout (0.6.1) + tokenizers (0.6.4) rb_sys - tokenizers (0.6.3-aarch64-linux) - tokenizers (0.6.3-aarch64-linux-musl) - tokenizers (0.6.3-arm64-darwin) - tokenizers (0.6.3-x86_64-darwin) - tokenizers (0.6.3-x86_64-linux) - tokenizers (0.6.3-x86_64-linux-musl) - trilogy (2.9.0) + tokenizers (0.6.4-aarch64-linux) + tokenizers (0.6.4-aarch64-linux-musl) + tokenizers (0.6.4-arm64-darwin) + tokenizers (0.6.4-x86_64-darwin) + tokenizers (0.6.4-x86_64-linux) + tokenizers (0.6.4-x86_64-linux-musl) tsort (0.2.0) ttfunk (1.8.0) bigdecimal (~> 3.1) @@ -715,23 +794,20 @@ GEM tty-screen (0.8.2) tzinfo (2.0.6) concurrent-ruby (~> 1.0) - tzinfo-data (1.2025.2) + tzinfo-data (1.2026.2) tzinfo (>= 1.0.0) unf (0.2.0) unicode-display_width (3.2.0) unicode-emoji (~> 4.1) - unicode-emoji (4.1.0) - unicorn (6.1.0) - kgio (~> 2.6) - raindrops (~> 0.7) + unicode-emoji (4.2.0) uniform_notifier (1.18.0) uri (1.1.1) useragent (0.16.11) - version_gem (1.1.9) + version_gem (1.1.13) web-push (3.0.1) jwt (~> 2.0) openssl (~> 3.0) - webmock (3.25.1) + webmock (3.26.2) addressable (>= 2.8.0) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) @@ -740,8 +816,8 @@ GEM xpath (3.2.0) nokogiri (~> 1.8) yaml-lint (0.1.2) - yard (0.9.38) - zeitwerk (2.7.3) + yard (0.9.44) + zeitwerk (2.8.2) zendesk_api (1.38.0.rc1) faraday (> 2.0.0) faraday-multipart @@ -753,11 +829,6 @@ GEM PLATFORMS aarch64-linux-gnu aarch64-linux-musl - arm-linux - arm-linux-gnu - arm-linux-gnueabihf - arm-linux-musl - arm-linux-musleabihf arm64-darwin ruby x86_64-darwin @@ -777,11 +848,12 @@ DEPENDENCIES addressable afm annotaterb + aws-sdk-bedrockruntime aws-sdk-mediaconvert aws-sdk-s3 aws-sdk-sns + aws-sdk-sts better_errors - binding_of_caller bootsnap bullet capybara @@ -797,7 +869,6 @@ DEPENDENCIES debug (>= 1.0.0) diffy digest - digest-xxhash discourse-emojis discourse-fonts discourse-seed-fu @@ -808,7 +879,6 @@ DEPENDENCIES ed25519 email_reply_trimmer excon - extralite-bundle fabrication faker faraday @@ -825,7 +895,10 @@ DEPENDENCIES inflection iso8601 json + json_completer json_schemer + landlock + liquid (= 5.12.0) listen lograge logstash-event @@ -838,6 +911,10 @@ DEPENDENCIES memory_profiler message_bus messageformat-wrapper + migrations-converters! + migrations-core! + migrations-importer! + migrations-tooling! mini_mime mini_racer mini_scheduler @@ -867,7 +944,6 @@ DEPENDENCIES pitchfork propshaft pry-rails - pry-stack_explorer puma rack (< 3) rack-mini-profiler @@ -876,6 +952,7 @@ DEPENDENCIES rails_failover rails_multisite railties (~> 8.0.0) + raindrops rake rb-fsevent rbtrace @@ -899,7 +976,6 @@ DEPENDENCIES ruby-lsp-rails ruby-lsp-rspec ruby-prof - ruby-progressbar ruby-rc4 ruby-readability rubyzip @@ -907,8 +983,9 @@ DEPENDENCIES sassc-embedded sawyer shoulda-matchers - sidekiq + sidekiq (>= 7.3.10) simplecov + smarter_json sqlite3 sshkey stackprof @@ -918,77 +995,76 @@ DEPENDENCIES thor tiktoken_ruby tokenizers - trilogy ttfunk tty-prompt tzinfo-data unf - unicorn web-push webmock yaml-lint yard - zeitwerk zendesk_api CHECKSUMS Ascii85 (2.0.1) sha256=15cb5d941808543cbb9e7e6aea3c8ec3877f154c3461e8b3673e97f7ecedbe5a - actionmailer (8.0.4) sha256=3b9270d8e19f0afb534b11c52f439937dc30028adcbbae2b244f3383ce75de4b - actionpack (8.0.4) sha256=0364c7582f32c8f404725fa30d3f6853f834c5f4964afd4a072b848c8a23cddb - actionview (8.0.4) sha256=5bd3c41ee7a59e14cf062bb5e4ee53c9a253d12fc13c8754cae368012e1a1648 + actionmailer (8.0.5) sha256=7918fac842cfe985ed21692f3d212c914a0c816e30e6fa68633177bb22f38561 + actionpack (8.0.5) sha256=c9de868975dd124a0956499140bd5e63c367865deca01292df7c3195c8da4b35 + actionview (8.0.5) sha256=6d0fa9e63df0cf2729b1f54d0988336c149eb2bbc6049f4c2834d7b62f351413 actionview_precompiler (0.4.0) sha256=33b6bd6ec4c1b856e02fdf5f6512c9eb4a92ac1c0545e941b3e354b7d540ed1c active_model_serializers (0.8.4) sha256=7350e3d3b6a5946bbec033241d908013cc85ff4d584230e6aa074225547c754c - activejob (8.0.4) sha256=cbc8a85d0e168cb90a5629c8a36fe2d08ba840103d3aed3eee0c7beb784fccce - activemodel (8.0.4) sha256=8f4e4fac3cd104b1bf30419c3745206f6f724c0e2902a939b4113f4c90730dfd - activerecord (8.0.4) sha256=bda32c171799e5ca5460447d3b7272ed14447244e2497abf2107f87fc44cbf32 - activesupport (8.0.4) sha256=894a3a6c7733b5fae5a7df3acd76c4b563f38687df8a04fa3cbd25360f3fe95a - addressable (2.8.8) sha256=7c13b8f9536cf6364c03b9d417c19986019e28f7c00ac8132da4eb0fe393b057 + activejob (8.0.5) sha256=2dabe5c3bfe284aba4687c52b930564335435dde3a60b047821f9d3bd0d2ea10 + activemodel (8.0.5) sha256=c796813d46dc1373f4c6c0ec91dfc520b53683ea773c3b3f9a12c4b3eb145bc2 + activerecord (8.0.5) sha256=89b261b6cd910c9431cf2475f3f6e5e2f5ce589805043a33ef2b004376a129e6 + activesupport (8.0.5) sha256=37f213ff6a37cf3fadfa1a28c1a9678e2cb73b59bb9ebd0eeeca653cccadcb23 + addressable (2.9.0) sha256=7fdf6ac3660f7f4e867a0838be3f6cf722ace541dd97767fa42bc6cfa980c7af afm (1.0.0) sha256=5bd4d6f6241e7014ef090985ec6f4c3e9745f6de0828ddd58bc1efdd138f4545 annotaterb (4.20.0) sha256=871b2e898d1d60c23bdc59b72a5b840678a56355bf5f6fdeb8c79d317ff98bf7 ast (2.4.3) sha256=954615157c1d6a382bc27d690d973195e79db7f55e9765ac7c481c60bdb4d383 + auth-sanitizer (0.1.4) sha256=ded72221d4d3a7c91e34e8a87b21e6a42cbf7829697f140dcf49d542422faedc aws-eventstream (1.4.0) sha256=116bf85c436200d1060811e6f5d2d40c88f65448f2125bc77ffce5121e6e183b aws-partitions (1.1134.0) sha256=28f5f6156777ac346904a79ce6cb3b14a521e3866fee12a0da86d7b500266d3e - aws-sdk-core (3.227.0) sha256=99071fc5e3ca9347873fd114574319740c3041745df3c74e27875bd912dfc79e + aws-sdk-bedrockruntime (1.74.0) sha256=fc5eb0ab9485fc847bfcef058b8c50f2f7996d4a8266ce3562da2daa5bf1dea5 + aws-sdk-core (3.254.0) sha256=ee3e3220b8468a3c9e59daba18e6ec897bf5c7ce8adcc0670cfa2f1f092112fe aws-sdk-kms (1.99.0) sha256=ba292fc3ffd672532aae2601fe55ff424eee78da8e23c23ba6ce4037138275a8 aws-sdk-mediaconvert (1.165.0) sha256=d955a571cd8b0407c0778e1d0f2333a70bf9ab48e36c81da8c5b317db24001e4 - aws-sdk-s3 (1.182.0) sha256=d0fc3579395cb6cb69bf6e975240ce031fc673190e74c8dddbdd6c18572b450d + aws-sdk-s3 (1.227.0) sha256=552b23bf9a37c7db4957e9291543e61c8de886cf31d1d45ea3b429df0feea939 aws-sdk-sns (1.96.0) sha256=f92b3c7203c53181b1cafb3dbbea85f330002ad696175bda829cfef359fa6dd4 + aws-sdk-sts (1.12.0) sha256=9bbd64223dd2423540291d9faaac4a169ace8cfe123b1075c9a127fcd65e061f aws-sigv4 (1.12.1) sha256=6973ff95cb0fd0dc58ba26e90e9510a2219525d07620c8babeb70ef831826c00 base64 (0.3.0) sha256=27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b benchmark (0.5.0) sha256=465df122341aedcb81a2a24b4d3bd19b6c67c1530713fd533f3ff034e419236c better_errors (2.10.1) sha256=f798f1bac93f3e775925b7fcb24cffbcf0bb62ee2210f5350f161a6b75fc0a73 bigdecimal (3.3.1) sha256=eaa01e228be54c4f9f53bf3cc34fe3d5e845c31963e7fcc5bedb05a4e7d52218 - binding_of_caller (1.0.1) sha256=2b2902abff4246ddcfbc4da9b69bc4a019e22aeb300c2ff6289a173d4b90b29a - bootsnap (1.19.0) sha256=d3e54558c1a9ea10cb095eb1eb8e921ae83fd4d5764b8809f63aec18ce9f60b5 + bootsnap (1.24.5) sha256=36b677448524d279b470469aabd5dff4a980e3fa4931a0df68da4a500eb1b6c4 builder (3.3.0) sha256=497918d2f9dca528fdca4b88d84e4ef4387256d984b8154e9d5d3fe5a9c8835f - bullet (8.1.0) sha256=604b7e2636ec2137dcab3ba61a56248c39a0004a0c9405d58bad0686d23b98ff + bullet (8.1.3) sha256=c8163c527324fe1180775be48719875726891622f0a73784658b2992acf3c7cb capybara (3.40.0) sha256=42dba720578ea1ca65fd7a41d163dd368502c191804558f6e0f71b391054aeef - capybara-playwright-driver (0.5.7) sha256=875a1928077d56be8b484f84674901a2374752d7842d93de2045bbede1aad242 - cbor (0.5.10.1) sha256=79cdf79f18dcd9ee97e0b849c6d573e5a2e3ddc1954d180f384d6ed2612b6df0 + capybara-playwright-driver (0.5.9) sha256=4c17fed20817b7e1bde2cfc8186e7bf5cd72017ce1aa695e35130f8e600e7282 + cbor (0.5.10.3) sha256=c3aa1d0c7e9bbffe8de4bed554f588d7926c62276ffe2dd7fabb65bae801d28a certified (1.0.0) sha256=aa4cdf0e90e7ee96f6e0ce3daae39eaa8f0486124e0d92daf64d2105aeb9069c - cgi (0.5.0) sha256=fe99f65bb2c146e294372ebb27602adbc3b4c008e9ea7038c6bd48c1ec9759da + cgi (0.5.1) sha256=e93fcafc69b8a934fe1e6146121fa35430efa8b4a4047c4893764067036f18e9 chunky_png (1.4.0) sha256=89d5b31b55c0cf4da3cf89a2b4ebc3178d8abe8cbaf116a1dba95668502fdcfe coderay (1.1.3) sha256=dc530018a4684512f8f38143cd2a096c9f02a1fc2459edcfe534787a7fc77d4b colored2 (4.0.3) sha256=63e1038183976287efc43034f5cca17fb180b4deef207da8ba78d051cbce2b37 - concurrent-ruby (1.3.5) sha256=813b3e37aca6df2a21a3b9f1d497f8cbab24a2b94cab325bffe65ee0f6cbebc6 + concurrent-ruby (1.3.7) sha256=4412caec3a5ea2e5fdc52076724c071a81f2c0593d83b2ac8cbb8ca63b3151b0 connection_pool (2.5.5) sha256=e54ff92855753df1fd7c59fa04a398833355f27dd14c074f8c83a05f72a716ad + console (1.36.0) sha256=45599ea906cf80a73d8941f03abf873fe66a6a954e0bac5bc1c01e2cdc406f07 cose (1.3.1) sha256=d5d4dbcd6b035d513edc4e1ab9bc10e9ce13b4011c96e3d1b8fe5e6413fd6de5 cppjieba_rb (0.4.4) sha256=319a7ab57b6ec28a8d1b223487ecd114432f1930d7740db2f99c1991e6c8faaf crack (1.0.1) sha256=ff4a10390cd31d66440b7524eb1841874db86201d5b70032028553130b6d4c7e crass (1.0.6) sha256=dc516022a56e7b3b156099abc81b6d2b08ea1ed12676ac7a5657617f012bd45d - css_parser (1.21.1) sha256=6cfd3ffc0a97333b39d2b1b49c95397b05e0e3b684d68f77ec471ba4ec2ef7c7 + css_parser (3.0.0) sha256=eaf0e9283fd581d06e815235ceef4f0910c0b394c606355dbc69f93e84443885 csv (3.3.5) sha256=6e5134ac3383ef728b7f02725d9872934f523cb40b961479f69cf3afa6c8e73f - date (3.5.0) sha256=5e74fd6c04b0e65d97ad4f3bb5cb2d8efb37f386cc848f46310b4593ffc46ee5 - debug (1.11.0) sha256=1425db64cfa0130c952684e3dc974985be201dd62899bf4bbe3f8b5d6cf1aef2 - debug_inspector (1.2.0) sha256=9bdfa02eebc3da163833e6a89b154084232f5766087e59573b70521c77ea68a2 + date (3.5.1) sha256=750d06384d7b9c15d562c76291407d89e368dda4d4fff957eb94962d325a0dc0 + debug (1.11.1) sha256=2e0b0ac6119f2207a6f8ac7d4a73ca8eb4e440f64da0a3136c30343146e952b6 diff-lcs (1.6.2) sha256=9ae0d2cba7d4df3075fe8cd8602a8604993efc0dfa934cff568969efb1909962 diffy (3.4.4) sha256=79384ab5ca82d0e115b2771f0961e27c164c456074bd2ec46b637ebf7b6e47e3 digest (3.2.1) sha256=ab3312b4e272d7d5dc41c564c86a25861a1f34ac5153374199a0b74861395947 digest-xxhash (0.2.9) sha256=a989d8309c03c4136a4bea9981ec0a146a2750de7f3dfb7b5624a3038aa598d7 - discourse-emojis (1.0.44) sha256=63425a32379fb471d58f5eac9a1e931fc5a94efb7d327f71f1580af4dfe4edb3 + discourse-emojis (1.0.46) sha256=e986526ec835eb8de1640da6a853767272a3fc15b756666f072ab95103f3c93c discourse-fonts (0.0.19) sha256=78d4ddd671615908303a675427039d8d787c935e6deae184c6e143c18c6e0033 discourse-seed-fu (2.3.12) sha256=4f61d95c11ed54609046cd04eb3a51b531c5fa863fa86d1bea7d74264e5c75e4 - discourse_ai-tokenizers (0.4) sha256=54d7ddcc5479f3bb3057b90f4a85106b4602a07336b51d372c1a1dd8f08104c5 + discourse_ai-tokenizers (0.4.2) sha256=61c2f254582a3ae69255115b2b072904361003612b5b0f52aa64773817aae413 discourse_dev_assets (0.0.6) sha256=4dfe7946927aa3d61a4ba89b5aef39d6daaeb70e35d7125dc481806a5c0aea4e discourse_math_bundle (1.0.1) sha256=c7d82fa65c9680cab2f77daeba32c1b89e500faccd2269e050ab27d5e1bc8337 docile (1.4.1) sha256=96159be799bfa73cdb721b840e9802126e4e03dfc26863db73647204c727f21e @@ -996,122 +1072,129 @@ CHECKSUMS dry-initializer (3.2.0) sha256=37d59798f912dc0a1efe14a4db4a9306989007b302dcd5f25d0a2a20c166c4e3 ed25519 (1.4.0) sha256=16e97f5198689a154247169f3453ef4cfd3f7a47481fde0ae33206cdfdcac506 email_reply_trimmer (0.2.0) sha256=05843fa5ee1a2037235f1f3c876e922f613e2b4406fea5bb14212d1708d6c525 - erb (6.0.0) sha256=2730893f9d8c9733f16cab315a4e4b71c1afa9cabc1a1e7ad1403feba8f52579 + erb (6.0.4) sha256=38e3803694be357fe2bfe312487c74beaf9fb4e5beb3e22498952fe1645b95d9 erubi (1.13.1) sha256=a082103b0885dbc5ecf1172fede897f9ebdb745a4b97a5e8dc63953db1ee4ad9 - excon (1.3.2) sha256=a089babe98638e58042a7d542b2bbd183304527e33d612b6dde22fa491a544a5 - exifr (1.4.1) sha256=768374cc6b6ff3743acba57c1c35229bdd8c6b9fbc1285952047fc1215c4b894 - extralite-bundle (2.13) sha256=0d00338dd3b348f44a02bb9e93db3714231e7240a48320f1ee3a1db5197db3cc + excon (1.5.0) sha256=c503ad1d0123bc8ab2a062ff3789dc891ec368cb9e13765ab88a9c58c8bb6d50 + exifr (1.5.1) sha256=ad87a5dbc92946fbf1d8ccd178d557d95d9168e8b3c5c5f381ea2bffcc312521 + extralite-bundle (2.14) sha256=906c6e61dba586d6a0857e96ba985eef458ecd1b5ee009c8495c2c92ce6f18f4 fabrication (3.0.0) sha256=a6a0bfad9071348ad3cb1701df788524b888c0cdd044b988893e7509f7463be3 faker (3.5.3) sha256=b961482dc0bb15ccb9a98ea7878b925669e9ae8f5e59b607da540b768137d765 - faraday (2.14.0) sha256=8699cfe5d97e55268f2596f9a9d5a43736808a943714e3d9a53e6110593941cd - faraday-multipart (1.1.1) sha256=77a18ff40149030fd1aef55bb4fc7a67ce46419a8a3fcd010e28c2526e8d8903 - faraday-net_http (3.4.2) sha256=f147758260d3526939bf57ecf911682f94926a3666502e24c69992765875906c - faraday-retry (2.3.2) sha256=2402d2029032ebd238a2046221e67f6ef0da78c5a8ce8cd4f8b9c62e4d6451d1 + faraday (2.14.3) sha256=1882247e6766615c8220b4392bf1d27f6ebb63d8e28267587cef1fb0bf37f278 + faraday-multipart (1.2.0) sha256=7d89a949693714176f612323ca13746a2ded204031a6ba528adee788694ef757 + faraday-net_http (3.4.4) sha256=0e78af151747ed1b00f33e25973b4bc220d7f16c00c39676817c8b12331eb588 + faraday-retry (2.4.0) sha256=7b79c48fb7e56526faf247b12d94a680071ff40c9fda7cf1ec1549439ad11ebe fast_blank (1.0.1) sha256=269fc30414fed4e6403bc4a49081e1ea539f8b9226e59276ed1efaefabaa17ea - fastimage (2.3.1) sha256=23c629f1f3e7d61bcfcc06c25b3d2418bc6bf41d2e615dbf5132c0e3b63ecce9 - ffi (1.17.2) sha256=297235842e5947cc3036ebe64077584bff583cd7a4e94e9a02fdec399ef46da6 - ffi (1.17.2-aarch64-linux-gnu) sha256=c910bd3cae70b76690418cce4572b7f6c208d271f323d692a067d59116211a1a - ffi (1.17.2-aarch64-linux-musl) sha256=69e6556b091d45df83e6c3b19d3c54177c206910965155a6ec98de5e893c7b7c - ffi (1.17.2-arm-linux-gnu) sha256=d4a438f2b40224ae42ec72f293b3ebe0ba2159f7d1bd47f8417e6af2f68dbaa5 - ffi (1.17.2-arm-linux-musl) sha256=977dfb7f3a6381206dbda9bc441d9e1f9366bf189a634559c3b7c182c497aaa3 - ffi (1.17.2-arm64-darwin) sha256=54dd9789be1d30157782b8de42d8f887a3c3c345293b57ffb6b45b4d1165f813 - ffi (1.17.2-x86_64-darwin) sha256=981f2d4e32ea03712beb26e55e972797c2c5a7b0257955d8667ba58f2da6440e - ffi (1.17.2-x86_64-linux-gnu) sha256=05d2026fc9dbb7cfd21a5934559f16293815b7ce0314846fee2ac8efbdb823ea - ffi (1.17.2-x86_64-linux-musl) sha256=97c0eb3981414309285a64dc4d466bd149e981c279a56371ef811395d68cb95c + fastimage (2.4.1) sha256=c64bebd46b6fd8943ab70c1e6e85ff728f970f2e48f92ecd249b6bc3a540ad20 + ffi (1.17.4) sha256=bcd1642e06f0d16fc9e09ac6d49c3a7298b9789bcb58127302f934e437d60acf + ffi (1.17.4-aarch64-linux-gnu) sha256=b208f06f91ffd8f5e1193da3cae3d2ccfc27fc36fba577baf698d26d91c080df + ffi (1.17.4-aarch64-linux-musl) sha256=9286b7a615f2676245283aef0a0a3b475ae3aae2bb5448baace630bb77b91f39 + ffi (1.17.4-arm64-darwin) sha256=19071aaf1419251b0a46852abf960e77330a3b334d13a4ab51d58b31a937001b + ffi (1.17.4-x86_64-darwin) sha256=aa70390523cf3235096cf64962b709b4cfbd5c082a2cb2ae714eb0fe2ccda496 + ffi (1.17.4-x86_64-linux-gnu) sha256=9d3db14c2eae074b382fa9c083fe95aec6e0a1451da249eab096c34002bc752d + ffi (1.17.4-x86_64-linux-musl) sha256=3fdf9888483de005f8ef8d1cf2d3b20d86626af206cbf780f6a6a12439a9c49e + fiber-annotation (0.2.0) sha256=7abfadf1d119f508867d4103bf231c0354d019cc39a5738945dec2edadaf6c03 + fiber-local (1.1.0) sha256=c885f94f210fb9b05737de65d511136ea602e00c5105953748aa0f8793489f06 + fiber-storage (1.0.1) sha256=f48e5b6d8b0be96dac486332b55cee82240057065dc761c1ea692b2e719240e1 fspath (3.1.2) sha256=b5ac9bafb97e2c8f8f9e303cd98ebd484be76fe9aa588bc4d01c6d99e78c9d75 globalid (1.3.0) sha256=05c639ad6eb4594522a0b07983022f04aa7254626ab69445a0e493aa3786ff11 goldiloader (6.0.0) sha256=613db1b28e9964291255a67a521f04d481b6afd6b9ca56ea1a612fd86e9a89c7 - google-protobuf (4.33.2) sha256=748150d6c642fd655ef39efa23ecf2abe6d616020039a6d1c1764be1da530315 - google-protobuf (4.33.2-aarch64-linux-gnu) sha256=822b2dcb707e94e652cd994642c31035935fca021adfac6164772c511eb7acd4 - google-protobuf (4.33.2-aarch64-linux-musl) sha256=c4b64428183cfd1953ec8c37beec1036668c8ec0865cfb0b18df21181ca397ee - google-protobuf (4.33.2-arm64-darwin) sha256=6d0ac185fed18768e5f16338455b1e4b7c38a97fc46f352e709f7a3007b64e1d - google-protobuf (4.33.2-x86_64-darwin) sha256=87cde586234674562cf099e2b708a65e376e2d39b0f0f48281f4b4ea182b47f8 - google-protobuf (4.33.2-x86_64-linux-gnu) sha256=73cba041477afcac92ff383fcbdec195ea28d96b994876d1deaa944d18f91786 - google-protobuf (4.33.2-x86_64-linux-musl) sha256=97cdf4f772c5540f9274603b00f1474ed5e6e2238b1d8b1585e77f941a36bd2c + google-protobuf (4.35.0) sha256=95346162c792ed78c9a28cbf2d937a53f706de6df36a27471582f63f03c30c0d + google-protobuf (4.35.0-aarch64-linux-gnu) sha256=2cabd61b420918aec1564f9f7414e455bf922d20c5f8139d62783df5558a7aea + google-protobuf (4.35.0-aarch64-linux-musl) sha256=f6b11f3420a4564f68e8233c95eac6924f6a727dfc2f81a56af2e09add551501 + google-protobuf (4.35.0-arm64-darwin) sha256=66ab26d3fc82b8950702e53ab16c198e3c0ea3f2a38aaaf1f32152da45593ac5 + google-protobuf (4.35.0-x86_64-darwin) sha256=05eb5c8bc9899135befff496fc0a3642e7ff3d0943f043841dcc456f5654fea0 + google-protobuf (4.35.0-x86_64-linux-gnu) sha256=999226f3b00cd9fddb1b26851d16060212fa1d90c406aaad47e574682b716059 + google-protobuf (4.35.0-x86_64-linux-musl) sha256=be0218520d77b2aee898b363514b03819f6f63f9c041ae0d0d79b4ce5247bffd guess_html_encoding (0.0.11) sha256=cab6468b945f38673fc41ad147fbbc89693b3c6c34b03b071e2ed669a603e098 hana (1.3.7) sha256=5425db42d651fea08859811c29d20446f16af196308162894db208cac5ce9b0d hashdiff (1.2.1) sha256=9c079dbc513dfc8833ab59c0c2d8f230fa28499cc5efb4b8dd276cf931457cd1 hashery (2.1.2) sha256=d239cc2310401903f6b79d458c2bbef5bf74c46f3f974ae9c1061fb74a404862 - hashie (5.0.0) sha256=9d6c4e51f2a36d4616cbc8a322d619a162d8f42815a792596039fc95595603da + hashie (5.1.0) sha256=c266471896f323c446ea8207f8ffac985d2718df0a0ba98651a3057096ca3870 highline (3.1.2) sha256=67cbd34d19f6ef11a7ee1d82ffab5d36dfd5b3be861f450fc1716c7125f4bb4a htmlentities (4.4.2) sha256=bbafbdf69f2eca9262be4efef7e43e6a1de54c95eb600f26984f71d2fe96c5c3 http_accept_language (2.1.1) sha256=0043f0d55a148cf45b604dbdd197cb36437133e990016c68c892d49dbea31634 - i18n (1.14.7) sha256=ceba573f8138ff2c0915427f1fc5bdf4aa3ab8ae88c8ce255eb3ecf0a11a5d0f - image_optim (0.31.4) sha256=5bffd0891268e8d189d46ee4b8599918581bba1032d244e6ace4779a434776c0 - image_size (3.4.0) sha256=c6a580513fe74947e25e5d3f0aea1e33add6c20f7d0007efa65504317b7f029a + i18n (1.14.8) sha256=285778639134865c5e0f6269e0b818256017e8cde89993fdfcbfb64d088824a5 + image_optim (0.32.0) sha256=457d5ea28ee93244c2aabc7134e06455587fb670f210e88e1be40aea882c2ba3 + image_size (3.6.0) sha256=1b9c4196cb658bf503a887920543a3991e927a4b767a5c770fb9665bce0dcb28 in_threads (1.6.0) sha256=91a7e6138d279dc632f59b8a9a409e47148948e297c0f69c92f9a2479a182149 inflection (1.0.0) sha256=ceba9b26fc28b9af82e33e822d28f78a4312af75687efec81d5ef1062498d355 - io-console (0.8.1) sha256=1e15440a6b2f67b6ea496df7c474ed62c860ad11237f29b3bd187f054b925fcb - irb (1.15.3) sha256=4349edff1efa7ff7bfd34cb9df74a133a588ba88c2718098b3b4468b81184aaa + io-console (0.8.2) sha256=d6e3ae7a7cc7574f4b8893b4fca2162e57a825b223a177b7afa236c5ef9814cc + irb (1.18.0) sha256=de9454a0703a54704b9811a5ef31a60c86949fbf4013fcf244fabc7c775248e3 iso8601 (0.13.0) sha256=298c2b15b7be5fa95a1372813d36a2257656cd8e906dfbc1f5cb409851425aa2 jmespath (1.6.2) sha256=238d774a58723d6c090494c8879b5e9918c19485f7e840f2c1c7532cf84ebcb1 - json (2.17.1) sha256=e0e4824541336a44915436f53e7ea74c687314fb8f88080fa1456f6a34ead92e - json-schema (6.0.0) sha256=79ecaffba197008912933f66f6c5428f5ce7716e42bb1a8f0d56079f2d58633f + json (2.19.9) sha256=9b9025b7cdddafa38d316eca0b2358488e42d417045c1b90d216a9fefe46b79a + json-schema (6.2.0) sha256=e8bff46ed845a22c1ab2bd0d7eccf831c01fe23bb3920caa4c74db4306813666 + json_completer (1.2.0) sha256=4665749172634eccb208c562eb59ea81dd7a612a1fa9a36df441ac473ff177b1 json_schemer (2.5.0) sha256=2f01fb4cce721a4e08dd068fc2030cffd0702a7f333f1ea2be6e8991f00ae396 jwt (2.10.1) sha256=e6424ae1d813f63e761a04d6284e10e7ec531d6f701917fadcd0d9b2deaf1cc5 - kgio (2.11.4) sha256=bda7a2146115998a5b07154e708e0ac02c38dcee7e793c33e2e14f600fdfffc6 + landlock (0.3) sha256=841ae1ef1318082a485ae919b6a481ceb9c2d3ac9294ada27e2a3c529446b23c language_server-protocol (3.17.0.5) sha256=fd1e39a51a28bf3eec959379985a72e296e9f9acfce46f6a79d31ca8760803cc - libv8-node (24.1.0.0) sha256=2f0e9ac629c4c5753eaf7001952bb6dce4eb596f3dc0df3049ee7d9cfb9471cd - libv8-node (24.1.0.0-aarch64-linux) sha256=fe7787bdb082d1101f65d8f42572ec6c634776a334d82b9fedded152e1d4f358 - libv8-node (24.1.0.0-arm64-darwin) sha256=f34bdd85787a32a16db137ffbe83feb1cd09f4d69ff3c43cd2f0a675656ee16b - libv8-node (24.1.0.0-x86_64-darwin) sha256=243cfae376d7d54b02fb9e8cfd2a2a08e791d066fb78252925a825f05805083b - libv8-node (24.1.0.0-x86_64-linux) sha256=0857486e64f7bd4133d4aa607c42d0abade1ab53dffcbfd30f12e0b7dba8f157 - libv8-node (24.1.0.0-x86_64-linux-musl) sha256=080a243ac014054780cc0d0be2c18b93642a139d09622c0cfd1ebc8614d24437 + libv8-node (24.12.0.1) sha256=d93d23b861bfe5de3ba829e34a142402fb83b4c3592dd58d9ac4e027588d739a + libv8-node (24.12.0.1-aarch64-linux) sha256=22bd0246cde85d70c88cf772727ac3677a20ac1d169105f82efe5f1f7c39f755 + libv8-node (24.12.0.1-aarch64-linux-musl) sha256=791b5960f79525e87d1bd1e5f2bf3715ef2a38bac6c97f297853e98a8411ba89 + libv8-node (24.12.0.1-arm64-darwin) sha256=124904a46b4a15c01ac024b4cf537dcf199cfb49a309cc59f66315e156e48339 + libv8-node (24.12.0.1-x86_64-darwin) sha256=5eee594393e7a27dc230a7fca5f9f72fc11ed58bce655624a683f4d027bf2d16 + libv8-node (24.12.0.1-x86_64-linux) sha256=e1236be4765edc109bd6ecef2989cf781bdcbac6f6e2cb3236ec9568540a9cfa + libv8-node (24.12.0.1-x86_64-linux-musl) sha256=7563175534c40893815bfd28e8fe27e12ff1656700c7208f53de06d14001712b lint_roller (1.1.0) sha256=2c0c845b632a7d172cb849cc90c1bce937a28c5c8ccccb50dfd46a485003cc87 - listen (3.9.0) sha256=db9e4424e0e5834480385197c139cb6b0ae0ef28cc13310cfd1ca78377d59c67 + liquid (5.12.0) sha256=5a3c2c2430cd925d21c53e4ed9abea52cd0a9da53b541422f81dee79aca2a673 + listen (3.10.0) sha256=c6e182db62143aeccc2e1960033bebe7445309c7272061979bb098d03760c9d2 literate_randomizer (0.4.0) sha256=05073c9b383983b1ed7e26c40b963468e91bc86e663b3eeff3a4af91b84217b1 logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203 lograge (0.14.0) sha256=42371a75823775f166f727639f5ddce73dd149452a55fc94b90c303213dc9ae1 logstash-event (1.2.02) sha256=89a7dc60fac67070a5f60ba07409e541b09cb58906c391e90cb74b9f217467ae - logster (2.20.1) sha256=a84bbe58e7f99c4eb0246ea3a952ed87950f63aeea3cdbe7147018d10cc9a2a8 - loofah (2.24.1) sha256=655a30842b70ec476410b347ab1cd2a5b92da46a19044357bbd9f401b009a337 + logster (2.21.0) sha256=5edc71ea98d5f89fe081556893f77b7c4d2617341dae7d421fc37539cfb13a02 + loofah (2.25.1) sha256=d436c73dbd0c1147b16c4a41db097942d217303e1f7728704b37e4df9f6d2e04 lru_redux (1.1.0) sha256=ee71d0ccab164c51de146c27b480a68b3631d5b4297b8ffe8eda1c72de87affb lz4-ruby (0.3.3) sha256=011be5ee230cfddc8308d4e2e0b05300c7bc755a887de799377ca6c5b6aede89 mail (2.9.0) sha256=6fa6673ecd71c60c2d996260f9ee3dd387d4673b8169b502134659ece6d34941 + markbridge (0.3.1) sha256=a36dff4e79e666fe7f944d4a806f507212191b80d22878ab3ee9008d9df975a3 matrix (0.4.3) sha256=a0d5ab7ddcc1973ff690ab361b67f359acbb16958d1dc072b8b956a286564c5b maxminddb (0.1.22) sha256=50933be438fbed9dceabef4163eab41884bd8830d171fdb8f739bee769c4907e memory_profiler (1.1.0) sha256=79a17df7980a140c83c469785905409d3027ca614c42c086089d128b805aa8f8 - message_bus (4.4.1) sha256=719ec5c3167e6571030dee0f43eafa99dbf68ae67fca6fd63c265ff55c0c2adb + message_bus (4.5.2) sha256=f1381bce05d9560e5ea7dfa56e44dfdf0080bda0ac02f4011eb662bb7dd9e778 messageformat-wrapper (1.1.0) sha256=ecea879626e412d1bc841c457dacfcbb1a62cf88ca83573e4ea34bb371f160bc method_source (1.1.0) sha256=181301c9c45b731b4769bc81e8860e72f9161ad7d66dd99103c9ab84f560f5c5 + migrations-converters (0.0.1) + migrations-core (0.0.1) + migrations-importer (0.0.1) + migrations-tooling (0.0.1) mime-types (3.7.0) sha256=dcebf61c246f08e15a4de34e386ebe8233791e868564a470c3fe77c00eed5e56 - mime-types-data (3.2025.0924) sha256=f276bca15e59f35767cbcf2bc10e023e9200b30bd6a572c1daf7f4cc24994728 + mime-types-data (3.2026.0414) sha256=461c4c655373a44bd6c5fe54bcf5b7776026ea96e808144b1ec465c4b99148cc mini_mime (1.1.5) sha256=8681b7e2e4215f2a159f9400b5816d85e9d8c6c6b491e96a12797e798f8bccef mini_portile2 (2.8.9) sha256=0cd7c7f824e010c072e33f68bc02d85a00aeb6fce05bb4819c03dfd3c140c289 - mini_racer (0.19.1) sha256=3e4ec1bfbb3ebb39c23d8fc4b6e641b5dc6767a173a8938356c271895e5d6de3 - mini_scheduler (0.18.0) sha256=d2f084f38da8d76c5844a92f0d6bd01fc9982a8b5e6c7679b6cf44c82da33503 + mini_racer (0.21.4) sha256=ccf5e37288097f079d84449e111cd4e2170b37f3b80b30900766ffa6df4632db + mini_scheduler (0.20.0) sha256=bd8948228bf4a48a603a8e20de850d16b68295413d8651c8c05288f4c6997b05 mini_sql (1.6.0) sha256=5296637f6a4af5bb43e06788037e9a2968ff9c8eb65928befcba8cb41f42d6ee mini_suffix (0.3.3) sha256=8d1d33f92f69a2247c9b7d27173235da90479d955cdb863b63a7f53843b722e7 - minio_runner (1.0.1) sha256=3675ad7abd79177b3fdd9f37e20fe46f7d4dcbb41f3f30a53db2207277241795 - minitest (5.26.2) sha256=f021118a6185b9ba9f5af71f2ba103ad770c75afde9f2ab8da512677c550cde3 - mocha (2.8.2) sha256=1f77e729db47e72b4ef776461ce20caeec2572ffdf23365b0a03608fee8f4eee - msgpack (1.8.0) sha256=e64ce0212000d016809f5048b48eb3a65ffb169db22238fb4b72472fecb2d732 - multi_json (1.18.0) sha256=23f70cf73e2895a33e6d10f0ec955b28ef5627ca4bbad0f292e7d16f4675596f - multi_xml (0.7.2) sha256=307a96dc48613badb7b2fc174fd4e62d7c7b619bc36ea33bfd0c49f64f5787ce + minio_runner (1.1.0) sha256=ebb2bedea253011fcd34ed3229706c9b453f0f363601dee7ce065e0163bdcf2f + minitest (6.0.6) sha256=153ea36d1d987a62942382b61075745042a2b3123b1cd48f4c3675af9cc7d6f1 + mocha (3.1.0) sha256=75f42d69ebfb1f10b32489dff8f8431d37a418120ecdfc07afe3bc183d4e1d56 + msgpack (1.8.3) sha256=8bda4a6428d3244e50d6bd55854d354edbada88a4e1f4f5731a39a0f86bee6a1 + multi_json (1.20.1) sha256=2f3934e805cc45ef91b551a1f89d0e9191abd06a5e04a2ef09a6a036c452ca6d + multi_xml (0.9.1) sha256=7ce766b59c17241ed62976caeae1fae9b2431b263398c35396239a68c4a64e57 multipart-post (2.4.1) sha256=9872d03a8e552020ca096adadbf5e3cb1cd1cdd6acd3c161136b8a5737cdb4a8 - mustache (1.1.1) sha256=90891fdd50b53919ca334c8c1031eada1215e78d226d5795e523d6123a2717d0 - net-http (0.8.0) sha256=df42c47ce9f9e95ad32a317c97c12f945bc1af365288837ea4ff259876ecb46d - net-imap (0.5.12) sha256=cb8cd05bd353fcc19b6cbc530a9cb06b577a969ea10b7ddb0f37787f74be4444 + mustache (1.1.2) sha256=d420243400354da78ded2d81541b381ad8d94e8e9b95022d0d71d66f8ef36c00 + net-http (0.9.1) sha256=25ba0b67c63e89df626ed8fac771d0ad24ad151a858af2cc8e6a716ca4336996 + net-imap (0.6.4.1) sha256=29f0360d75a7efd3539f16ac1957dea5c0a51ddeceb348db4553c3120914ea0d net-pop (0.1.2) sha256=848b4e982013c15b2f0382792268763b748cce91c9e91e36b0f27ed26420dff3 net-protocol (0.2.2) sha256=aa73e0cba6a125369de9837b8d8ef82a61849360eba0521900e2c3713aa162a8 net-smtp (0.5.1) sha256=ed96a0af63c524fceb4b29b0d352195c30d82dd916a42f03c62a3a70e5b70736 nio4r (2.7.5) sha256=6c90168e48fb5f8e768419c93abb94ba2b892a1d0602cb06eef16d8b7df1dca1 - nokogiri (1.18.10) sha256=d5cc0731008aa3b3a87b361203ea3d19b2069628cb55e46ac7d84a0445e69cc1 - nokogiri (1.18.10-aarch64-linux-gnu) sha256=7fb87235d729c74a2be635376d82b1d459230cc17c50300f8e4fcaabc6195344 - nokogiri (1.18.10-aarch64-linux-musl) sha256=7e74e58314297cc8a8f1b533f7212d1999dbe2639a9ee6d97b483ea2acc18944 - nokogiri (1.18.10-arm-linux-gnu) sha256=51f4f25ab5d5ba1012d6b16aad96b840a10b067b93f35af6a55a2c104a7ee322 - nokogiri (1.18.10-arm-linux-musl) sha256=1c6ea754e51cecc85c30ee8ab1e6aa4ce6b6e134d01717e9290e79374a9e00aa - nokogiri (1.18.10-arm64-darwin) sha256=c2b0de30770f50b92c9323fa34a4e1cf5a0af322afcacd239cd66ee1c1b22c85 - nokogiri (1.18.10-x86_64-darwin) sha256=536e74bed6db2b5076769cab5e5f5af0cd1dccbbd75f1b3e1fa69d1f5c2d79e2 - nokogiri (1.18.10-x86_64-linux-gnu) sha256=ff5ba26ba2dbce5c04b9ea200777fd225061d7a3930548806f31db907e500f72 - nokogiri (1.18.10-x86_64-linux-musl) sha256=0651fccf8c2ebbc2475c8b1dfd7ccac3a0a6d09f8a41b72db8c21808cb483385 - oauth (1.1.3) sha256=71ca1b534561bf31a9b2aee01147384064b555e796d1a0fe2591806bb4bdd633 - oauth-tty (1.0.6) sha256=9e8bd1861d367cce18318d8f214f2e1a1d7cb3898de0a9ea79162b4fdecb3152 + nokogiri (1.19.3) sha256=78312cbac32a40c812780d9678221b79d51288eec00054c1a8d15f7ce05960e8 + nokogiri (1.19.3-aarch64-linux-gnu) sha256=46b89e5d7b9e844c2ee360794240c6ea2a4e6fa0c5892a4ed487db621224b639 + nokogiri (1.19.3-aarch64-linux-musl) sha256=8392dfdcd21be7a94dbbe9ccc138dea01b97b24cb2dc02a114ca98bfb1d9a0b7 + nokogiri (1.19.3-arm64-darwin) sha256=71b9bd424b1b7abc18b05052a1a3cfd3627abdca62be280854cc411791357e42 + nokogiri (1.19.3-x86_64-darwin) sha256=77f3fba57d46c53ab31e62fc6c28f705109d1bf6264356c76f132b2be5728d4d + nokogiri (1.19.3-x86_64-linux-gnu) sha256=2f5078620fe12e83669b5b17311b32532a8153d02eee7ad06948b926d6080976 + nokogiri (1.19.3-x86_64-linux-musl) sha256=248c906d2166eca5efb56d52fdee5f9a1f51d69a72e2b64fdac647b4ce39ea3f + oauth (1.1.5) sha256=0ec467908f5819a54d1659d33e8bb520e8475cc87a452d6ecfaa5db351999cca + oauth-tty (1.0.8) sha256=d9a63b67af17c22517f868c59f12178e4ee19a367536d1a6dcb74d9d07a41e07 oauth2 (1.4.11) sha256=6739fcc8872bc94f476b0cae3e8bd78a56d8364b1b79b0757794c25e152d5c10 - octokit (5.6.1) sha256=48efb2c2aa83c2c394358f073d35ad71d4ac0f14870cd00ceebd3ef3949fe495 + octokit (10.0.0) sha256=82e99a539b7637b7e905e6d277bb0c1a4bed56735935cc33db6da7eae49a24e8 oj (3.16.12) sha256=ad9fad6a06dabcf4cfe6a420690a4375377685c16eee0ae88e8d38a43ed7b556 omniauth (2.1.2) sha256=def03277298b8f8a5d3ff16cdb2eb5edb9bffed60ee7dda24cc0c89b3ae6a0ce - omniauth-facebook (9.0.0) sha256=440ad8dd9edc9ebec1fd6607b787667c8ce70d2969c2030d7e9ca42a271af854 + omniauth-facebook (10.0.0) sha256=dfdc6cbada5387572d554784861546cf6382f9fa16c4731cbe5813e570fcb9e1 omniauth-github (2.0.0) sha256=1ca26576125a97e27d3f8dc39cd98853d7382dd0fc04a40d3b9ec345ee378649 omniauth-google-oauth2 (1.0.1) sha256=2ed7a4ac8d98ab824c95e0d6760784abf1248262b3ba2ab56ec7ebd7074d12a6 omniauth-oauth (1.2.1) sha256=25bf22c90234280fa825200490f03ff1ce7d76f1a4fbd6c882c6c5b169c58da8 @@ -1121,150 +1204,148 @@ CHECKSUMS openssl-signature_algorithm (1.3.0) sha256=a3b40b5e8276162d4a6e50c7c97cdaf1446f9b2c3946a6fa2c14628e0c957e80 optimist (3.2.1) sha256=8cf8a0fd69f3aa24ab48885d3a666717c27bc3d9edd6e976e18b9d771e72e34e ostruct (0.6.3) sha256=95a2ed4a4bd1d190784e666b47b2d3f078e4a9efda2fccf18f84ddc6538ed912 - parallel (1.27.0) sha256=4ac151e1806b755fb4e2dc2332cbf0e54f2e24ba821ff2d3dcf86bf6dc4ae130 - parallel_tests (5.5.0) sha256=783c1e4da27c4096a7b360f080ae03cf1122cb0dfdb4fe827013e0521642f666 - parser (3.3.10.0) sha256=ce3587fa5cc55a88c4ba5b2b37621b3329aadf5728f9eafa36bbd121462aabd6 + parallel (2.1.0) sha256=b35258865c2e31134c5ecb708beaaf6772adf9d5efae28e93e99260877b09356 + parallel_tests (5.7.0) sha256=3f1762c46ca2c223b8af8ef877217f9d76974e191bfa934f2580b58bcf1d005c + parser (3.3.11.1) sha256=d17ace7aabe3e72c3cc94043714be27cc6f852f104d81aa284c2281aecc65d54 pastel (0.8.0) sha256=481da9fb7d2f6e6b1a08faf11fa10363172dc40fd47848f096ae21209f805a75 - pdf-reader (2.15.0) sha256=c5025750bec8de7b11cfd1d1ccc2b944d2782c3638cd15b5ee1531d1206c0886 - pg (1.6.2) sha256=58614afd405cc9c2c9e15bffe8432e0d6cfc58b722344ad4a47c73a85189c875 - pg (1.6.2-aarch64-linux) sha256=0503c6be5b0ca5ca3aaf91f2ed638f90843313cb81e8e7d7b60ad4bb62c3d131 - pg (1.6.2-aarch64-linux-musl) sha256=c4402447c56279bea80472770522e95c8a2ff49b7f3e534d0cdb01eb27fd6eb8 - pg (1.6.2-arm64-darwin) sha256=4d44500b28d5193b26674583d199a6484f80f1f2ea9cf54f7d7d06a1b7e316b6 - pg (1.6.2-x86_64-darwin) sha256=c441a55723584e2ae41749bf26024d7ffdfe1841b442308ed50cd6b7fda04115 - pg (1.6.2-x86_64-linux) sha256=525f438137f2d1411a1ebcc4208ec35cb526b5a3b285a629355c73208506a8ea - pg (1.6.2-x86_64-linux-musl) sha256=e5c8668ffeaf7a9c3458a3dcb002dffa6d8ee1fca9ae534ffef861d2b15644ca - pitchfork (0.18.1) sha256=98f294024352c208d28732f7c009eed0d9ccae48d878a3b42722687338713059 - playwright-ruby-client (1.57.0) sha256=978bd6a25a0e85c633216bf0d73e050217ca640025b8258caf6ea8034f3e9ef4 + pdf-reader (2.15.1) sha256=18c6a986a84a3117fa49f4279fc2de51f5d2399b71833df5d2bccd595c7068ce + pg (1.6.3) sha256=1388d0563e13d2758c1089e35e973a3249e955c659592d10e5b77c468f628a99 + pg (1.6.3-aarch64-linux) sha256=0698ad563e02383c27510b76bf7d4cd2de19cd1d16a5013f375dd473e4be72ea + pg (1.6.3-aarch64-linux-musl) sha256=06a75f4ea04b05140146f2a10550b8e0d9f006a79cdaf8b5b130cde40e3ecc2c + pg (1.6.3-arm64-darwin) sha256=7240330b572e6355d7c75a7de535edb5dfcbd6295d9c7777df4d9dddfb8c0e5f + pg (1.6.3-x86_64-darwin) sha256=ee2e04a17c0627225054ffeb43e31a95be9d7e93abda2737ea3ce4a62f2729d6 + pg (1.6.3-x86_64-linux) sha256=5d9e188c8f7a0295d162b7b88a768d8452a899977d44f3274d1946d67920ae8d + pg (1.6.3-x86_64-linux-musl) sha256=9c9c90d98c72f78eb04c0f55e9618fe55d1512128e411035fe229ff427864009 + pitchfork (0.18.2) sha256=95d0b5a25792ebc94d627abd8a206652ff22acff1cc32ecd42c71669ead4ab94 + playwright-ruby-client (1.60.0) sha256=942242d6130e797b21213d9c49dc09d31235cab429a9edae73401ed112c94853 pp (0.6.3) sha256=2951d514450b93ccfeb1df7d021cae0da16e0a7f95ee1e2273719669d0ab9df6 prettier_print (1.2.1) sha256=a72838b5f23facff21f90a5423cdcdda19e4271092b41f4ea7f50b83929e6ff9 prettyprint (0.2.0) sha256=2bc9e15581a94742064a3cc8b0fb9d45aae3d03a1baa6ef80922627a0766f193 - prism (1.6.0) sha256=bfc0281a81718c4872346bc858dc84abd3a60cae78336c65ad35c8fbff641c6b + prism (1.9.0) sha256=7b530c6a9f92c24300014919c9dcbc055bf4cdf51ec30aed099b06cd6674ef85 progress (3.6.0) sha256=360ed306dfa43d6174e847d563c70736dca249e2333cfec4b0387306c86cd573 - propshaft (1.3.1) sha256=9acc664ef67e819ffa3d95bd7ad4c3623ea799110c5f4dee67fa7e583e74c392 - pry (0.15.2) sha256=12d54b8640d3fa29c9211dd4ffb08f3fd8bf7a4fd9b5a73ce5b59c8709385b6b + propshaft (1.3.2) sha256=1d56a3e56a92c21bfc29caf07406b5386b00d4c47ddf357cf989a5a234b1389e + pry (0.16.0) sha256=d76c69065698ed1f85e717bd33d7942c38a50868f6b0673c636192b3d1b6054e pry-rails (0.3.11) sha256=a69e28e24a34d75d1f60bcf241192a54253f8f7ef8a62cba1e75750a9653593d - pry-stack_explorer (0.6.1) sha256=a2dbea9b47c4ad00cf5c1ce21499f8128b915089e90015f7bafb6e9453baf340 - psych (5.2.6) sha256=814328aa5dcb6d604d32126a20bc1cbcf05521a5b49dbb1a8b30a07e580f316e - public_suffix (7.0.0) sha256=f7090b5beb0e56f9f10d79eed4d5fbe551b3b425da65877e075dad47a6a1b095 - puma (7.1.0) sha256=e45c10cb124f224d448c98db653a75499794edbecadc440ad616cf50f2fd49dd + psych (5.4.0) sha256=14f72d69a611af663d7d70e4a7b67d9eb1f3ae9f8d916b478961d5a0075ba5b7 + public_suffix (7.0.5) sha256=1a8bb08f1bbea19228d3bed6e5ed908d1cb4f7c2726d18bd9cadf60bc676f623 + puma (8.0.2) sha256=c8ed871dfbbe66448ea9ffd46692342d9804d4071522b52b5331b7b6e7b686fb racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f - rack (2.2.21) sha256=14e2f72f0765455fe424ff601588ac5ce84e95784f59e99251ffe1527152f739 + rack (2.2.23) sha256=a8fe9d7e07064770b8ec123663fded8a59ef7e2b6db5cda7173d45a5718ab69c rack-mini-profiler (4.0.1) sha256=485810c23211f908196c896ea10cad72ed68780ee2998bec1f1dfd7558263d78 rack-protection (3.2.0) sha256=3c74ba7fc59066453d61af9bcba5b6fe7a9b3dab6f445418d3b391d5ea8efbff rack-session (1.0.2) sha256=a02115e5420b4de036839b9811e3f7967d73446a554b42aa45106af335851d76 rack-test (2.2.0) sha256=005a36692c306ac0b4a9350355ee080fd09ddef1148a5f8b2ac636c720f5c463 rackup (1.0.1) sha256=ba86604a28989fe1043bff20d819b360944ca08156406812dca6742b24b3c249 rails-dom-testing (2.3.0) sha256=8acc7953a7b911ca44588bf08737bc16719f431a1cc3091a292bca7317925c1d - rails-html-sanitizer (1.6.2) sha256=35fce2ca8242da8775c83b6ba9c1bcaad6751d9eb73c1abaa8403475ab89a560 + rails-html-sanitizer (1.7.0) sha256=28b145cceaf9cc214a9874feaa183c3acba036c9592b19886e0e45efc62b1e89 rails_failover (2.3.0) sha256=eed6ea0674fd6f9f6b070ad297ad2ead121ecf9202920f6068b6a4f29d9491c9 rails_multisite (7.0.0) sha256=7aacf364ed86d2bee73fb679cbfe6c343ce89067b9746b3d5857fffc57f036f2 - railties (8.0.4) sha256=8203d853dcffab4abcdd05c193f101676a92068075464694790f6d8f72d5cb47 + railties (8.0.5) sha256=ad98c6e9a096b7e8cf63c70872b60ec6c1d4152be2a4ffa63483ec02a837a9d5 rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a raindrops (0.20.1) sha256=aa0eb9ff6834f2d9e232ba688bd49cb30be893bc5a3452e74722c94c1fab4730 - rake (13.3.1) sha256=8c9e89d09f66a26a01264e7e3480ec0607f0c497a861ef16063604b1b08eb19c - rake-compiler-dock (1.10.0) sha256=dd62ee19df2a185a3315697e560cfa8cc9129901332152851e023fab0e94bf11 + rake (13.4.2) sha256=cb825b2bd5f1f8e91ca37bddb4b9aaf345551b4731da62949be002fa89283701 + rake-compiler-dock (1.12.0) sha256=f13205c2738f3d2053afcd03491a9e4541b22a59a0bfc53fc8bc883bd8188023 rb-fsevent (0.11.2) sha256=43900b972e7301d6570f64b850a5aa67833ee7d87b458ee92805d56b7318aefe rb-inotify (0.11.1) sha256=a0a700441239b0ff18eb65e3866236cd78613d6b9f78fea1f9ac47a85e47be6e - rb_sys (0.9.119) sha256=64393fa148e402e1b79b64496d2aabfc7df79da6b822b8bb48dc1141eaf40b4b - rbs (3.9.5) sha256=eabaaf60aee84e38cbf94839c6e1b9cd145c7295fc3cc0e88c92e4069b1119b0 - rbtrace (0.5.3) sha256=c432292f305d9ab12fd47d9722e0d5210d983758a951fe6107c36cc955cb923f - rchardet (1.10.0) sha256=d5ea2ed61a720a220f1914778208e718a0c7ed2a484b6d357ba695aa7001390f - rdoc (6.17.0) sha256=0f50d4e568fc98195f9bb155a9e8dff6c7feabfb515fb22ef6df1d12ad5a02b7 + rb_sys (0.9.128) sha256=9ab81f4d6d4e1895de18762232362d1264475aa7035756b50441e442130538fd + rbs (4.0.2) sha256=af75671e66cd03434cc546622741ebf83f6197ec4328375805306330bf78ef25 + rbtrace (0.5.4) sha256=8279e40076530f0301e255d0669cfe0d7d31ef872d1ae475c486e5a1199b757b + rchardet (1.10.2) sha256=e041cb195f464dc10e49ab130f78c8b5956cd9a4f4f6df84e0c183b87c135f33 + rdoc (7.2.0) sha256=8650f76cd4009c3b54955eb5d7e3a075c60a57276766ebf36f9085e8c9f23192 redcarpet (3.6.1) sha256=d444910e6aa55480c6bcdc0cdb057626e8a32c054c29e793fa642ba2f155f445 redis (5.4.0) sha256=798900d869418a9fc3977f916578375b45c38247a556b61d58cba6bb02f7d06b - redis-client (0.26.1) sha256=1e39d2862c4516a75ff777ee6ed08827af39336bfece4a48e944244891d9a073 + redis-client (0.30.0) sha256=743f11ed42f0a41a0341554087b077479fec7e2d47a7c123fd90a12c0db5e477 redis-namespace (1.11.0) sha256=e91a1aa2b2d888b6dea1d4ab8d39e1ae6fac3426161feb9d91dd5cca598a2239 - regexp_parser (2.11.3) sha256=ca13f381a173b7a93450e53459075c9b76a10433caadcb2f1180f2c741fc55a4 + regexp_parser (2.12.0) sha256=35a916a1d63190ab5c9009457136ae5f3c0c7512d60291d0d1378ba18ce08ebb reline (0.6.3) sha256=1198b04973565b36ec0f11542ab3f5cfeeec34823f4e54cebde90968092b1835 request_store (1.7.0) sha256=e1b75d5346a315f452242a68c937ef8e48b215b9453a77a6c0acdca2934c88cb rexml (3.4.4) sha256=19e0a2c3425dfbf2d4fc1189747bdb2f849b6c5e74180401b15734bc97b5d142 rinku (2.0.6) sha256=8b60670e3143f3db2b37efa262971ce3619ec23092045498ef9f077d82828d7d rotp (6.3.0) sha256=75d40087e65ed0d8022c33055a6306c1c400d1c12261932533b5d6cbcd868854 - rouge (4.7.0) sha256=dba5896715c0325c362e895460a6d350803dbf6427454f49a47500f3193ea739 - rqrcode (3.1.1) sha256=4c2e1e36dab80720062388cfc827986ab622dc652437214a5fb6382985b6f00f - rqrcode_core (2.0.1) sha256=52f76d97ec837fa91b15a15a95c5c2740b22d722db5d6b071f76d4b40a3ba98a - rrule (0.7.0) sha256=816b6ac33c5705addfe25de3c3de05003ae68ae2ca02cf5c0e805ee387851f87 + rouge (5.0.0) sha256=e2de9bba2f9cb88f8a73bca3643b560b2b398f32f91bf716f584477bc0175ebc + rqrcode (3.2.0) sha256=64c1494ca6bb67d731330f38b50e3fd09eeab4f5dcd04b608e21218d1d0b9542 + rqrcode_core (2.1.0) sha256=f303b85df89c1b8fc5ee8dc19808c9dc4330e6329b660d99d4a8cbb36ca13051 + rrule (0.8.0) sha256=abb19a334efe441879012de9c2f5589372a20097a63a70f5ff9d3b0b4504a4f2 rspec (3.13.2) sha256=206284a08ad798e61f86d7ca3e376718d52c0bc944626b2349266f239f820587 rspec-core (3.13.6) sha256=a8823c6411667b60a8bca135364351dda34cd55e44ff94c4be4633b37d828b2d rspec-expectations (3.13.5) sha256=33a4d3a1d95060aea4c94e9f237030a8f9eae5615e9bd85718fe3a09e4b58836 rspec-html-matchers (0.10.0) sha256=d424bfeb0104884478be299b6695b56c2d0432bb77dc9cedecb5138e91c0e9ae - rspec-mocks (3.13.7) sha256=0979034e64b1d7a838aaaddf12bf065ea4dc40ef3d4c39f01f93ae2c66c62b1c + rspec-mocks (3.13.8) sha256=086ad3d3d17533f4237643de0b5c42f04b66348c28bf6b9c2d3f4a3b01af1d47 rspec-multi-mock (0.3.1) sha256=289470f28d1d9dcdecabf70e9a14f97b0dc7e3dba090dfbe4c98c64ebd53794c - rspec-rails (8.0.2) sha256=113139a53f5d068d4f48d1c29ad5f982013ed9b0daa69d7f7b266eda5d433ace - rspec-support (3.13.6) sha256=2e8de3702427eab064c9352fe74488cc12a1bfae887ad8b91cba480ec9f8afb2 - rss (0.3.1) sha256=b46234c04551b925180f8bedfc6f6045bf2d9998417feda72f300e7980226737 + rspec-rails (8.0.4) sha256=06235692fc0892683d3d34977e081db867434b3a24ae0dd0c6f3516bad4e22df + rspec-support (3.13.7) sha256=0640e5570872aafefd79867901deeeeb40b0c9875a36b983d85f54fb7381c47c + rss (0.3.3) sha256=37ef1ec4d691d67edbe92159079a4e89a0965e6a6b32246009ae3d734d12d1ab rswag-specs (2.17.0) sha256=a3b2bdf6df89f8741fe4a4ee47ceb1e77dc13e1c96bbe07352117d6e61afa9e3 rtlcss (0.2.1) sha256=213d5a00bf61267f93a7a516d699d77e1cc5f396743abb33c01e3f3243a7bf60 - rubocop (1.81.7) sha256=6fb5cc298c731691e2a414fe0041a13eb1beed7bab23aec131da1bcc527af094 - rubocop-ast (1.48.0) sha256=22df9bbf3f7a6eccde0fad54e68547ae1e2a704bf8719e7c83813a99c05d2e76 - rubocop-capybara (2.22.1) sha256=ced88caef23efea53f46e098ff352f8fc1068c649606ca75cb74650970f51c0c - rubocop-discourse (3.13.3) sha256=637395e37ac45f0c5ba4376d7648b5f1e3a8406697c38befb66a9729738a059f + rubocop (1.86.1) sha256=44415f3f01d01a21e01132248d2fd0867572475b566ca188a0a42133a08d4531 + rubocop-ast (1.49.1) sha256=4412f3ee70f6fe4546cc489548e0f6fcf76cafcfa80fa03af67098ffed755035 + rubocop-capybara (2.23.0) sha256=f9ea1ba3a7561ee8e88cf76fc378ce517ce5327155f305ee7b5c2500e5aee357 + rubocop-discourse (3.18.0) sha256=bdb31f13cbb1ed82443b5a53b36efbce3b52a77b7a0f3ee7b421ce81d937ce0b + rubocop-discourse-base (1.0.0) sha256=a4121f0f2a8e32c3259fee22106af9fd35372cbeac14b0c69673bdee79b472b7 rubocop-factory_bot (2.28.0) sha256=4b17fc02124444173317e131759d195b0d762844a71a29fe8139c1105d92f0cb - rubocop-rails (2.33.4) sha256=34ec8f6637706dc224483d949ccc88b3e41596a81a11a1ec0c7d74ecbea356b5 - rubocop-rspec (3.8.0) sha256=28440dccb3f223a9938ca1f946bd3438275b8c6c156dab909e2cb8bc424cab33 + rubocop-rails (2.34.3) sha256=10d37989024865ecda8199f311f3faca990143fbac967de943f88aca11eb9ad2 + rubocop-rspec (3.9.0) sha256=8fa70a3619408237d789aeecfb9beef40576acc855173e60939d63332fdb55e2 rubocop-rspec_rails (2.32.0) sha256=4a0d641c72f6ebb957534f539d9d0a62c47abd8ce0d0aeee1ef4701e892a9100 - ruby-lsp (0.26.4) sha256=1cb3046a066c8f1983dfe5f0cd3baa76034d6ba156e8ab460b15ab129d37a9f7 + ruby-lsp (0.26.9) sha256=33a01c001c00a76b4e821efc04ed7572983430f31ca5d6f3e343d0b6ccab4129 ruby-lsp-rails (0.4.8) sha256=f09d1f926d4063deeb2f3049311925c20dfe6c912371e3bcd04a265a865c44ae - ruby-lsp-rspec (0.1.28) sha256=0db3b3ffba08c6d70eb7831e79090a1863f572fe131ed0ecfce8a2f7d01bf491 - ruby-prof (1.7.2) sha256=270424fcac37e611f2d15a55226c4628e234f8434e1d7c25ca8a2155b9fc4340 + ruby-lsp-rspec (0.1.29) sha256=798be579723376cd56b17d32373288fb1163e4cfe2024c7d068516a1cf214ee5 + ruby-prof (2.0.5) sha256=dbc3b5112089538ac33303145db0cbd77cbdcdbc05b09e44a967ff72a36d6c0e ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33 ruby-rc4 (0.1.5) sha256=00cc40a39d20b53f5459e7ea006a92cf584e9bc275e2a6f7aa1515510e896c03 - ruby-readability (0.7.2) sha256=7351ddc89ac62ecdd35336acb1313ac29dc1dad9745d59f25109ec2215c6580c + ruby-readability (0.7.3) sha256=bd213fab037118cc15d999e167a8ea2cc6b689dc78c033e78fb36a2a37efc241 ruby2_keywords (0.0.5) sha256=ffd13740c573b7301cf7a2e61fc857b2a8e3d3aff32545d6f8300d8bae10e3ef - rubyzip (2.4.1) sha256=8577c88edc1fde8935eb91064c5cb1aef9ad5494b940cf19c775ee833e075615 + rubyzip (3.3.1) sha256=2ed92112c7c43ba2b2527f35e6d99d9c2c99270b640aad5227516436481b1e4e + samovar (2.5.1) sha256=8a9fc41eb8868084f0321eb41678c485cfbc7d282fb306c0be67c3284b1d2394 sanitize (7.0.0) sha256=269d1b9d7326e69307723af5643ec032ff86ad616e72a3b36d301ac75a273984 - sass-embedded (1.91.0) sha256=bd01003af7959f73205ba828aaf033209c26b35598d73cad14a83907ca8cb847 - sass-embedded (1.91.0-aarch64-linux-gnu) sha256=932bf7223ffbbdeefc91cd364de6bf9dbfdc7d80201911eb4dae8d9a7f5bee50 - sass-embedded (1.91.0-aarch64-linux-musl) sha256=08449fac861094055a1afe7da376f887f8192b3dba6658db1de7be17d32355c4 - sass-embedded (1.91.0-arm-linux-gnueabihf) sha256=8e971474d34bdf15a31f5d4b0d7fcfb8bee87177d875323d7cc6d24e95602ca6 - sass-embedded (1.91.0-arm-linux-musleabihf) sha256=6134921019684df17c71f976404a2a23c561d8ced727dcf7ab78ad33c18210b6 - sass-embedded (1.91.0-arm64-darwin) sha256=04df4cb5661ea0c4bd2f2e819e73f22fee97307e58117ea158ae6c828ece9a77 - sass-embedded (1.91.0-x86_64-darwin) sha256=8deab415ffc209249f27369a620be2497221ad40fe60fa86b6e961b13622ea76 - sass-embedded (1.91.0-x86_64-linux-gnu) sha256=f94852f7b5442a2a34994544a578f7157cd64dc1a3b7b922baf059328734e813 - sass-embedded (1.91.0-x86_64-linux-musl) sha256=d8cd06bc64fea00070fc4c89d306d7def0d7b343510b52ad9c86f9b285853bbf - sassc-embedded (1.80.5) sha256=b2720c938de54e9798bea17bc044ea0df05f552acec30b8e9a79060cceb9cb3e + sass-embedded (1.100.0) sha256=b7d4831f304be5ba8717b2a1307644164b63dc158113a67f469e90578d3fc092 + sass-embedded (1.100.0-aarch64-linux-gnu) sha256=c13187f8eaae7e7e64246b18eb896534a84465a17198829ef65730db4662860e + sass-embedded (1.100.0-aarch64-linux-musl) sha256=1b0945a66cd4e40f505db73b1e790e2561e07e6d9fd04ef6ebbf279835666b3f + sass-embedded (1.100.0-arm64-darwin) sha256=d294b32c3b7bed293ad39bd392713c07f1df5454e65fa0f8d80dadbdba8a0cf4 + sass-embedded (1.100.0-x86_64-darwin) sha256=3db80c837a60712de3461d5aa1be43c7056a0584d7182a8ae7a8996d64ab46d3 + sass-embedded (1.100.0-x86_64-linux-gnu) sha256=58dd0a8a4f0dd78881b90d8b0e4d0eed042d54865b19b71384d91091ade93e18 + sass-embedded (1.100.0-x86_64-linux-musl) sha256=03dbee81bf93e770c725caf0c895e04c7b049ebef56b8a7002fcf21e6bedf7c5 + sassc-embedded (1.80.8) sha256=ea62825e4031cc8267e6befd492bcf8e29f11ccc18500f4e8ee9adb7feb6d563 sawyer (0.9.3) sha256=0d0f19298408047037638639fe62f4794483fb04320269169bd41af2bdcf5e41 securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1 shoulda-matchers (7.0.1) sha256=b4bfd8744c10e0a36c8ac1a687f921ee7e25ed529e50488d61b79a8688749c77 - sidekiq (7.3.9) sha256=1108712e1def89002b28e3545d5ae15d4a57ffd4d2c25d97bb1360988826b5a7 + sidekiq (7.3.10) sha256=781eb4f65ef36042534ad73d72f211283afb7fee82eec786ada4ed1972ef8e3c simplecov (0.22.0) sha256=fe2622c7834ff23b98066bb0a854284b2729a569ac659f82621fc22ef36213a5 simplecov-html (0.13.2) sha256=bd0b8e54e7c2d7685927e8d6286466359b6f16b18cb0df47b508e8d73c777246 simplecov_json_formatter (0.1.4) sha256=529418fbe8de1713ac2b2d612aa3daa56d316975d307244399fa4838c601b428 simpleidn (0.2.3) sha256=08ce96f03fa1605286be22651ba0fc9c0b2d6272c9b27a260bc88be05b0d2c29 - snaky_hash (2.0.3) sha256=25a3d299566e8153fb02fa23fd9a9358845950f7a523ddbbe1fa1e0d79a6d456 - sqlite3 (2.8.1) sha256=acd0ac7912a4d92b2484b5befb6faa8d496497eb1e38bdbe8d7818fb8d05d726 - sqlite3 (2.8.1-aarch64-linux-gnu) sha256=9bce166d3e3595a42fc92c28d986ea11d499b55be8bd1cd491be04af30029543 - sqlite3 (2.8.1-aarch64-linux-musl) sha256=34912f6acf3e9c43c7998c6f99ba3146708e654cf9716b2983e260315cdeed72 - sqlite3 (2.8.1-arm-linux-gnu) sha256=9118d6abb5ca7ea4f1b50a6c42c763e612670f5eb673bbdf12e8d3bd63339bde - sqlite3 (2.8.1-arm-linux-musl) sha256=48a50815521f812713310190589a8ae196fa48b70b62b72f5766bafebae77e33 - sqlite3 (2.8.1-arm64-darwin) sha256=3cb617640577ec9c1b7c09744d1e368ad3d3851c2494540f5f007387da943477 - sqlite3 (2.8.1-x86_64-darwin) sha256=0028f5dd0b7a1ee6f1dadf31fc632abf7d815cb0baa0606549634fa45578f92e - sqlite3 (2.8.1-x86_64-linux-gnu) sha256=878f4a0c5c2c4d9d4345afe2a142a87805f388a24aa8a3c2dfe2f964d7686b7a - sqlite3 (2.8.1-x86_64-linux-musl) sha256=0c191ddfd71437b439e107a0d148630bef29a1eebd7b28bcc931470c328f657d + smarter_json (1.2.6) sha256=6638a2d23954e26d268212b4c8f5b9871d31b72f3d169371cca1082c1a722b45 + snaky_hash (2.0.4) sha256=2b12758c57defa6796341a1620f84b1a23737421d8d7e2575d0550b53cc4fece + sqlite3 (2.9.5) sha256=04572973a3f943ad50a8adfffc8dd752a5f06e4c3db2026f71838fed8a982606 + sqlite3 (2.9.5-aarch64-linux-gnu) sha256=78075b6337d3d182c6d2b4691049ed45cd220826160c9ea18946bf6a1de200dc + sqlite3 (2.9.5-aarch64-linux-musl) sha256=18c801185deb4adc01ddb281e8f672a39e3d1729979ca91e39439cd3eac0402d + sqlite3 (2.9.5-arm64-darwin) sha256=d0cf444a70fc9395d513cfbcc1e6719e224aa645314e3824cb0474c721425aa2 + sqlite3 (2.9.5-x86_64-darwin) sha256=8e9caae38bd7ebb29cbeee3e7ab1d12dc2327d9a1b92c7fcf0dda05589627a81 + sqlite3 (2.9.5-x86_64-linux-gnu) sha256=233dbcb6714148dd23bc5aeb33e8efd6eac974969564ddd5794c23d5f52b231e + sqlite3 (2.9.5-x86_64-linux-musl) sha256=e7d3a7474e8af0f96150c21abc203fbab5437206bfcdf11deab7741c0ca516f2 sshkey (3.0.0) sha256=655ba351d6e01a48dfe59d65530af8975c777b8cc57a061770de3228ff2d11cd - stackprof (0.2.27) sha256=aff6d28656c852e74cf632cc2046f849033dc1dedffe7cb8c030d61b5745e80c - stringio (3.1.9) sha256=c111af13d3a73eab96a3bc2655ecf93788d13d28cb8e25c1dcbff89ace885121 + ssrf_filter (1.5.0) sha256=e03dcdb9d1730d7f6710532a606b3543df2a448a0293ce04a2d995523c5a97f6 + stackprof (0.2.28) sha256=4ec2ace02f386012b40ca20ef80c030ad711831f59511da12e83b34efb0f9a04 + stringio (3.2.0) sha256=c37cb2e58b4ffbd33fe5cd948c05934af997b36e0b6ca6fdf43afa234cf222e1 stripe (11.1.0) sha256=a76e82cc7e4d2433803ca5fbe9453d019df376236f0b9fbcb7f36e6dd327f98d + strscan (3.1.8) sha256=aae2db611a225559f21ffbb71765c9a4e60fd262534a9ea84f4f11c7f32f679e syntax_tree (6.3.0) sha256=56e25a9692c798ec94c5442fe94c5e94af76bef91edc8bb02052cbdecf35f13d - test-prof (1.5.0) sha256=da487be26216fdd2cf3a4901c9a3e63c8af87964aa28740757f9c26a4cd4eae8 - thor (1.4.0) sha256=8763e822ccb0f1d7bee88cde131b19a65606657b847cc7b7b4b82e772bcd8a3d - tiktoken_ruby (0.0.15.1) sha256=fe3860fdd5a3697ee2bee6f066d5310dfd28bb4284f94865f346d228bb0df834 - tiktoken_ruby (0.0.15.1-aarch64-linux) sha256=e2c5d00b20c10bd220a103a271011bfa828e159cfba3b99d2c4029069bbb9198 - tiktoken_ruby (0.0.15.1-aarch64-linux-musl) sha256=2b58d9f2b0615d876a767b756c117b1438e68354513aff3d540b665b8eb6559c - tiktoken_ruby (0.0.15.1-arm-linux) sha256=078faa950c93ec0929d6f70acc7f7374b044cb2561ee74fccf8ffbaf71068ed9 - tiktoken_ruby (0.0.15.1-arm64-darwin) sha256=942d15acdaa6de172e9c72644c8acb115f601152b81dc765957e10c526204a48 - tiktoken_ruby (0.0.15.1-x86_64-darwin) sha256=e7978a186e548c7c81ac5183f5ed2b57c69924aeec5d0a1ce2222892628fdab1 - tiktoken_ruby (0.0.15.1-x86_64-linux) sha256=cc53f9c43e8a4d434831b5a5b10d94d4eb07ad15d0582d568e0e9c8293447dfc - tiktoken_ruby (0.0.15.1-x86_64-linux-musl) sha256=84c8fe1a94732cb241a3f353d2c191df56c6242614237d2433e510d8fab3ee26 - timeout (0.5.0) sha256=852aefd13f41d84c2d0d83099b275034c6517395884b58e635acc8847c9190cb - tokenizers (0.6.3) sha256=cb76b8e86893695f6cfe661861cb24680755bf1fb42dca1ddd3cdfef9f657994 - tokenizers (0.6.3-aarch64-linux) sha256=9d54a23f2e2246cc942d183af4549e3972b937d9b01f7a387cb146bf698eee84 - tokenizers (0.6.3-aarch64-linux-musl) sha256=c178d8556769256857d77fb396f8ab004b29d058f59c620a2cfc56b01b501e27 - tokenizers (0.6.3-arm64-darwin) sha256=29a6a5582dce106d846a906ee9e4254c12db45a3855c3ff6881d4be8be03e6b6 - tokenizers (0.6.3-x86_64-darwin) sha256=4b71386cc08ceff5f86b448c74b2b297c00a280a1d502399b6cda23ef94e01fd - tokenizers (0.6.3-x86_64-linux) sha256=77a45cbde59daac33bdda1a74d45c18080478992a00ee7d898e7b8d15d0b3149 - tokenizers (0.6.3-x86_64-linux-musl) sha256=a4b08c53bf0c8f7674c3abd03e013f0bb7c0c2457174b116c2872a37c64f0297 - trilogy (2.9.0) sha256=a2d63b663ba68a4758e15d1f9afb228f5d16efc7fe7cea68699e1c106ef6067f + test-prof (1.6.1) sha256=0332d9c39a7c118ed942b2db582f055d9f24964d150004ec6b964d2fa262499e + thor (1.5.0) sha256=e3a9e55fe857e44859ce104a84675ab6e8cd59c650a49106a05f55f136425e73 + tiktoken_ruby (0.0.16) sha256=2bac3503f1830b11f5fbe64ea8b7696f0ba995a721fad2c75b3f76350ae1504d + tiktoken_ruby (0.0.16-aarch64-linux) sha256=014e5ba44b99158916ff57db61d2cb3fdbc6d176644d3f6bbf36a7d36ef9467d + tiktoken_ruby (0.0.16-aarch64-linux-musl) sha256=0519bb7eed1ebe0202c302103e9edf8754e4ea3029f63573c0d0a24649f701aa + tiktoken_ruby (0.0.16-arm64-darwin) sha256=3da6fe850bf920d08c7eb736673f50bc9d08e8f2e17d34904ad3185a73fc9da7 + tiktoken_ruby (0.0.16-x86_64-darwin) sha256=4776d9f6d2f00ec4386260f3ef379347fd2dc375361c750fef7e96b57364c5be + tiktoken_ruby (0.0.16-x86_64-linux) sha256=4d970b8e68a86972ec81799306116480b33a558c06bb4fe0092852280a4b76b2 + tiktoken_ruby (0.0.16-x86_64-linux-musl) sha256=6a0400a7aba9da6146b30af5d7e4375167c5e5a291853ce47768985916c4d183 + timeout (0.6.1) sha256=78f57368a7e7bbadec56971f78a3f5ecbcfb59b7fcbb0a3ed6ddc08a5094accb + tokenizers (0.6.4) sha256=7881f2afee7e605dec6be0c382d4bd138622b77263a67ca66f4ef3156e8e8f47 + tokenizers (0.6.4-aarch64-linux) sha256=4898a86c726106967a929a318ffaacb7fa99a6cba5b50e3957f80151c0d7789a + tokenizers (0.6.4-aarch64-linux-musl) sha256=351428bcf096c931666ee148d23b875b0e519749a57a5d2984e319af11ea791f + tokenizers (0.6.4-arm64-darwin) sha256=ab123cb46e8df7e118bee0833d0bc21d4004a0d39816c0def56503be59de26c3 + tokenizers (0.6.4-x86_64-darwin) sha256=102b143e71e59bc7ff29e5920f356ad74bbc941ae2d4e3a495ee92311ace7394 + tokenizers (0.6.4-x86_64-linux) sha256=cdec6e5b007d73de094cdc7e097e4ab9a545f37f9c30e376a53800c3a552a447 + tokenizers (0.6.4-x86_64-linux-musl) sha256=588031377e3f586b66687fc9dc59f901dea47d863733d871bf6801657e312c72 tsort (0.2.0) sha256=9650a793f6859a43b6641671278f79cfead60ac714148aabe4e3f0060480089f ttfunk (1.8.0) sha256=a7cbc7e489cc46e979dde04d34b5b9e4f5c8f1ee5fc6b1a7be39b829919d20ca tty-color (0.6.0) sha256=6f9c37ca3a4e2367fb2e6d09722762647d6f455c111f05b59f35730eeb24332a @@ -1273,27 +1354,26 @@ CHECKSUMS tty-reader (0.9.0) sha256=c62972c985c0b1566f0e56743b6a7882f979d3dc32ff491ed490a076f899c2b1 tty-screen (0.8.2) sha256=c090652115beae764336c28802d633f204fb84da93c6a968aa5d8e319e819b50 tzinfo (2.0.6) sha256=8daf828cc77bcf7d63b0e3bdb6caa47e2272dcfaf4fbfe46f8c3a9df087a829b - tzinfo-data (1.2025.2) sha256=a92375a1fbb47d38fe88fd514c40a38cc8f97d168da2a6479f15185e86470939 + tzinfo-data (1.2026.2) sha256=7db0d3d3d53b8d7601fc183fccc8c6d056a3004e14eb59ea995bf6aec4ae10bc unf (0.2.0) sha256=e6bcc2e101d80e3f9459753db747d5926aada1aaaf61e629e93359da9a5b04ab unicode-display_width (3.2.0) sha256=0cdd96b5681a5949cdbc2c55e7b420facae74c4aaf9a9815eee1087cb1853c42 - unicode-emoji (4.1.0) sha256=4997d2d5df1ed4252f4830a9b6e86f932e2013fbff2182a9ce9ccabda4f325a5 - unicorn (6.1.0) sha256=45dd987add4c2b084c1880a68373af42797a704ad7441faff9b14b4982aa0fc0 + unicode-emoji (4.2.0) sha256=519e69150f75652e40bf736106cfbc8f0f73aa3fb6a65afe62fefa7f80b0f80f uniform_notifier (1.18.0) sha256=4787785556f66f6418486da0f1d78b3239aaff98e2e7938fb05e2062b0ffce9d uri (1.1.1) sha256=379fa58d27ffb1387eaada68c749d1426738bd0f654d812fcc07e7568f5c57c6 useragent (0.16.11) sha256=700e6413ad4bb954bb63547fa098dddf7b0ebe75b40cc6f93b8d54255b173844 - version_gem (1.1.9) sha256=0c1a0962ae543c84a00889bb018d9f14d8f8af6029d26b295d98774e3d2eb9a4 + version_gem (1.1.13) sha256=77f3035ac45877cd14610648fec2d23bd8c10fa13dfcf63a588825aa98587260 web-push (3.0.1) sha256=5b4dd2f2bba3bd8951da6416492fe920a6f203d14d3080f943c5d01c0cc4b18d - webmock (3.25.1) sha256=ab9d5d9353bcbe6322c83e1c60a7103988efc7b67cd72ffb9012629c3d396323 + webmock (3.26.2) sha256=774556f2ea6371846cca68c01769b2eac0d134492d21f6d0ab5dd643965a4c90 webrick (1.9.2) sha256=beb4a15fc474defed24a3bda4ffd88a490d517c9e4e6118c3edce59e45864131 wisper (2.0.1) sha256=ce17bc5c3a166f241a2e6613848b025c8146fce2defba505920c1d1f3f88fae6 xpath (3.2.0) sha256=6dfda79d91bb3b949b947ecc5919f042ef2f399b904013eb3ef6d20dd3a4082e yaml-lint (0.1.2) sha256=e3960b171766ae187338a169815e99fe10fcb0d9c22b1c539e8d57e114324c8a - yard (0.9.38) sha256=721fb82afb10532aa49860655f6cc2eaa7130889df291b052e1e6b268283010f - zeitwerk (2.7.3) sha256=b2e86b4a9b57d26ba68a15230dcc7fe6f040f06831ce64417b0621ad96ba3e85 + yard (0.9.44) sha256=eb087e9b631ccd887b049f303d489963945452d5e2a7eb49a5a74a7cf6887f28 + zeitwerk (2.8.2) sha256=7212a61311083c604184b1ea2574b9aa05cd14f855a0841c06985cabe9181d12 zendesk_api (1.38.0.rc1) sha256=9ebe2575d223ed1c0651b2d10df6c010141cda49d524c38532b472f7e8bb3f7a RUBY VERSION - ruby 3.3.1p55 + ruby 3.4.7p58 BUNDLED WITH 2.7.2 diff --git a/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix b/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix index ab25c69fbcb2..9e781f718be7 100644 --- a/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix +++ b/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix @@ -1,4 +1,4 @@ -{ +src: { actionmailer = { dependencies = [ "actionpack" @@ -12,10 +12,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0jyyfp786csg4hmsxfywi8131p1pk51jzi8i9d9zn2lzw7c714iv"; + sha256 = "0qc5ycibnxricdlgmrihds0hqjli5hhksbv947nqbsfg8b4gl63r"; type = "gem"; }; - version = "8.0.4"; + version = "8.0.5"; }; actionpack = { dependencies = [ @@ -37,10 +37,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1nyd4f58r11b0x5gsjlnyk2k9y2kd0zhv8szf82g9j1j5xccfr03"; + sha256 = "0dabvb49acbwvy91587cbn36ghv3bsyl14a9aq4ll4nxfn4qdpn9"; type = "gem"; }; - version = "8.0.4"; + version = "8.0.5"; }; actionview = { dependencies = [ @@ -58,10 +58,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0j0n38p02s73r9a8fg615z8m78n9agpf9d9b0v7i97m5wwgc9lsv"; + sha256 = "04ql6lpvdmrl5169y166pfr9w53c6f40jkgmn4ljgkzh7pkaj3vd"; type = "gem"; }; - version = "8.0.4"; + version = "8.0.5"; }; actionview_precompiler = { dependencies = [ "actionview" ]; @@ -94,25 +94,26 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1knc9xwfnyqcxqzfsfix210ai2yhw9ps7j19aq5bk30n1rfsij6b"; + sha256 = "047asb83p78zh93v0q1svrfl6da3aqqbjlkwd2jap172pz1ybard"; type = "gem"; }; - version = "8.0.4"; + version = "8.0.5"; }; activemodel = { dependencies = [ "activesupport" ]; groups = [ "default" "development" + "migrations" "test" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1z8dff84qgqinhwsj0i91r674vvg412kg72162zv216i7jn4yklg"; + sha256 = "1hjv2kmv7i0jk8zkng3pxa1kdd90qpgr3v60qvs764yw8qyq35n7"; type = "gem"; }; - version = "8.0.4"; + version = "8.0.5"; }; activerecord = { dependencies = [ @@ -123,15 +124,16 @@ groups = [ "default" "development" + "migrations" "test" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0cmz9k27zy0746zpljg28ir4857df9r3nza4c1acmrcr2wbjr8xx"; + sha256 = "1ri9l5v4601bxwrkl105k1ccxxg2wpvg6x94rwqr834irnv63cl9"; type = "gem"; }; - version = "8.0.4"; + version = "8.0.5"; }; activesupport = { dependencies = [ @@ -151,15 +153,16 @@ groups = [ "default" "development" + "migrations" "test" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0np97w7kc9dx7kx092nzhy3g6qxmqivcsfnzlzjzmd9kfxn3ljl9"; + sha256 = "08ybmp63qrfaxq7bv7mvb4xvfb4fcylw2a0szankzkrpdbzi7wip"; type = "gem"; }; - version = "8.0.4"; + version = "8.0.5"; }; addressable = { dependencies = [ "public_suffix" ]; @@ -171,10 +174,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0mxhjgihzsx45l9wh2n0ywl9w0c6k70igm5r0d63dxkcagwvh4vw"; + sha256 = "1by7h2lwziiblizpd5yx87jsq8ppdhzvwf08ga34wzqgcv1nmpvz"; type = "gem"; }; - version = "2.8.8"; + version = "2.9.0"; }; afm = { groups = [ "default" ]; @@ -227,6 +230,17 @@ }; version = "2.4.3"; }; + auth-sanitizer = { + dependencies = [ "version_gem" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1p5f5x145ma9rw6i8zv955wbyb54wqhppa786hgck9ykshhj5myy"; + type = "gem"; + }; + version = "0.1.4"; + }; aws-eventstream = { groups = [ "default" ]; platforms = [ ]; @@ -247,12 +261,27 @@ }; version = "1.1134.0"; }; + aws-sdk-bedrockruntime = { + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "19fyy5dslbfsc8swwrl299nrkxzja268n1ggzixq9z45jjmv0ppw"; + type = "gem"; + }; + version = "1.74.0"; + }; aws-sdk-core = { dependencies = [ "aws-eventstream" "aws-partitions" "aws-sigv4" "base64" + "bigdecimal" "jmespath" "logger" ]; @@ -260,10 +289,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "17n7vw9djnw74x7cgwsxfi0k033l351mf56i7y3lg4yawg2iy1wr"; + sha256 = "1zhj444iybzs1ikw1p4arv3zayw9xkk1ifnsb6g3r2j6p0h34gpf"; type = "gem"; }; - version = "3.227.0"; + version = "3.254.0"; }; aws-sdk-kms = { dependencies = [ @@ -303,10 +332,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "03a55dbihv6xvgfwhx0f35rwc7q3rr0555vfpxlwpdjw75wkbz6h"; + sha256 = "0fd9xq7xyadlldgd9l9iry3fi38wwr1iaag9ax4xpirpkazj6asm"; type = "gem"; }; - version = "1.182.0"; + version = "1.227.0"; }; aws-sdk-sns = { dependencies = [ @@ -322,6 +351,20 @@ }; version = "1.96.0"; }; + aws-sdk-sts = { + dependencies = [ + "aws-sdk-core" + "aws-sigv4" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "07q6bvbgq9x1r5si0fqjzs6cx6hn9anam7qx5503ahnj7li69gcv"; + type = "gem"; + }; + version = "1.12.0"; + }; aws-sigv4 = { dependencies = [ "aws-eventstream" ]; groups = [ "default" ]; @@ -337,6 +380,7 @@ groups = [ "default" "development" + "migrations" "test" ]; platforms = [ @@ -358,6 +402,7 @@ groups = [ "default" "development" + "migrations" "test" ]; platforms = [ ]; @@ -394,6 +439,7 @@ groups = [ "default" "development" + "migrations" "test" ]; platforms = [ ]; @@ -404,20 +450,6 @@ }; version = "3.3.1"; }; - binding_of_caller = { - dependencies = [ "debug_inspector" ]; - groups = [ - "development" - "test" - ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "16mjj15ks5ws53v2y31hxcmf46d0qjdvdaadpk7xsij2zymh4a9b"; - type = "gem"; - }; - version = "1.0.1"; - }; bootsnap = { dependencies = [ "msgpack" ]; groups = [ "default" ]; @@ -431,10 +463,10 @@ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1db0kz71iv1syq4qhjvnspa3zs0sja7fpcay175i1sm9q5c4brfk"; + sha256 = "1i5nn4750jnsd3gs0ca9zbiq1aglvzasp6j6f2s7kli4hm27gdin"; type = "gem"; }; - version = "1.19.0"; + version = "1.24.5"; }; builder = { groups = [ @@ -459,10 +491,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1zwq7g98c1mdigahb50c980a0fcc4ib1m9ivmgf3f8gc6qk7wjv0"; + sha256 = "1jy7yfn94acbcn23g9zh48b8j9jphwcqgr2vfy013zi4fd93q5n8"; type = "gem"; }; - version = "8.1.0"; + version = "8.1.3"; }; capybara = { dependencies = [ @@ -494,20 +526,20 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0hnjmbhyvfs543g96bc4sx94fdx2054ng12g925vwmkx0wl1jnl7"; + sha256 = "10kj1rh8w3qk6mg6kap1gh0p5kgmgdp1ij6gwayy3dqp139gw5sc"; type = "gem"; }; - version = "0.5.7"; + version = "0.5.9"; }; cbor = { groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1w3d5dhx4vjd707ihkcmq7fy78p5fgawcjdqw2byxnfw32gzgkbr"; + sha256 = "12nj07lblrdvzbbjvzkg4xi6r4npi3sm9mdywj6zxgwvgq61van3"; type = "gem"; }; - version = "0.5.10.1"; + version = "0.5.10.3"; }; certified = { groups = [ @@ -527,10 +559,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1njrjznc2j5xqqw71sp9130b9hyv59h2gfrf6yaf4in1n9dzd6gy"; + sha256 = "1s8qdw1nfh3njd47q154njlfyc2llcgi4ik13vz39adqd7yclgz9"; type = "gem"; }; - version = "0.5.0"; + version = "0.5.1"; }; chunky_png = { groups = [ "default" ]; @@ -543,18 +575,8 @@ version = "1.4.0"; }; coderay = { - groups = [ - "default" - "development" - ]; - platforms = [ - { - engine = "maglev"; - } - { - engine = "ruby"; - } - ]; + groups = [ "default" ]; + platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; sha256 = "0jvxqxzply1lwp7ysn94zjhh57vc14mcshw1ygw14ib8lhc00lyw"; @@ -563,7 +585,10 @@ version = "1.1.3"; }; colored2 = { - groups = [ "default" ]; + groups = [ + "default" + "migrations" + ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; @@ -576,20 +601,22 @@ groups = [ "default" "development" + "migrations" "test" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1ipbrgvf0pp6zxdk5ascp6i29aybz2bx9wdrlchjmpx6mhvkwfw1"; + sha256 = "1c2i64xsd35vijnb50rxb70g508s0x674xi0qpyyb8jy7bncl4j4"; type = "gem"; }; - version = "1.3.5"; + version = "1.3.7"; }; connection_pool = { groups = [ "default" "development" + "migrations" "test" ]; platforms = [ ]; @@ -600,6 +627,24 @@ }; version = "2.5.5"; }; + console = { + dependencies = [ + "fiber-annotation" + "fiber-local" + "json" + ]; + groups = [ + "default" + "migrations" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "01vg83f2q7n0q5dsq2sfjmm6mrizhyzkmw21i4ysg06g0slrwna5"; + type = "gem"; + }; + version = "1.36.0"; + }; cose = { dependencies = [ "cbor" @@ -656,15 +701,18 @@ version = "1.0.6"; }; css_parser = { - dependencies = [ "addressable" ]; + dependencies = [ + "addressable" + "ssrf_filter" + ]; groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1izp5vna86s7xivqzml4nviy01bv76arrd5is8wkncwp1by3zzbc"; + sha256 = "119q8j23xyb9pifka1n6jjrw04099zpwwdajh5pd10fm7wlfkw7a"; type = "gem"; }; - version = "1.21.1"; + version = "3.0.0"; }; csv = { groups = [ "default" ]; @@ -685,10 +733,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1rbfqkzr6i8b6538z16chvrkgywf5p5vafsgmnbmvrmh0ingsx2y"; + sha256 = "1h0db8r2v5llxdbzkzyllkfniqw9gm092qn7cbaib73v9lw0c3bm"; type = "gem"; }; - version = "3.5.0"; + version = "3.5.1"; }; debug = { dependencies = [ @@ -702,23 +750,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1wmfy5n5v2rzpr5vz698sqfj1gl596bxrqw44sahq4x0rxjdn98l"; + sha256 = "1djjx5332d1hdh9s782dyr0f9d4fr9rllzdcz2k0f8lz2730l2rf"; type = "gem"; }; - version = "1.11.0"; - }; - debug_inspector = { - groups = [ - "default" - "development" - ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "18k8x9viqlkh7dbmjzh8crbjy8w480arpa766cw1dnn3xcpa1pwv"; - type = "gem"; - }; - version = "1.2.0"; + version = "1.11.1"; }; diff-lcs = { groups = [ @@ -755,7 +790,10 @@ version = "3.2.1"; }; digest-xxhash = { - groups = [ "migrations" ]; + groups = [ + "default" + "migrations" + ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; @@ -769,10 +807,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1czdwkgz82jqy5qpyckxzd7aki8zjcg9mb2yizap3d4z6wr5lhk3"; + sha256 = "0g69yc1m3f9a0xpncmmp2pya6wkjfr9si9hdckhqvsrmr1p551p9"; type = "gem"; }; - version = "1.0.44"; + version = "1.0.46"; }; discourse-fonts = { groups = [ "default" ]; @@ -808,10 +846,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1i84h7qdh78s5hvivd9nffh04ikb222ll3xrawqbpwvrak6dvmsl"; + sha256 = "04z4m8bkhxv4m990ynrbc41i0dh4543jnnqian9fcfiab1ag5hk1"; type = "gem"; }; - version = "0.4"; + version = "0.4.2"; }; discourse_dev_assets = { dependencies = [ @@ -857,6 +895,7 @@ groups = [ "default" "development" + "migrations" "test" ]; platforms = [ ]; @@ -906,10 +945,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0y95ynlfngs0s5x1w6mwralszhbi9d75lcdbdkqk75wcklzqjc17"; + sha256 = "1ncmbdjf2bwmk0jf5cxywns9zbxyfiy4h4p3pzi7yddyjhv81qrq"; type = "gem"; }; - version = "6.0.0"; + version = "6.0.4"; }; erubi = { groups = [ @@ -938,30 +977,33 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "19a4ln8s8bz2vnv15mikgr908cqqplmjnm3x5825i3k3k2zbm2d0"; + sha256 = "0l3dpg45i74ap1d7c4wyrdlc67l9vj4kgzv2l2r8mg1304fss0y5"; type = "gem"; }; - version = "1.3.2"; + version = "1.5.0"; }; exifr = { groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "155qqhai5z2742aqa4mwkxmqrpcv48siqz55rcx79wvgdg6790vn"; + sha256 = "0895676gyazah7rwbidkx1l92pfrazapilfcv3qznii9r7dsb1xd"; type = "gem"; }; - version = "1.4.1"; + version = "1.5.1"; }; extralite-bundle = { - groups = [ "migrations" ]; + groups = [ + "default" + "migrations" + ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1k5kglcva79sxvqj10x481r1w8ql6zdr77mv095g8j5ksf6k600d"; + sha256 = "1x0qdz794b2w9740kq2y3g6qwiggbscbm5kyhnhdd1m5vdhnwv4h"; type = "gem"; }; - version = "2.13"; + version = "2.14"; }; fabrication = { groups = [ @@ -1000,10 +1042,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1ka175ci0q9ylpcy651pjj580diplkaskycn4n7jcmbyv7jwz6c6"; + sha256 = "0y7j6yzv07zggic6g0p2v1ivnvkzsbqjnfdl4215qqb6cxz290hq"; type = "gem"; }; - version = "2.14.0"; + version = "2.14.3"; }; faraday-multipart = { dependencies = [ "multipart-post" ]; @@ -1011,10 +1053,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "00w9imp55hi81q0wsgwak90ldkk7gbyb8nzmmv8hy0s907s8z8bp"; + sha256 = "0mzp9rlqiryyi99bm9ii80hfsbbafh9wl8r3c5pif51pd54sk2bx"; type = "gem"; }; - version = "1.1.1"; + version = "1.2.0"; }; faraday-net_http = { dependencies = [ "net-http" ]; @@ -1022,10 +1064,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0v4hfmc7d4lrqqj2wl366rm9551gd08zkv2ppwwnjlnkc217aizi"; + sha256 = "125m3qri52vwh5v9dhq0dkqxf8629cxrf99yyc01pva72wasyy0f"; type = "gem"; }; - version = "3.4.2"; + version = "3.4.4"; }; faraday-retry = { dependencies = [ "faraday" ]; @@ -1033,10 +1075,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1laici6jximrz3a8rkm8qmwdmw3fgzk22qh4l8wd5srjj01d40i4"; + sha256 = "1ghys6d46j8mxkqprnlz1ks1y1w0lsa2vca7ybx2crg5ny7w8ybv"; type = "gem"; }; - version = "2.3.2"; + version = "2.4.0"; }; fast_blank = { groups = [ "default" ]; @@ -1063,10 +1105,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1sfc7svf7h1ja6zmsq9f3ps6pg0q4hymphh6rk7ipmp7ygqjkii3"; + sha256 = "085d82jw6swv4k6jxya85q7rg3vjzy2nw7hcnwx99n3gdgafnjy6"; type = "gem"; }; - version = "2.3.1"; + version = "2.4.1"; }; ffi = { groups = [ @@ -1084,10 +1126,50 @@ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "19kdyjg3kv7x0ad4xsd4swy5izsbb1vl1rpb6qqcqisr5s23awi9"; + sha256 = "1kqasqvy8d7r09ri4n6bkdwbk63j7afd9ilsw34nzlgh0qp69ldw"; type = "gem"; }; - version = "1.17.2"; + version = "1.17.4"; + }; + fiber-annotation = { + groups = [ + "default" + "migrations" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "00vcmynyvhny8n4p799rrhcx0m033hivy0s1gn30ix8rs7qsvgvs"; + type = "gem"; + }; + version = "0.2.0"; + }; + fiber-local = { + dependencies = [ "fiber-storage" ]; + groups = [ + "default" + "migrations" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "01lz929qf3xa90vra1ai1kh059kf2c8xarfy6xbv1f8g457zk1f8"; + type = "gem"; + }; + version = "1.1.0"; + }; + fiber-storage = { + groups = [ + "default" + "migrations" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1qa0j9qjwav9xb0n3isx0rbh0942xrfback392n6vs8bidnmp3pl"; + type = "gem"; + }; + version = "1.0.1"; }; fspath = { groups = [ "default" ]; @@ -1133,10 +1215,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0583agdf2jvnq78scf8008bddrmbybn27ylyydg6bza2qvb510bl"; + sha256 = "038cqc1kzxl22m3jfspkdpg0dxskga9jvgwclb4pivcjqxi62d4m"; type = "gem"; }; - version = "4.33.2"; + version = "4.35.0"; }; guess_html_encoding = { groups = [ "default" ]; @@ -1182,14 +1264,15 @@ version = "2.1.2"; }; hashie = { + dependencies = [ "logger" ]; groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1nh3arcrbz1rc1cr59qm53sdhqm137b258y8rcb4cvd3y98lwv4x"; + sha256 = "0w1qrab701d3a63aj2qavwc2fpcqmkzzh1w2x93c88zkjqc4frn2"; type = "gem"; }; - version = "5.0.0"; + version = "5.1.0"; }; highline = { dependencies = [ "reline" ]; @@ -1227,15 +1310,16 @@ groups = [ "default" "development" + "migrations" "test" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "03sx3ahz1v5kbqjwxj48msw3maplpp2iyzs22l4jrzrqh4zmgfnf"; + sha256 = "1994i044vdmzzkyr76g8rpl1fq1532wf0sb21xg5r1ilj5iphmr8"; type = "gem"; }; - version = "1.14.7"; + version = "1.14.8"; }; image_optim = { dependencies = [ @@ -1249,20 +1333,20 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1h3n8x1rlxz4mkk49lij22x1nn0qk5cvir3fsj4x3s382a4x1zsv"; + sha256 = "18rb5j4fl2p43f7fh47jf2v7yn2mckh38wdwmb148cp9isi5wza5"; type = "gem"; }; - version = "0.31.4"; + version = "0.32.0"; }; image_size = { groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "16h2gxxk212mlvphf03x1z1ddb9k3vm0lgsxbvi4fjg77x8q19f6"; + sha256 = "0a6b1p75nrmr1xvmqykn9dx947lrld1hb4l7m01zb2v5rfb4370v"; type = "gem"; }; - version = "3.4.0"; + version = "3.6.0"; }; in_threads = { groups = [ "default" ]; @@ -1293,14 +1377,15 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1jszj95hazqqpnrjjzr326nn1j32xmsc9xvd97mbcrrgdc54858y"; + sha256 = "1k0lk3pwadm2myvpg893n8jshmrf2sigrd4ki15lymy7gixaxqyn"; type = "gem"; }; - version = "0.8.1"; + version = "0.8.2"; }; irb = { dependencies = [ "pp" + "prism" "rdoc" "reline" ]; @@ -1312,10 +1397,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1aja320qnimlnfc80wf2i2x8i99kl5sdzfacsfzzfzzs3vzysja3"; + sha256 = "1qs8a9vprg7s8krgq4s0pygr91hclqqyz98ik15p0m1sf2h5956y"; type = "gem"; }; - version = "1.15.3"; + version = "1.18.0"; }; iso8601 = { groups = [ "default" ]; @@ -1341,15 +1426,16 @@ groups = [ "default" "development" + "migrations" "test" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0bnrx8s6lvs5l47hi24gzca76s2clxz3xx9naj8l8sik852q5r70"; + sha256 = "16mp8vzgxa8nsa81np042za453j8b0ihpjkf666s7byxrnvjb44v"; type = "gem"; }; - version = "2.17.1"; + version = "2.19.9"; }; json-schema = { dependencies = [ @@ -1364,10 +1450,20 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0gv3b0nry1sn1n7imfs2drqyfp4g8b2zcrizjc98j04pl7xszv3r"; + sha256 = "0rinh4347nvl9jm0r4mk7gi1zh1iz367w3dxn8d2r8j5v1pg9gz8"; type = "gem"; }; - version = "6.0.0"; + version = "6.2.0"; + }; + json_completer = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1cbpy4zlgb21yins7a8z59hpmpc1x9cynqn512rcqkk3fa8p8ra6"; + type = "gem"; + }; + version = "1.2.0"; }; json_schemer = { dependencies = [ @@ -1396,25 +1492,15 @@ }; version = "2.10.1"; }; - kgio = { + landlock = { groups = [ "default" ]; - platforms = [ - { - engine = "maglev"; - } - { - engine = "rbx"; - } - { - engine = "ruby"; - } - ]; + platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1ipzvw7n0kz1w8rkqybyxvf3hb601a770khm0xdqm68mc4aa59xx"; + sha256 = "0g5j8sa54g1agsiav54jmk9w5fffh6jbc6g9b942l20q2gpy26l4"; type = "gem"; }; - version = "2.11.4"; + version = "0.3"; }; language_server-protocol = { groups = [ @@ -1435,10 +1521,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1kbijkxrqzgf94qdzh1xdxcypr6wnqmra0bhmwz7bif45739l3ig"; + sha256 = "16kkimc2gq64ka6xabarqfs87yq24ha4mqr9m0xxxrdzc6w26gfr"; type = "gem"; }; - version = "24.1.0.0"; + version = "24.12.0.1"; }; lint_roller = { groups = [ @@ -1454,8 +1540,23 @@ }; version = "1.1.0"; }; + liquid = { + dependencies = [ + "bigdecimal" + "strscan" + ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0wx6lan7kvhxz0i18m1vlnfhmkajxamxjkiyqlhmv4nd60j2qg2s"; + type = "gem"; + }; + version = "5.12.0"; + }; listen = { dependencies = [ + "logger" "rb-fsevent" "rb-inotify" ]; @@ -1466,15 +1567,16 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0rwwsmvq79qwzl6324yc53py02kbrcww35si720490z5w0j497nv"; + sha256 = "1ln9c0vx165hkfbn2817qw4m6i77xcxh6q0r5v6fqfhlcbdq5qf6"; type = "gem"; }; - version = "3.9.0"; + version = "3.10.0"; }; literate_randomizer = { groups = [ "default" "development" + "test" ]; platforms = [ ]; source = { @@ -1488,6 +1590,7 @@ groups = [ "default" "development" + "migrations" "test" ]; platforms = [ ]; @@ -1529,10 +1632,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1a52r46d263h2kkxng7amrihz5c7xm9ak8vf4jq4x77rwxcbwjx8"; + sha256 = "00isn77kjxf33x17vbhx6hbjckbwggvr6s2mh7h9zy6mk3m73p2y"; type = "gem"; }; - version = "2.20.1"; + version = "2.21.0"; }; loofah = { dependencies = [ @@ -1547,13 +1650,16 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0dx316q03x6rpdbl610rdaj2vfd5s8fanixk21j4gv3h5f230nk5"; + sha256 = "011fdngxzr1p9dq2hxqz7qq1glj2g44xnhaadjqlf48cplywfdnl"; type = "gem"; }; - version = "2.24.1"; + version = "2.25.1"; }; lru_redux = { - groups = [ "default" ]; + groups = [ + "default" + "migrations" + ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; @@ -1599,6 +1705,19 @@ }; version = "2.9.0"; }; + markbridge = { + groups = [ + "default" + "migrations" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "18vmz6fqs0797smpha6jh0dij4kja1pq0jjdjizzwrp6g57gyvd3"; + type = "gem"; + }; + version = "0.3.1"; + }; matrix = { groups = [ "default" @@ -1645,10 +1764,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1nra1ifgapr67kb6zjkzws5gdnwrzbm463zf1l1p2rby2v1wb7ki"; + sha256 = "0y77v5yvnqmn3q0z80mcl2yq006zvx26x9fzlxg0wmnr0p71nf7i"; type = "gem"; }; - version = "4.4.1"; + version = "4.5.2"; }; messageformat-wrapper = { dependencies = [ "mini_racer" ]; @@ -1662,11 +1781,7 @@ version = "1.1.0"; }; method_source = { - groups = [ - "default" - "development" - "test" - ]; + groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; @@ -1675,6 +1790,81 @@ }; version = "1.1.0"; }; + migrations-converters = { + dependencies = [ + "activesupport" + "colored2" + "i18n" + "markbridge" + "migrations-core" + "pg" + "zeitwerk" + ]; + groups = [ "migrations" ]; + platforms = [ ]; + source = { + path = "${src}/migrations/converters"; + type = "path"; + }; + version = "0.0.1"; + }; + migrations-core = { + dependencies = [ + "activesupport" + "colored2" + "concurrent-ruby" + "digest-xxhash" + "extralite-bundle" + "i18n" + "json" + "lru_redux" + "samovar" + "unicode-display_width" + "zeitwerk" + ]; + groups = [ "migrations" ]; + platforms = [ ]; + source = { + path = "${src}/migrations/core"; + type = "path"; + }; + version = "0.0.1"; + }; + migrations-importer = { + dependencies = [ + "activerecord" + "activesupport" + "colored2" + "i18n" + "migrations-core" + "pg" + "zeitwerk" + ]; + groups = [ "migrations" ]; + platforms = [ ]; + source = { + path = "${src}/migrations/importer"; + type = "path"; + }; + version = "0.0.1"; + }; + migrations-tooling = { + dependencies = [ + "activerecord" + "activesupport" + "colored2" + "i18n" + "migrations-core" + "zeitwerk" + ]; + groups = [ "migrations" ]; + platforms = [ ]; + source = { + path = "${src}/migrations/tooling"; + type = "path"; + }; + version = "0.0.1"; + }; mime-types = { dependencies = [ "logger" @@ -1700,10 +1890,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0a27k4jcrx7pvb0p59fn1frh14iy087c2aygrdkmgwsrbshvqxpj"; + sha256 = "1k28j6ww8rf43r5i8278jvm2cq3pnzsvqm7yqpb4p93kadjlq726"; type = "gem"; }; - version = "3.2025.0924"; + version = "3.2026.0414"; }; mini_mime = { groups = [ @@ -1739,10 +1929,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1qvdbmg8jwf2as1r7a3kl5kngp5m87kbdi4g7p13kfrypfzw2kiy"; + sha256 = "1nrj8vgsdzv60y8302xqycvhn5z2shf137j4hjfhfzq9i1rf7xfc"; type = "gem"; }; - version = "0.19.1"; + version = "0.21.4"; }; mini_scheduler = { dependencies = [ "sidekiq" ]; @@ -1750,10 +1940,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "00rmlcnwhi6gnrwpcv2yicm9ij8zs1mhsbx98ic6rmx8iprq9w6j"; + sha256 = "01bvk73g922jq34531ix86aq5dhn1n2xw84f79h8m97lici4i2dx"; type = "gem"; }; - version = "0.18.0"; + version = "0.20.0"; }; mini_sql = { groups = [ "default" ]; @@ -1781,24 +1971,29 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "158p4ivp485j7njk0gqznk5lszbgwh7y4dwzvlzpn5vrpmxasx9n"; + sha256 = "0bygpmih2ph6rvkxw09n6q7kyicvdiq2jcpd6k6iy0aklbgbxcpb"; type = "gem"; }; - version = "1.0.1"; + version = "1.1.0"; }; minitest = { + dependencies = [ + "drb" + "prism" + ]; groups = [ "default" "development" + "migrations" "test" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1qyda32pf9jivaw2m7yymxshqxxd0fhjn7zpbagvmfc5c65128gh"; + sha256 = "1wfnqyfayx9n9j7x871v2ars4hjhfisi1dl24fa64ylq3mns6ghm"; type = "gem"; }; - version = "5.26.2"; + version = "6.0.6"; }; mocha = { dependencies = [ "ruby2_keywords" ]; @@ -1809,10 +2004,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1vjfizp8yq0319dkc8yzzxr2bv5f1ki1qiknyx72prs7vclyfxqz"; + sha256 = "0mhx9qyiig73mw3zrk8f28ca8dqx8gwgipw94jri07zvxdljvx3m"; type = "gem"; }; - version = "2.8.2"; + version = "3.1.0"; }; msgpack = { groups = [ "default" ]; @@ -1826,20 +2021,20 @@ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0cnpnbn2yivj9gxkh8mjklbgnpx6nf7b8j2hky01dl0040hy0k76"; + sha256 = "18g6ps30z6m365bly7sfialavnsf6m6qamdxsr84w96k51j4mnlb"; type = "gem"; }; - version = "1.8.0"; + version = "1.8.3"; }; multi_json = { groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0vsrfm36zlg7jbrd1fjbr8kmdvr8bfayrw0hdlza75987vvhrxr3"; + sha256 = "0vfaab23d85617ps412ydb8ap4ci1sfzi8ainn8yyifc0pl38f9g"; type = "gem"; }; - version = "1.18.0"; + version = "1.20.1"; }; multi_xml = { dependencies = [ "bigdecimal" ]; @@ -1847,10 +2042,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1kl7ax7zcj8czlxs6vn3kdhpnz1dwva4y5zwnavssfv193f9cyih"; + sha256 = "0msflv26i6i3jr9w761k4qdl7cp9zbhymjkn57b1w90pkjsndrvw"; type = "gem"; }; - version = "0.7.2"; + version = "0.9.1"; }; multipart-post = { groups = [ "default" ]; @@ -1867,10 +2062,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1l0p4wx15mi3wnamfv92ipkia4nsx8qi132c6g51jfdma3fiz2ch"; + sha256 = "003cyf76zmki1lnh55cvir7dkn0s70dm909dxn6sfk9m00s2886l"; type = "gem"; }; - version = "1.1.1"; + version = "1.1.2"; }; net-http = { dependencies = [ "uri" ]; @@ -1878,10 +2073,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0vdlxiv9h9gzliz8722j6spw2nwl5z0rfz1i5b9mmsgrx5yc8hnz"; + sha256 = "15k96fj6qwbaiv6g52l538ass95ds1qwgynqdridz29yqrkhpfi5"; type = "gem"; }; - version = "0.8.0"; + version = "0.9.1"; }; net-imap = { dependencies = [ @@ -1892,10 +2087,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0i24prs7yy1p1zdps2x1ksb7lmvbn2f0llxwdjdw3z2ksddx136b"; + sha256 = "03ga2h4i5hsk8pdlicyfvqfsbh55vrbikb0nkx9x7vx7fl6kdw19"; type = "gem"; }; - version = "0.5.12"; + version = "0.6.4.1"; }; net-pop = { dependencies = [ "net-protocol" ]; @@ -1931,7 +2126,10 @@ version = "0.5.1"; }; nio4r = { - groups = [ "default" ]; + groups = [ + "default" + "test" + ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; @@ -1953,14 +2151,16 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1hcwwr2h8jnqqxmf8mfb52b0dchr7pm064ingflb78wa00qhgk6m"; + sha256 = "1s30b7h7qpyim30m8060xs415mbr3ci7i5hdg09chh1aqfx2qcbq"; type = "gem"; }; - version = "1.18.10"; + version = "1.19.3"; }; oauth = { dependencies = [ + "auth-sanitizer" "base64" + "cgi" "oauth-tty" "snaky_hash" "version_gem" @@ -1969,21 +2169,25 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0cynpns6p04i4pza1lcnwxavar20713i3q5fnalk3gv18m9ipjki"; + sha256 = "1jlwk58v6pdarxp2sibsr1f4gs10nn5kxlsr2r6sa6aqiy86gi0f"; type = "gem"; }; - version = "1.1.3"; + version = "1.1.5"; }; oauth-tty = { - dependencies = [ "version_gem" ]; + dependencies = [ + "auth-sanitizer" + "cgi" + "version_gem" + ]; groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0liirgg4yaqng7makq4di6rpq78s5r7j33wd64ccwz1n3n3d32wy"; + sha256 = "01qylh3rskdpvjkd2dkm6sdf2klf2w99zib8z0bjbhhpmxkkp9nr"; type = "gem"; }; - version = "1.0.6"; + version = "1.0.8"; }; oauth2 = { dependencies = [ @@ -2011,10 +2215,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "15g4kyag6gmxxq6d03472h7srm3imlsks1wg6nac7hl3mb1b5vs8"; + sha256 = "1s14kbjfm9vdvcrwqdarfdbfsjqs1jxpglp60plvfdvnkd9rmsc2"; type = "gem"; }; - version = "5.6.1"; + version = "10.0.0"; }; oj = { dependencies = [ @@ -2046,15 +2250,18 @@ version = "2.1.2"; }; omniauth-facebook = { - dependencies = [ "omniauth-oauth2" ]; + dependencies = [ + "bigdecimal" + "omniauth-oauth2" + ]; groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0m7q38kjm94wgq6h7hk9546yg33wcs3vf1v6zp0vx7nwkvfxh2j4"; + sha256 = "1qdrziqfa4sqpqf77i0nzbwq4qyg8qaqd127alnmg1skvax6rp6z"; type = "gem"; }; - version = "9.0.0"; + version = "10.0.0"; }; omniauth-github = { dependencies = [ @@ -2168,8 +2375,18 @@ version = "3.2.1"; }; ostruct = { - groups = [ "default" ]; - platforms = [ ]; + groups = [ + "default" + "development" + ]; + platforms = [ + { + engine = "maglev"; + } + { + engine = "ruby"; + } + ]; source = { remotes = [ "https://rubygems.org" ]; sha256 = "04nrir9wdpc4izqwqbysxyly8y7hsfr4fsv69rw91lfi9d5fv8lm"; @@ -2186,10 +2403,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0c719bfgcszqvk9z47w2p8j2wkz5y35k48ywwas5yxbbh3hm3haa"; + sha256 = "0mlkn1vhh9lr7vljibpgspwsswk7mzm8nw6bbr616c9fbj35hlmk"; type = "gem"; }; - version = "1.27.0"; + version = "2.1.0"; }; parallel_tests = { dependencies = [ "parallel" ]; @@ -2200,10 +2417,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0rpn88b55q0kf21gxd7x1p5j44fg0fp81w30nfkrch3wl96iwg3q"; + sha256 = "0p003p7qpdc04m7r7yhv3579fxlxgwhpgy4fmyw27hm2dk2645rz"; type = "gem"; }; - version = "5.5.0"; + version = "5.7.0"; }; parser = { dependencies = [ @@ -2218,10 +2435,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1mmb59323ldv6vxfmy98azgsla9k3di3fasvpb28hnn5bkx8fdff"; + sha256 = "0m2xqvn1la62hji1mn04y59giikww95p2hs0r4y2rrz3mdxcwyni"; type = "gem"; }; - version = "3.3.10.0"; + version = "3.3.11.1"; }; pastel = { dependencies = [ "tty-color" ]; @@ -2246,20 +2463,23 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "11h8dhhd2c8mxssibk9q6qn7ilj4p71crlfirw8pppn8pr85f0n5"; + sha256 = "1kk8f1f5kkdwsbskv0vikcwx5xaivv19y9zl97x1fcaam23akihq"; type = "gem"; }; - version = "2.15.0"; + version = "2.15.1"; }; pg = { - groups = [ "default" ]; + groups = [ + "default" + "migrations" + ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0xf8i58shwvwlka4ld12nxcgqv0d5r1yizsvw74w5jaw83yllqaq"; + sha256 = "16caca7lcz5pwl82snarqrayjj9j7abmxqw92267blhk7rbd120k"; type = "gem"; }; - version = "1.6.2"; + version = "1.6.3"; }; pitchfork = { dependencies = [ @@ -2270,13 +2490,14 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0n9hf4w76s124ysa6y6q92pcrnfhxq4w1xrjhz90ihjj8c199wlq"; + sha256 = "155bskm6j5n78b6jxhqwzyn25zsjcqh8mgbsc96wkswjayibbl4m"; type = "gem"; }; - version = "0.18.1"; + version = "0.18.2"; }; playwright-ruby-client = { dependencies = [ + "base64" "concurrent-ruby" "mime-types" ]; @@ -2287,10 +2508,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1x4y7r7h7a3fmy62bf1501jcl5q20lzdgw3b44rwd18fbaidd2wp"; + sha256 = "0ls8r49d27j0ffpfva99nk53a4nk17f4k71x44hpny8f2gb448ll"; type = "gem"; }; - version = "1.57.0"; + version = "1.60.0"; }; pp = { dependencies = [ "prettyprint" ]; @@ -2339,15 +2560,16 @@ groups = [ "default" "development" + "migrations" "test" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0sqwckzzpj1mmmjnqcvqmq6adlxbhkf5ij3b6ir4i33ih4d2ih5z"; + sha256 = "11ggfikcs1lv17nhmhqyyp6z8nq5pkfcj6a904047hljkxm0qlvv"; type = "gem"; }; - version = "1.6.0"; + version = "1.9.0"; }; progress = { groups = [ "default" ]; @@ -2369,28 +2591,25 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "14n3fhz5hzpsczp4spqc26csfgk2qga7mgcm7px9z0byyr76dk4s"; + sha256 = "17iqn4sa59c9z5y3bpvxqka00srqnl379w6a57y1phljdbjs6mhx"; type = "gem"; }; - version = "1.3.1"; + version = "1.3.2"; }; pry = { dependencies = [ "coderay" "method_source" + "reline" ]; - groups = [ - "default" - "development" - "test" - ]; + groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0ssv704qg75mwlyagdfr9xxbzn1ziyqgzm0x474jkynk8234pm8j"; + sha256 = "0kh5nv8v74k1ccy6gc7nd04aaf1cjkbk7g8pwy2izvcqaq36jv6p"; type = "gem"; }; - version = "0.15.2"; + version = "0.16.0"; }; pry-rails = { dependencies = [ "pry" ]; @@ -2403,23 +2622,6 @@ }; version = "0.3.11"; }; - pry-stack_explorer = { - dependencies = [ - "binding_of_caller" - "pry" - ]; - groups = [ - "development" - "test" - ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "0h7kp99r8vpvpbvia079i58932qjz2ci9qhwbk7h1bf48ydymnx2"; - type = "gem"; - }; - version = "0.6.1"; - }; psych = { dependencies = [ "date" @@ -2433,10 +2635,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0vii1xc7x81hicdbp7dlllhmbw5w3jy20shj696n0vfbbnm2hhw1"; + sha256 = "1dx5bc3s1mb1i53np4cdkypg7ccygnvagr3hglyndbqilrljvxql"; type = "gem"; }; - version = "5.2.6"; + version = "5.4.0"; }; public_suffix = { groups = [ @@ -2447,21 +2649,21 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "15dhl6k4gbax0xz8frfs4nsb6lg5zgax9vkr1pqzjmhfxddhn2gp"; + sha256 = "08znfv30pxmdkjyihvbjqbvv874dj3nybmmyscl958dy3f7v12qs"; type = "gem"; }; - version = "7.0.0"; + version = "7.0.5"; }; puma = { dependencies = [ "nio4r" ]; - groups = [ "default" ]; + groups = [ "test" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1pa9zpr51kqnsq549p6apvnr95s9flx6bnwqii24s8jg2b5i0p74"; + sha256 = "1yw6nvkvddriacmva8hm0za0961d6j96dm7zm6748rmyzcfqgvf8"; type = "gem"; }; - version = "7.1.0"; + version = "8.0.2"; }; racc = { groups = [ @@ -2493,10 +2695,10 @@ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0fgpa9qm5qgza69fjnagg2alxs2wmj41aq7z4kj5yib50wpzgqhl"; + sha256 = "175ni9qsai9x2ykwvdbd5dzfyncaxpyn6dhjxjw70iq60xz9vzm8"; type = "gem"; }; - version = "2.2.21"; + version = "2.2.23"; }; rack-mini-profiler = { dependencies = [ "rack" ]; @@ -2603,10 +2805,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0q55i6mpad20m2x1lg5pkqfpbmmapk0sjsrvr1sqgnj2hb5f5z1m"; + sha256 = "128y5g3fyi8fds41jasrr4va1jrs7hcamzklk1523k7rxb64bc98"; type = "gem"; }; - version = "1.6.2"; + version = "1.7.0"; }; rails_failover = { dependencies = [ @@ -2656,10 +2858,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0iybsmr8yv8gg6a4cikmh0394sk707qr7h85vny4mazzvi9xh0w2"; + sha256 = "1md96yl05v436jkgz9725cax9hf61sv74267cg7yidwnl3lwd65d"; type = "gem"; }; - version = "8.0.4"; + version = "8.0.5"; }; rainbow = { groups = [ @@ -2704,20 +2906,20 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "175iisqb211n0qbfyqd8jz2g01q6xj038zjf4q0nm8k6kz88k7lc"; + sha256 = "009p524zl0p0kfa65nii8wdmaigkmawv9pbvlcffky7islmmp0nb"; type = "gem"; }; - version = "13.3.1"; + version = "13.4.2"; }; rake-compiler-dock = { groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "04dzjh7angq23s2m489k06ci5jccz865czk92lrml61avwcywqnx"; + sha256 = "08w033c3p25wr0zwbgx0b4mb4ha5kqd4j0ydmx9j0gcgfg10acpi"; type = "gem"; }; - version = "1.10.0"; + version = "1.12.0"; }; rb-fsevent = { groups = [ @@ -2753,13 +2955,17 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0jqbykm424fw92xvh8mqlsfzfzgwmcm6sjb4kfvy20p492hkyfb4"; + sha256 = "1z9q0l9l5r210jsmcmq3lxd4fr0j5lv348kn33g9a62fdm6izf4s"; type = "gem"; }; - version = "0.9.119"; + version = "0.9.128"; }; rbs = { - dependencies = [ "logger" ]; + dependencies = [ + "logger" + "prism" + "tsort" + ]; groups = [ "default" "development" @@ -2767,10 +2973,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1c0r26dhdr4jiklc0g7wjmr5q56dp7hwcfa8z75khkp8mrhazfpa"; + sha256 = "09ggg2zk0qrh0mc3fa23xjbn2gzqxd0jfqj6qm6460ydcqg6fxdg"; type = "gem"; }; - version = "3.9.5"; + version = "4.0.2"; }; rbtrace = { dependencies = [ @@ -2789,20 +2995,20 @@ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0gwjrdawjv630xhzwld9b0vrh391sph255vxshpv36jx60pjjcn4"; + sha256 = "0yvmkccs3rc6qisy86idhzpk2z8dzsf6dl2mw80h63skfq0f8yc2"; type = "gem"; }; - version = "0.5.3"; + version = "0.5.4"; }; rchardet = { groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "03rr05qam5d6gcsnsjs85bnwg80qww484xql347j42kj3bb2xsnm"; + sha256 = "0csz2dybi0y1w22dzxpllkcnr5dmr1w0y4xb947c2ka6bwcwnhg0"; type = "gem"; }; - version = "1.10.0"; + version = "1.10.2"; }; rdoc = { dependencies = [ @@ -2818,10 +3024,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1dq2bani47fzyqpb4psizfmzxiznvzlajmdikdgik67wd3jx8l0g"; + sha256 = "14iiyb4yi1chdzrynrk74xbhmikml3ixgdayjma3p700singfl46"; type = "gem"; }; - version = "6.17.0"; + version = "7.2.0"; }; redcarpet = { groups = [ "generic_import" ]; @@ -2850,10 +3056,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0wx0v68lh924x544mkpydcrkkbr7i386xvkpyxgsf5j55j3d4f8y"; + sha256 = "0xz4nl6jr8chzliw39s75mzfr7s7fyq8fh2m841im97h8bni2gvl"; type = "gem"; }; - version = "0.26.1"; + version = "0.30.0"; }; redis-namespace = { dependencies = [ "redis" ]; @@ -2875,10 +3081,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "192mzi0wgwl024pwpbfa6c2a2xlvbh3mjd75a0sakdvkl60z64ya"; + sha256 = "1fwfw26a32rps78920nn29shqg2zmqv72i89j1fap41isshida9m"; type = "gem"; }; - version = "2.11.3"; + version = "2.12.0"; }; reline = { dependencies = [ "io-console" ]; @@ -2940,6 +3146,7 @@ version = "6.3.0"; }; rouge = { + dependencies = [ "strscan" ]; groups = [ "default" "development" @@ -2954,10 +3161,10 @@ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0fd77qcz603mli4lyi97cjzkv02hsfk60m495qv5qcn02mkqk9fv"; + sha256 = "1g2y2z07niw4ylbgf6zr6a7kjaqbaqxn98xwff58zf4w5yx9ppp2"; type = "gem"; }; - version = "4.7.0"; + version = "5.0.0"; }; rqrcode = { dependencies = [ @@ -2968,20 +3175,20 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "03zhns2jjf5nbx522dr4cpf25dkak0kwikw84c3201xqv8v1wbjc"; + sha256 = "0hlm1cfqs891irh4pl6wynsfm7nh7w7baf0g6cqxfrxvlr64khb4"; type = "gem"; }; - version = "3.1.1"; + version = "3.2.0"; }; rqrcode_core = { groups = [ "default" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "12m97c5b9m3n3w3nnpfv4bbj42vlqb2ranm12ldsjzw3xjbnvxsj"; + sha256 = "0l9hl5nb7jx8sjchsrlv6bk30hywr449ihcdxv2qy6wwz1fvh0zk"; type = "gem"; }; - version = "2.0.1"; + version = "2.1.0"; }; rrule = { dependencies = [ "activesupport" ]; @@ -2989,10 +3196,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "11qzhn3y6pl01rfcy0nawa5fcfh00pgc7qsxwbgss1ap7k1nlsw1"; + sha256 = "1wm40i2hnfwxzzsp0fm6jw0a4wlkb3sw5s9d05wihi7y9qrrmcdb"; type = "gem"; }; - version = "0.7.0"; + version = "0.8.0"; }; rspec = { dependencies = [ @@ -3075,10 +3282,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "071bqrk2rblk3zq3jk1xxx0dr92y0szi5pxdm8waimxici706y89"; + sha256 = "0iqxmw0knjiz5nf6pgr8ihs6cjzh89f0ppj3fqiz8cvms79x6sh8"; type = "gem"; }; - version = "3.13.7"; + version = "3.13.8"; }; rspec-multi-mock = { dependencies = [ "rspec" ]; @@ -3111,10 +3318,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1kis8dfxlvi6gdzrv9nsn3ckw0c2z7armhni917qs1jx7yjkjc8i"; + sha256 = "1pr29snnnlgkqv80vbi4795l6rxq3l47x5rl7lyni4h8zj95c8q6"; type = "gem"; }; - version = "8.0.2"; + version = "8.0.4"; }; rspec-support = { groups = [ @@ -3125,10 +3332,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1cmgz34hwj5s3jwxhyl8mszs24nci12ffbrmr5jb1si74iqf739f"; + sha256 = "0z64h5rznm2zv21vjdjshz4v0h7bxvg02yc6g7yzxakj11byah06"; type = "gem"; }; - version = "3.13.6"; + version = "3.13.7"; }; rss = { dependencies = [ "rexml" ]; @@ -3136,10 +3343,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0dv74a07j3ih5ykyszs1k2cjvgs5c1pzrvcb1wc2bfai8p038qml"; + sha256 = "1ayi296p6gdf15h28ckbd9g9d8499sd0fn91x7dpxmlisv21xvrp"; type = "gem"; }; - version = "0.3.1"; + version = "0.3.3"; }; rswag-specs = { dependencies = [ @@ -3192,10 +3399,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "157hg99cq6ys670sw8xbggnvxc9yl50h1zhllki925kkihlwrdbg"; + sha256 = "0ca5inh368d4l24a2v2nbd3p4xc6s0pqs91j27h226nh04zmyha4"; type = "gem"; }; - version = "1.81.7"; + version = "1.86.1"; }; rubocop-ast = { dependencies = [ @@ -3210,10 +3417,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0xifbp09jfl1hdy9wwgq9dq2l7mf8y2ycm5d1zgcqvks7yzrppr2"; + sha256 = "0dahfpnzz63hyqxa03x8rypnrxzwyvh4i5a8ri34bzpnf3pg64j4"; type = "gem"; }; - version = "1.48.0"; + version = "1.49.1"; }; rubocop-capybara = { dependencies = [ @@ -3228,17 +3435,17 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "030wymq0jrblrdswl1lncj60dhcg5wszz6708qzsbziyyap8rn6f"; + sha256 = "0mz3mvjh09awggp0bwsmf4rfaz2irrwc6vzpiklfh7jnlyiipspr"; type = "gem"; }; - version = "2.22.1"; + version = "2.23.0"; }; rubocop-discourse = { dependencies = [ "activesupport" "lint_roller" - "rubocop" "rubocop-capybara" + "rubocop-discourse-base" "rubocop-factory_bot" "rubocop-rails" "rubocop-rspec" @@ -3251,10 +3458,25 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "17q5i9rjk5vanvpqphwpcr0aiqzinm47cv9plidhqpy4gbirawv3"; + sha256 = "02yf6zcq3ki1nkkkw3vsgfkm4fyfzdpb6lss7d285vdirc9izcxx"; type = "gem"; }; - version = "3.13.3"; + version = "3.18.0"; + }; + rubocop-discourse-base = { + dependencies = [ "rubocop" ]; + groups = [ + "default" + "development" + "test" + ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1dvjniwyxgbkjv3b055cpqn3fdgxz5m108pfkwjw6clf587iy4m4"; + type = "gem"; + }; + version = "1.0.0"; }; rubocop-factory_bot = { dependencies = [ @@ -3290,10 +3512,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1danlfzfqx3x1kna248sm2b1br5ki369r51x90jc4vbh6xk8zv1l"; + sha256 = "1llsxc8wm2pq8glpv5mczd1h36fazbri3wwrh7dfqra80a4pklqh"; type = "gem"; }; - version = "2.33.4"; + version = "2.34.3"; }; rubocop-rspec = { dependencies = [ @@ -3308,10 +3530,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0cxb9i1brf1cks8anv8mdj65n9rq6jyldyd1ij9sj8zjng60si18"; + sha256 = "1qjmvcpk6qwxjdh3w5smr2n7c1glxsdzpv5fi7bkg0j034v0m9wg"; type = "gem"; }; - version = "3.8.0"; + version = "3.9.0"; }; rubocop-rspec_rails = { dependencies = [ @@ -3342,10 +3564,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1xx96yfi5aqm1d3aps2nl5mls0vnm8xwvw75vy1ik3vc0rm09cqw"; + sha256 = "0aa1mg6bdl23wgrxd98wycq3963jfpnh9z0yh976p9q03h01r81k"; type = "gem"; }; - version = "0.26.4"; + version = "0.26.9"; }; ruby-lsp-rails = { dependencies = [ "ruby-lsp" ]; @@ -3364,13 +3586,16 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "14gl3g8gg8p8zknd07hkzrrgaqqq184pj7l3nw7dgih8pbzv7cqd"; + sha256 = "1raf477s25l50rylq0p2rzj664gvi0r3fckxn5bcsxikf9wyb2vr"; type = "gem"; }; - version = "0.1.28"; + version = "0.1.29"; }; ruby-prof = { - dependencies = [ "base64" ]; + dependencies = [ + "base64" + "ostruct" + ]; groups = [ "development" ]; platforms = [ { @@ -3382,10 +3607,10 @@ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0h23zjwma8car8jpq7af8gw39qi88rn24mass7r13ripmky28117"; + sha256 = "03kcdnip5zv7m529xc05pk6vsz6prfq5s5036g1qllw9408vbhyv"; type = "gem"; }; - version = "1.7.2"; + version = "2.0.5"; }; ruby-progressbar = { groups = [ @@ -3420,10 +3645,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "032qqqaj5v09a7r5jpblv7dc37f278qv3b1nag9wsbn6kb4dslbk"; + sha256 = "0hf2xwvjlsmkizkk7h3qvj4vdiicxal6gqcrv4awq63i0fmky8dx"; type = "gem"; }; - version = "0.7.2"; + version = "0.7.3"; }; ruby2_keywords = { groups = [ @@ -3440,17 +3665,28 @@ version = "0.0.5"; }; rubyzip = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0khy3d43cr2i4x9as2k41ckrjb4wkpcycdbzaara4fy4qw923n9f"; + type = "gem"; + }; + version = "3.3.1"; + }; + samovar = { + dependencies = [ "console" ]; groups = [ "default" - "test" + "migrations" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "05an0wz87vkmqwcwyh5rjiaavydfn5f4q1lixcsqkphzvj7chxw5"; + sha256 = "15133m5jihv7pv00dcrg51yvrkw5qiw1dd0y6bq89046p0gc97wa"; type = "gem"; }; - version = "2.4.1"; + version = "2.5.1"; }; sanitize = { dependencies = [ @@ -3475,10 +3711,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0ixqik50ffd82jnkrmwqanrjd7106gqala58bch777wmywx000dx"; + sha256 = "14n07y6mg44y8rzsc4w12pf66jqn8iv318dj2y3vmrab60gq7m5p"; type = "gem"; }; - version = "1.91.0"; + version = "1.100.0"; }; sassc-embedded = { dependencies = [ "sass-embedded" ]; @@ -3486,10 +3722,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0gnbp770q1krka70phyf59amzw0dx92c0yx1psc9fkp5in9hqwmj"; + sha256 = "0qymnvzbgbg9ir70yl0qrhfg2acfrwmlkzdywrkq5k1i81g84qpa"; type = "gem"; }; - version = "1.80.5"; + version = "1.80.8"; }; sawyer = { dependencies = [ @@ -3509,6 +3745,7 @@ groups = [ "default" "development" + "migrations" "test" ]; platforms = [ ]; @@ -3545,10 +3782,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "19xm4s49hq0kpfbmvhnjskzmfjjxw5d5sm7350mh12gg3lp7220i"; + sha256 = "0g4fxxr1kvd4mn3cgvl2xrzznfi827r74gfp999l4q7kbvvb87kq"; type = "gem"; }; - version = "7.3.9"; + version = "7.3.10"; }; simplecov = { dependencies = [ @@ -3601,6 +3838,17 @@ }; version = "0.2.3"; }; + smarter_json = { + dependencies = [ "bigdecimal" ]; + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "0i9bf8d2q251riqr65ix5yvk27c7p7swid0jh8k6vqjl779a4f36"; + type = "gem"; + }; + version = "1.2.6"; + }; snaky_hash = { dependencies = [ "hashie" @@ -3610,10 +3858,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0mnllrwhs7psw6xxs8x5yx85k12qjfdgs8zs0bxm70bfascx58r5"; + sha256 = "1kpyqhybal05bmby5myq45s768qs9gw205hs6jb6gynyay67a4ib"; type = "gem"; }; - version = "2.0.3"; + version = "2.0.4"; }; sqlite3 = { dependencies = [ "mini_portile2" ]; @@ -3621,10 +3869,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "09np0n6zn63qinzbsf0yxfbn8jcdm9pzpgmmhhj2pnd429wsrl5c"; + sha256 = "01i6k25fv3w3f5ph5cix9ipg19ajsy6zrzxdm18ashzrldrjjmq4"; type = "gem"; }; - version = "2.8.1"; + version = "2.9.5"; }; sshkey = { groups = [ "default" ]; @@ -3636,6 +3884,16 @@ }; version = "3.0.0"; }; + ssrf_filter = { + groups = [ "default" ]; + platforms = [ ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "1xlpb8y555frl82cx4q2i922mps36mmn0ajk21kpy3bks6wwsgg0"; + type = "gem"; + }; + version = "1.5.0"; + }; stackprof = { groups = [ "default" ]; platforms = [ @@ -3648,10 +3906,10 @@ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "03788mbipmihq2w7rznzvv0ks0s9z1321k1jyr6ffln8as3d5xmg"; + sha256 = "014s1zxlxcw35shislar3y1i3mqa0c6gh3m21js14q1q5zharhjf"; type = "gem"; }; - version = "0.2.27"; + version = "0.2.28"; }; stringio = { groups = [ @@ -3662,10 +3920,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "08aii379my5zvk0jb3nb50yx321pz7n5a9mwlfbangm7sc9sy4f1"; + sha256 = "1q92y9627yisykyscv0bdsrrgyaajc2qr56dwlzx7ysgigjv4z63"; type = "gem"; }; - version = "3.1.9"; + version = "3.2.0"; }; stripe = { groups = [ "default" ]; @@ -3677,6 +3935,26 @@ }; version = "11.1.0"; }; + strscan = { + groups = [ + "default" + "development" + ]; + platforms = [ + { + engine = "maglev"; + } + { + engine = "ruby"; + } + ]; + source = { + remotes = [ "https://rubygems.org" ]; + sha256 = "17k75zrwf4ag9yl9wjjkcb90zrm4r5jigdzv3zr5jm9239hxpqma"; + type = "gem"; + }; + version = "3.1.8"; + }; syntax_tree = { dependencies = [ "prettier_print" ]; groups = [ @@ -3696,10 +3974,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1s7asi66mhpraw3p8a5aciwzi2iwwsiwj0a97b7x5z8ncbi7nj6s"; + sha256 = "17j9cai2ykcndgn0800m9nb297sx0lpminxj8bcqw4bwkb1xjch3"; type = "gem"; }; - version = "1.5.0"; + version = "1.6.1"; }; thor = { groups = [ @@ -3710,10 +3988,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0gcarlmpfbmqnjvwfz44gdjhcmm634di7plcx2zdgwdhrhifhqw7"; + sha256 = "0wsy88vg2mazl039392hqrcwvs5nb9kq8jhhrrclir2px1gybag3"; type = "gem"; }; - version = "1.4.0"; + version = "1.5.0"; }; tiktoken_ruby = { dependencies = [ "rb_sys" ]; @@ -3721,24 +3999,25 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0d7q1nxjilj6ydjliyc48axjiz8d67andw76pvi7wsd3spyn0f7y"; + sha256 = "0kahw453axizbg3x5yi1lyasj2vgd6vshkp6zgsi22w3y41kbb1b"; type = "gem"; }; - version = "0.0.15.1"; + version = "0.0.16"; }; timeout = { groups = [ "default" "development" + "migrations" "test" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1jwhj5y89j5c6pk5hjw8jmrm3iila0krn2c31lnlrn217z8yyal5"; + sha256 = "1jxcji88mh6xsqz0mfzwnxczpg7cyniph7wpavnavfz7lxl77xbq"; type = "gem"; }; - version = "0.5.0"; + version = "0.6.1"; }; tokenizers = { dependencies = [ "rb_sys" ]; @@ -3746,20 +4025,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "153rcngyzprwvlfwlbdl3yzma1v84k5n2636zrn5ysckd3lbhxnb"; + sha256 = "0iwgirp1bwsfdyk7r9k3favj51hkppa85hz0dgn5sq3yxspz50bq"; type = "gem"; }; - version = "0.6.3"; - }; - trilogy = { - groups = [ "migrations" ]; - platforms = [ ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "0zq6yrp1074yd5lflz7yqzpicpcg4bxrl7sxw5c4g2m67dk3pmm2"; - type = "gem"; - }; - version = "2.9.0"; + version = "0.6.4"; }; tsort = { groups = [ @@ -3850,6 +4119,7 @@ groups = [ "default" "development" + "migrations" "test" ]; platforms = [ ]; @@ -3866,10 +4136,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "0f898y35w60mkx3sd8ld2ryzkj4cld04qlgxi3z3hzdlzfhpa8x9"; + sha256 = "1g0hmv2axxjvk7m5ksql9q0a6mnhqv4cqgqqzh0pd39vsp9x7c3x"; type = "gem"; }; - version = "1.2025.2"; + version = "1.2026.2"; }; unf = { groups = [ "default" ]; @@ -3886,6 +4156,7 @@ groups = [ "default" "development" + "migrations" "test" ]; platforms = [ ]; @@ -3900,39 +4171,16 @@ groups = [ "default" "development" + "migrations" "test" ]; platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "1995yfjbvjlwrslq48gzzc9j0blkdzlbda9h90pjbm0yvzax55s9"; + sha256 = "03zqn207zypycbz5m9mn7ym763wgpk7hcqbkpx02wrbm1wank7ji"; type = "gem"; }; - version = "4.1.0"; - }; - unicorn = { - dependencies = [ - "kgio" - "raindrops" - ]; - groups = [ "default" ]; - platforms = [ - { - engine = "maglev"; - } - { - engine = "rbx"; - } - { - engine = "ruby"; - } - ]; - source = { - remotes = [ "https://rubygems.org" ]; - sha256 = "1h0gma14jjxiz6piyi6p99q7lya2mxrq79l03160hascvmx9ipa5"; - type = "gem"; - }; - version = "6.1.0"; + version = "4.2.0"; }; uniform_notifier = { groups = [ @@ -3951,6 +4199,7 @@ groups = [ "default" "development" + "migrations" "test" ]; platforms = [ ]; @@ -3980,10 +4229,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "195r5qylwxwqbllnpli9c2pzin0lky6h3fw912h88g2lmri0j6hc"; + sha256 = "0q3jb2cal9c8b0xgdz1xl47w3n1vsb1gwj06c4acsxsqqid07wvp"; type = "gem"; }; - version = "1.1.9"; + version = "1.1.13"; }; web-push = { dependencies = [ @@ -4009,10 +4258,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "08v374yrqqhjj3xjzmvwnv3yz21r22kn071yr0i67gmwaf9mv7db"; + sha256 = "142cbab47mjxmg8gc89d94sd3h7an9ligh38r9n88wb3xbr5cibp"; type = "gem"; }; - version = "3.25.1"; + version = "3.26.2"; }; webrick = { groups = [ @@ -4067,10 +4316,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "03q1hf12csqy5q2inafzi44179zaq9n5yrb0k2j2llqhzcmbh7vj"; + sha256 = "0a3zi3v7qjm7lm4yp9z2sm959533k543sc4z0ixqik8wcfdpw27b"; type = "gem"; }; - version = "0.9.38"; + version = "0.9.44"; }; zeitwerk = { groups = [ @@ -4082,10 +4331,10 @@ platforms = [ ]; source = { remotes = [ "https://rubygems.org" ]; - sha256 = "119ypabas886gd0n9kiid3q41w76gz60s8qmiak6pljpkd56ps5j"; + sha256 = "04hx33lsnp4q0qf8982mz0acs1dap5s2bsmihi0n0g08249sc4kj"; type = "gem"; }; - version = "2.7.3"; + version = "2.8.2"; }; zendesk_api = { dependencies = [ diff --git a/pkgs/servers/web-apps/discourse/safe-exec-from-nix-store.patch b/pkgs/servers/web-apps/discourse/safe-exec-from-nix-store.patch new file mode 100644 index 000000000000..e3c444958a26 --- /dev/null +++ b/pkgs/servers/web-apps/discourse/safe-exec-from-nix-store.patch @@ -0,0 +1,13 @@ +diff --git a/lib/discourse/safe_exec.rb b/lib/discourse/safe_exec.rb +index c4b8a5e3ecb..31d6f0d469d 100644 +--- a/lib/discourse/safe_exec.rb ++++ b/lib/discourse/safe_exec.rb +@@ -5,7 +5,7 @@ require "landlock" + module Discourse + class SafeExec + DEFAULT_READ_PATHS = %w[/bin /etc /lib /lib64 /usr].freeze +- DEFAULT_EXECUTE_PATHS = %w[/bin /lib /lib64 /usr].freeze ++ DEFAULT_EXECUTE_PATHS = %w[/bin /lib /lib64 /usr /nix/store].freeze + + def self.capture( + *command, diff --git a/pkgs/servers/web-apps/discourse/sass_embedded_vendored_dart_sass.patch b/pkgs/servers/web-apps/discourse/sass_embedded_vendored_dart_sass.patch new file mode 100644 index 000000000000..8d7f55794fa4 --- /dev/null +++ b/pkgs/servers/web-apps/discourse/sass_embedded_vendored_dart_sass.patch @@ -0,0 +1,28 @@ +diff --git a/ext/sass/Rakefile b/ext/sass/Rakefile +index d542efd..93f97cf 100644 +--- a/ext/sass/Rakefile ++++ b/ext/sass/Rakefile +@@ -84,11 +84,18 @@ file File.absolute_path('node_modules/sass', ARCHDIR) do + end + + task 'dart-sass' => ( +- begin +- SassConfig.dart_sass +- File.absolute_path('dart-sass/sass', ARCHDIR) +- rescue NotImplementedError +- File.absolute_path('node_modules/sass', ARCHDIR) ++ p ENV ++ if ENV.has_key?('DART_SASS_VENDORED') ++ mkdir_p ARCHDIR ++ cp_r ENV.fetch('DART_SASS_VENDORED'), File.absolute_path('dart-sass', ARCHDIR) ++ else ++ raise Errno::EINVAL, "no vendored SASS" ++ begin ++ SassConfig.dart_sass ++ File.absolute_path('dart-sass/sass', ARCHDIR) ++ rescue NotImplementedError ++ File.absolute_path('node_modules/sass', ARCHDIR) ++ end + end + ) + diff --git a/pkgs/servers/web-apps/discourse/unicorn_logging_and_timeout.patch b/pkgs/servers/web-apps/discourse/unicorn_logging_and_timeout.patch deleted file mode 100644 index 897cad1b66ea..000000000000 --- a/pkgs/servers/web-apps/discourse/unicorn_logging_and_timeout.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff --git a/config/unicorn.conf.rb b/config/unicorn.conf.rb -index b8c549bc0f..a7d3592013 100644 ---- a/config/unicorn.conf.rb -+++ b/config/unicorn.conf.rb -@@ -35,19 +35,7 @@ FileUtils.mkdir_p("#{discourse_path}/tmp/pids") if !File.exist?("#{discourse_pat - # feel free to point this anywhere accessible on the filesystem - pid(ENV["UNICORN_PID_PATH"] || "#{discourse_path}/tmp/pids/unicorn.pid") - --if ENV["RAILS_ENV"] == "production" -- # By default, the Unicorn logger will write to stderr. -- # Additionally, some applications/frameworks log to stderr or stdout, -- # so prevent them from going to /dev/null when daemonized here: -- stderr_path unicorn_stderr_path -- stdout_path unicorn_stdout_path -- -- # nuke workers after 30 seconds instead of 60 seconds (the default) -- timeout 30 --else -- # we want a longer timeout in dev cause first request can be really slow -- timeout(ENV["UNICORN_TIMEOUT"] && ENV["UNICORN_TIMEOUT"].to_i || 60) --end -+timeout(ENV["UNICORN_TIMEOUT"] && ENV["UNICORN_TIMEOUT"].to_i || 60) - - # important for Ruby 2.0 - preload_app true diff --git a/pkgs/servers/web-apps/discourse/update.py b/pkgs/servers/web-apps/discourse/update.py index d86ec9c439a5..6a1fa3f64b9a 100755 --- a/pkgs/servers/web-apps/discourse/update.py +++ b/pkgs/servers/web-apps/discourse/update.py @@ -1,5 +1,5 @@ #!/usr/bin/env nix-shell -#! nix-shell -i python3 -p "python3.withPackages (ps: with ps; [ requests click click-log packaging ])" bundix bundler nix-update nurl +#! nix-shell -i python3 -p "python3.withPackages (ps: with ps; [ requests click click-log packaging ])" bundix bundler nix-update nurl curl unzip from __future__ import annotations import click @@ -149,6 +149,7 @@ def _diff_file(filepath: str, old_version: DiscourseVersion, new_version: Discou with tempfile.NamedTemporaryFile(mode='w') as o, tempfile.NamedTemporaryFile(mode='w') as n: o.write(old), n.write(new) + o.flush(), n.flush() width = shutil.get_terminal_size((80, 20)).columns diff_proc = subprocess.run( ['diff', '--color=always', f'--width={width}', '-y', o.name, n.name], @@ -236,12 +237,71 @@ def update(rev): with open(rubyenv_dir / fn, 'w') as f: f.write(repo.get_file(fn, version.tag)) + # download and copy the gems that are specified as path dependencies so bundle/bundix works + # currently this is only `migrations` + with tempfile.TemporaryDirectory() as d: + print("downloading discourse gems (path dependencies) for bundix") + subprocess.check_output(['curl',f'https://codeload.github.com/discourse/discourse/zip/refs/tags/{version.tag}','-o','discourse.zip'], cwd=d) + subprocess.check_output(['unzip', f'discourse.zip'], cwd=d) + subprocess.check_output(['mv', f'discourse-{version.version}/migrations', rubyenv_dir / 'migrations'], cwd=d) + + # -- sed commands borrowed from ../../../by-name/gi/gitlab/update.py which has a similar predicament with path deps + # comment from that file: "Undo our gemset.nix patches so that bundix runs through" + subprocess.check_output( + ["sed", "-i", "-e", "s|\\${src}/||g", "gemset.nix"], cwd=rubyenv_dir + ) + subprocess.check_output( + ["sed", "-i", "-e", "s|^src:[[:space:]]||g", "gemset.nix"], cwd=rubyenv_dir + ) + # work around https://github.com/nix-community/bundix/issues/8 os.environ["BUNDLE_FORCE_RUBY_PLATFORM"] = "true" subprocess.check_output(['bundle', 'lock'], cwd=rubyenv_dir) _remove_platforms(rubyenv_dir) subprocess.check_output(['bundix'], cwd=rubyenv_dir) + # -- also from gitlab pkg, see above + subprocess.check_output( + [ + "sed", + "-i", + "-e", + "1c\\src: {", + "-e", + 's:path = \\(migrations/[^;]*\\);:path = "${src}/\\1";:g', + "gemset.nix", + ], + cwd=rubyenv_dir, + ) + subprocess.check_output(["rm", "-rf", "migrations"], cwd=rubyenv_dir) + # -- end gitlab pkg code + + # update the sass-embedded override + # must run *after* the gemfile update! + dart_sass_ver = _nix_eval('discourse.rubyEnv.gemset.sass-embedded.version') + for platform in ["x64", "arm64"]: + prev_hash = _nix_eval(f'discourse.rubyEnv.dart-{platform}-hash') + new_hash = subprocess.check_output([ + "nurl", + "--fetcher", "fetchzip", + "--hash", + f"https://github.com/sass/dart-sass/releases/download/{dart_sass_ver}/dart-sass-{dart_sass_ver}-linux-{platform}.tar.gz", + ], text=True).strip("\n") + + if prev_hash == new_hash: + click.echo(f"dart-sass for {platform} up to date!") + continue + + click.echo(f"Update vendored dart-sass for {platform} to {dart_sass_ver} (hash {prev_hash} -> {new_hash})") + + with open(Path(__file__).parent / "default.nix", 'r+') as f: + content = f.read() + content = content.replace(prev_hash, new_hash) + f.seek(0) + f.write(content) + f.truncate() + + # update the discourse package itself _call_nix_update('discourse', version.version) old_pnpm_hash = _nix_eval('discourse.assets.pnpmDeps.outputHash') diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 52a0619a0c00..bd07d4b2df97 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -15865,20 +15865,23 @@ with self; HashSharedMem = buildPerlModule { pname = "Hash-SharedMem"; - version = "0.005"; + version = "0.006"; src = fetchurl { - url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Hash-SharedMem-0.005.tar.gz"; - hash = "sha256-Mkd2gIYC973EStqpN4lTZUVAKakm+mEfMhyb9rlAu14="; + url = "mirror://cpan/authors/id/K/KS/KSTAR/Hash-SharedMem-0.006.tar.gz"; + hash = "sha256-6gA2LUokkXUFYvJFHK61l0eDXZxWcthGPNlhwz7jh2E="; }; env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isAarch64 "-mno-outline-atomics"; buildInputs = [ ScalarString ]; + # Project uses ExtUtils::MakeMaker, can use default `make` targets + buildPhase = null; + checkPhase = null; + installPhase = null; meta = { description = "Efficient shared mutable hash"; license = with lib.licenses; [ artistic1 gpl1Plus ]; - broken = stdenv.hostPlatform.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.HashSharedMem.x86_64-darwin }; };