Skip to content

Init cassia#1068

Merged
alexvpickering merged 12 commits into
masterfrom
init-cassia
Jul 23, 2026
Merged

Init cassia#1068
alexvpickering merged 12 commits into
masterfrom
init-cassia

Conversation

@alexvpickering

@alexvpickering alexvpickering commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Description

adds CASSIA cell type annotation

Details

N/A

Link to staging deployment URL (or set N/A)

N/A

Links to any PRs or resources related to this PR

Integration test branch

master

Merge checklist

Your changes will be ready for merging after all of the steps below have been completed.

Code updates

Have best practices and ongoing refactors being observed in this PR

  • Migrated any selector / reducer used to the new format.
  • All new dependency licenses have been checked for compatibility.

Manual/unit testing

  • Tested changes using InfraMock locally or no tests required for change, e.g. Kubernetes chart updates.
  • Validated that current unit tests for code work as expected and are sufficient for code coverage or no unit tests required for change, e.g. documentation update.
  • Unit tests written or no unit tests required for change, e.g. documentation update.

Integration testing

You must check the box below to run integration tests on the latest commit on your PR branch.
Integration tests have to pass before the PR can be merged. Without checking the box, your PR
will not pass the required status checks for merging.

  • Started end-to-end tests on the latest commit.

Documentation updates

  • Relevant Github READMEs updated or no GitHub README updates required.
  • Relevant Wiki pages created/updated or no Wiki updates required.

Optional

  • Staging environment is unstaged before merging.
  • Photo of a cute animal attached to this PR.

Signed-off-by: Alex Pickering <alexvpickering@gmail.com>
Signed-off-by: Alex Pickering <alexvpickering@gmail.com>
Signed-off-by: Alex Pickering <alexvpickering@gmail.com>
Signed-off-by: Alex Pickering <alexvpickering@gmail.com>
Signed-off-by: Alex Pickering <alexvpickering@gmail.com>
Signed-off-by: Alex Pickering <alexvpickering@gmail.com>
Signed-off-by: Alex Pickering <alexvpickering@gmail.com>
Signed-off-by: Alex Pickering <alexvpickering@gmail.com>
@alexvpickering alexvpickering added the safe to run Sensitive jobs are safe to be run label Jul 22, 2026
@github-actions

Copy link
Copy Markdown
Contributor

📦 Next.js Bundle Analysis for ui

This analysis was generated by the Next.js Bundle Analysis action. 🤖

⚠️ Global Bundle Size Increased

Page Size (compressed)
global 686.82 KB (🟡 +303 B)
Details

The global bundle is the javascript bundle that loads alongside every page. It is in its own category because its impact is much higher - an increase to its size means that every page on your website loads slower, and a decrease means every page loads faster.

Any third party scripts you have added directly to your app using the <script> tag are not accounted for in this analysis

If you want further insight into what is behind the changes, give @next/bundle-analyzer a try!

Sixteen Pages Changed Size

The following pages changed size from the code in this PR compared to its base branch:

Page Size (compressed) First Load
/data-management 202.54 KB (🟡 +67 B) 889.36 KB
/experiments/[experimentId]/data-exploration 1.51 MB (🟡 +1.45 KB) 2.18 MB
/experiments/[experimentId]/data-processing 515.44 KB (🟡 +65 B) 1.17 MB
/experiments/[experimentId]/plots-and-tables/batch-differential-expression 64.52 KB (🟡 +59 B) 751.34 KB
/experiments/[experimentId]/plots-and-tables/dot-plot 448.23 KB (🟡 +46 B) 1.11 MB
/experiments/[experimentId]/plots-and-tables/embedding-categorical 446.84 KB (🟡 +66 B) 1.11 MB
/experiments/[experimentId]/plots-and-tables/embedding-continuous 469.71 KB (🟡 +64 B) 1.13 MB
/experiments/[experimentId]/plots-and-tables/frequency 448.33 KB (🟡 +67 B) 1.11 MB
/experiments/[experimentId]/plots-and-tables/marker-heatmap 537.51 KB (🟡 +61 B) 1.2 MB
/experiments/[experimentId]/plots-and-tables/normalized-matrix 140.83 KB (🟡 +66 B) 827.65 KB
/experiments/[experimentId]/plots-and-tables/spatial-categorical 485.78 KB (🟡 +68 B) 1.15 MB
/experiments/[experimentId]/plots-and-tables/spatial-feature 491.66 KB (🟡 +63 B) 1.15 MB
/experiments/[experimentId]/plots-and-tables/spatial-molecules 644.04 KB (🟡 +66 B) 1.3 MB
/experiments/[experimentId]/plots-and-tables/trajectory-analysis 450.12 KB (🟡 +67 B) 1.11 MB
/experiments/[experimentId]/plots-and-tables/violin 470.89 KB (🟡 +54 B) 1.13 MB
/experiments/[experimentId]/plots-and-tables/volcano 452.68 KB (🟡 +58 B) 1.11 MB
Details

