Conversation
…rameterized function (#1261) ## Summary - Replaces the two separate `wastewaterOrganismConfigs`/`wastewaterOrganismStagingConfigs` objects and the `withResistanceCollectionOverrides` helper with a single `buildWastewaterOrganismConfigs(isStaging: boolean)` function - Env-specific values (`collectionsUserId`, variant `collectionId`) are now expressed as inline ternaries, making prod/staging differences visible at the point of definition - Corrects the prod variant `collectionId` to 4943 (was 4961, the staging value) - All call sites are unchanged — the two exported constants remain 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
…sm enum value (#1262) Closes #1258 ## Summary - Renames the Astro route directory `collections/[organism]` → `collections/[pathFragment]` so the URL segment is the kebab-case path fragment (e.g. `west-nile`, `rsv-a`) consistent with the rest of the site - Updates the four URL builders in `pages.ts` to use `organismConfig[organism].pathFragment` instead of the raw enum key - Updates all four collection Astro pages to resolve `pathFragment` → `Organism` via `allOrganisms.find()` ## Test plan - [x] Visit `/collections/west-nile`, `/collections/rsv-a`, `/collections/rsv-b`, `/collections/ebola-sudan`, `/collections/ebola-zaire`, `/collections/influenza-a`, `/collections/influenza-b` and verify they load correctly - [x] Verify the old URLs (e.g. `/collections/westNile`) now 404 - [x] Verify collection detail, edit, and create pages work for the affected organisms - [x] Verify organisms where enum key = pathFragment (e.g. `covid`, `mpox`) are unaffected 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
## Summary - Bumps `@genspectrum/dashboard-components` from 1.17.0 to 1.18.0 ## Test plan - [ ] CI passes 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Closes #1242 ## Summary Adds RSV resistance mutation annotations. They are different from the covid annotations, in that we really use only one annotation for multiple mutations, whereas with covid we use one annotation per mutation. We do this because we want to name each mutation individually. This difference is now encoded with `annotationMode`, see below. - Adds `annotationMode: 'per-variant' | 'per-collection'` (required, no default) to `ResistanceMutationCollectionConfig` - Updates `buildResistanceData` to branch on the mode: `per-variant` keeps existing COVID behaviour (one annotation per mutation, name = variant name); `per-collection` emits one annotation for the whole collection with all mutations flattened - Enables `resistanceAnalysisModeEnabled` on RSV-A and RSV-B. Prod collection IDs are 4983/4984 (RSV-A) and 4985/4986 (RSV-B); staging overrides these to 5001/5002 (RSV-A) and 5003/5004 (RSV-B) via `wastewaterOrganismStagingConfigs`. - Sets `annotationMode: 'per-variant'` on all three existing COVID collections ## Screenshot <img width="1512" height="751" alt="image" src="https://github.com/user-attachments/assets/3becdefc-bbf8-4b77-a295-c8c15a188f53" /> ## Test plan - [x] `resistanceData.spec.ts` — existing per-variant tests still pass; new per-collection describe block covers flattened annotation and query-variant skipping - [x] TypeScript compiles cleanly (`tsc --noEmit`) - [x] Verify resistance tab appears on RSV-A and RSV-B wastewater dashboard pages on staging 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Bumps [gradle/actions](https://github.com/gradle/actions) from 6 to 6.1.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/gradle/actions/releases">gradle/actions's releases</a>.</em></p> <blockquote> <h2>v6.1.0</h2> <h2>New: Basic Cache Provider</h2> <p>A new MIT-licensed <strong>Basic Caching</strong> provider is now available as an alternative to the proprietary <strong>Enhanced Caching</strong> provided by <code>gradle-actions-caching</code>. Choose Basic Caching by setting <code>cache-provider: basic</code> on <code>setup-gradle</code> or <code>dependency-submission</code> actions.</p> <ul> <li>Built on <code>@actions/cache</code> -- fully open source</li> <li>Caches <code>~/.gradle/caches</code> and <code>~/.gradle/wrapper</code> directories</li> <li>Cache key derived from build files (<code>*.gradle*</code>, <code>gradle-wrapper.properties</code>, etc.)</li> <li>Clean cache on build file changes (no restore keys, preventing stale entry accumulation)</li> </ul> <p><strong>Limitations vs Enhanced Caching:</strong> No cache cleanup, no deduplication of cached content, cached content is fixed unless build files change.</p> <h2>Revamped Licensing & Distribution Documentation</h2> <ul> <li>New <strong>DISTRIBUTION.md</strong> documents the licensing of each component (particularly Basic Caching vs Enhanced Caching)</li> <li>Simplified licensing notices in README, docs, and runtime log output</li> <li>Clear usage tiers: Enhanced Caching is free for public repos and in Free Preview for private repos</li> </ul> <h2>What's Changed</h2> <ul> <li>Use a unique cache entry for wrapper-validation test by <a href="https://github.com/bigdaz"><code>@bigdaz</code></a> in <a href="https://redirect.github.com/gradle/actions/pull/921">gradle/actions#921</a></li> <li>Update Dependencies by <a href="https://github.com/bigdaz"><code>@bigdaz</code></a> in <a href="https://redirect.github.com/gradle/actions/pull/922">gradle/actions#922</a></li> <li>Update dependencies and resolve npm vulnerabilities by <a href="https://github.com/bigdaz"><code>@bigdaz</code></a> in <a href="https://redirect.github.com/gradle/actions/pull/933">gradle/actions#933</a></li> <li>Add open-source 'basic' cache provider and revamp licensing documentation by <a href="https://github.com/bigdaz"><code>@bigdaz</code></a> in <a href="https://redirect.github.com/gradle/actions/pull/930">gradle/actions#930</a></li> <li>Restructure caching documentation for basic and enhanced providers by <a href="https://github.com/bigdaz"><code>@bigdaz</code></a> in <a href="https://redirect.github.com/gradle/actions/pull/934">gradle/actions#934</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/gradle/actions/compare/v6.0.1...v6.1.0">https://github.com/gradle/actions/compare/v6.0.1...v6.1.0</a></p> <h2>v6.0.1</h2> <blockquote> <p>[!IMPORTANT] The release of <code>gradle/actions@v6</code> contains important changes to the license terms. More details in <a href="https://blog.gradle.org/github-actions-for-gradle-v6">this blog post</a>. <strong>TL;DR</strong>: By upgrading to v6, you accept the <a href="https://gradle.com/legal/terms-of-use/">Terms of Use</a> for the <code>gradle-actions-caching</code> component.</p> </blockquote> <h2>Summary</h2> <p>The <a href="https://blog.gradle.org/github-actions-for-gradle-v6">license changes in v6</a> introduced a <code>gradle-actions-caching</code> license notice that is printed in logs and in each job summary.</p> <p>With this release, the license notice will be muted if build-scan terms have been accepted, or if a Develocity access key is provided.</p> <h2>What's Changed</h2> <ul> <li>Bump actions used in docs by <a href="https://github.com/Goooler"><code>@Goooler</code></a> in <a href="https://redirect.github.com/gradle/actions/pull/792">gradle/actions#792</a></li> <li>Add typing information for use by typesafegithub by <a href="https://github.com/bigdaz"><code>@bigdaz</code></a> in <a href="https://redirect.github.com/gradle/actions/pull/910">gradle/actions#910</a></li> <li>Mute license warning when terms are accepted by <a href="https://github.com/bigdaz"><code>@bigdaz</code></a> in <a href="https://redirect.github.com/gradle/actions/pull/911">gradle/actions#911</a></li> <li>Mention explicit license acceptance in notice by <a href="https://github.com/bigdaz"><code>@bigdaz</code></a> in <a href="https://redirect.github.com/gradle/actions/pull/912">gradle/actions#912</a></li> <li>Bump com.fasterxml.jackson.dataformat:jackson-dataformat-smile from 2.21.1 to 2.21.2 in /sources/test/init-scripts in the gradle group across 1 directory by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/gradle/actions/pull/907">gradle/actions#907</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/gradle/actions/compare/v6.0.0...v6.0.1">https://github.com/gradle/actions/compare/v6.0.0...v6.0.1</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/gradle/actions/commit/50e97c2cd7a37755bbfafc9c5b7cafaece252f6e"><code>50e97c2</code></a> Link to docs for caching providers</li> <li><a href="https://github.com/gradle/actions/commit/f2e6298504c4b1f20294637059e1d0d89422409a"><code>f2e6298</code></a> Restructure caching documentation for basic and enhanced providers (<a href="https://redirect.github.com/gradle/actions/issues/934">#934</a>)</li> <li><a href="https://github.com/gradle/actions/commit/b294b1e2dbcf270bfe835590dedbbc7e2024618c"><code>b294b1e</code></a> Really fix integ-test-full</li> <li><a href="https://github.com/gradle/actions/commit/83d3189aae3332f1b2235b42d8804258f2348213"><code>83d3189</code></a> Revise license details for gradle-actions-caching</li> <li><a href="https://github.com/gradle/actions/commit/1d5db06d2662829845876553d61cf3df3cf997d1"><code>1d5db06</code></a> Update license link for gradle-actions-caching component</li> <li><a href="https://github.com/gradle/actions/commit/1c809615505fae9768e2610dc6dbecdc3a796443"><code>1c80961</code></a> Fix license link for Enhanced Caching component</li> <li><a href="https://github.com/gradle/actions/commit/9e99920b14b9dc5a9bf8c72e94ba47ebf5bbaee6"><code>9e99920</code></a> Fix integ-test-full workflow</li> <li><a href="https://github.com/gradle/actions/commit/bb8aaaf9d56f25afd4a90925425facf294f31fcf"><code>bb8aaaf</code></a> Fix workflow permissions</li> <li><a href="https://github.com/gradle/actions/commit/f5dfb43fc8c99c758ebf2324d102118e5faf6cb6"><code>f5dfb43</code></a> [bot] Update dist directory</li> <li><a href="https://github.com/gradle/actions/commit/ff9ae24c39252301b448088d2c7d9f0a2d8066dd"><code>ff9ae24</code></a> Add open-source 'basic' cache provider and revamp licensing documentation (<a href="https://redirect.github.com/gradle/actions/issues/930">#930</a>)</li> <li>Additional commits viewable in <a href="https://github.com/gradle/actions/compare/v6...v6.1.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
## Summary - Adds `name:` fields to both `actions/upload-artifact` steps in the E2E workflow so they show up as "Upload container logs" and "Upload Playwright report" in the Actions UI instead of being unlabeled. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
) ## Summary The staging DB was recently reset, which caused all collection IDs to shift. RSV resistance mutation collections ended up with low IDs (4–7, owned by user 1), while COVID resistance collections landed at 1–3. The previous config assumed staging mirrored prod's high RSV IDs (5001–5004, which now return 404) and that IDs 4/5/6 were COVID — both were wrong, causing staging to load the wrong collections entirely. Also fixes the XFG variant filter default: `4961` was pointing to "XFK" on staging — the correct XFG ID on staging is `4944`. ## Collection ID changes | Purpose | Prod ID | Staging ID (old) | Staging ID (new) | |---|---|---|---| | COVID 3CLpro | [4](https://genspectrum.org/api/collections/4) | `4` (was RSV-A Nirsevimab!) | [1](https://staging.genspectrum.org/api/collections/1) | | COVID RdRp | [5](https://genspectrum.org/api/collections/5) | `5` (was RSV-A Palivizumab!) | [2](https://staging.genspectrum.org/api/collections/2) | | COVID Spike mAb | [6](https://genspectrum.org/api/collections/6) | `6` (was RSV-B Nirsevimab!) | [3](https://staging.genspectrum.org/api/collections/3) | | RSV-A Nirsevimab | [4983](https://genspectrum.org/api/collections/4983) | `5001` (404) | [4](https://staging.genspectrum.org/api/collections/4) | | RSV-A Palivizumab | [4984](https://genspectrum.org/api/collections/4984) | `5002` (404) | [5](https://staging.genspectrum.org/api/collections/5) | | RSV-B Nirsevimab | [4985](https://genspectrum.org/api/collections/4985) | `5003` (404) | [6](https://staging.genspectrum.org/api/collections/6) | | RSV-B Palivizumab | [4986](https://genspectrum.org/api/collections/4986) | `5004` (404) | [7](https://staging.genspectrum.org/api/collections/7) | | COVID variant filter (XFG) | [4943](https://genspectrum.org/api/collections/4943) | `4961` (was XFK!) | [4944](https://staging.genspectrum.org/api/collections/4944) | ## Test plan - [ ] E2E test action passes 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
…ance mutations (#1274) resolves #1223 ## Summary - Replaces the two-mode annotation system (`perVariant` / `perCollection`) with a single unified approach, taking advantage of per-mutation name support added in dashboard-components 1.18 - All resistance mutation collections now produce one `MutationAnnotation` per collection, with each individual mutation carrying its variant name via the new `{ mutation, name }` object form - Removes the `annotationMode` field from `ResistanceMutationCollectionConfig` and the `annotationMode` constant entirely - Simplifies the test suite from four tests across two `describe` blocks down to two focused tests ## Test plan - [x] `npm run check-types` passes - [x] `resistanceData.spec.ts` passes (2 tests) - [x] `WasapPageStateHandler.spec.ts` passes (26 tests) - [x] Verified locally against COVID, RSV-A wastewater dashboards 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
…e_data tree.json (#1268) Closes #1256 ## Summary - Adds `RsvANextcladeLineagesSource` and `RsvBNextcladeLineagesSource` that walk the Nextclade reference tree JSON to produce one collection per RSV clade - Shared base class `_RsvNextcladeLineagesBase` handles the HTTP fetch; subclasses point at the hardcoded April 2026 snapshots from `nextstrain/nextclade_data` - Each collection gets four variants, mirroring the COVID Pango lineage shape: - **Nucleotide substitutions** — full set accumulated from the reference root (1-based genomic coordinates), expressed as `REF_BASE + POSITION + CURRENT_BASE` (e.g. `A982T`) - **Amino acid substitutions** — full AA set from reference root, expressed as `GENE:REF_AA + POSITION + CURRENT_AA` (e.g. `F:T8A`) - **New nucleotide substitutions** — branch-only delta, what this clade introduces relative to its parent - **New amino acid substitutions** — branch-only AA delta - Accumulation handles multi-hop mutations (A→C→G collapses to A→G) and reversions (A→C→A is dropped from the accumulated set) - Both sources registered in `registry.py` and included in the default run - 45 new tests covering accumulation logic, tree extraction, collection shape, source metadata, and HTTP fetch behaviour ## Test plan - [x] `pixi run -e test test` — all 95 tests pass - [x] Seeded against local backend — 45 RSV-A and 30 RSV-B collections created/updated successfully 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
4 tasks
Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 6.0.3. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/actions/checkout/releases">actions/checkout's releases</a>.</em></p> <blockquote> <h2>v6.0.3</h2> <h2>What's Changed</h2> <ul> <li>Update changelog by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2357">actions/checkout#2357</a></li> <li>fix: expand merge commit SHA regex and add SHA-256 test cases by <a href="https://github.com/yaananth"><code>@yaananth</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2414">actions/checkout#2414</a></li> <li>Fix checkout init for SHA-256 repositories by <a href="https://github.com/yaananth"><code>@yaananth</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2439">actions/checkout#2439</a></li> <li>Update changelog for v6.0.3 by <a href="https://github.com/yaananth"><code>@yaananth</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2446">actions/checkout#2446</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/yaananth"><code>@yaananth</code></a> made their first contribution in <a href="https://redirect.github.com/actions/checkout/pull/2414">actions/checkout#2414</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v6...v6.0.3">https://github.com/actions/checkout/compare/v6...v6.0.3</a></p> <h2>v6.0.2</h2> <h2>What's Changed</h2> <ul> <li>Add orchestration_id to git user-agent when ACTIONS_ORCHESTRATION_ID is set by <a href="https://github.com/TingluoHuang"><code>@TingluoHuang</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2355">actions/checkout#2355</a></li> <li>Fix tag handling: preserve annotations and explicit fetch-tags by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2356">actions/checkout#2356</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v6.0.1...v6.0.2">https://github.com/actions/checkout/compare/v6.0.1...v6.0.2</a></p> <h2>v6.0.1</h2> <h2>What's Changed</h2> <ul> <li>Update all references from v5 and v4 to v6 by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2314">actions/checkout#2314</a></li> <li>Add worktree support for persist-credentials includeIf by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2327">actions/checkout#2327</a></li> <li>Clarify v6 README by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2328">actions/checkout#2328</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/actions/checkout/compare/v6...v6.0.1">https://github.com/actions/checkout/compare/v6...v6.0.1</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/actions/checkout/blob/main/CHANGELOG.md">actions/checkout's changelog</a>.</em></p> <blockquote> <h2>v6.0.3</h2> <ul> <li>Fix checkout init for SHA-256 repositories by <a href="https://github.com/yaananth"><code>@yaananth</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2439">actions/checkout#2439</a></li> <li>fix: expand merge commit SHA regex and add SHA-256 test cases by <a href="https://github.com/yaananth"><code>@yaananth</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2414">actions/checkout#2414</a></li> </ul> <h2>v6.0.2</h2> <ul> <li>Fix tag handling: preserve annotations and explicit fetch-tags by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2356">actions/checkout#2356</a></li> </ul> <h2>v6.0.1</h2> <ul> <li>Add worktree support for persist-credentials includeIf by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2327">actions/checkout#2327</a></li> </ul> <h2>v6.0.0</h2> <ul> <li>Persist creds to a separate file by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2286">actions/checkout#2286</a></li> <li>Update README to include Node.js 24 support details and requirements by <a href="https://github.com/salmanmkc"><code>@salmanmkc</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2248">actions/checkout#2248</a></li> </ul> <h2>v5.0.1</h2> <ul> <li>Port v6 cleanup to v5 by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2301">actions/checkout#2301</a></li> </ul> <h2>v5.0.0</h2> <ul> <li>Update actions checkout to use node 24 by <a href="https://github.com/salmanmkc"><code>@salmanmkc</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2226">actions/checkout#2226</a></li> </ul> <h2>v4.3.1</h2> <ul> <li>Port v6 cleanup to v4 by <a href="https://github.com/ericsciple"><code>@ericsciple</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2305">actions/checkout#2305</a></li> </ul> <h2>v4.3.0</h2> <ul> <li>docs: update README.md by <a href="https://github.com/motss"><code>@motss</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1971">actions/checkout#1971</a></li> <li>Add internal repos for checking out multiple repositories by <a href="https://github.com/mouismail"><code>@mouismail</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1977">actions/checkout#1977</a></li> <li>Documentation update - add recommended permissions to Readme by <a href="https://github.com/benwells"><code>@benwells</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2043">actions/checkout#2043</a></li> <li>Adjust positioning of user email note and permissions heading by <a href="https://github.com/joshmgross"><code>@joshmgross</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2044">actions/checkout#2044</a></li> <li>Update README.md by <a href="https://github.com/nebuk89"><code>@nebuk89</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2194">actions/checkout#2194</a></li> <li>Update CODEOWNERS for actions by <a href="https://github.com/TingluoHuang"><code>@TingluoHuang</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2224">actions/checkout#2224</a></li> <li>Update package dependencies by <a href="https://github.com/salmanmkc"><code>@salmanmkc</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/2236">actions/checkout#2236</a></li> </ul> <h2>v4.2.2</h2> <ul> <li><code>url-helper.ts</code> now leverages well-known environment variables by <a href="https://github.com/jww3"><code>@jww3</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1941">actions/checkout#1941</a></li> <li>Expand unit test coverage for <code>isGhes</code> by <a href="https://github.com/jww3"><code>@jww3</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1946">actions/checkout#1946</a></li> </ul> <h2>v4.2.1</h2> <ul> <li>Check out other refs/* by commit if provided, fall back to ref by <a href="https://github.com/orhantoy"><code>@orhantoy</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1924">actions/checkout#1924</a></li> </ul> <h2>v4.2.0</h2> <ul> <li>Add Ref and Commit outputs by <a href="https://github.com/lucacome"><code>@lucacome</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1180">actions/checkout#1180</a></li> <li>Dependency updates by <a href="https://github.com/dependabot"><code>@dependabot</code></a>- <a href="https://redirect.github.com/actions/checkout/pull/1777">actions/checkout#1777</a>, <a href="https://redirect.github.com/actions/checkout/pull/1872">actions/checkout#1872</a></li> </ul> <h2>v4.1.7</h2> <ul> <li>Bump the minor-npm-dependencies group across 1 directory with 4 updates by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1739">actions/checkout#1739</a></li> <li>Bump actions/checkout from 3 to 4 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1697">actions/checkout#1697</a></li> <li>Check out other refs/* by commit by <a href="https://github.com/orhantoy"><code>@orhantoy</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1774">actions/checkout#1774</a></li> <li>Pin actions/checkout's own workflows to a known, good, stable version. by <a href="https://github.com/jww3"><code>@jww3</code></a> in <a href="https://redirect.github.com/actions/checkout/pull/1776">actions/checkout#1776</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/actions/checkout/compare/v6...v6.0.3">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…iew (#1273) Closes #1271 ## Summary - Adds a segmented control (`[ Community ] [ Official ] [ All ]`) to the collections overview page - Filtering is done client-side based on `ownedBy`; "Community" is the default, preserving current behavior - Adds `getSystemUserId()` to `config.ts` (returns `1` on staging, `3` on prod); called server-side in the Astro page and passed as a prop so it doesn't reach the browser ## Screenshot https://github.com/user-attachments/assets/39cd0d35-3f16-43e7-b4b1-8a410834da90 ## Test plan - [x] Community filter shows only non-system-user collections - [x] Official filter shows only system-user collections - [x] All filter shows everything - [x] Default on page load is Community - [x] Browser spec passes 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Bumps [gradle/actions](https://github.com/gradle/actions) from 6.1.0 to 6.2.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/gradle/actions/releases">gradle/actions's releases</a>.</em></p> <blockquote> <h2>v6.2.0</h2> <h2>Highlights</h2> <p>This release brings significant behaviour improvements to <strong>Enhanced caching</strong>, improvements to the generated Job Summary, and a number of correctness and security fixes.</p> <ol> <li><strong>Improved cache-cleanup mechanism.</strong> Cleanup of stale files from the Gradle User Home is now faster, and no longer depends on Gradle or a JVM. It works by inspecting the local file state directly, removing the Gradle invocation from the post-build step.</li> <li><strong>More granular, more stable caching.</strong> The local build cache is stored as a separate cache entry, so it can be restored and invalidated independently of the main Gradle User Home entry. Transient Gradle housekeeping files are excluded from the cache, reducing its size and improving stability.</li> <li><strong>Hide obsolete Job summaries in PR commments</strong>: When a new Job summary comment is added to a PR, previous outdated Job summaries are now hidden.</li> <li><strong>Improved caching report in the job summary.</strong> The cache report now uses a single, consistent layout across all cache states and providers. Provider information is integrated directly into the report, and per-entry details are available in an expandable section. (<a href="https://redirect.github.com/gradle/actions/issues/985">#985</a>)</li> <li><strong>Correctness and security fixes.</strong> A unique cache key is now used per run attempt, so re-runs no longer collide; the job summary shows the cache key string rather than an internal id; and bundled dependencies have been updated, including a ReDoS fix and a fast-xml CVE fix.</li> </ol> <h2>What's Changed</h2> <ul> <li>Remove unnecessary dependency overrides by <a href="https://github.com/bigdaz"><code>@bigdaz</code></a> in <a href="https://redirect.github.com/gradle/actions/pull/981">gradle/actions#981</a></li> <li>Scope CI-integ-test concurrency groups per-branch by <a href="https://github.com/bigdaz"><code>@bigdaz</code></a> in <a href="https://redirect.github.com/gradle/actions/pull/983">gradle/actions#983</a></li> <li>Improve typings by <a href="https://github.com/Vampire"><code>@Vampire</code></a> in <a href="https://redirect.github.com/gradle/actions/pull/938">gradle/actions#938</a></li> <li>Hide obsolete Job summaries by <a href="https://github.com/SimonMarquis"><code>@SimonMarquis</code></a> in <a href="https://redirect.github.com/gradle/actions/pull/902">gradle/actions#902</a></li> <li>CI: add requireable aggregate/no-op checks for branch protection by <a href="https://github.com/bigdaz"><code>@bigdaz</code></a> in <a href="https://redirect.github.com/gradle/actions/pull/984">gradle/actions#984</a></li> <li>Redesign the caching Job Summary by <a href="https://github.com/bigdaz"><code>@bigdaz</code></a> in <a href="https://redirect.github.com/gradle/actions/pull/985">gradle/actions#985</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/Vampire"><code>@Vampire</code></a> made their first contribution in <a href="https://redirect.github.com/gradle/actions/pull/938">gradle/actions#938</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/gradle/actions/compare/v6.1.1...v6.2.0">https://github.com/gradle/actions/compare/v6.1.1...v6.2.0</a></p> <h2>v6.1.1</h2> <p>This release updates various dependency versions, resolving several reported security vulnerabilities. No functional changes are included</p> <h2>What's Changed</h2> <ul> <li>Bump Gradle Wrapper from 9.4.1 to 9.5.1 in /sources/test/init-scripts by <a href="https://github.com/bot-githubaction"><code>@bot-githubaction</code></a> in <a href="https://redirect.github.com/gradle/actions/pull/961">gradle/actions#961</a></li> <li>Bump Gradle Wrapper from 9.4.1 to 9.5.1 in /.github/workflow-samples/gradle-plugin by <a href="https://github.com/bot-githubaction"><code>@bot-githubaction</code></a> in <a href="https://redirect.github.com/gradle/actions/pull/962">gradle/actions#962</a></li> <li>Bump Gradle Wrapper from 9.4.1 to 9.5.1 in /.github/workflow-samples/groovy-dsl by <a href="https://github.com/bot-githubaction"><code>@bot-githubaction</code></a> in <a href="https://redirect.github.com/gradle/actions/pull/963">gradle/actions#963</a></li> <li>Bump Gradle Wrapper from 9.4.1 to 9.5.1 in /.github/workflow-samples/java-toolchain by <a href="https://github.com/bot-githubaction"><code>@bot-githubaction</code></a> in <a href="https://redirect.github.com/gradle/actions/pull/964">gradle/actions#964</a></li> <li>Bump Gradle Wrapper from 9.4.1 to 9.5.1 in /.github/workflow-samples/kotlin-dsl by <a href="https://github.com/bot-githubaction"><code>@bot-githubaction</code></a> in <a href="https://redirect.github.com/gradle/actions/pull/965">gradle/actions#965</a></li> <li>Update known wrapper checksums by <a href="https://github.com/github-actions"><code>@github-actions</code></a>[bot] in <a href="https://redirect.github.com/gradle/actions/pull/937">gradle/actions#937</a></li> <li>Bump the github-actions group across 2 directories with 8 updates by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/gradle/actions/pull/976">gradle/actions#976</a></li> <li>Bump the npm-dependencies group across 1 directory with 14 updates by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/gradle/actions/pull/970">gradle/actions#970</a></li> <li>Bump references to Develocity Gradle plugin from 4.4.0 to 4.4.2 by <a href="https://github.com/bot-githubaction"><code>@bot-githubaction</code></a> in <a href="https://redirect.github.com/gradle/actions/pull/973">gradle/actions#973</a></li> <li>Bump the npm-dependencies group in /sources with 5 updates by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/gradle/actions/pull/977">gradle/actions#977</a></li> <li>Update <code>@actions/cache</code> and <code>@actions/artifact</code>, stop ignoring them in Dependabot by <a href="https://github.com/bigdaz"><code>@bigdaz</code></a> in <a href="https://redirect.github.com/gradle/actions/pull/978">gradle/actions#978</a></li> <li>Resolve npm security vulnerabilities via dependency overrides by <a href="https://github.com/bigdaz"><code>@bigdaz</code></a> in <a href="https://redirect.github.com/gradle/actions/pull/980">gradle/actions#980</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/gradle/actions/compare/v6.1.0...v6.1.1">https://github.com/gradle/actions/compare/v6.1.0...v6.1.1</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/gradle/actions/commit/3f131e8634966bd73d06cc69884922b02e6faf92"><code>3f131e8</code></a> [bot] Update dist directory</li> <li><a href="https://github.com/gradle/actions/commit/97715a29bc75b4c8eeea944dee111d567bb582b5"><code>97715a2</code></a> Redesign the caching Job Summary (<a href="https://redirect.github.com/gradle/actions/issues/985">#985</a>)</li> <li><a href="https://github.com/gradle/actions/commit/8b6cdb5f580ff6b19af985e0fa90cd86daf1d3e1"><code>8b6cdb5</code></a> CI: add requireable aggregate/no-op checks for branch protection (<a href="https://redirect.github.com/gradle/actions/issues/984">#984</a>)</li> <li><a href="https://github.com/gradle/actions/commit/5852e0e5d82ffa89e04ed56eb37c14028a1ce459"><code>5852e0e</code></a> [bot] Update dist directory</li> <li><a href="https://github.com/gradle/actions/commit/318eed703815f0482a7498a267b758f78fe7bcb9"><code>318eed7</code></a> Hide obsolete Job summaries (<a href="https://redirect.github.com/gradle/actions/issues/902">#902</a>)</li> <li><a href="https://github.com/gradle/actions/commit/a7406612929c8997f724ceab900ed029936e3bf5"><code>a740661</code></a> Improve typings (<a href="https://redirect.github.com/gradle/actions/issues/938">#938</a>)</li> <li><a href="https://github.com/gradle/actions/commit/7ae0d0208cc8604463cd30cf64c54d08ac84d13f"><code>7ae0d02</code></a> Update gradle-actions-caching library to v0.6.0 (<a href="https://redirect.github.com/gradle/actions/issues/982">#982</a>)</li> <li><a href="https://github.com/gradle/actions/commit/e473973a5b07be6339cc6d3cf458bb1b30eb9b08"><code>e473973</code></a> Scope CI-integ-test concurrency groups per-branch</li> <li><a href="https://github.com/gradle/actions/commit/35a4a3f355e0599a8af664843f0d1a683e5b2230"><code>35a4a3f</code></a> Queue up integ-test runs</li> <li><a href="https://github.com/gradle/actions/commit/b6eebf33f1e928997bb7ff32e39933e3c015ccff"><code>b6eebf3</code></a> [bot] Update dist directory</li> <li>Additional commits viewable in <a href="https://github.com/gradle/actions/compare/v6.1.0...v6.2.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…o 1.8.0 (#1282) Bumps [lewagon/wait-on-check-action](https://github.com/lewagon/wait-on-check-action) from 1.7.0 to 1.8.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/lewagon/wait-on-check-action/releases">lewagon/wait-on-check-action's releases</a>.</em></p> <blockquote> <h2>v1.8.0</h2> <h3>Added</h3> <ul> <li>Add a <code>wait-for-duplicates</code> option to require every check with a duplicate name to succeed (<a href="https://redirect.github.com/lewagon/wait-on-check-action/issues/154">#154</a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/lewagon/wait-on-check-action/blob/master/CHANGELOG.md">lewagon/wait-on-check-action's changelog</a>.</em></p> <blockquote> <h2>v1.8.0 - 2026-06-09</h2> <h3>Added</h3> <ul> <li>Add a <code>wait-for-duplicates</code> option to require every check with a duplicate name to succeed</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/lewagon/wait-on-check-action/commit/96d9100b431964d10e0136aff8b9ccb92470505e"><code>96d9100</code></a> Bump version: 1.7.0 → 1.8.0</li> <li><a href="https://github.com/lewagon/wait-on-check-action/commit/c65f0fca43b10434a55c7cc0ddeed5a8aed39143"><code>c65f0fc</code></a> Add v1.8.0 changelog notes (<a href="https://redirect.github.com/lewagon/wait-on-check-action/issues/155">#155</a>)</li> <li><a href="https://github.com/lewagon/wait-on-check-action/commit/b91bfa3dceac87872c0da7d3f415a8b697f41e72"><code>b91bfa3</code></a> feat: add wait-for-duplicates option (<a href="https://redirect.github.com/lewagon/wait-on-check-action/issues/154">#154</a>)</li> <li>See full diff in <a href="https://github.com/lewagon/wait-on-check-action/compare/v1.7.0...v1.8.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ant explorer (#1285) ## Summary - Adds `predefinedVariantsSource` to the RSV-A and RSV-B W-ASAP configs, pointing at the Nextclade lineage collections already seeded into the backend (tagged `#nextclade-lineage`) - Renames `wastewaterOrganisms.rsvA/rsvB` from `'rsv-a'/'rsv-b'` to `'rsvA'/'rsvB'` so `internalName` matches the backend organism key used by the collections API — removes the need for any organism name override Users can now select an RSV-A or RSV-B Nextclade lineage from the "Predefined" tab in the Variant Explorer mode, the same way COVID Pango lineages are selectable. ## Test plan - [x] Open `/swiss-wastewater/rsv-a`, switch to Variant → Predefined — dropdown of Nextclade lineage names (e.g. A.D.3, A.D.5.2) appears - [x] Select a lineage and confirm the chart updates with the mutation signature - [x] Same for `/swiss-wastewater/rsv-b` - [x] `/swiss-wastewater/covid` still works unchanged 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request updates the
prodbranch with the latest changes from themainbranch.Make sure to merge this creating a merge commit.