main
1860
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
ad9235262a |
0.25.0
CI / lint (push) Successful in 41s
Docs build and publish / docker (push) Successful in 6s
CI / test (3.12) (push) Successful in 1m8s
Build and Publish / release (push) Successful in 6s
CI / test (3.14) (push) Successful in 1m16s
CI / test (3.13) (push) Successful in 1m19s
CI / test-with-beamline-plugins (pxii_bec) (push) Successful in 1m14s
CI / test-with-beamline-plugins (pxi_bec) (push) Successful in 1m32s
CI / test-with-beamline-plugins (pxiii_bec) (push) Successful in 1m33s
CI / test-with-coverage (push) Successful in 1m59s
CI / coverage-analysis (push) Skipped
Automatically generated by python-semantic-releasev0.25.0 |
||
|
|
22228c0868 |
feat: highlight whole mounted row in sample list
CI / lint (pull_request) Successful in 42s
CI / test (3.12) (pull_request) Successful in 1m4s
CI / test (3.13) (pull_request) Successful in 1m3s
CI / test (3.14) (pull_request) Successful in 1m7s
CI / test-with-beamline-plugins (pxi_bec) (pull_request) Successful in 1m7s
CI / test-with-beamline-plugins (pxii_bec) (pull_request) Successful in 1m16s
CI / test-with-beamline-plugins (pxiii_bec) (pull_request) Successful in 1m25s
CI / test-with-coverage (pull_request) Successful in 1m33s
CI / coverage-analysis (pull_request) Successful in 4s
CI / lint (push) Successful in 36s
Docs build and publish / docker (push) Successful in 5s
CI / test (3.12) (push) Canceled after 1m6s
CI / test (3.13) (push) Canceled after 57s
CI / test (3.14) (push) Canceled after 55s
CI / test-with-beamline-plugins (pxi_bec) (push) Canceled after 52s
CI / test-with-beamline-plugins (pxii_bec) (push) Canceled after 36s
CI / test-with-beamline-plugins (pxiii_bec) (push) Canceled after 32s
CI / test-with-coverage (push) Canceled after 31s
CI / coverage-analysis (push) Canceled after 0s
Build and Publish / release (push) Successful in 15s
The mounted sample used to tint only the frozen "#" cell. Paint the full row in the same blue so it is findable at a glance, and keep the theme's own text color on it (the mid-tone blue reads fine without the dark ink that the pastel status tints need). Repaint the whole row span on mount/unmount, not just column 0. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> |
||
|
|
a2c5ed3d5c |
feat: show spreadsheet params in sample list
Add Oscillation, Exposure, Total range and Transmission columns to the dewar sample table, read from SampleShortInfo.aaredb_params (already filled by spreadsheetupdater from AareDB, so no server change). Transmission is shown as percent like the user spreadsheet. The new columns are nullable, so the header sort key now puts None last instead of raising on None < float. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> |
||
|
|
85ac38e7ea |
0.24.6
CI / lint (push) Successful in 35s
Docs build and publish / docker (push) Successful in 18s
Build and Publish / release (push) Successful in 28s
CI / test (3.12) (push) Successful in 1m5s
CI / test (3.13) (push) Successful in 1m1s
CI / test (3.14) (push) Successful in 1m4s
CI / test-with-beamline-plugins (pxii_bec) (push) Successful in 1m11s
CI / test-with-beamline-plugins (pxi_bec) (push) Successful in 1m18s
CI / test-with-beamline-plugins (pxiii_bec) (push) Successful in 1m22s
CI / test-with-coverage (push) Successful in 1m35s
CI / coverage-analysis (push) Skipped
Automatically generated by python-semantic-releasev0.24.6 |
||
|
|
76062d5d7d |
fix: make xraycenter line scan on box center and twice box height
CI / lint (push) Successful in 34s
Docs build and publish / docker (push) Successful in 17s
CI / test (3.12) (push) Canceled after 37s
CI / test (3.13) (push) Canceled after 35s
CI / test (3.14) (push) Canceled after 32s
CI / test-with-beamline-plugins (pxi_bec) (push) Canceled after 30s
CI / test-with-beamline-plugins (pxii_bec) (push) Canceled after 27s
CI / test-with-beamline-plugins (pxiii_bec) (push) Canceled after 25s
CI / test-with-coverage (push) Canceled after 22s
CI / coverage-analysis (push) Canceled after 0s
Build and Publish / release (push) Successful in 22s
|
||
|
|
f61e575a61 |
0.24.5
CI / lint (push) Successful in 32s
Docs build and publish / docker (push) Successful in 15s
Build and Publish / release (push) Successful in 9s
CI / test (3.13) (push) Successful in 1m3s
CI / test (3.12) (push) Successful in 1m10s
CI / test (3.14) (push) Successful in 1m7s
CI / test-with-beamline-plugins (pxi_bec) (push) Successful in 1m17s
CI / test-with-beamline-plugins (pxii_bec) (push) Successful in 1m19s
CI / test-with-beamline-plugins (pxiii_bec) (push) Successful in 1m22s
CI / test-with-coverage (push) Successful in 1m35s
CI / coverage-analysis (push) Skipped
Automatically generated by python-semantic-releasev0.24.5 |
||
|
|
29f5357d10 |
fix: validate screening instead of running it
CI / lint (pull_request) Successful in 44s
CI / test (3.12) (pull_request) Successful in 1m2s
CI / test (3.13) (pull_request) Successful in 1m8s
CI / test (3.14) (pull_request) Successful in 1m10s
CI / test-with-beamline-plugins (pxi_bec) (pull_request) Successful in 1m9s
CI / test-with-beamline-plugins (pxii_bec) (pull_request) Successful in 1m12s
CI / test-with-beamline-plugins (pxiii_bec) (pull_request) Successful in 1m25s
CI / test-with-coverage (pull_request) Successful in 1m37s
CI / coverage-analysis (pull_request) Failing after 4s
CI / lint (push) Successful in 34s
Docs build and publish / docker (push) Successful in 17s
CI / test (3.12) (push) Canceled after 36s
CI / test (3.13) (push) Canceled after 32s
CI / test (3.14) (push) Canceled after 31s
CI / test-with-beamline-plugins (pxi_bec) (push) Canceled after 28s
CI / test-with-beamline-plugins (pxii_bec) (push) Canceled after 27s
CI / test-with-beamline-plugins (pxiii_bec) (push) Canceled after 23s
CI / test-with-coverage (push) Canceled after 22s
CI / coverage-analysis (push) Canceled after 0s
Build and Publish / release (push) Successful in 19s
|
||
|
|
0dbbf03144 |
0.24.4
CI / lint (push) Successful in 32s
Docs build and publish / docker (push) Successful in 14s
Build and Publish / release (push) Successful in 16s
CI / test (3.12) (push) Successful in 1m2s
CI / test (3.14) (push) Successful in 1m3s
CI / test (3.13) (push) Successful in 1m8s
CI / test-with-beamline-plugins (pxi_bec) (push) Successful in 1m15s
CI / test-with-beamline-plugins (pxii_bec) (push) Successful in 1m21s
CI / test-with-beamline-plugins (pxiii_bec) (push) Successful in 1m20s
CI / test-with-coverage (push) Successful in 1m32s
CI / coverage-analysis (push) Skipped
Automatically generated by python-semantic-releasev0.24.4 |
||
|
|
9e6f50ae78 |
fix: unmount sample at end of automation
CI / lint (pull_request) Successful in 42s
CI / test (3.12) (pull_request) Successful in 1m4s
CI / test (3.13) (pull_request) Successful in 1m5s
CI / test (3.14) (pull_request) Successful in 1m5s
CI / test-with-beamline-plugins (pxi_bec) (pull_request) Successful in 1m7s
CI / test-with-beamline-plugins (pxii_bec) (pull_request) Successful in 1m16s
CI / test-with-beamline-plugins (pxiii_bec) (pull_request) Successful in 1m23s
CI / test-with-coverage (pull_request) Successful in 1m35s
CI / coverage-analysis (pull_request) Failing after 4s
CI / lint (push) Successful in 40s
Docs build and publish / docker (push) Successful in 6s
CI / test (3.12) (push) Canceled after 52s
CI / test (3.13) (push) Canceled after 51s
CI / test (3.14) (push) Canceled after 47s
CI / test-with-beamline-plugins (pxi_bec) (push) Canceled after 46s
CI / test-with-beamline-plugins (pxii_bec) (push) Canceled after 23s
CI / test-with-beamline-plugins (pxiii_bec) (push) Canceled after 18s
CI / test-with-coverage (push) Canceled after 17s
CI / coverage-analysis (push) Canceled after 0s
Build and Publish / release (push) Successful in 12s
|
||
|
|
2646577463 |
0.24.3
Docs build and publish / docker (push) Successful in 17s
CI / lint (push) Successful in 39s
Build and Publish / release (push) Successful in 19s
CI / test (3.12) (push) Successful in 1m5s
CI / test (3.13) (push) Successful in 1m6s
CI / test (3.14) (push) Successful in 1m5s
CI / test-with-beamline-plugins (pxi_bec) (push) Successful in 1m21s
CI / test-with-beamline-plugins (pxii_bec) (push) Successful in 1m21s
CI / test-with-beamline-plugins (pxiii_bec) (push) Successful in 1m23s
CI / test-with-coverage (push) Successful in 1m33s
CI / coverage-analysis (push) Skipped
Automatically generated by python-semantic-releasev0.24.3 |
||
|
|
343923391d |
fix: validate rotation scan instead of running it
Docs build and publish / docker (push) Successful in 12s
CI / lint (push) Successful in 32s
CI / test (3.12) (push) Canceled after 34s
CI / test (3.13) (push) Canceled after 31s
CI / test (3.14) (push) Canceled after 29s
CI / test-with-beamline-plugins (pxi_bec) (push) Canceled after 26s
CI / test-with-beamline-plugins (pxii_bec) (push) Canceled after 24s
CI / test-with-beamline-plugins (pxiii_bec) (push) Canceled after 20s
CI / test-with-coverage (push) Canceled after 19s
CI / coverage-analysis (push) Canceled after 0s
Build and Publish / release (push) Successful in 18s
|
||
|
|
39c4dc9a10 |
0.24.2
Docs build and publish / docker (push) Successful in 21s
Build and Publish / release (push) Successful in 23s
CI / lint (push) Successful in 47s
CI / test (3.12) (push) Successful in 1m4s
CI / test (3.13) (push) Successful in 1m8s
CI / test (3.14) (push) Successful in 1m5s
CI / test-with-beamline-plugins (pxi_bec) (push) Successful in 1m14s
CI / test-with-beamline-plugins (pxii_bec) (push) Successful in 1m11s
CI / test-with-beamline-plugins (pxiii_bec) (push) Successful in 1m28s
CI / test-with-coverage (push) Successful in 1m39s
CI / coverage-analysis (push) Skipped
Automatically generated by python-semantic-releasev0.24.2 |
||
|
|
9f12167599 |
fix: update spreadsheetupdater tests
CI / test (3.14) (push) Canceled after 37s
CI / lint (pull_request) Successful in 37s
CI / test (3.12) (pull_request) Successful in 1m2s
CI / test (3.14) (pull_request) Successful in 1m6s
CI / test (3.13) (pull_request) Successful in 1m8s
CI / test-with-beamline-plugins (pxi_bec) (pull_request) Successful in 1m21s
CI / test-with-beamline-plugins (pxii_bec) (pull_request) Successful in 1m21s
CI / test-with-beamline-plugins (pxiii_bec) (pull_request) Successful in 1m22s
CI / test-with-coverage (pull_request) Successful in 1m47s
CI / coverage-analysis (pull_request) Successful in 5s
CI / lint (push) Successful in 34s
Docs build and publish / docker (push) Successful in 16s
CI / test (3.12) (push) Canceled after 42s
CI / test (3.13) (push) Canceled after 38s
CI / test-with-beamline-plugins (pxi_bec) (push) Canceled after 33s
CI / test-with-beamline-plugins (pxii_bec) (push) Canceled after 32s
CI / test-with-beamline-plugins (pxiii_bec) (push) Canceled after 28s
CI / test-with-coverage (push) Canceled after 27s
CI / coverage-analysis (push) Canceled after 0s
Build and Publish / release (push) Successful in 28s
|
||
|
|
aa90dea2eb |
fix: update tellupdater tests
CI / lint (push) Skipped
CI / test (3.12) (push) Skipped
CI / test (3.13) (push) Skipped
CI / test-with-beamline-plugins (pxi_bec) (push) Skipped
CI / test-with-beamline-plugins (pxii_bec) (push) Skipped
CI / test-with-beamline-plugins (pxiii_bec) (push) Skipped
CI / lint (pull_request) Successful in 42s
CI / test (3.12) (pull_request) Failing after 1m0s
CI / test (3.13) (pull_request) Failing after 1m3s
CI / test (3.14) (pull_request) Failing after 1m8s
CI / test-with-beamline-plugins (pxi_bec) (pull_request) Failing after 1m8s
CI / test-with-beamline-plugins (pxii_bec) (pull_request) Failing after 1m12s
CI / test-with-beamline-plugins (pxiii_bec) (pull_request) Failing after 1m23s
CI / test-with-coverage (pull_request) Failing after 1m24s
CI / coverage-analysis (pull_request) Skipped
|
||
|
|
d52cf30ab0 |
fix: tellupdater config refrence
CI / lint (push) Skipped
CI / test (3.12) (push) Skipped
CI / test (3.13) (push) Skipped
CI / test-with-beamline-plugins (pxi_bec) (push) Skipped
CI / test-with-beamline-plugins (pxii_bec) (push) Skipped
CI / test-with-beamline-plugins (pxiii_bec) (push) Skipped
CI / lint (pull_request) Successful in 47s
CI / test (3.12) (pull_request) Failing after 1m4s
CI / test (3.13) (pull_request) Failing after 1m5s
CI / test (3.14) (pull_request) Failing after 1m7s
CI / test-with-beamline-plugins (pxi_bec) (pull_request) Failing after 1m12s
CI / test-with-beamline-plugins (pxii_bec) (pull_request) Failing after 1m16s
CI / test-with-beamline-plugins (pxiii_bec) (pull_request) Failing after 1m28s
CI / test-with-coverage (pull_request) Failing after 1m28s
CI / coverage-analysis (pull_request) Skipped
|
||
|
|
df54ed5b05 |
fix: spreadsheetupdate config refrence
CI / lint (push) Skipped
CI / test (3.12) (push) Skipped
CI / test (3.13) (push) Skipped
CI / test-with-beamline-plugins (pxii_bec) (push) Skipped
CI / test-with-beamline-plugins (pxi_bec) (push) Skipped
CI / test-with-beamline-plugins (pxiii_bec) (push) Skipped
|
||
|
|
97584ef75f |
0.24.1
Docs build and publish / docker (push) Successful in 5s
Build and Publish / release (push) Successful in 12s
CI / lint (push) Successful in 48s
CI / test (3.13) (push) Successful in 1m3s
CI / test (3.14) (push) Successful in 1m12s
CI / test (3.12) (push) Successful in 1m18s
CI / test-with-beamline-plugins (pxi_bec) (push) Successful in 1m16s
CI / test-with-beamline-plugins (pxiii_bec) (push) Successful in 1m19s
CI / test-with-beamline-plugins (pxii_bec) (push) Successful in 1m26s
CI / test-with-coverage (push) Successful in 1m40s
CI / coverage-analysis (push) Skipped
Automatically generated by python-semantic-releasev0.24.1 |
||
|
|
69fbf4b95b |
style: fix type hints and naming
CI / lint (pull_request) Successful in 46s
CI / test (3.12) (pull_request) Successful in 1m2s
CI / test (3.13) (pull_request) Successful in 1m8s
CI / test (3.14) (pull_request) Successful in 1m7s
CI / test-with-beamline-plugins (pxi_bec) (pull_request) Successful in 1m8s
CI / test-with-beamline-plugins (pxii_bec) (pull_request) Successful in 1m11s
CI / test-with-beamline-plugins (pxiii_bec) (pull_request) Successful in 1m26s
CI / test-with-coverage (pull_request) Successful in 1m36s
CI / coverage-analysis (pull_request) Failing after 3s
CI / lint (push) Successful in 33s
Docs build and publish / docker (push) Successful in 16s
CI / test (3.12) (push) Canceled after 44s
CI / test (3.13) (push) Canceled after 40s
CI / test (3.14) (push) Canceled after 39s
CI / test-with-beamline-plugins (pxi_bec) (push) Canceled after 35s
CI / test-with-beamline-plugins (pxii_bec) (push) Canceled after 34s
CI / test-with-beamline-plugins (pxiii_bec) (push) Canceled after 30s
CI / test-with-coverage (push) Canceled after 29s
CI / coverage-analysis (push) Canceled after 0s
Build and Publish / release (push) Successful in 35s
|
||
|
|
2eb5e3a510 |
chore: update aaresccan-client dependency
CI / lint (push) Skipped
CI / test (3.13) (push) Skipped
CI / test (3.12) (push) Skipped
CI / test-with-beamline-plugins (pxi_bec) (push) Skipped
CI / test-with-beamline-plugins (pxii_bec) (push) Skipped
CI / test-with-beamline-plugins (pxiii_bec) (push) Skipped
CI / lint (pull_request) Failing after 55s
CI / test (3.12) (pull_request) Successful in 1m3s
CI / test (3.13) (pull_request) Successful in 1m3s
CI / test (3.14) (pull_request) Successful in 1m5s
CI / test-with-beamline-plugins (pxii_bec) (pull_request) Successful in 1m12s
CI / test-with-beamline-plugins (pxi_bec) (pull_request) Successful in 1m16s
CI / test-with-beamline-plugins (pxiii_bec) (pull_request) Successful in 1m17s
CI / test-with-coverage (pull_request) Successful in 1m42s
CI / coverage-analysis (pull_request) Failing after 3s
|
||
|
|
7c6350ee94 |
fix: reduce TELL client log verbosity
CI / lint (push) Skipped
CI / test-with-beamline-plugins (pxiii_bec) (push) Skipped
CI / test (3.12) (push) Skipped
CI / test (3.13) (push) Skipped
CI / test-with-beamline-plugins (pxi_bec) (push) Skipped
CI / test-with-beamline-plugins (pxii_bec) (push) Skipped
CI / lint (pull_request) Failing after 48s
CI / test (3.12) (pull_request) Successful in 1m6s
CI / test (3.13) (pull_request) Successful in 1m10s
CI / test (3.14) (pull_request) Successful in 1m8s
CI / test-with-beamline-plugins (pxi_bec) (pull_request) Successful in 1m12s
CI / test-with-beamline-plugins (pxii_bec) (pull_request) Successful in 1m23s
CI / test-with-beamline-plugins (pxiii_bec) (pull_request) Successful in 1m26s
CI / test-with-coverage (pull_request) Successful in 1m36s
CI / coverage-analysis (pull_request) Failing after 4s
|
||
|
|
7cc8fcaaaf | fix: validate gridscan params | ||
|
|
7c893ce698 | fix: validate params with aarescan | ||
|
|
ace161590c | fix: call jfjoch cancel in failed operation exception handler | ||
|
|
f5ea31dceb |
0.24.0
Docs build and publish / docker (push) Successful in 14s
CI / lint (push) Successful in 47s
Build and Publish / release (push) Successful in 24s
CI / test (3.13) (push) Successful in 1m6s
CI / test (3.12) (push) Successful in 1m11s
CI / test (3.14) (push) Successful in 1m8s
CI / test-with-beamline-plugins (pxi_bec) (push) Successful in 1m13s
CI / test-with-beamline-plugins (pxiii_bec) (push) Successful in 1m34s
CI / test-with-beamline-plugins (pxii_bec) (push) Successful in 1m41s
CI / test-with-coverage (push) Successful in 1m43s
CI / coverage-analysis (push) Skipped
Automatically generated by python-semantic-releasev0.24.0 |
||
|
|
1cd8102b69 |
fix: add tests and cleanup after exceptions
Docs build and publish / docker (push) Successful in 19s
CI / lint (push) Successful in 45s
CI / test (3.12) (push) Canceled after 52s
CI / test (3.13) (push) Canceled after 48s
CI / test (3.14) (push) Canceled after 47s
CI / test-with-beamline-plugins (pxi_bec) (push) Canceled after 43s
CI / test-with-beamline-plugins (pxii_bec) (push) Canceled after 42s
CI / test-with-beamline-plugins (pxiii_bec) (push) Canceled after 38s
CI / test-with-coverage (push) Canceled after 37s
CI / coverage-analysis (push) Canceled after 0s
Build and Publish / release (push) Successful in 19s
|
||
|
|
6483d50d1d | style: ignore pyright issues in redis return values | ||
|
|
18bcbdba10 | feat: add hardware lock to server | ||
|
|
fbfe773954 | feat: remove all busy-state handling | ||
|
|
5db5e228af |
0.23.1
CI / test (3.12) (push) Successful in 1m2s
CI / lint (push) Successful in 36s
Docs build and publish / docker (push) Successful in 5s
CI / test (3.14) (push) Successful in 1m4s
CI / test (3.13) (push) Successful in 1m8s
CI / test-with-beamline-plugins (pxi_bec) (push) Successful in 1m9s
Build and Publish / release (push) Successful in 8s
CI / test-with-beamline-plugins (pxii_bec) (push) Successful in 1m16s
CI / test-with-beamline-plugins (pxiii_bec) (push) Successful in 1m25s
CI / test-with-coverage (push) Successful in 1m30s
CI / coverage-analysis (push) Skipped
Automatically generated by python-semantic-releasev0.23.1 |
||
|
|
a56457d03b |
test: route the tell-state stand-in through object for basedpyright
CI / test (3.13) (pull_request) Successful in 1m4s
CI / lint (pull_request) Successful in 1m9s
CI / test (3.12) (pull_request) Successful in 1m13s
CI / test-with-beamline-plugins (pxi_bec) (pull_request) Successful in 1m11s
CI / test (3.14) (pull_request) Successful in 1m16s
CI / test-with-beamline-plugins (pxii_bec) (pull_request) Successful in 1m16s
CI / test-with-beamline-plugins (pxiii_bec) (pull_request) Successful in 1m25s
CI / test-with-coverage (pull_request) Successful in 1m40s
CI / coverage-analysis (pull_request) Successful in 4s
CI / lint (push) Successful in 31s
Docs build and publish / docker (push) Successful in 15s
CI / test (3.12) (push) Canceled after 40s
CI / test (3.13) (push) Canceled after 37s
CI / test (3.14) (push) Canceled after 35s
CI / test-with-beamline-plugins (pxi_bec) (push) Canceled after 32s
CI / test-with-beamline-plugins (pxii_bec) (push) Canceled after 30s
CI / test-with-beamline-plugins (pxiii_bec) (push) Canceled after 27s
CI / test-with-coverage (push) Canceled after 25s
CI / coverage-analysis (push) Canceled after 0s
Build and Publish / release (push) Successful in 27s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> |
||
|
|
ccb71bf43f |
test: format the mocked token and cast the tell-state stand-in for basedpyright
CI / lint (push) Skipped
CI / test (3.12) (push) Skipped
CI / test (3.13) (push) Skipped
CI / test-with-beamline-plugins (pxi_bec) (push) Skipped
CI / test-with-beamline-plugins (pxii_bec) (push) Skipped
CI / test-with-beamline-plugins (pxiii_bec) (push) Skipped
CI / lint (pull_request) Canceled after 33s
CI / test (3.12) (pull_request) Canceled after 33s
CI / test (3.13) (pull_request) Canceled after 28s
CI / test (3.14) (pull_request) Canceled after 28s
CI / test-with-beamline-plugins (pxi_bec) (pull_request) Canceled after 23s
CI / test-with-beamline-plugins (pxii_bec) (pull_request) Canceled after 23s
CI / test-with-beamline-plugins (pxiii_bec) (pull_request) Canceled after 18s
CI / test-with-coverage (pull_request) Canceled after 18s
CI / coverage-analysis (pull_request) Canceled after 0s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> |
||
|
|
c3e7b9a2cc |
test: cover the sample camera pacing, the newest-frame drain and the frame slot
CI / lint (push) Skipped
CI / test (3.12) (push) Skipped
CI / test (3.13) (push) Skipped
CI / test-with-beamline-plugins (pxi_bec) (push) Skipped
CI / test-with-beamline-plugins (pxii_bec) (push) Skipped
CI / test-with-beamline-plugins (pxiii_bec) (push) Skipped
CI / lint (pull_request) Failing after 35s
CI / test (3.12) (pull_request) Canceled after 36s
CI / test-with-beamline-plugins (pxiii_bec) (pull_request) Canceled after 21s
CI / test (3.13) (pull_request) Canceled after 31s
CI / test (3.14) (pull_request) Canceled after 31s
CI / test-with-beamline-plugins (pxi_bec) (pull_request) Canceled after 26s
CI / test-with-beamline-plugins (pxii_bec) (pull_request) Canceled after 26s
CI / test-with-coverage (pull_request) Canceled after 21s
CI / coverage-analysis (pull_request) Canceled after 0s
CI's diff-coverage gate sat at 29% because the ZMQ fixes live in code no test reached: the subscriber's socket setup, _emit_image/notify_frame_ displayed, _recv_latest and the run() frame path, plus the main window's frame slot. The subscriber now runs against a real inproc socket (the drain and the in-flight cap are the fix, so a mock would prove nothing); run() is driven with a stubbed _recv_latest that hands over one JPEG and then stops. The busy overlay gets a check that cooling is the only blue busy state. The subscriber fixture takes qapp so no QImage is built before the QApplication exists. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> |
||
|
|
dbd5b9078f |
style: paint the unknown-session badge with the viewing-mode style
CI / lint (push) Skipped
CI / test (3.12) (push) Skipped
CI / test (3.13) (push) Skipped
CI / test-with-beamline-plugins (pxi_bec) (push) Skipped
CI / test-with-beamline-plugins (pxii_bec) (push) Skipped
CI / test-with-beamline-plugins (pxiii_bec) (push) Skipped
CI / lint (pull_request) Successful in 48s
CI / test (3.12) (pull_request) Successful in 1m3s
CI / test (3.13) (pull_request) Successful in 1m5s
CI / test (3.14) (pull_request) Successful in 1m10s
CI / test-with-beamline-plugins (pxi_bec) (pull_request) Successful in 1m10s
CI / test-with-beamline-plugins (pxii_bec) (pull_request) Successful in 1m13s
CI / test-with-beamline-plugins (pxiii_bec) (pull_request) Successful in 1m24s
CI / test-with-coverage (pull_request) Successful in 1m35s
CI / coverage-analysis (pull_request) Failing after 4s
The sample camera drew its own gold/orange/red "Session Vacant / Baton Requested / Guest Mode" box whenever the busy overlay had nothing to show. Since the busy-style builder already receives the session state, that box only ever appeared while the session was still unknown (no status yet, or one without a session), so it flashed a different color and shape than the yellow "Viewing mode, click here to grab the baton" badge every known not-owned state gets. Hoist that badge into VIEWING_MODE_STYLE and paint it from both paths; the hover fill is shared through _badge_fill. The three MARK_TOOLTIP constants had no other users and are dropped. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> |
||
|
|
c0b0994fed |
fix: satisfy basedpyright on the Optional subscriber and socket
CI / lint (push) Skipped
CI / test (3.12) (push) Skipped
CI / test (3.13) (push) Skipped
CI / test-with-beamline-plugins (pxi_bec) (push) Skipped
CI / test-with-beamline-plugins (pxii_bec) (push) Skipped
CI / test-with-beamline-plugins (pxiii_bec) (push) Skipped
CI / lint (pull_request) Successful in 47s
CI / test (3.12) (pull_request) Successful in 1m5s
CI / test (3.13) (pull_request) Successful in 1m5s
CI / test (3.14) (pull_request) Successful in 1m5s
CI / test-with-beamline-plugins (pxi_bec) (pull_request) Successful in 1m8s
CI / test-with-beamline-plugins (pxii_bec) (pull_request) Successful in 1m11s
CI / test-with-beamline-plugins (pxiii_bec) (pull_request) Successful in 1m27s
CI / test-with-coverage (pull_request) Successful in 1m37s
CI / coverage-analysis (pull_request) Failing after 3s
CI lint failed on reportOptionalMemberAccess: prediction_thread is None when the GUI runs without a sample feed, and _sock is nulled by run()'s cleanup, so both attributes are Optional to the checker even though the flagged call sites cannot see None at runtime. Guard the slot and bind the socket to a local asserted non-None in _recv_latest. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> |
||
|
|
7c1efe4384 |
style: one PSI red for every busy camera badge, blue only for robot cooling
AUTO CENTERING, ROBOT MOUNTING/UNMOUNTING/DRYING and BEAMLINE BUSY each had their own accent (purple, red, orange, yellow, maroon), so the sample camera read as a per-activity rainbow instead of one "hands off" signal. All busy states now share BUSY_PSI_RED; ROBOT COOLING keeps blue because it is the long, harmless phase the operator should read as "wait". The five near-identical BusyOverlayStyle blocks collapse into one _animated() helper plus a text lookup, and the now-unused purple/orange/ red-badge constants are dropped from styles.py. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> |
||
|
|
c842856fe0 |
fix: build the sample camera QPixmap on the GUI thread
CI / lint (push) Skipped
CI / test (3.12) (push) Skipped
CI / test (3.13) (push) Skipped
CI / test-with-beamline-plugins (pxi_bec) (push) Skipped
CI / test-with-beamline-plugins (pxii_bec) (push) Skipped
CI / test-with-beamline-plugins (pxiii_bec) (push) Skipped
CI / lint (pull_request) Failing after 38s
CI / test (3.12) (pull_request) Successful in 1m0s
CI / test (3.13) (pull_request) Successful in 1m2s
CI / test (3.14) (pull_request) Successful in 1m1s
CI / test-with-beamline-plugins (pxi_bec) (pull_request) Successful in 1m8s
CI / test-with-beamline-plugins (pxii_bec) (pull_request) Successful in 1m14s
CI / test-with-beamline-plugins (pxiii_bec) (pull_request) Successful in 1m19s
CI / test-with-coverage (pull_request) Successful in 1m26s
CI / coverage-analysis (pull_request) Failing after 3s
QPixmap is a GUI-thread-only class in Qt; the worker was constructing one per frame via QPixmap.fromImage. It happens to work with the raster backend, which is why this has not bitten us, but it is not supported and the guarantee is not ours to rely on. The subscriber now emits QImage — which is explicitly safe to build and move between threads — and _on_sample_camera_frame converts once on the GUI thread before handing the pixmap to the visible view. No extra copy: the .copy() that detaches the QImage from the numpy buffer was already there. Verified end to end against a real PUB socket: the payload delivered is QImage, the slot runs only on the main thread, and frames still decode. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DVqbXPoeHyqrQq5Vc8EcYP |
||
|
|
a4a8b8029a |
fix: pace sample camera frames to what the GUI can paint
image is a queued cross-thread signal and Qt's event queue has no high-water mark, so this queue grew without bound independently of ZMQ: with a 50 Hz feed and a GUI painting slower, the displayed frame fell further behind for as long as the stream ran. Measured on a stand-in at 15 ms decode / 25 ms paint, the displayed frame aged from 40 ms to 2010 ms over three seconds and kept going. Two changes: - Emit once and fan out on the GUI thread to whichever view is actually on screen, rather than connecting all three SampleCameraImageLabels. Two of the three are always hidden (tab / compact page / portrait page), so this is one repaint per frame instead of three. - Cap the frames in flight and drop rather than queue past it. The cap is 2, not 1, so a frame can be queued while the GUI paints the other: at 1 the GUI idles waiting for the next decode (33.3 fps displayed), at 2 it does not (40.0 fps) for one extra frame of latency. Both stay bounded — 40 ms and 62 ms respectively, flat over the run. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DVqbXPoeHyqrQq5Vc8EcYP |
||
|
|
4c3b0ce64d |
fix: bound the sample camera SUB receive queue
The socket used library defaults, so a GUI that stalls builds its own private FIFO of up to 1000 messages — 20 s of video at 50 Hz — plus whatever the autotuned kernel receive buffer holds on top. PUB/SUB pipes are per-subscriber, which is why only aareGUI lagged while the other receivers stayed current. RCVHWM=4 makes the producer drop frames for this subscriber once it is muted, instead of queueing them, and a fixed RCVBUF stops the kernel hiding a further few dozen frames behind the HWM. Measured against a flooding publisher, the buffered backlog drops from 1000 frames to 4. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DVqbXPoeHyqrQq5Vc8EcYP |
||
|
|
d63b4ad179 |
fix: drain the sample camera SUB socket to the newest frame
The SUB socket is strictly FIFO, so once the GUI falls behind at 50 Hz it stays behind: every recv returns the oldest queued frame and the lag never recovers on its own. zmq.CONFLATE cannot fix this because it keeps only the last *part* of a message, which shreds the multipart header+payload frames the producer sends. recv_multipart is atomic, though — a non-blocking recv either yields a whole message or raises Again — so draining in a loop is a multipart-safe conflate. The drain runs after the previous frame's decode, so it discards exactly the backlog that built up while we were busy, and the socket is consumed at line rate regardless of how long a frame takes to decode. Verified against a real PUB/SUB pair: 100 queued multipart messages collapse to the newest one with both parts intact, and RCVTIMEO is still honoured when the queue is empty. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DVqbXPoeHyqrQq5Vc8EcYP |
||
|
|
c12fb34057 |
0.23.0
CI / lint (push) Successful in 39s
Docs build and publish / docker (push) Successful in 19s
Build and Publish / release (push) Successful in 22s
CI / test (3.12) (push) Successful in 1m3s
CI / test (3.13) (push) Successful in 1m0s
CI / test (3.14) (push) Successful in 1m2s
CI / test-with-beamline-plugins (pxi_bec) (push) Successful in 1m13s
CI / test-with-beamline-plugins (pxii_bec) (push) Successful in 1m21s
CI / test-with-beamline-plugins (pxiii_bec) (push) Successful in 1m21s
CI / test-with-coverage (push) Successful in 1m45s
CI / coverage-analysis (push) Skipped
Automatically generated by python-semantic-releasev0.23.0 |
||
|
|
f1cf55adb9 |
fix: take the aareDB transmission as the fraction aarecommon >= 0.7 declares
CI / lint (push) Successful in 1m11s
Docs build and publish / docker (push) Successful in 4s
CI / test (3.12) (push) Canceled after 1m22s
CI / test (3.13) (push) Canceled after 1m3s
CI / test (3.14) (push) Canceled after 1m0s
CI / test-with-beamline-plugins (pxii_bec) (push) Canceled after 55s
CI / test-with-beamline-plugins (pxi_bec) (push) Canceled after 56s
CI / test-with-beamline-plugins (pxiii_bec) (push) Canceled after 31s
CI / test-with-coverage (push) Canceled after 23s
CI / coverage-analysis (push) Canceled after 0s
Build and Publish / release (push) Successful in 17s
CI resolves aarecommon 0.7.3, where DataCollectionParameters.transmission is a 0-to-1 fraction that rejects anything above 1.0 (the percent sheets are converted inside AareDB >= 0.83, which main already requires). The divide-by-100 from the earlier 'percentage' fix therefore failed the model test on CI and would have turned 20% into 0.2% at the beamline. Pass the fraction through and pin aarecommon>=0.7.3 so the older int percentage model can no longer be installed; relock. Also satisfy the diff typecheck gate: basedpyright only counts instance variables assigned in __init__, so the Database/User toggle widgets are created there and _build_source_toggle only lays them out. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> |
||
|
|
f20bd065f5 |
feat: show AUTO CENTERING in the sample camera view while a loop centering runs
/status cannot tell an auto centering from a manual alignment move (both are busy + SampleAlignment, the combo the overlay deliberately hides), so the DAQ worker emits its own auto_centering flag: True while its own /alc/center_loop POST is in flight (the endpoint blocks until done) or while the automation progress reports the Center step running. The sample camera views pass it to build_busy_overlay_style, which paints a purple AUTO CENTERING wave text like the ROBOT MOUNTING/COOLING ones. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> |
||
|
|
bc8137a389 |
fix: put Mount next in the automation row, gated to the Queued view
The button was parented to the dewar tab but never added to a layout, so Qt painted it at (0, 0) over the TELL sample changer banner. It now sits left of Unmount in the automation row (docked and pop-out), greyed out outside the Queued view like Remove/Clear. A trailing stretch keeps the row's buttons at their natural width instead of sharing the spare space. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> |
||
|
|
1f3f24b03e |
revert: drop the ZMQ video change from this branch
Committed by mistake in
|
||
|
|
63d902a82a |
fix: read the aareDB transmission as the percentage it is
DataCollectionParameters.transmission is a StrictInt documented as "positive, between 0 and 100" (aareDB's own API description of the spreadsheet payload), while every model that consumes it wants a 0-to-1 fraction. The old "divide by 100 only when above 1.0" guess therefore turned a spreadsheet asking for 1% into a scan at 100% transmission - a hundredfold dose on the sample. A fraction cannot be stored in that column at all: the model rejects 0.2. The mapping test now builds a real DataCollectionParameters instead of a stand-in namespace, so a renamed column fails the test rather than the beamline. That is what let 'totalrange' through. daq.py's spreadsheet_params and get_auto_raster_params still carry both the old column name and the same transmission guess. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JHoUkj66jxByS2ypY5h9Mn |
||
|
|
7cc662bfd8 |
fix: read the aareDB total angle from the column that exists
The column is totalangle, not totalrange, so reading it raised AttributeError four times a second in the status loop. Reading a spreadsheet cell now goes through _spreadsheet_float, which treats a missing column, an empty cell and a cell that does not hold a number all as "not set" and logs the column once. aareDB owns these names; the GUI should fall back to its defaults when one moves, not die on the status loop it is read from. Note that the same misspelling is still in daq.py (spreadsheet_params and get_auto_raster_params), where getattr's default hides it: automation has never picked up the total angle from the spreadsheet either. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JHoUkj66jxByS2ypY5h9Mn |
||
|
|
8833f3a9d1 |
fix: keep user values in the scan panels across sample mounts
The panels kept the effective detector distance, resolution and transmission in their own attributes, and a sample change overwrote those from the spreadsheet whatever the Database/User toggle said. The fields went on showing the user's numbers while the scan request carried the database ones, so a value had to be re-entered after every mount. The fields are now the only place a value lives. Each setting is worth, in order: what the user typed while "User values" is selected, what the mounted sample asks for, the panel default - one rule, ScanSettingsPanel ._setting, that each panel spells out a line at a time. Overrides are per setting, so a setting the user did not touch keeps following the sample. Along the way: * DbOverrideLineEdit is gone; the panels use NumberLineEdit directly, and the per-widget database/user bookkeeping is replaced by SampleParameters, the one place that knows the aareDB spreadsheet column names. * The (name, widget, converter) mapping loops with getattr/hasattr are replaced by explicit per-field commit slots. * The omega speed cap no longer drives one field's validator from another field's value: it is a read-out plus a check on the pair at Run time. * _add_row/_add_pair_row build the label/field/unit rows, which also puts the Total angle degree sign on its own row instead of the header above. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JHoUkj66jxByS2ypY5h9Mn |
||
|
|
9f0122bd96 |
0.22.1
CI / test (3.12) (push) Failing after 16s
CI / test (3.14) (push) Failing after 14s
Docs build and publish / docker (push) Successful in 11s
CI / test-with-beamline-plugins (pxii_bec) (push) Failing after 17s
CI / lint (push) Successful in 32s
Build and Publish / release (push) Successful in 6s
CI / test-with-coverage (push) Failing after 17s
CI / coverage-analysis (push) Skipped
CI / test (3.13) (push) Successful in 59s
CI / test-with-beamline-plugins (pxi_bec) (push) Successful in 1m8s
CI / test-with-beamline-plugins (pxiii_bec) (push) Successful in 1m12s
Automatically generated by python-semantic-releasev0.22.1 |
||
|
|
3ff0f41322 |
fix: update aaredb dependency
CI / lint (pull_request) Successful in 28s
CI / test (3.12) (pull_request) Successful in 1m1s
CI / test (3.14) (pull_request) Successful in 1m1s
CI / test (3.13) (pull_request) Successful in 1m3s
CI / test-with-beamline-plugins (pxi_bec) (pull_request) Successful in 1m10s
CI / test-with-beamline-plugins (pxii_bec) (pull_request) Successful in 1m19s
CI / test-with-beamline-plugins (pxiii_bec) (pull_request) Successful in 1m19s
CI / test-with-coverage (pull_request) Successful in 1m28s
CI / lint (push) Successful in 30s
Docs build and publish / docker (push) Successful in 13s
CI / test (3.12) (push) Canceled after 37s
CI / test (3.13) (push) Canceled after 33s
CI / test (3.14) (push) Canceled after 32s
CI / test-with-beamline-plugins (pxi_bec) (push) Canceled after 28s
CI / test-with-beamline-plugins (pxii_bec) (push) Canceled after 27s
CI / test-with-beamline-plugins (pxiii_bec) (push) Canceled after 23s
CI / test-with-coverage (push) Canceled after 22s
CI / coverage-analysis (push) Canceled after 0s
CI / coverage-analysis (pull_request) Successful in 9s
Build and Publish / release (push) Successful in 25s
|
||
|
|
abd061dd43 |
0.22.0
Docs build and publish / docker (push) Successful in 4s
CI / lint (push) Successful in 32s
Build and Publish / release (push) Successful in 11s
CI / test (3.12) (push) Successful in 1m8s
CI / test-with-beamline-plugins (pxi_bec) (push) Successful in 1m20s
CI / test (3.14) (push) Successful in 1m48s
CI / test-with-coverage (push) Successful in 2m22s
CI / coverage-analysis (push) Skipped
CI / test (3.13) (push) Successful in 3m6s
CI / test-with-beamline-plugins (pxii_bec) (push) Successful in 3m9s
CI / test-with-beamline-plugins (pxiii_bec) (push) Successful in 3m8s
Automatically generated by python-semantic-releasev0.22.0 |