Only the gzipped size is provided here based on an expert tip.

First Load is the size of the global bundle plus the bundle for the individual page. If a user were to show up to your website and land on a given page, the first load size represents the amount of javascript that user would need to download. If next/link is used, subsequent page loads would only need to download that page's bundle (the number in the "Size" column), since the global bundle has already been downloaded.

Any third party scripts you have added directly to your app using the <script> tag are not accounted for in this analysis

Next to the size is how much the size has increased or decreased compared with the base branch of this PR. If this percentage has increased by 20% or more, there will be a red status indicator applied, indicating that special attention should be given to this.

@dbmi-svc-checkmarx

dbmi-svc-checkmarx commented Jul 22, 2026

Copy link
Copy Markdown

Logo
Checkmarx One – Scan Summary & Details93483a8b-0f3b-4a4e-ab1a-f0e13f701c77


New Issues (10) Checkmarx found the following issues in this Pull Request
# Severity Issue Source File / Package Checkmarx Insight
1 HIGH CVE-2026-14257 Npm-brace-expansion-1.1.11
detailsDescription: brace-expansion through 5.0.7 is vulnerable to denial of service via memory exhaustion. The expand() function limits the number of results with a m...
Attack Vector: NETWORK
Attack Complexity: LOW
Vulnerable Package
2 HIGH CVE-2026-64641 Npm-next-15.5.18
detailsRecommended version: 15.5.21
Description: Crafted requests targeting Next.js applications using App Router with at least one Server Action can lead to excessive CPU usage blocking processin...
Attack Vector: NETWORK
Attack Complexity: LOW
Vulnerable Package
3 HIGH CVE-2026-64645 Npm-next-15.5.18
detailsRecommended version: 15.5.21
Description: A `rewrites()` or `redirects()` rule that builds its external destination hostname from request-controlled input can be pointed at an arbitrary hos...
Attack Vector: NETWORK
Attack Complexity: LOW
Vulnerable Package
4 HIGH CVE-2026-64649 Npm-next-15.5.18
detailsRecommended version: 15.5.21
Description: When a Server Action forwards or redirects a request, an attacker can cause the server to send that outbound request to a malicious host (Server-Si...
Attack Vector: NETWORK
Attack Complexity: LOW
Vulnerable Package
5 HIGH Cx5d6ad42a-3b42 Npm-sharp-0.34.5
detailsRecommended version: 0.35.0
Description: A number of vulnerabilities, two rated as "High" severity using CVSSv4, have been discovered and fixed in the upstream libvips dependency. All vers...
Attack Vector: LOCAL
Attack Complexity: LOW
Vulnerable Package
6 LOW Unpinned Actions Full Length Commit SHA /ci.yaml: 306
detailsPinning an action to a full length commit SHA is currently the only way to use an action as an immutable release. Pinning to a particular SHA help...
7 LOW Unpinned Actions Full Length Commit SHA /ci.yaml: 447
detailsPinning an action to a full length commit SHA is currently the only way to use an action as an immutable release. Pinning to a particular SHA help...
8 LOW Unpinned Actions Full Length Commit SHA /ci.yaml: 428
detailsPinning an action to a full length commit SHA is currently the only way to use an action as an immutable release. Pinning to a particular SHA help...
9 LOW Unpinned Actions Full Length Commit SHA /ci.yaml: 313
detailsPinning an action to a full length commit SHA is currently the only way to use an action as an immutable release. Pinning to a particular SHA help...
10 LOW Unpinned Actions Full Length Commit SHA /ci.yaml: 477
detailsPinning an action to a full length commit SHA is currently the only way to use an action as an immutable release. Pinning to a particular SHA help...

Fixed Issues (5) Great job! The following issues were fixed in this Pull Request
Severity Issue Source File / Package
LOW Unpinned Actions Full Length Commit SHA /ci.yaml: 445
LOW Unpinned Actions Full Length Commit SHA /ci.yaml: 304
LOW Unpinned Actions Full Length Commit SHA /ci.yaml: 426
LOW Unpinned Actions Full Length Commit SHA /ci.yaml: 311
LOW Unpinned Actions Full Length Commit SHA /ci.yaml: 475

Use @Checkmarx to interact with Checkmarx PR Assistant.
Examples:
@Checkmarx how are you able to help me?
@Checkmarx rescan this PR

Signed-off-by: Alex Pickering <alexvpickering@gmail.com>
@github-actions

Copy link
Copy Markdown
Contributor

📦 Next.js Bundle Analysis for ui

This analysis was generated by the Next.js Bundle Analysis action. 🤖

⚠️ Global Bundle Size Increased

Page Size (compressed)
global 686.82 KB (🟡 +303 B)
Details

The global bundle is the javascript bundle that loads alongside every page. It is in its own category because its impact is much higher - an increase to its size means that every page on your website loads slower, and a decrease means every page loads faster.

Any third party scripts you have added directly to your app using the <script> tag are not accounted for in this analysis

If you want further insight into what is behind the changes, give @next/bundle-analyzer a try!

Sixteen Pages Changed Size

The following pages changed size from the code in this PR compared to its base branch:

Page Size (compressed) First Load
/data-management 202.54 KB (🟡 +67 B) 889.36 KB
/experiments/[experimentId]/data-exploration 1.51 MB (🟡 +1.45 KB) 2.18 MB
/experiments/[experimentId]/data-processing 515.44 KB (🟡 +65 B) 1.17 MB
/experiments/[experimentId]/plots-and-tables/batch-differential-expression 64.52 KB (🟡 +59 B) 751.34 KB
/experiments/[experimentId]/plots-and-tables/dot-plot 448.23 KB (🟡 +46 B) 1.11 MB
/experiments/[experimentId]/plots-and-tables/embedding-categorical 446.84 KB (🟡 +66 B) 1.11 MB
/experiments/[experimentId]/plots-and-tables/embedding-continuous 469.71 KB (🟡 +64 B) 1.13 MB
/experiments/[experimentId]/plots-and-tables/frequency 448.33 KB (🟡 +67 B) 1.11 MB
/experiments/[experimentId]/plots-and-tables/marker-heatmap 537.51 KB (🟡 +61 B) 1.2 MB
/experiments/[experimentId]/plots-and-tables/normalized-matrix 140.83 KB (🟡 +66 B) 827.65 KB
/experiments/[experimentId]/plots-and-tables/spatial-categorical 485.78 KB (🟡 +68 B) 1.15 MB
/experiments/[experimentId]/plots-and-tables/spatial-feature 491.66 KB (🟡 +63 B) 1.15 MB
/experiments/[experimentId]/plots-and-tables/spatial-molecules 644.04 KB (🟡 +66 B) 1.3 MB
/experiments/[experimentId]/plots-and-tables/trajectory-analysis 450.12 KB (🟡 +67 B) 1.11 MB
/experiments/[experimentId]/plots-and-tables/violin 470.89 KB (🟡 +54 B) 1.13 MB
/experiments/[experimentId]/plots-and-tables/volcano 452.68 KB (🟡 +58 B) 1.11 MB
Details

Only the gzipped size is provided here based on an expert tip.

First Load is the size of the global bundle plus the bundle for the individual page. If a user were to show up to your website and land on a given page, the first load size represents the amount of javascript that user would need to download. If next/link is used, subsequent page loads would only need to download that page's bundle (the number in the "Size" column), since the global bundle has already been downloaded.

Any third party scripts you have added directly to your app using the <script> tag are not accounted for in this analysis

Next to the size is how much the size has increased or decreased compared with the base branch of this PR. If this percentage has increased by 20% or more, there will be a red status indicator applied, indicating that special attention should be given to this.

…ault)

