Skip to content

Refactor design system code#1318

Merged
annavik merged 50 commits into
mainfrom
chore/merge-nova
May 26, 2026
Merged

Refactor design system code#1318
annavik merged 50 commits into
mainfrom
chore/merge-nova

Conversation

@annavik
Copy link
Copy Markdown
Member

@annavik annavik commented May 26, 2026

Summary

This is a big refactoring PR where we update the frontend code to make it easier to work with and for better consistency. All design system related code has been moved from an external repository and can now be found in ui/nova-ui-kit. In this PR, we also streamline colors, text styles, breakpoints and UI primitive imports. Since we want to support using the design system from both TypeScript and SCSS, but avoid repeating constants, we are also including some updates to build scripts in this PR. We now finally have once source of truth for colors, etc.!

For more information about the design system, see the updated README!

Why not an external module for the design system?

We had ambitions to handle the design system as an external module, to make it possible to use this code across projects, not only for Antenna. In theory it's a good idea to separate this code, however in practice, this has made updates more clunky to handle (we have to publish a new version of the module to NPM for each update) and code fragmented. Also, no other active project is currently using the design system code. To summarize, a lot of work for a small win! In future, when the design system is more stable and if the team has more capacity, we could revisit the idea. For now, let's keep things simple. All design system related code is now merged into this repository and can be found in ui/nova-ui-kit.

Archives

They can both be activated later, but this will mark them as deprecated for users.

@netlify
Copy link
Copy Markdown

netlify Bot commented May 26, 2026

Deploy Preview for antenna-preview ready!

Name Link
🔨 Latest commit fe74f15
🔍 Latest deploy log https://app.netlify.com/projects/antenna-preview/deploys/6a15ab106d3bdb000891aa92
😎 Deploy Preview https://deploy-preview-1318--antenna-preview.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
Lighthouse
Lighthouse
1 paths audited
Performance: 61 (🔴 down 4 from production)
Accessibility: 81 (🔴 down 8 from production)
Best Practices: 92 (🔴 down 8 from production)
SEO: 92 (no change from production)
PWA: 80 (no change from production)
View the detailed breakdown and full score reports
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@netlify
Copy link
Copy Markdown

netlify Bot commented May 26, 2026

Deploy Preview for antenna-ssec ready!

Name Link
🔨 Latest commit fe74f15
🔍 Latest deploy log https://app.netlify.com/projects/antenna-ssec/deploys/6a15ab10065f4a00085da11d
😎 Deploy Preview https://deploy-preview-1318--antenna-ssec.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 26, 2026

Important

Review skipped

Too many files!

This PR contains 288 files, which is 138 over the limit of 150.

To get a review, narrow the scope:
• coderabbit review --type committed # exclude uncommitted changes
• coderabbit review --dir # limit to a subdirectory
• coderabbit review --base # compare against a closer base

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: b46f4a48-3639-47ab-bbcf-ac14264f47f8

📥 Commits

Reviewing files that changed from the base of the PR and between 243663d and fe74f15.

⛔ Files ignored due to path filters (12)
  • ui/src/components/header/antenna-primary.svg is excluded by !**/*.svg
  • ui/src/components/map/pin.svg is excluded by !**/*.svg
  • ui/src/components/navigation/assets/captures.svg is excluded by !**/*.svg
  • ui/src/components/navigation/assets/deployments.svg is excluded by !**/*.svg
  • ui/src/components/navigation/assets/jobs.svg is excluded by !**/*.svg
  • ui/src/components/navigation/assets/occurrences.svg is excluded by !**/*.svg
  • ui/src/components/navigation/assets/project.svg is excluded by !**/*.svg
  • ui/src/components/navigation/assets/sessions.svg is excluded by !**/*.svg
  • ui/src/components/navigation/assets/taxa.svg is excluded by !**/*.svg
  • ui/src/design-system/map/pin.svg is excluded by !**/*.svg
  • ui/src/nova-ui-kit/components/identifications/avatar.svg is excluded by !**/*.svg
  • ui/src/nova-ui-kit/components/slider/dial.svg is excluded by !**/*.svg
📒 Files selected for processing (288)
  • README.md
  • ui/README.md
  • ui/package.json
  • ui/src/app.module.scss
  • ui/src/components/blueprint-collection/blueprint-collection.module.scss
  • ui/src/components/breadcrumbs/breadcrumbs.module.scss
  • ui/src/components/constants.ts
  • ui/src/components/cookie-dialog/cookie-dialog.module.scss
  • ui/src/components/cookie-dialog/cookie-dialog.tsx
  • ui/src/components/determination-score.tsx
  • ui/src/components/fetch-info/fetch-info.module.scss
  • ui/src/components/fetch-info/fetch-info.tsx
  • ui/src/components/filtering/default-filter-control.tsx
  • ui/src/components/filtering/filter-control.tsx
  • ui/src/components/filtering/filter-section.tsx
  • ui/src/components/filtering/filters/algorithm-filter.tsx
  • ui/src/components/filtering/filters/capture-set-filter.tsx
  • ui/src/components/filtering/filters/date-filter.tsx
  • ui/src/components/filtering/filters/pipeline-filter.tsx
  • ui/src/components/filtering/filters/station-filter.tsx
  • ui/src/components/form/form-field.tsx
  • ui/src/components/form/layout/layout.module.scss
  • ui/src/components/gallery/gallery.module.scss
  • ui/src/components/gallery/gallery.tsx
  • ui/src/components/header/header.module.scss
  • ui/src/components/header/header.tsx
  • ui/src/components/header/user-info-dialog/user-info-dialog.module.scss
  • ui/src/components/header/user-info-dialog/user-info-dialog.tsx
  • ui/src/components/header/user-info-dialog/user-info-form/user-email-field.tsx
  • ui/src/components/header/user-info-dialog/user-info-form/user-info-form.module.scss
  • ui/src/components/header/user-info-dialog/user-info-form/user-info-form.tsx
  • ui/src/components/header/user-info-dialog/user-info-form/user-password-field.tsx
  • ui/src/components/header/user-info-dialog/user-info-image-upload/user-info-image-upload.module.scss
  • ui/src/components/header/user-info-dialog/user-info-image-upload/user-info-image-upload.tsx
  • ui/src/components/header/version-info/version-info.module.scss
  • ui/src/components/header/version-info/version-info.tsx
  • ui/src/components/info-page/info-page.module.scss
  • ui/src/components/info-page/info-page.tsx
  • ui/src/components/map/config.ts
  • ui/src/components/map/editable-map/editable-map.tsx
  • ui/src/components/map/editable-map/editable-marker.tsx
  • ui/src/components/map/minimap-control.tsx
  • ui/src/components/map/multi-marker-map/multi-marker-map.tsx
  • ui/src/components/map/styles.module.scss
  • ui/src/components/map/types.ts
  • ui/src/components/menu/menu.module.scss
  • ui/src/components/menu/menu.tsx
  • ui/src/components/navigation/navigation-bar-icon.tsx
  • ui/src/components/navigation/navigation-bar.module.scss
  • ui/src/components/navigation/navigation-bar.tsx
  • ui/src/components/plot-grid/plot-grid.module.scss
  • ui/src/components/plot-grid/plot-grid.tsx
  • ui/src/components/plot/lazy-plot.tsx
  • ui/src/components/plot/plot.module.scss
  • ui/src/components/plot/plot.tsx
  • ui/src/components/plot/types.ts
  • ui/src/components/taxon-details/taxon-details.tsx
  • ui/src/components/taxon-details/types.ts
  • ui/src/components/taxon-details/utils.ts
  • ui/src/components/taxon-tags/tags-form.tsx
  • ui/src/components/terms-of-service-info/terms-of-service-info.module.scss
  • ui/src/data-services/models/job.ts
  • ui/src/data-services/models/pipeline.ts
  • ui/src/data-services/models/processing-service.ts
  • ui/src/design-system/components/badge/badge.module.scss
  • ui/src/design-system/components/box/box.module.scss
  • ui/src/design-system/components/box/box.tsx
  • ui/src/design-system/components/info-block/info-block.module.scss
  • ui/src/design-system/components/pagination-bar/info-label/info-label.module.scss
  • ui/src/design-system/components/pagination-bar/page-button/page-button.module.scss
  • ui/src/design-system/components/popover/popover.module.scss
  • ui/src/design-system/components/popover/popover.tsx
  • ui/src/design-system/components/status/status-marker/status-marker.module.scss
  • ui/src/design-system/components/toggle-group/toggle-group.module.scss
  • ui/src/design-system/components/wizard/status-bullet/status-bullet.module.scss
  • ui/src/design-system/variables/colors.scss
  • ui/src/design-system/variables/typography.scss
  • ui/src/design-system/variables/variables.scss
  • ui/src/index.tsx
  • ui/src/nova-ui-kit/components/badge/badge.module.scss
  • ui/src/nova-ui-kit/components/badge/badge.tsx
  • ui/src/nova-ui-kit/components/box/index.tsx
  • ui/src/nova-ui-kit/components/bulk-action-bar/bulk-action-bar.module.scss
  • ui/src/nova-ui-kit/components/bulk-action-bar/bulk-action-bar.tsx
  • ui/src/nova-ui-kit/components/button/buttonVariants.ts
  • ui/src/nova-ui-kit/components/button/docs-link.tsx
  • ui/src/nova-ui-kit/components/button/index.tsx
  • ui/src/nova-ui-kit/components/button/save-button.tsx
  • ui/src/nova-ui-kit/components/calendar/index.tsx
  • ui/src/nova-ui-kit/components/card/card.module.scss
  • ui/src/nova-ui-kit/components/card/card.tsx
  • ui/src/nova-ui-kit/components/checkbox/checkbox.module.scss
  • ui/src/nova-ui-kit/components/checkbox/checkbox.tsx
  • ui/src/nova-ui-kit/components/code-block/index.tsx
  • ui/src/nova-ui-kit/components/code-block/useShowFader.ts
  • ui/src/nova-ui-kit/components/collapsible/index.tsx
  • ui/src/nova-ui-kit/components/combo-box/combo-box.tsx
  • ui/src/nova-ui-kit/components/combo-box/styles.module.scss
  • ui/src/nova-ui-kit/components/command/index.tsx
  • ui/src/nova-ui-kit/components/connection-status-info/connection-status-info.tsx
  • ui/src/nova-ui-kit/components/connection-status-info/types.ts
  • ui/src/nova-ui-kit/components/dialog/dialog.module.scss
  • ui/src/nova-ui-kit/components/dialog/dialog.tsx
  • ui/src/nova-ui-kit/components/file-input/file-input.module.scss
  • ui/src/nova-ui-kit/components/file-input/file-input.tsx
  • ui/src/nova-ui-kit/components/file-input/types.ts
  • ui/src/nova-ui-kit/components/form-stepper/form-stepper.module.scss
  • ui/src/nova-ui-kit/components/form-stepper/form-stepper.tsx
  • ui/src/nova-ui-kit/components/identifications/identification-card.tsx
  • ui/src/nova-ui-kit/components/identifications/identification-details.tsx
  • ui/src/nova-ui-kit/components/identifications/identification-score.tsx
  • ui/src/nova-ui-kit/components/identifications/identification-status.tsx
  • ui/src/nova-ui-kit/components/image-carousel/image-carousel.module.scss
  • ui/src/nova-ui-kit/components/image-carousel/image-carousel.tsx
  • ui/src/nova-ui-kit/components/image-carousel/types.ts
  • ui/src/nova-ui-kit/components/image-carousel/utils.ts
  • ui/src/nova-ui-kit/components/image-upload/image-upload.tsx
  • ui/src/nova-ui-kit/components/info-block/info-block.module.scss
  • ui/src/nova-ui-kit/components/info-block/info-block.tsx
  • ui/src/nova-ui-kit/components/input/input.module.scss
  • ui/src/nova-ui-kit/components/input/input.tsx
  • ui/src/nova-ui-kit/components/loading-spinner/loading-spinner.module.scss
  • ui/src/nova-ui-kit/components/loading-spinner/loading-spinner.tsx
  • ui/src/nova-ui-kit/components/page-footer/page-footer.module.scss
  • ui/src/nova-ui-kit/components/page-footer/page-footer.tsx
  • ui/src/nova-ui-kit/components/page-header/page-header.module.scss
  • ui/src/nova-ui-kit/components/page-header/page-header.tsx
  • ui/src/nova-ui-kit/components/pagination-bar/getPageWindow.ts
  • ui/src/nova-ui-kit/components/pagination-bar/info-label/getValueInRange.ts
  • ui/src/nova-ui-kit/components/pagination-bar/info-label/info-label.module.scss
  • ui/src/nova-ui-kit/components/pagination-bar/info-label/info-label.tsx
  • ui/src/nova-ui-kit/components/pagination-bar/page-button/page-button.module.scss
  • ui/src/nova-ui-kit/components/pagination-bar/page-button/page-button.tsx
  • ui/src/nova-ui-kit/components/pagination-bar/pagination-bar.module.scss
  • ui/src/nova-ui-kit/components/pagination-bar/pagination-bar.tsx
  • ui/src/nova-ui-kit/components/popover/index.tsx
  • ui/src/nova-ui-kit/components/progress-circle/constants.ts
  • ui/src/nova-ui-kit/components/progress-circle/index.tsx
  • ui/src/nova-ui-kit/components/select/capture-set-picker.tsx
  • ui/src/nova-ui-kit/components/select/date-picker.tsx
  • ui/src/nova-ui-kit/components/select/entity-picker.tsx
  • ui/src/nova-ui-kit/components/select/index.tsx
  • ui/src/nova-ui-kit/components/slider/index.tsx
  • ui/src/nova-ui-kit/components/slider/styles.module.scss
  • ui/src/nova-ui-kit/components/slider/timestamp-slider.tsx
  • ui/src/nova-ui-kit/components/sort-control.tsx
  • ui/src/nova-ui-kit/components/status/status-bar.tsx
  • ui/src/nova-ui-kit/components/status/status-marker/status-marker.module.scss
  • ui/src/nova-ui-kit/components/status/status-marker/status-marker.tsx
  • ui/src/nova-ui-kit/components/status/types.ts
  • ui/src/nova-ui-kit/components/switch/index.tsx
  • ui/src/nova-ui-kit/components/table/basic-table-cell/basic-table-cell.module.scss
  • ui/src/nova-ui-kit/components/table/basic-table-cell/basic-table-cell.tsx
  • ui/src/nova-ui-kit/components/table/column-settings/column-settings.module.scss
  • ui/src/nova-ui-kit/components/table/column-settings/column-settings.tsx
  • ui/src/nova-ui-kit/components/table/date-table-cell/date-table-cell.tsx
  • ui/src/nova-ui-kit/components/table/image-table-cell/image-table-cell.module.scss
  • ui/src/nova-ui-kit/components/table/image-table-cell/image-table-cell.tsx
  • ui/src/nova-ui-kit/components/table/status-table-cell/status-table-cell.module.scss
  • ui/src/nova-ui-kit/components/table/status-table-cell/status-table-cell.tsx
  • ui/src/nova-ui-kit/components/table/table-header/table-header.module.scss
  • ui/src/nova-ui-kit/components/table/table-header/table-header.tsx
  • ui/src/nova-ui-kit/components/table/table/sticky-header-table.tsx
  • ui/src/nova-ui-kit/components/table/table/table.module.scss
  • ui/src/nova-ui-kit/components/table/table/table.tsx
  • ui/src/nova-ui-kit/components/table/table/useScrollFader.ts
  • ui/src/nova-ui-kit/components/table/table/vh-sticky-table-header/index.ts
  • ui/src/nova-ui-kit/components/table/types.ts
  • ui/src/nova-ui-kit/components/tabs/tabs.module.scss
  • ui/src/nova-ui-kit/components/tabs/tabs.tsx
  • ui/src/nova-ui-kit/components/toggle-group/toggle-group.module.scss
  • ui/src/nova-ui-kit/components/toggle-group/toggle-group.tsx
  • ui/src/nova-ui-kit/components/toolbar.tsx
  • ui/src/nova-ui-kit/components/tooltip/basic-tooltip.tsx
  • ui/src/nova-ui-kit/components/tooltip/index.tsx
  • ui/src/nova-ui-kit/components/tooltip/info-tooltip.tsx
  • ui/src/nova-ui-kit/components/wizard/status-bullet/status-bullet.module.scss
  • ui/src/nova-ui-kit/components/wizard/status-bullet/status-bullet.tsx
  • ui/src/nova-ui-kit/components/wizard/wizard.module.scss
  • ui/src/nova-ui-kit/components/wizard/wizard.tsx
  • ui/src/nova-ui-kit/constants.ts
  • ui/src/nova-ui-kit/global.scss
  • ui/src/nova-ui-kit/index.ts
  • ui/src/nova-ui-kit/mixins.scss
  • ui/src/nova-ui-kit/plugins/cssVarsPlugin.ts
  • ui/src/nova-ui-kit/utils.ts
  • ui/src/pages/algorithm-details/algorithm-details-dialog.tsx
  • ui/src/pages/algorithm-details/styles.module.scss
  • ui/src/pages/auth/auth.module.scss
  • ui/src/pages/auth/reset-password-confirm.tsx
  • ui/src/pages/captures/capture-columns.tsx
  • ui/src/pages/captures/captures.tsx
  • ui/src/pages/captures/upload-images-dialog/select-images-section/select-images-section.tsx
  • ui/src/pages/captures/upload-images-dialog/select-images-section/styles.module.scss
  • ui/src/pages/captures/upload-images-dialog/styles.module.scss
  • ui/src/pages/captures/upload-images-dialog/upload-images-dialog.tsx
  • ui/src/pages/deployment-details/deployment-details-dialog.tsx
  • ui/src/pages/deployment-details/deployment-details-form/deployment-details-form.tsx
  • ui/src/pages/deployment-details/deployment-details-form/section-general/section-general.tsx
  • ui/src/pages/deployment-details/deployment-details-form/section-location/geo-search/geo-search.tsx
  • ui/src/pages/deployment-details/deployment-details-form/section-location/geo-search/types.ts
  • ui/src/pages/deployment-details/deployment-details-form/section-location/geo-search/useGeoSearch.ts
  • ui/src/pages/deployment-details/deployment-details-form/section-location/location-map/location-map.module.scss
  • ui/src/pages/deployment-details/deployment-details-form/section-location/location-map/location-map.tsx
  • ui/src/pages/deployment-details/deployment-details-form/section-location/section-location.tsx
  • ui/src/pages/deployment-details/deployment-details-form/section-source-images/actions/styles.module.scss
  • ui/src/pages/deployment-details/deployment-details-form/section-source-images/actions/sync-source-images.tsx
  • ui/src/pages/deployment-details/deployment-details-form/section-source-images/section-source-images.tsx
  • ui/src/pages/deployment-details/deployment-details-info.tsx
  • ui/src/pages/deployment-details/new-deployment-dialog.tsx
  • ui/src/pages/deployment-details/styles.module.scss
  • ui/src/pages/deployments/deployment-columns.tsx
  • ui/src/pages/deployments/deployments.tsx
  • ui/src/pages/export-details/export-details-dialog.tsx
  • ui/src/pages/job-details/job-actions/cancel-job.tsx
  • ui/src/pages/job-details/job-actions/queue-job.tsx
  • ui/src/pages/job-details/job-details-form/job-details-form.tsx
  • ui/src/pages/job-details/job-details.module.scss
  • ui/src/pages/job-details/job-details.tsx
  • ui/src/pages/job-details/job-stage-label/job-stage-label.module.scss
  • ui/src/pages/job-details/job-stage-label/job-stage-label.tsx
  • ui/src/pages/job-details/new-job-dialog.tsx
  • ui/src/pages/jobs/jobs-columns.tsx
  • ui/src/pages/jobs/jobs.tsx
  • ui/src/pages/occurrence-details/agree/agree.tsx
  • ui/src/pages/occurrence-details/id-quick-actions/id-button.tsx
  • ui/src/pages/occurrence-details/id-quick-actions/id-quick-actions.module.scss
  • ui/src/pages/occurrence-details/id-quick-actions/id-quick-actions.tsx
  • ui/src/pages/occurrence-details/identification-card/human-identification.tsx
  • ui/src/pages/occurrence-details/identification-card/machine-prediction.tsx
  • ui/src/pages/occurrence-details/occurrence-details.module.scss
  • ui/src/pages/occurrence-details/occurrence-details.tsx
  • ui/src/pages/occurrence-details/status-label/status-label.module.scss
  • ui/src/pages/occurrence-details/suggest-id/suggest-id-popover.tsx
  • ui/src/pages/occurrence-details/suggest-id/suggest-id.tsx
  • ui/src/pages/occurrence-details/taxonomy-info/taxonomy-info.module.scss
  • ui/src/pages/occurrences/occurrence-actions.tsx
  • ui/src/pages/occurrences/occurrence-columns.tsx
  • ui/src/pages/occurrences/occurrence-gallery.tsx
  • ui/src/pages/occurrences/occurrences-actions.tsx
  • ui/src/pages/occurrences/occurrences.module.scss
  • ui/src/pages/occurrences/occurrences.tsx
  • ui/src/pages/pipeline-details/pipeline-algorithms.tsx
  • ui/src/pages/pipeline-details/pipeline-details-dialog.tsx
  • ui/src/pages/pipeline-details/pipeline-stages.tsx
  • ui/src/pages/pipeline-details/styles.module.scss
  • ui/src/pages/processing-service-details/processing-service-details-dialog.tsx
  • ui/src/pages/processing-service-details/processing-service-pipelines.tsx
  • ui/src/pages/project-details/default-filters-form.tsx
  • ui/src/pages/project-details/delete-project-dialog.tsx
  • ui/src/pages/project-details/new-project-dialog.tsx
  • ui/src/pages/project-details/new-project-form.tsx
  • ui/src/pages/project-details/processing-form.tsx
  • ui/src/pages/project-details/project-details-form.tsx
  • ui/src/pages/project/algorithms/algorithms-columns.tsx
  • ui/src/pages/project/algorithms/algorithms.tsx
  • ui/src/pages/project/capture-sets/capture-set-columns.tsx
  • ui/src/pages/project/capture-sets/capture-sets.tsx
  • ui/src/pages/project/capture-sets/populate-capture-set.tsx
  • ui/src/pages/project/default-filters/default-filters.tsx
  • ui/src/pages/project/entities/delete-entity-dialog.tsx
  • ui/src/pages/project/entities/details-form/capture-set-details-form.tsx
  • ui/src/pages/project/entities/details-form/entity-details-form.tsx
  • ui/src/pages/project/entities/details-form/export-details-form.tsx
  • ui/src/pages/project/entities/details-form/processing-service-details-form.tsx
  • ui/src/pages/project/entities/details-form/storage-details-form.tsx
  • ui/src/pages/project/entities/entities-columns.tsx
  • ui/src/pages/project/entities/entities.tsx
  • ui/src/pages/project/entities/entity-details-dialog.tsx
  • ui/src/pages/project/entities/new-entity-dialog.tsx
  • ui/src/pages/project/entities/styles.module.scss
  • ui/src/pages/project/exports/exports-columns.tsx
  • ui/src/pages/project/exports/exports.tsx
  • ui/src/pages/project/general/general.tsx
  • ui/src/pages/project/pipelines/default-pipeline-badge.tsx
  • ui/src/pages/project/pipelines/pipelines-columns.tsx
  • ui/src/pages/project/pipelines/pipelines.tsx
  • ui/src/pages/project/processing-services/connection-status.tsx
  • ui/src/pages/project/processing-services/processing-services-actions.tsx
  • ui/src/pages/project/processing-services/processing-services-columns.tsx
  • ui/src/pages/project/processing-services/processing-services.module.scss
  • ui/src/pages/project/processing-services/processing-services.tsx
  • ui/src/pages/project/processing/processing.tsx
  • ui/src/pages/project/project.tsx
  • ui/src/pages/project/sidebar/sidebar.tsx
  • ui/src/pages/project/storage/connection-status.tsx
  • ui/src/pages/project/storage/storage-columns.tsx
  • ui/src/pages/project/storage/storage.module.scss

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/merge-nova

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@annavik annavik merged commit bd57cd4 into main May 26, 2026
9 of 11 checks passed
@annavik annavik deleted the chore/merge-nova branch May 26, 2026 14:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant