Skip to content

Add pagination to jobs screen#122

Draft
peppermint-juli wants to merge 8 commits into
mainfrom
52-web-add-pagination-to-jobs-screen
Draft

Add pagination to jobs screen#122
peppermint-juli wants to merge 8 commits into
mainfrom
52-web-add-pagination-to-jobs-screen

Conversation

@peppermint-juli

Copy link
Copy Markdown
Contributor

No description provided.

peppermint-juli and others added 2 commits July 8, 2026 15:29
* re-add spring annotations for boolean variables (#53)

This adds missing annotations after some were inadvertently removed in adding apidoc annotations

* Add support for Ceph user volumes (through PVC) (#49)

* Add support for Ceph user volumes (through PVC)

* Fix checkstyle errors

* Fix checkstyle errors

* change tar.gz to tgz to match helm releaser, add helm for git hash (#51)

For consistency with the release packaging we change the non-release artifacts to tgz extension. We already push images with the commit hash for stability, this also publishes a chart for those tags.

* add map for quota managers (#58)

add config mapping root volume by name to the quota manager it should use, rather than a single global quota manager for all user volumes. This removes the previous configuration and is thus not back-compatible, but we believe there are no other quota-manager users

* NFS volume paths must have a leading slash (#56)

Fix for error from #49

* Web/job screen update (#55)

Enable jobs to be lined to by ID, opening screen directly

* Drawer fixes

* make swagger ui docs public (#66)

This removes the requirement for auth credentials for the openapi json and swagger docs

* Minor UI fixes (#74)

* refactor: replace MUI Typography with HTML headings and improve job detail layout

* Update components/ui/web/src/graphql/jobs.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update components/ui/web/components/content/jobs/detail/jobFullDetail.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update components/ui/web/components/content/jobs/detail/jobFullDetail.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update components/ui/web/components/content/jobs/detail/jobFullDetail.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* SciServer is Back in Blue 💙 (#76)

* refactor: replace MUI Typography with HTML headings and improve job detail layout

* Update components/ui/web/src/graphql/jobs.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update components/ui/web/components/content/jobs/detail/jobFullDetail.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update components/ui/web/components/content/jobs/detail/jobFullDetail.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update components/ui/web/components/content/jobs/detail/jobFullDetail.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* refactor: update theme colors and replace MUI Typography with HTML elements in ContainerDetail

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* moving away from deprecated/removed image for fileservice (#80)

moving away from deprecated/removed image for fileservice

* Datasets template  (#79)

* Add instructions and schema for datasets-index.json

* Update docs/templates/datasets/datasets-index.json

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* ✨ New job screen (#77)

* refactor: replace MUI Typography with HTML headings and improve job detail layout

* Update components/ui/web/components/content/jobs/detail/jobFullDetail.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Merge commit '5e0579ef35bbeb73a11c4506546bc7bc2644b33b'

* feat: Reuse newSession component to create new Jobs

* Reuse NewSession form to create

* feat: update getDomains query to accept jobs parameter

* * Added Command step and steppers component to NewJob component
* Removed header from NewResource component and put it each NewJob and NewSession component

* feat: add working directory selection and default job parameters to NewJob component

* Connected NewJob endpoint to component. Code Cleanup and created a new reusable component

* feat: add optional name field to CreateJobParams and Job types

* refactor: replace MUI Typography with HTML headings and improve job detail layout

* Update components/ui/web/components/content/jobs/detail/jobFullDetail.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update components/ui/web/components/content/jobs/new/commandForm.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix: update comparison operator for domain choice and add key prop to InfoCard

* * Make helpdesk email link an env variable
* Adjust redirect URL on unauthorized access

* feat: add helpdesk email as an environment variable in web deployment

* feat: refactor session management to use NewComputeSession component and add new data volume and user volume accordions

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Fix jobs related screens (#82)

* refactor: replace MUI Typography with HTML headings and improve job detail layout

* Update components/ui/web/components/content/jobs/detail/jobFullDetail.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Merge commit '5e0579ef35bbeb73a11c4506546bc7bc2644b33b'

* feat: Reuse newSession component to create new Jobs

* Reuse NewSession form to create

* feat: update getDomains query to accept jobs parameter

* * Added Command step and steppers component to NewJob component
* Removed header from NewResource component and put it each NewJob and NewSession component

* feat: add working directory selection and default job parameters to NewJob component

* Connected NewJob endpoint to component. Code Cleanup and created a new reusable component

* feat: add optional name field to CreateJobParams and Job types

* refactor: replace MUI Typography with HTML headings and improve job detail layout

* Update components/ui/web/components/content/jobs/detail/jobFullDetail.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update components/ui/web/components/content/jobs/new/commandForm.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix: update comparison operator for domain choice and add key prop to InfoCard

* * Make helpdesk email link an env variable
* Adjust redirect URL on unauthorized access

* feat: add helpdesk email as an environment variable in web deployment

* fix: ensure fetch policy is set to 'network-only' in JobsList component

* fix: update fetch policy to 'cache-and-network' in JobsList component and implement job status polling in JobsList component

* fix: include JobStatus.Finished in polling set for JobsList component

* feat: add cancelJob mutation and resolver to JobsAPI

* feat: implement cancelJob mutation and integrate with JobsDataGrid for job cancellation

* feat: add top parameter to GetJobs query and conditionally render re-run job button

* fix: refactor getJobDetails to improve file retrieval and summary handling

* * fix: fixed rerun directory to prevent nesting folders.
* Navigate to jobs list instead of reloading after rerunning jobs

* Update components/ui/web/components/content/jobs/list/jobsList.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix: update error messages for job creation and cancellation to be more user-friendly

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Added Home button to drawer to go back to Sciserver Dashboard (#84)

* refactor: replace MUI Typography with HTML headings and improve job detail layout

* Update components/ui/web/components/content/jobs/detail/jobFullDetail.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* feat: add Home option to drawer navigation and update job list imports

* fix: update Home navigation to redirect to the dashboard URL

* feat: add NEXT_PUBLIC_DASHBOARD_URL environment variable for dashboard access

* fix: update NEXT_PUBLIC_DASHBOARD_URL to point to the correct dashboard path

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* SciQuery Sphinx docs (#72)

* Added sphinx documentation related to SciQuery and RDB COMPM.

* Get User Data (#86)

* Implement user fetching and avatar display in drawer component

* Update user avatar fallback to 'Unknown User' in drawer component

* improved performance of racm.nextJobsRestricted UDF. using table vari… (#83)

* improved performance of racm.nextJobsRestricted UDF. using table variable iso common table expressions in single table. somehow MSSQL started performing very bad, even if only ~200 queries were pending.

* formatting fixes

* formatting updates suggested by copilot

* formatting updates suggested by copolit

* further formatting updates

* Job fixes (#87)

* Fix user volume selection logic to handle undefined values

* Refactor LoadingAnimation component to use styled Backdrop and context for drawer state

* Add alert component to Layout for beta release notification and remove text-decoration from links

* Refactor layout and job components for improved structure and styling; add NewComputeSessionOptions component

* Remove unused components related to resource management to streamline codebase

* Add new components for managing compute session options, including domain, image, data volume, and user volume selections; implement search functionality and improve UI structure

* Refactor NewSession and NewJob components to streamline session creation

- Removed unnecessary state and memoization in NewSession and NewJob components.
- Simplified the rendering of NewComputeSession by passing necessary props directly.
- Consolidated domain and image selection logic into NewComputeSession.
- Removed unused components and styles related to data volume and user volume accordions.
- Updated domainOptions to filter and display domains more efficiently.
- Enhanced NewComputeSessionForm to handle session name and display selected domains and images.
- Improved user volume display in UserVolumeOptions to include owner information.

* Refactor job creation components: split CommandForm and WorkingDirectoryForm, update NewComputeSession to handle command state, and enhance UI with accordions for better organization of options.

* Add SelectedOptionCard component and refactor NewComputeSession to manage results folder URI; update WorkingDirectoryForm and NewComputeSessionOptions for improved state handling and UI integration.

* Refactor NewComputeSessionForm to enhance UI with Material-UI List components; replace SelectedOptionCard with ListItem for domain, image, data volumes, and user volumes, improving organization and interactivity.

* SciQuery Sphinx docs (#72)

* Added sphinx documentation related to SciQuery and RDB COMPM.

* Implement user fetching and avatar display in drawer component

* Refactor user volume filtering in WorkingDirectoryForm and UserVolumeOptions to use context-based username for improved flexibility and maintainability.

* Refactor user avatar display to use optional chaining for safer access to username

* refactor: replace MUI Typography with HTML headings and improve job detail layout

* Update components/ui/web/components/content/jobs/detail/jobFullDetail.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Made filters in Domain, Image, DataVol and UserVol components for New Session component dynamic and configurable through new files with corresponding names to each option list inside `/src/config/`

* PR comments, alert updated, unused imports, code cleanup, fix build error

* Add configurable job workspace path and update related components

---------

Co-authored-by: Manuchehr Taghizadeh-Popp <mtaghiza@jhu.edu>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* UI fixes (#91)

* Redid login screen. Added new Sciserver logo with updated colors

* Add particle effects component and integrate into login screen

* Enhance login UI and configuration: add error handling for inputs, update styles, and configure remote image patterns for Globus

* Refactor job list UI: remove unused imports, add "New Job" button, and adjust styles

* Add new logos and update toolbar and drawer components for improved UI

* Replace CircularProgress with LoadingAnimation for improved loading state handling

* Add tooltip to drawer menu items for improved accessibility

* Make graphql urls conditional (#89)

* Refactor GraphQL server schema handling and update environment variable URLs for deployment

* Fix indentation error in GraphQL deployment environment variables

* Update GraphQL environment variable URLs to fix formatting issues

* Update environment variable URLs in GraphQL and web deployments for consistency

* Fix NEXT_PUBLIC_GRAPHQL_URL formatting for deployment environment

* Add NEXT_PUBLIC_BASE_URL environment variable to web deployment

* Fix formatting of NEXT_PUBLIC_GRAPHQL_URL in web deployment

* Add conditional logic for GraphQL URL in web and graphql deployments

* Add local development setup for RACM debugging (#93)

* Add local development setup for RACM debugging

Add documentation and configuration changes to support running RACM
locally via Spring Boot embedded Tomcat for development and debugging.

- Add RACM README.md with local setup, build, and Eclipse instructions
- Exclude spring-boot-starter-logging globally to prevent log4j bridge conflicts
- Exclude org.springframework.boot.jdbc from AspectJ weaving (Oracle classes)
- Add .gitignore entries for Eclipse artifacts, AspectJ dumps, and RACM lib/
- Add racm .gitignore for lib/ and WebContent/WEB-INF/classes/

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Add local development setup for RACM debugging

Add documentation and configuration changes to support running RACM
locally via Spring Boot embedded Tomcat for development and debugging.

- Add RACM README.md with local setup, build, and Eclipse instructions
- Exclude spring-boot-starter-logging globally to prevent log4j bridge conflicts
- Exclude org.springframework.boot.jdbc from AspectJ weaving (Oracle classes)
- Add .gitignore entries for Eclipse artifacts, AspectJ dumps, and RACM lib/
- Add racm .gitignore for lib/ and WebContent/WEB-INF/classes/

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* remove artefacts from root build.gradle

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

* Fix broken link (#85)

* Add configurable alert message to login portal sign-in page (#101)

Add configurable alert message on login-portal front-page

* add subpath spec for volume claim mounts (#97)

* Web/UI fixes (#99)

* refactor: replace MUI Typography with HTML headings and improve job detail layout

* Update components/ui/web/components/content/jobs/detail/jobFullDetail.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* started working on rerun with edit capabilities

* fix: add JobStatus import and improve summary retrieval

* feat: enhance job rerun functionality and improve new compute session options

* Code clean up and fixed loading animation backdrop timing issue

* Fixed working directory not capturing path to file when user chooses to use own volume

* Update loading animation GIF and adjust image component (#98)

* Added container ID and JSON tab to display JSON for a container in ContainerDetail view

* Added JSON feld to Container type

* Add tooltips for action icons in Container and Jobs data grids

* Update components/ui/web/components/content/jobs/new/workingDirectoryForm.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update components/ui/web/components/content/jobs/detail/jobFullDetail.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix: add stopPropagation to rerun/cancel buttons in job datagrid

Agent-Logs-Url: https://github.com/sciserver/opensciserver/sessions/61a677b9-b251-4ef4-a4d4-bb53de6f14aa

Co-authored-by: peppermint-juli <27710492+peppermint-juli@users.noreply.github.com>

* Update components/ui/web/components/content/compute/sessionManagement/containerDatagrid.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update components/ui/web/components/content/jobs/list/jobDatagrid.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update components/ui/web/components/content/jobs/list/jobDatagrid.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix: sanitize rerunFromJobId query parameter in NewJob component

* fix: improve readability of onClick handlers in job datagrid

* fix: update NEXT_PUBLIC_BASE_PATH environment variable in web deployment

* fix: correct BASE_URL format and improve login button URL construction

* PR comments

* fix: update NEXT_PUBLIC_BASE_PATH to include dynamic prefix

* feat: add NEXT_PUBLIC_GLOBUS_CALLBACK_URL to deployment configuration

* fix: update Globus callback URL in login component

* fix: update NEXT_PUBLIC_GLOBUS_CALLBACK_URL to remove dynamic prefix

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>

* Release 05/01 (#105)

* Update user volume display to include owner information

* Add new job defaults for domain and image name in values.yaml and deployment

* [Fileservice] Multi-file download single RACM call for permissions (#103)

This change implements permission check specifically for the multiple file download endpoint in order to make only a single request to racm, instead of a request per file. It does so by using the get volumes endpoint to describe all the users volume access into memory, and then check files against this. Essentially it implements the generalCheck against the FileServiceModel (the same which is returned by the /volumes endpoint). This should make a substantial improvement to the datasets page load time.

* 107 improve error message on job full detail page (#112)

* Improve error handling on job detail page with user-friendly message

Co-authored-by: Copilot <copilot@github.com>

* Improve error handling on job detail page to redirect on error

* Update NEXT_PUBLIC_GLOBUS_CALLBACK_URL to include prefix in web deployment

* Fix NEXT_PUBLIC_GLOBUS_CALLBACK_URL by removing prefix for web login

---------

Co-authored-by: Copilot <copilot@github.com>

* Add alert for new session creation with inactivity notice (#116)

* Fix globus callback URL to include prefix in web deployment (#113)

* Fix globus callback URL to include prefix in web deployment

* Changed 'router' use for 'window.location'

* reverted use of prefix in web-deployment.yaml

* Add eslint-disable comments for consistency in containerList and jobFullDetail components

* Add banner to Compute app (#117)

* Add jobsMigrationUrl to AppSettings and expose it in UiController

- Introduced a new property `jobsMigrationUrl` in AppSettings to hold the URL for job migrations.
- Updated the constructor of AppSettings to initialize `jobsMigrationUrl` from properties.
- Added a getter method `getJobsMigrationUrl()` to retrieve the jobs migration URL.
- Modified UiController to include `jobsMigrationUrl` in the model attributes for the UI.

* Fix resource path for jobs.css and jobs.js in jobs.jsp

* TEST

* Refactor code structure for improved readability and maintainability

* Update compute image pull policy to always pull the latest image

* Refactor code structure for improved readability and maintainability

* Add primary alert banner to jobs.jsp to promote new app opt-in approach

* Add styles for primary alert banner in jobs.css to enhance visibility

* Enhance primary alert banner styles and update message to promote new app opt-in approach

* Update primary alert message to promote new Jobs experience and app opt-in approach

* Update alert message to include 'here' link for new Jobs experience opt-in

* Add conditional rendering for new app banner in jobs.jsp and update AppSettings

* Add configuration for new app banner in compute properties

* Fix ComputeJobsMigration URL formatting in compute properties

* Update ComputeJobsMigration URL to point to the jobs endpoint

* Enhance AuthService to include secure cookie options and add getComputeToken method (#118)

---------

Co-authored-by: Arik Mitschang <arik@jhu.edu>
Co-authored-by: Dmitry Medvedev <d.p.medvedev@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Manuchehr Taghizadeh-Popp <mtaghiza@jhu.edu>
Co-authored-by: Gerard Lemson <gerard.lemson@gmail.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <copilot@github.com>
@peppermint-juli peppermint-juli linked an issue Jul 9, 2026 that may be closed by this pull request
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.

[WEB] Add pagination to Jobs Screen

1 participant