Signed-off-by: Alex Pickering <alexvpickering@gmail.com>
@github-actions

Copy link
Copy Markdown
Contributor

📦 Next.js Bundle Analysis for ui

This analysis was generated by the Next.js Bundle Analysis action. 🤖

⚠️ Global Bundle Size Increased

Page Size (compressed)
global 686.82 KB (🟡 +303 B)
Details

The global bundle is the javascript bundle that loads alongside every page. It is in its own category because its impact is much higher - an increase to its size means that every page on your website loads slower, and a decrease means every page loads faster.

Any third party scripts you have added directly to your app using the <script> tag are not accounted for in this analysis

If you want further insight into what is behind the changes, give @next/bundle-analyzer a try!

Sixteen Pages Changed Size

The following pages changed size from the code in this PR compared to its base branch:

Page Size (compressed) First Load
/data-management 202.54 KB (🟡 +67 B) 889.36 KB
/experiments/[experimentId]/data-exploration 1.51 MB (🟡 +1.45 KB) 2.18 MB
/experiments/[experimentId]/data-processing 515.44 KB (🟡 +65 B) 1.17 MB
/experiments/[experimentId]/plots-and-tables/batch-differential-expression 64.52 KB (🟡 +59 B) 751.34 KB
/experiments/[experimentId]/plots-and-tables/dot-plot 448.23 KB (🟡 +46 B) 1.11 MB
/experiments/[experimentId]/plots-and-tables/embedding-categorical 446.84 KB (🟡 +66 B) 1.11 MB
/experiments/[experimentId]/plots-and-tables/embedding-continuous 469.71 KB (🟡 +64 B) 1.13 MB
/experiments/[experimentId]/plots-and-tables/frequency 448.33 KB (🟡 +67 B) 1.11 MB
/experiments/[experimentId]/plots-and-tables/marker-heatmap 537.51 KB (🟡 +61 B) 1.2 MB
/experiments/[experimentId]/plots-and-tables/normalized-matrix 140.83 KB (🟡 +66 B) 827.65 KB
/experiments/[experimentId]/plots-and-tables/spatial-categorical 485.78 KB (🟡 +68 B) 1.15 MB
/experiments/[experimentId]/plots-and-tables/spatial-feature 491.66 KB (🟡 +63 B) 1.15 MB
/experiments/[experimentId]/plots-and-tables/spatial-molecules 644.04 KB (🟡 +66 B) 1.3 MB
/experiments/[experimentId]/plots-and-tables/trajectory-analysis 450.12 KB (🟡 +67 B) 1.11 MB
/experiments/[experimentId]/plots-and-tables/violin 470.89 KB (🟡 +54 B) 1.13 MB
/experiments/[experimentId]/plots-and-tables/volcano 452.68 KB (🟡 +58 B) 1.11 MB
Details

Only the gzipped size is provided here based on an expert tip.

First Load is the size of the global bundle plus the bundle for the individual page. If a user were to show up to your website and land on a given page, the first load size represents the amount of javascript that user would need to download. If next/link is used, subsequent page loads would only need to download that page's bundle (the number in the "Size" column), since the global bundle has already been downloaded.

Any third party scripts you have added directly to your app using the <script> tag are not accounted for in this analysis

Next to the size is how much the size has increased or decreased compared with the base branch of this PR. If this percentage has increased by 20% or more, there will be a red status indicator applied, indicating that special attention should be given to this.

Signed-off-by: Alex Pickering <alexvpickering@gmail.com>
@codecov

codecov Bot commented Jul 23, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 83.83838% with 16 lines in your changes missing coverage. Please review.
✅ Project coverage is 77.11%. Comparing base (41e674c) to head (eadde08).
⚠️ Report is 3 commits behind head on master.

Files with missing lines Patch % Lines
...ponents/data-exploration/spatial/SpatialViewer.jsx 50.00% 4 Missing ⚠️
src/components/Loader.jsx 40.00% 2 Missing and 1 partial ⚠️
src/redux/actions/cellSets/runCassiaAnnotation.js 76.92% 3 Missing ⚠️
...xploration/cell-sets-tool/AnnotateClustersTool.jsx 97.61% 1 Missing ⚠️
src/redux/actions/cellSets/deleteCellClass.js 50.00% 1 Missing ⚠️
src/redux/actions/cellSets/deleteCellSet.js 50.00% 1 Missing ⚠️
...rc/redux/actions/cellSets/updateCellSetProperty.js 50.00% 1 Missing ⚠️
src/redux/store.js 90.90% 1 Missing ⚠️
src/utils/work/waitForWorkRequest.js 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1068      +/-   ##
==========================================
+ Coverage   77.02%   77.11%   +0.09%     
==========================================
  Files         608      610       +2     
  Lines       14763    14876     +113     
  Branches     3710     3753      +43     
