Skip to content

Conversation

@douglaswinter
Copy link
Collaborator

No description provided.

callumforrester and others added 30 commits July 11, 2025 09:02
Add basic CI checks to show that code builds and lints
Update node version to fix failing CI
Create a static schema representing a response from a blueapi server
using only the count plan. Generate a JSON form to fill in parameters
for the count plan.
Create a dropdown menu for selecting a plan, populate using a mocked
call to blueapi using mockserviceworker.

Edit mocked output assuming that the following have been fixed:
- DiamondLightSource/blueapi#1129
- DiamondLightSource/blueapi#1123
- DiamondLightSource/blueapi#1124

And reorder the scanspec schema so that its self-referential components
can be detected in a single pass.
Get the button to trigger a plan on blueapi, no feedback yet.
Add an instrument session field since that is a requirement for blueapi.
Migrate from yarn to pnpm per Diamond's UI policy
* Add Dockerfile for building and serving web UI with NGINX
* Add github action to create and push image on release
Add dummy data view using davidia, insert it into the spectroscopy plan
view. The view shows an RGB colour pattern pretending to be a detector
output.
This change adds instrument session context and provider, which
internally caches and retrieves the state using localStorage. Default
instrument session can be passed as prop to the provider.
A workflows route for manually submitting workflows using Relay GraphQL client.
* Remove unused css

* Redesign the JsonForms section

* Add tests for SearchablePlanList

* Add tests for PlanBrowser

* Add error boundary and tests to PlanParameters

* Group PlanBrowser-related components

* Add test CI job

* Resolve merge conflicts

* Fix CI job name

* Invert selectedPlan condition for clarity

* Render PlanParameters wrapped in InstrumentSessionProvider in test
Separate IS dropdown from IS query

Remove repository from workflows
…ssion_via_graph

Populate instrument session via graph
An SSE end point (/api/data/events) tells us when scans start/stop and
the data files corresponding to the running scan. When a scan is
running, we poll /api/data/map three times for R G and B channels.

Co-authored-by: Douglas Winter <douglas.winter@diamond.ac.uk>
Discovered when attempting to integrate with existing app.
 - Expose render, screen, etc (react testing library helpers)
 - Centralise vitest version in monorepo root package.json;
   everywhere else referenced as "vitest": "*"
 - Update README.md, in particular specifying the need to declare
   vitest as devDependency in your app.
 - Simplify tsconfig.json
git-subtree-dir: apps/visr
git-subtree-mainline: f6ee83e
git-subtree-split: 338dc42
- uses react dependencies from root
- uses @atlas/vitest-conf
- still to handle CI jobs
- General CI that runs lint, test, build
- A reusuable app publisher called by app-specific wrappers, which run
  on release but can also be run manually
@douglaswinter douglaswinter force-pushed the import_visr branch 10 times, most recently from be13b55 to 6a41cd6 Compare November 26, 2025 15:33
Now with common Dockerfile and nginx.conf
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.

5 participants