Skip to content

Show new display_name parameter#384

Merged
brucetony merged 2 commits into
developfrom
hub-display-name
Jun 15, 2026
Merged

Show new display_name parameter#384
brucetony merged 2 commits into
developfrom
hub-display-name

Conversation

@brucetony

@brucetony brucetony commented Jun 15, 2026

Copy link
Copy Markdown
Collaborator

Summary by CodeRabbit

  • New Features

    • Projects and analyses now feature dedicated display names throughout the application for improved clarity and identification.
    • Enhanced search and filtering capabilities across analysis tables, project proposals, and data store components using display names.
    • Improved API support for pagination, sorting, and selective field retrieval.
  • Refactor

    • Standardized display name usage across all application components.

@coderabbitai

coderabbitai Bot commented Jun 15, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@brucetony, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 10 minutes and 6 seconds. Learn how PR review limits work.

Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file).

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: e9f0edce-cdd5-4e3e-b19b-f0adaf4db970

📥 Commits

Reviewing files that changed from the base of the PR and between 15a4198 and 39fec2f.

📒 Files selected for processing (3)
  • app/components/analysis/AnalysesTable.vue
  • app/components/data-stores/create/DataStoreProjectInitializer.vue
  • app/components/projects/ProjectProposalTable.vue
📝 Walkthrough

Walkthrough

The PR updates the OpenAPI spec and generated Api.ts to add a display_name field to Analysis, DetailedAnalysis, and Project schemas, removes registry_password from AnalysisImageUrl, and adds optional page/sort/fields query parameters to eight list endpoints. UI components and composables are updated to use display_name instead of name, and all affected tests and fixtures are updated accordingly.

Changes

display_name Adoption and API Endpoint Expansion

Layer / File(s) Summary
OpenAPI schema contracts: display_name, removed registry_password, IDP docs
app/services/hub_adapter_swagger.json, app/services/Api.ts
Swagger JSON adds required display_name to Analysis, DetailedAnalysis, and Project schemas; removes registry_password from AnalysisImageUrl; updates Body_get_token_token_post descriptions to reference IDP. Generated Api.ts gains matching nullable display_name interface fields and drops registry_password.
List endpoint expansions: page, sort, fields query params
app/services/hub_adapter_swagger.json, app/services/Api.ts
Swagger JSON adds optional page, sort, and fields query parameters plus 422 HTTPValidationError responses to /projects, /project-nodes, /analysis-nodes, /analyses, /nodes, /analysis-buckets, and /analysis-bucket-files. Generated Api.ts client methods gain matching optional query objects; history limit widens to `number
UI components and composable adopt display_name
app/components/analysis/AnalysesTable.vue, app/components/projects/ProjectProposalTable.vue, app/components/data-stores/create/DataStoreProjectInitializer.vue, app/composables/useDataStoreList.ts
AnalysesTable requests and maps display_name from /projects and binds the Name column and global filter to analysis.display_name. ProjectProposalTable switches globalFilterFields and the Project Name column to project.display_name. DataStoreProjectInitializer uses proj.project?.display_name for project labels. buildProjectNameMap reads entry.display_name.
Test fixtures and unit tests updated for display_name
test/components/analysis/constants.ts, test/components/projects/constants.ts, test/components/data-stores/create/DataStoreProjectInitializer.spec.ts, test/composables/useDataStoreList.test.ts, test/components/analysis/AnalysisTable.spec.ts
Analysis, Project, and proposal fixtures gain display_name fields. DataStoreProjectInitializer mock returns project: { display_name }. buildProjectNameMap unit tests verify display_name lookup, "N/A" fallback, and missing-id skipping. AnalysisTable suite title punctuation fixed.
DataStoreList formatting and CSS
app/components/data-stores/DataStoreList.vue
Reformats the useDataStoreList() destructuring to multi-line and adds a scoped margin-bottom: 5rem rule for .data-store-description-box.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐇 A name by any other name would smell as sweet,
But display_name is the field we now must greet!
The swagger grew by hundreds of lines today,
While registry_password hopped quietly away.
Fixtures updated, columns rebound with care —
A rabbit tidied the API with flair! 🌟

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main focus of the changeset: adding and using a new display_name field throughout the codebase.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch hub-display-name

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.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 5

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@app/components/analysis/AnalysesTable.vue`:
- Around line 135-137: The `display_name` field is nullable in the API but the
code assumes it is always populated, causing incomplete data mapping and blank
UI labels. In app/components/analysis/AnalysesTable.vue (lines 135-137), replace
the conditional check with a fallback that uses `display_name ?? name ?? id`
when adding to projMap, and ensure the project fields query includes both
`display_name` and `name`. In app/components/projects/ProjectProposalTable.vue
(lines 97-122), apply the same fallback pattern `project.display_name ??
project.name` when filtering and rendering project names to avoid blank labels
and search misses. In
app/components/data-stores/create/DataStoreProjectInitializer.vue (lines 41-43),
map the select option label using the fallback `proj.project?.display_name ??
proj.project?.name ?? proj.project_id` to prevent empty project options in the
dropdown.

In `@app/services/hub_adapter_swagger.json`:
- Around line 1183-1235: In the hub_adapter_swagger.json file for the
/analysis-nodes/{analysis_node_id} endpoint, remove the "page" and "sort" query
parameter definitions since these parameters only apply to list endpoints that
return multiple resources, not single-resource endpoints. Keep the "fields"
parameter since it remains relevant for selecting which fields to include in the
response for a single AnalysisNode resource.
- Around line 3941-3951: The `display_name` field is defined as nullable
(allowing both string and null types) across multiple schema definitions in the
swagger.json file, but since UI labels now depend on this field, it can render
blank names. Either remove the null type from the anyOf definition for
`display_name` at lines 3941-3951 (anchor), 4200-4204 (Analysis), 5186-5196
(DetailedAnalysis), 5452-5456 (Project), 7106-7116, and 7181-7186 to make it a
required non-null string, or ensure the API contract guarantees display_name is
always populated from the name field when not explicitly provided. If going the
non-null route, update all six occurrences to keep only the string type and
remove the null option from the anyOf array.
- Around line 702-718: The fields query parameter is advertised in the Swagger
specification, but the corresponding 200 response schemas still define complete
required objects, creating a contract mismatch when sparse responses are
returned. For all affected endpoints (at lines 702-718, 720-731, 869-885,
887-898, 1103-1119, 1121-1132, 1381-1397, 1399-1410, 1607-1623, and 1625-1636 in
app/services/hub_adapter_swagger.json), either remove the fields parameter
definition entirely from the query parameters, or define separate response
schemas that represent the partial/sparse object structures that can be returned
when fields are specified, ensuring the TypeScript types generated from the
schema accurately reflect what the endpoint actually returns.
- Around line 664-719: The page parameter in the list endpoints (/projects,
/project-nodes, /analysis-nodes, /analyses, /nodes) lacks bounds documentation
to prevent unbounded queries. For each of these five endpoints, add either a
maxItems constraint to the response array schema or enhance the page parameter
description to document the backend's default maximum page size. The current
parameter description example shows a limit of 50, so consider either
documenting that as the enforced maximum or adding maxItems: 50 (or appropriate
limit) to the response schema's array items to make the constraint explicit in
the API specification.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 524c62e2-b7a0-41d7-9401-58c9d3e12453

📥 Commits

Reviewing files that changed from the base of the PR and between c7255ef and 15a4198.

📒 Files selected for processing (12)
  • app/components/analysis/AnalysesTable.vue
  • app/components/data-stores/DataStoreList.vue
  • app/components/data-stores/create/DataStoreProjectInitializer.vue
  • app/components/projects/ProjectProposalTable.vue
  • app/composables/useDataStoreList.ts
  • app/services/Api.ts
  • app/services/hub_adapter_swagger.json
  • test/components/analysis/AnalysisTable.spec.ts
  • test/components/analysis/constants.ts
  • test/components/data-stores/create/DataStoreProjectInitializer.spec.ts
  • test/components/projects/constants.ts
  • test/composables/useDataStoreList.test.ts

Comment thread app/components/analysis/AnalysesTable.vue Outdated
Comment thread app/services/hub_adapter_swagger.json
Comment thread app/services/hub_adapter_swagger.json
Comment thread app/services/hub_adapter_swagger.json
Comment thread app/services/hub_adapter_swagger.json
@brucetony brucetony merged commit 61c1b72 into develop Jun 15, 2026
5 checks passed
@brucetony brucetony deleted the hub-display-name branch June 15, 2026 08:23
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