==========================================
+ Hits        11371    11472     +101     
- Misses       3173     3184      +11     
- Partials      219      220       +1     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions

Copy link
Copy Markdown
Contributor

📦 Next.js Bundle Analysis for ui

This analysis was generated by the Next.js Bundle Analysis action. 🤖

⚠️ Global Bundle Size Increased

Page Size (compressed)
global 686.82 KB (🟡 +303 B)
Details

The global bundle is the javascript bundle that loads alongside every page. It is in its own category because its impact is much higher - an increase to its size means that every page on your website loads slower, and a decrease means every page loads faster.

Any third party scripts you have added directly to your app using the <script> tag are not accounted for in this analysis

If you want further insight into what is behind the changes, give @next/bundle-analyzer a try!

Sixteen Pages Changed Size

The following pages changed size from the code in this PR compared to its base branch:

Page Size (compressed) First Load
/data-management 202.54 KB (🟡 +67 B) 889.36 KB
/experiments/[experimentId]/data-exploration 1.51 MB (🟡 +1.45 KB) 2.18 MB
/experiments/[experimentId]/data-processing 515.44 KB (🟡 +65 B) 1.17 MB
/experiments/[experimentId]/plots-and-tables/batch-differential-expression 64.52 KB (🟡 +59 B) 751.34 KB
/experiments/[experimentId]/plots-and-tables/dot-plot 448.23 KB (🟡 +46 B) 1.11 MB
/experiments/[experimentId]/plots-and-tables/embedding-categorical 446.84 KB (🟡 +66 B) 1.11 MB
/experiments/[experimentId]/plots-and-tables/embedding-continuous 469.71 KB (🟡 +64 B) 1.13 MB
/experiments/[experimentId]/plots-and-tables/frequency 448.33 KB (🟡 +67 B) 1.11 MB
/experiments/[experimentId]/plots-and-tables/marker-heatmap 537.51 KB (🟡 +61 B) 1.2 MB
/experiments/[experimentId]/plots-and-tables/normalized-matrix 140.83 KB (🟡 +66 B) 827.65 KB
/experiments/[experimentId]/plots-and-tables/spatial-categorical 485.78 KB (🟡 +68 B) 1.15 MB
/experiments/[experimentId]/plots-and-tables/spatial-feature 491.66 KB (🟡 +63 B) 1.15 MB
/experiments/[experimentId]/plots-and-tables/spatial-molecules 644.04 KB (🟡 +66 B) 1.3 MB
/experiments/[experimentId]/plots-and-tables/trajectory-analysis 450.12 KB (🟡 +67 B) 1.11 MB
/experiments/[experimentId]/plots-and-tables/violin 470.89 KB (🟡 +54 B) 1.13 MB
/experiments/[experimentId]/plots-and-tables/volcano 452.68 KB (🟡 +58 B) 1.11 MB
Details

Only the gzipped size is provided here based on an expert tip.

First Load is the size of the global bundle plus the bundle for the individual page. If a user were to show up to your website and land on a given page, the first load size represents the amount of javascript that user would need to download. If next/link is used, subsequent page loads would only need to download that page's bundle (the number in the "Size" column), since the global bundle has already been downloaded.

Any third party scripts you have added directly to your app using the <script> tag are not accounted for in this analysis

Next to the size is how much the size has increased or decreased compared with the base branch of this PR. If this percentage has increased by 20% or more, there will be a red status indicator applied, indicating that special attention should be given to this.

Signed-off-by: Alex Pickering <alexvpickering@gmail.com>
@github-actions

Copy link
Copy Markdown
Contributor

📦 Next.js Bundle Analysis for ui

This analysis was generated by the Next.js Bundle Analysis action. 🤖

⚠️ Global Bundle Size Increased

Page Size (compressed)
global 686.82 KB (🟡 +303 B)
Details

The global bundle is the javascript bundle that loads alongside every page. It is in its own category because its impact is much higher - an increase to its size means that every page on your website loads slower, and a decrease means every page loads faster.

Any third party scripts you have added directly to your app using the <script> tag are not accounted for in this analysis

If you want further insight into what is behind the changes, give @next/bundle-analyzer a try!

Sixteen Pages Changed Size

The following pages changed size from the code in this PR compared to its base branch:

Page Size (compressed) First Load
/data-management 202.54 KB (🟡 +67 B) 889.36 KB
/experiments/[experimentId]/data-exploration 1.51 MB (🟡 +1.45 KB) 2.18 MB
/experiments/[experimentId]/data-processing 515.44 KB (🟡 +65 B) 1.17 MB
/experiments/[experimentId]/plots-and-tables/batch-differential-expression 64.52 KB (🟡 +59 B) 751.34 KB
/experiments/[experimentId]/plots-and-tables/dot-plot 448.23 KB (🟡 +46 B) 1.11 MB
/experiments/[experimentId]/plots-and-tables/embedding-categorical 446.84 KB (🟡 +66 B) 1.11 MB
/experiments/[experimentId]/plots-and-tables/embedding-continuous 469.71 KB (🟡 +64 B) 1.13 MB
/experiments/[experimentId]/plots-and-tables/frequency 448.33 KB (🟡 +67 B) 1.11 MB
/experiments/[experimentId]/plots-and-tables/marker-heatmap 537.51 KB (🟡 +61 B) 1.2 MB
/experiments/[experimentId]/plots-and-tables/normalized-matrix 140.83 KB (🟡 +66 B) 827.65 KB
/experiments/[experimentId]/plots-and-tables/spatial-categorical 485.78 KB (🟡 +68 B) 1.15 MB
/experiments/[experimentId]/plots-and-tables/spatial-feature 491.66 KB (🟡 +63 B) 1.15 MB
/experiments/[experimentId]/plots-and-tables/spatial-molecules 644.04 KB (🟡 +66 B) 1.3 MB
/experiments/[experimentId]/plots-and-tables/trajectory-analysis 450.12 KB (🟡 +67 B) 1.11 MB
/experiments/[experimentId]/plots-and-tables/violin 470.89 KB (🟡 +54 B) 1.13 MB
/experiments/[experimentId]/plots-and-tables/volcano 452.68 KB (🟡 +58 B) 1.11 MB
Details

Only the gzipped size is provided here based on an expert tip.

First Load is the size of the global bundle plus the bundle for the individual page. If a user were to show up to your website and land on a given page, the first load size represents the amount of javascript that user would need to download. If next/link is used, subsequent page loads would only need to download that page's bundle (the number in the "Size" column), since the global bundle has already been downloaded.

Any third party scripts you have added directly to your app using the <script> tag are not accounted for in this analysis

Next to the size is how much the size has increased or decreased compared with the base branch of this PR. If this percentage has increased by 20% or more, there will be a red status indicator applied, indicating that special attention should be given to this.

@alexvpickering
alexvpickering merged commit 2f695fc into master Jul 23, 2026
14 checks passed
@alexvpickering
alexvpickering deleted the init-cassia branch July 23, 2026 17:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

safe to run Sensitive jobs are safe to be run

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants