Skip to content

fix: Address runtime server selection for partial url#375

Open
igoroctaviano wants to merge 2 commits intomasterfrom
fix/server-fallback
Open

fix: Address runtime server selection for partial url#375
igoroctaviano wants to merge 2 commits intomasterfrom
fix/server-fallback

Conversation

@igoroctaviano
Copy link
Collaborator

@igoroctaviano igoroctaviano commented Feb 26, 2026

SLIM / IDC-SLIM Improvements

Summary

Improvements to the server selector, authentication when switching servers, and worklist/slide list layout when DICOM attributes are missing.


Changes

Server selector: path-only URL support

  • Full URLs continue to work as before (e.g. https://healthcare.googleapis.com/v1/projects/.../dicomWeb)
  • Path-only URLs are now accepted. Enter a GCP Healthcare DICOM store path without the domain (e.g. /projects/my-project/locations/us-central1/datasets/my-dataset/dicomStores/my-store/dicomWeb). The app automatically prepends https://healthcare.googleapis.com/v1.
  • Path validation requires /projects/, /locations/, /datasets/, and /dicomStores/ segments.
  • Input placeholder updated to explain both formats.

Files: slim/src/utils/url.tsx, idc-slim/src/utils/url.tsx, slim/src/components/Header.tsx, idc-slim/src/components/Header.tsx, slim/src/App.tsx, idc-slim/src/App.tsx

Server selector: 401 fix when switching servers

  • When changing the active server mid-session, the new client now receives the current auth token explicitly instead of copying headers.
  • Prevents 401 errors; page reload is no longer required after switching servers.

Files: slim/src/App.tsx, idc-slim/src/App.tsx

Server selector: preview and display

  • After saving a path-only URL, the preview shows the full resolved URL.
  • Display uses the client’s actual baseURL so it reflects the URL used for fetches.

Files: slim/src/components/Header.tsx, idc-slim/src/components/Header.tsx

README: runtime server selection

  • Added "Runtime Server Selection" subsection under Server Configuration.
  • Documents path-only URL support and auth behavior when switching servers.

Files: slim/README.md

Worklist: blank attributes and tiny rows

  • Study worklist: Empty table cells render a non-breaking space (\u00A0) to keep row height consistent instead of collapsing.
  • Slide list: When SeriesDescription is missing, the Description row shows an em dash (—) so slides without descriptions render at normal row size and remain clickable.

Files: slim/src/components/Worklist.tsx, idc-slim/src/components/Worklist.tsx, slim/src/components/SlideItem.tsx, idc-slim/src/components/SlideItem.tsx


Testing

  • Server selector: paste full URL and path-only URL; verify both work.
  • Server switch: change server while signed in; verify no 401 and correct behavior without reload.
  • Worklist: load studies with missing attributes; confirm rows are normal height.
  • Slide list: load studies with series that lack SeriesDescription; confirm slides show — and rows are not collapsed.

@sonarqubecloud
Copy link

@deepsource-io
Copy link

deepsource-io bot commented Feb 26, 2026

DeepSource Code Review

We reviewed changes in 894f63f...b9e46e5 on this pull request. Below is the summary for the review, and you can see the individual issues we found as inline review comments.

See full review on DeepSource ↗

PR Report Card

Overall Grade  

Focus Area: Reliability
Security  

Reliability  

Complexity  

Hygiene  

Code Review Summary

Analyzer Status Updated (UTC) Details
JavaScript Feb 26, 2026 7:19p.m. Review ↗

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.

Blank SeriesDescription should not break worklist

1 participant