Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(release): v8.2.0 #16631

Open
wants to merge 526 commits into
base: release
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
526 commits
Select commit Hold shift + click to select a range
0484295
test(analyses): 8.0.0 testing protocols into analyses battery (#16407)
y3rsh Oct 4, 2024
69049a5
feat(protocol-designer): use i18n for getBlowoutLocationOptionsForFor…
koji Oct 7, 2024
9ac5105
chore(release): notes for Internal Release 2.2.0-alpha.0 (#16425)
y3rsh Oct 7, 2024
56cd361
feat(robot-server): Wire up global error recovery setting (#16416)
SyntaxColoring Oct 7, 2024
7badfee
feat(api): allow ungrip gripper labware while door is open (#16394)
TamarZanzouri Oct 7, 2024
fb6e437
refactor(api, robot-server): remove/ update outdated TODOs (#16413)
sanni-t Oct 7, 2024
528326f
test(robot-server): Add more unit tests for error_recovery_mapping.py…
SyntaxColoring Oct 7, 2024
d1de808
fix(app): get back unboxingFlow path update function (#16411) (#16428)
y3rsh Oct 7, 2024
a9b219e
fix(protocol-designer): fix issues in select pipette screen (#16404)
koji Oct 8, 2024
519482d
fix(protocol-designer): fix EditInstrumentsModal issue (#16421)
koji Oct 8, 2024
9d16384
fix(app,api): Display thermocycler profile cycles (#16414)
sfoster1 Oct 8, 2024
f8608fd
feat(api-client): Add bindings for `/errorRecovery/settings` endpoint…
SyntaxColoring Oct 8, 2024
44aa757
chore(abt): upgrade python to 3.13 and upgrade dependencies on analys…
y3rsh Oct 8, 2024
7e39d06
fix(protocol-designer): fix pipette info card in protocol overview (#…
koji Oct 8, 2024
6869198
feat(abt): speed up analyses battery with async analysis (#16431)
y3rsh Oct 8, 2024
9ea27a2
feat(ai-server): improved logging (#16435)
y3rsh Oct 8, 2024
6c8c583
feat(hardware-testing): Abr Asair Script update (#16440)
AnthonyNASC20 Oct 9, 2024
e9dc78a
feat(abr-testing): Protocol simulator, utilizes opentrons CLI to simu…
AnthonyNASC20 Oct 9, 2024
1f50f1d
fix(abt): move to 3.13 stable (#16442)
y3rsh Oct 9, 2024
50d3208
docs(robot-server): Fix labware router response bodies (#16444)
SyntaxColoring Oct 9, 2024
7f6506f
refactor(api): redefine well geometry structure (#16392)
caila-marashaj Oct 9, 2024
26da992
refactor(api): move pipette movement conflict checks to separate file…
sanni-t Oct 9, 2024
0567d36
fix(protocol-designer): update Magnetic Module step form (#16424)
syao1226 Oct 9, 2024
b808a54
feat(shared-data): Support nozzle layouts in well selection (#16441)
mjhuff Oct 9, 2024
212cae5
feat(abr-testing): count TC disposable lid actions and plate multi re…
rclarke0 Oct 9, 2024
0a3f1a8
chore(shared-data): create liquid class schema v1 and fixture (#16267)
ncdiehl11 Oct 9, 2024
6012297
refactor(api): Remove redundant tip length state (#16450)
SyntaxColoring Oct 10, 2024
eeb8972
feat(api, shared-data): Add support for labware lids and publish tc l…
CaseyBatten Oct 10, 2024
e33a247
feat(app,app-shell,app-shell-odd): detect user system language, add l…
brenthagen Oct 10, 2024
3254494
fix(app): fix WellSelection over-render (#16457)
mjhuff Oct 10, 2024
37cc829
merge branch 'edge' into v8.1.0-release-to-edge
y3rsh Oct 10, 2024
ee8ba20
feat(app, components): add assets for absorbance reader and display t…
smb2268 Oct 10, 2024
fc53c0f
chore(release): merge branch edge into v8.1.0-release-to-edge
y3rsh Oct 10, 2024
7fb38c9
fix(app, shared-data): app crashes when using python apiLevel<2.16 wi…
TamarZanzouri Oct 10, 2024
7e42388
fix(components): fix disabled button style in PD (#16445)
koji Oct 11, 2024
83ed3df
fix(shared-data): fix well util for partial-column 8-channel (#16458)
mjhuff Oct 11, 2024
d75d42b
feat(components): add two icons for PD (#16455)
koji Oct 11, 2024
ca6488f
fix(protocol-designer): remove # from version text (#16463)
koji Oct 11, 2024
daf2280
fix(api,app,shared-data): Fix LPC for protocols using the plate reade…
vegano1 Oct 11, 2024
630f086
fix(protocol-designer): remove opentrons phrase from checkboxes in se…
koji Oct 11, 2024
1e7577e
refactor(protocol-designer): export metadata as a component (#16443)
koji Oct 11, 2024
ae463ff
refactor(api): Ensure we handle state updates even for failed command…
SyntaxColoring Oct 11, 2024
f479efc
fix(protocol-designer): fix snackbar display issue in select a pipett…
koji Oct 11, 2024
ecd7cc6
fix(protocol-designer): fix pipette type button display condition in …
koji Oct 11, 2024
9e5a344
feat(app): add "fixed trash" as a predefined drop tip location on OT-…
mjhuff Oct 11, 2024
4f8d4d7
fix(app): do not load pipette during error recovery (#16466)
mjhuff Oct 11, 2024
21b8e17
feat(protocol-designer): add wrap to protocol overview columns (#16239)
ncdiehl11 Oct 11, 2024
e261f04
fix(protocol-designer): update Step part design and export it as a co…
koji Oct 11, 2024
76df073
refactor(api): Port tip consumption to StateUpdate (#16469)
SyntaxColoring Oct 11, 2024
83cec18
feat(app): Add partial tip support to Error Recovery (#16447)
mjhuff Oct 11, 2024
33e53f8
feat(app): Add Error Recovery Mode toggle to desktop & ODD (#16471)
mjhuff Oct 14, 2024
6f53924
feat(shared-data): add Pydantic models for liquid class schema (#16459)
jbleon95 Oct 14, 2024
0b88d87
refactor(api): Port `TipState`'s nozzle layout to `StateUpdate` (#16479)
SyntaxColoring Oct 14, 2024
d3cb154
refactor(app): hoist getLabwareDefsFromCommands outside of each proto…
mjhuff Oct 14, 2024
df99ac4
fix(components): fix logic for whether TC is selected in DeckConfigur…
ncdiehl11 Oct 15, 2024
1edb0fb
refactor(api): Delete dead PipetteStore code and type nozzle maps as …
SyntaxColoring Oct 15, 2024
b0e5188
feat(protocol-designer): keyboard hot key display (#16477)
jerader Oct 15, 2024
3402d20
feat(protocol-designer): introduce react-lottie for animations in PD …
koji Oct 15, 2024
a3826db
feat(app): Wire up door status affordances for gripper error flows (#…
mjhuff Oct 15, 2024
80176ba
feat(protocol-designer): foundation for batch edit and multi-select (…
jerader Oct 15, 2024
f61ab98
fix(app): ER skipping to the next step during a gripper error fails (…
TamarZanzouri Oct 15, 2024
d9b0e23
feat(app): Plate reader in LPC and CommandText, filter out plate read…
smb2268 Oct 15, 2024
953112e
fix(app): Fix intermittent drop tip failing (#16490)
mjhuff Oct 16, 2024
46336c1
refactor(app): do not show fallback tooltip on run action button (#16…
mjhuff Oct 16, 2024
ee1aaca
feat(protocol-designer): create StepSummary component (#16484)
ncdiehl11 Oct 16, 2024
ce26f3e
fix(shared-data): fix broken RTP choice range formatter util (#16494)
ncdiehl11 Oct 16, 2024
6424725
feat(protocol-designer): page one of mix tools (#16493)
jerader Oct 16, 2024
e3dc8d7
fix(robot-server): fix robot-server blinker task startup causing hw i…
vegano1 Oct 16, 2024
e4a8d6c
feat(app): add Tip Drop Failed flow to Error Recovery (#16496)
mjhuff Oct 16, 2024
f88fabb
chore(docs): ai server and client local dev (#16452)
y3rsh Oct 16, 2024
6645be2
feat(api): Return `tipPhysicallyAttachedError` from `dropTip` and `dr…
SyntaxColoring Oct 16, 2024
37cf738
feat(app): Add error modals to OT-2 calibration flows (#16500)
mjhuff Oct 17, 2024
61e886d
feat(protocol-designer): wire up rename step (#16437)
syao1226 Oct 17, 2024
35efa6f
feat(protocol-designer): transfer tools advanced settings and batch e…
jerader Oct 17, 2024
5ac2933
fix(labware-library): make labware creator accessible via external li…
shlokamin Oct 17, 2024
61c2775
fix(api): ER support for in place commands and blow out (#16510)
TamarZanzouri Oct 17, 2024
d7d7315
feat(protocol-designer): mix tools advanced settings and mix batch ed…
jerader Oct 17, 2024
9938d4f
refactor(app): Update ignore error route in Error Recovery (#16511)
mjhuff Oct 17, 2024
835204a
fix(api): add details to confusing error message (#16517)
TamarZanzouri Oct 17, 2024
8e3662f
feat(api): add liquid class in PAPI (#16506)
sanni-t Oct 17, 2024
e15cbe2
feat(app): Add Error Recovery support for in-place commands (#16515)
mjhuff Oct 17, 2024
bfc8a37
feat(app): implement system language modal (#16507)
brenthagen Oct 17, 2024
546e1bf
fix(protocol-designer): add Eppendorf to removeOpentronsPhrases (#16470)
koji Oct 17, 2024
703e01d
fix(labware-library): fix labware-library css issue (#16502)
koji Oct 17, 2024
a8027f9
test(abt): fix Makefile variable (#16525)
y3rsh Oct 17, 2024
9797d74
feat(api): add WellVolumeOffset to WellLocation (#16302)
pmoegenburg Oct 17, 2024
4be3ba6
refactor(app-shell,app-shell-odd): update winston and improve logging…
sfoster1 Oct 18, 2024
b40f721
fix(analyses-snapshot-testing): heal edge snapshots (#16527)
github-actions[bot] Oct 18, 2024
9a634ea
fix(analyses-snapshot-testing): heal edge snapshots (#16526)
y3rsh Oct 18, 2024
51ead23
fix(api): Fix path planning after failed tip drop (#16513)
SyntaxColoring Oct 18, 2024
bb46b36
refactor(app): update various error recovery copy/css (#16519)
mjhuff Oct 18, 2024
9aaeecb
fix(protocol-designer): enable color picker's alpha value (#16505)
koji Oct 18, 2024
b1f9481
fix(protocol-designer): fix remove settings icon button (#16524)
koji Oct 18, 2024
b157bb4
fix(protocol-designer): fix create button clickable area issue (#16522)
koji Oct 18, 2024
7b023dc
refactor(api): Allow adding/removing tips on HW API without `await` (…
SyntaxColoring Oct 18, 2024
11a203c
feat(components): add new icons for PD tip-position browser (#16531)
koji Oct 18, 2024
46d5ab4
fix(protocol-designer): update privacy settings copy (#16534)
ncdiehl11 Oct 18, 2024
d25d3ee
refactor(app): update desktop RecoveryOptions (#16528)
mjhuff Oct 18, 2024
dc1e40b
refactor(app): Refactor display name utils (#16537)
mjhuff Oct 18, 2024
85e1427
fix(app): don't re-open drop tip wizard flows if unrendered (#16540)
mjhuff Oct 18, 2024
d9f7d2a
feat(api, robot-server): Plate Reader CSV output functionality (#16495)
CaseyBatten Oct 19, 2024
3002d0b
feat(protocol-designer): update StepSummary render logic and copy (#1…
ncdiehl11 Oct 21, 2024
397f079
feature(api): add a defined over pressure error to prepare to aspirat…
TamarZanzouri Oct 21, 2024
d2829dd
fix(protocol-designer): add setHovered functions to clear unnecessary…
koji Oct 21, 2024
a5ae3fe
feat(app): add overpressure during prepare to aspirate to Error Recov…
mjhuff Oct 21, 2024
31a0340
refactor(app-shell-odd): overhaul odd system update (#16486)
sfoster1 Oct 21, 2024
ce46b24
fix(protocol-designer): fix TC module rendering for OT-2 (#16536)
koji Oct 21, 2024
d9dd918
feat(opentrons-ai-client): inject mixpanel tokens into build (#16546)
shlokamin Oct 21, 2024
1b0a5a5
feat(protocol-designer): remove multi modules feature flag (#16553)
koji Oct 21, 2024
908ad7c
feat(opentrons-ai-client): Prompt Preview (#16508)
fbelginetw Oct 21, 2024
ae8e9e9
feat(hardware): refactor tool_sensors to simplify and remove csvs (#1…
ryanthecoder Oct 21, 2024
0fc0db9
feat(opentrons-ai-client): Accordion (#16499)
fbelginetw Oct 21, 2024
0961a8b
feat(app): App support for downloading plate reader CSV files (#16551)
smb2268 Oct 21, 2024
44e030b
feat(abr-testing): Automated ABR data collection Make command (#16548)
AnthonyNASC20 Oct 21, 2024
e5b5283
refactor(app): migrate useHomePipettes to local-resources (#16544)
mjhuff Oct 22, 2024
fac5dfe
refactor(app): permit scrolling during ER & drop tip on desktop app (…
mjhuff Oct 22, 2024
b381a04
feat(protocol-designer): allow buttons to hit the main cta on enter f…
koji Oct 22, 2024
b2f2546
feat(opentrons-ai-client): Header component with title and log out bu…
connected-znaim Oct 22, 2024
4d1e3e5
refactor(app): Support slot-only display names (#16550)
mjhuff Oct 22, 2024
7b1d004
feat(protocol-designer): update styles and logic for rendering variou…
ncdiehl11 Oct 22, 2024
dfee506
fix(app): change image/video path to relative path (#16533)
TamarZanzouri Oct 22, 2024
fe43efa
feat(opentrons-ai-client): Header component with progressbar (#16565)
connected-znaim Oct 22, 2024
93aac9b
refactor(app): Add move animations to manual gripper move during Erro…
mjhuff Oct 22, 2024
18598cf
refactor(robot-server): Use last run command for `/runs/:runId/curren…
mjhuff Oct 22, 2024
824f8c8
test(ll): make cypress tests compatible with deployed environments (#…
y3rsh Oct 22, 2024
37e81a0
feat(components, protocol-designer): add Thermocycler step details UI…
ncdiehl11 Oct 22, 2024
2f8a751
feat(protocol-designer): add step names to protocol steps and disable…
ncdiehl11 Oct 23, 2024
bbe06f1
feat(shared-data, labware-library): add deck riser definition and new…
syao1226 Oct 23, 2024
7ae1d56
fix(protocol-designer): update ListItemDescriptor to align with the l…
koji Oct 23, 2024
42699e3
feat(protocol-designer, step-generation): timeline warnings and error…
jerader Oct 23, 2024
9a65cc8
feat(shared-data): add transitional shape calculations (#16554)
ryanthecoder Oct 23, 2024
33554cb
fix(app): store run step completion in redux (#16570)
sfoster1 Oct 23, 2024
57de055
feat(protocol-designer): add announcement toast (#16562)
koji Oct 23, 2024
2b7201d
feat(app): Add gripper release animation to Error Recovery (#16575)
mjhuff Oct 23, 2024
7bc2504
feat(opentrons-ai-client): Created the footer component with the priv…
connected-znaim Oct 23, 2024
81ce7bb
feat(protocol-designer, components): analytics opt-in modal and foote…
jerader Oct 23, 2024
9f28fab
fix(api): use the message only formatter for the sensor logs (#16577)
ryanthecoder Oct 23, 2024
7e3453d
chore(share-data): add format and lint targets for js (#16529)
sanni-t Oct 23, 2024
1deeb88
feat: Opentrons ai client landing page (#16552)
fbelginetw Oct 23, 2024
3e0cd93
docs(api): fixes to protocol examples (#16545)
Elyorcv Oct 23, 2024
4887bd5
feat(protocol-designer): update heater shaker form fields (#16580)
ncdiehl11 Oct 23, 2024
e520e41
fix(step-generation): add wait for temperature timeline warning (#16581)
jerader Oct 23, 2024
5965706
fix(protocol-designer): change DEFAULT_SLOT_MAP_OT2 TC slot to be 7 i…
koji Oct 23, 2024
1d7b1f7
fix(app): Fix "carraige" typo to "carriage" (#16582)
SyntaxColoring Oct 23, 2024
5c04eab
fix(protocol-designer): fix ListItemDescriptor content and descriptio…
koji Oct 24, 2024
2b18f3f
fix(app): avoid reodering in robot dashboard (#16583)
sfoster1 Oct 24, 2024
8018920
refactor(api): Allow cache_tip() to overwrite the current tip (#16587)
SyntaxColoring Oct 24, 2024
eb710c0
feat(robot-server): HTTP API for "Ignore error and skip to next step"…
SyntaxColoring Oct 24, 2024
e32c0f3
fix(scripts): make aws deploy scripts work with new sdk (#16586)
shlokamin Oct 24, 2024
9d57048
fix(api): don't use sensor log on ot2 or simulators (#16590)
ryanthecoder Oct 24, 2024
02236b3
chore: fix github workflow and failing tests (#16593)
sfoster1 Oct 24, 2024
545d0f7
feat(protocol-designer): update error style and render logic (#16589)
ncdiehl11 Oct 24, 2024
a0086cc
feat(protocol-designer): magnetic module change hint wire up (#16498)
jerader Oct 24, 2024
eb83705
feat(protocol-designer, components): revamp form errors and fix logic…
jerader Oct 24, 2024
0171380
refactor(protocol-designer): address feedback for RQA-3424 (#16596)
koji Oct 24, 2024
1734ff5
fix(protocol-designer): fix long step name, step details, and step su…
syao1226 Oct 24, 2024
565865d
fix(api): home all gripper axis when a stall is detected (#16579)
TamarZanzouri Oct 24, 2024
dcc8f76
fix(protocol-designer): preserve uppercase letters of step name (#16584)
syao1226 Oct 24, 2024
d454914
fix(scripts): set correct aws bucket region when deploying (#16598)
shlokamin Oct 24, 2024
d907591
fix(app): remove some dangerous reverse()s (#16591)
sfoster1 Oct 24, 2024
df01e77
fix(api): prevent moving a labware onto itself (#16600)
jbleon95 Oct 24, 2024
b34ecbf
Fix abr pipfile (#16595)
AnthonyNASC20 Oct 25, 2024
a9f4701
feat(protocol-designer) add screen too small overlay (#16604)
koji Oct 25, 2024
819d98d
feat(app, app-shell-odd): add Flex resource monitor (#16599)
mjhuff Oct 25, 2024
025d5e1
feat(app): add 8.0 release translations (#16605)
brenthagen Oct 25, 2024
d96e2b6
feat(app): implement ODD choose language screen, app language toggles…
brenthagen Oct 25, 2024
6c16cd3
feat(protocol-designer): add Error Boundary (#16607)
koji Oct 25, 2024
6ae579c
fix(protocol-designer): temporarily filter out TC auto-sealer lid (#1…
jerader Oct 25, 2024
cebe51a
feat: opentrons ai client Create New Protocol - Application Section (…
fbelginetw Oct 28, 2024
288b8a4
refactor(app): Update `dropTipInPlace` command text (#16610)
mjhuff Oct 28, 2024
24fcc0d
feat(api): Allow treating errors as false-positives (ignore them and …
SyntaxColoring Oct 28, 2024
965bc0d
refactor(api): Enable more type-checking inside pipette_handler.py (#…
SyntaxColoring Oct 28, 2024
8a66ea3
refactor(app): Support "resume from recovery assuming false positive…
mjhuff Oct 28, 2024
e420916
feat(api): Attach error recovery debug notes to commands (#16608)
SyntaxColoring Oct 28, 2024
d7d26f1
fix(protocol-designer): update release notes content (#16613)
syao1226 Oct 28, 2024
e88d6f2
feat(protocol-designer): update well order modal (#16594)
jerader Oct 28, 2024
6dbc215
feat(protocol-designer): update logic for form error rendering (#16611)
ncdiehl11 Oct 28, 2024
6812452
feat(api): fully connected volume tracking (#16532)
pmoegenburg Oct 29, 2024
1585b48
feat(protocol-designer): flow rate field refactor (#16614)
jerader Oct 29, 2024
1a91bf4
feat(app, shared-data, components): support for stacking multiple lab…
smb2268 Oct 29, 2024
f16d3fb
refactor(api): Port remaining TipStore bits to StateUpdate (#16620)
SyntaxColoring Oct 29, 2024
a20cb6f
feat(app): add lid category to labware tab display (#16623)
smb2268 Oct 29, 2024
965bdf2
refactor(api): Delete dead `private_result` supporting code (#16621)
SyntaxColoring Oct 29, 2024
5be0fa2
fix(protocol-designer): custom labware should be uploadable (#16624)
jerader Oct 29, 2024
eb6ecfa
fix(protocol-designer): hide flex deck riser from PD for now (#16625)
jerader Oct 29, 2024
4530e4e
fix(protocol-designer): deck thumbnail reflects liquids at starting d…
jerader Oct 29, 2024
417451c
feat(app): special case absorbance reader setup modal (#16629)
smb2268 Oct 29, 2024
272c4b6
feat(api, robot-server, app): Handle the Plate Reader lid while held …
vegano1 Oct 29, 2024
b27a22c
fix(api): Fix certain failed runs showing a stale recovery target (#1…
SyntaxColoring Oct 29, 2024
20ed43d
fix(app): fix stale well location in Error Recovery (#16628)
mjhuff Oct 29, 2024
82cb47b
fix(shared-data): add -6.125mm cornerOffsetFromSlot to deck riser (#1…
vegano1 Oct 29, 2024
a77ce13
feat(api, robot-server): Add source key to the data_files database to…
vegano1 Oct 29, 2024
094be6e
chore(release): 8.2.0 alpha release notes (#16619)
ecormany Oct 30, 2024
9a5f116
fix(app): Fix nested labware UI in Error Recovery (#16634)
mjhuff Oct 30, 2024
56329cc
fix(api): Fix Yocto check preventing OT-2s from booting (#16639)
SyntaxColoring Oct 30, 2024
beb298d
fix(app): fix dropping tips in predefined waste chute location during…
mjhuff Oct 30, 2024
a74408d
fix(app): fix errant GET /run/:runId requests (#16645)
mjhuff Oct 30, 2024
ec7641c
fix(api, shared-data): Allow labware lids to be disposed in the trash…
CaseyBatten Oct 31, 2024
4945928
fix(api): update the plate reader serial number parser to include BYO…
vegano1 Oct 31, 2024
88eab97
fix(app): Filter out unconfirmable setup steps on desktop (#16655)
mjhuff Oct 31, 2024
c4a1f35
fix(app): Fix tip drop height during Error Recovery (#16656)
mjhuff Oct 31, 2024
a6bd20a
refactor(app): adjust ODD simple style predefined location option mar…
mjhuff Nov 1, 2024
3f022b3
fix(hardware): Fix a bug from the sensor log refactor that broke grip…
ryanthecoder Nov 1, 2024
1a7b61d
fix(app): Fix flickering screen during gripper Error Recovery (#16667)
mjhuff Nov 1, 2024
e63686b
fix(app): Fix tip selection during Error Recovery (#16659)
mjhuff Nov 1, 2024
7ce9d4b
refactor(app): Update diverged protocol behavior (#16674)
mjhuff Nov 4, 2024
c5b323d
fix(app): copy and styling fixes (#16683)
smb2268 Nov 5, 2024
3cf6f34
fix(app): Update gripper homing behavior during gripper Error Recover…
mjhuff Nov 5, 2024
01c06d5
fix(api): restrict the labware that can be moved to the plate reader …
vegano1 Nov 5, 2024
7669fc2
fix(api): Ensure stack of labware on Staging Area Slot properly resol…
CaseyBatten Nov 5, 2024
de01cf6
fix(app, components): Fix TC lid rendering in `runRecord` deck maps (…
mjhuff Nov 5, 2024
4ecb49c
fix(app): fix recovery takeover state cleanup (#16694)
mjhuff Nov 5, 2024
0ad9ef8
fix(app-shell): fix clearing robot update cache after robot cache upd…
mjhuff Nov 6, 2024
78f6791
fix(app): do not crash when you get a "C" locale (#16716)
sfoster1 Nov 7, 2024
8203e3a
refactor(api,shared-data): Clarify gripper offsets (#16711)
SyntaxColoring Nov 7, 2024
347a23e
refactor(api,robot-server,app): use labwareURI instead of labwareID f…
vegano1 Nov 7, 2024
e813161
fix(app): fix run log TC lid stacking issues and module icon formatti…
smb2268 Nov 7, 2024
d4c0f85
fix(app): add an exit button for failed moveToAddressable area comman…
mjhuff Nov 7, 2024
4133e07
App hide unused env variables app build 8.2.0 (#16736)
shlokamin Nov 7, 2024
e6d13c6
fix(ci): app signing secret rotation (#16738) (#16739)
y3rsh Nov 8, 2024
2fda991
test(api): Add some absorbance reader integration tests (#16740)
SyntaxColoring Nov 8, 2024
839da56
feat(app-shell, app-shell-odd): filter out unused env vars (#16741) (…
shlokamin Nov 8, 2024
e87fe8c
fix(app): fix ODD IntersectionObserver reference cycle (#16743)
mjhuff Nov 8, 2024
7bc46d3
fix(api): Update Plate Reader CSV output to match OEM file output (#1…
CaseyBatten Nov 12, 2024
60dca54
fix(api): Do not load the absorbance reader lid with `loadLabware` (#…
SyntaxColoring Nov 12, 2024
6ed5aaf
app(fix): Fix liquids always required during protocol setup (#16762)
mjhuff Nov 12, 2024
9e951da
fix(api): use encoder position instead of homing gantry when placing …
vegano1 Nov 13, 2024
653fb49
fix(app, shared-data, components): add calibration not req text for p…
smb2268 Nov 13, 2024
21bf747
fix(app): Bubble pipette command errors during drop tip wizard (#16793)
mjhuff Nov 13, 2024
f2adaab
fix(app): Fix run setup buttons (#16796)
mjhuff Nov 13, 2024
20c98e6
fix(app): enable about plate reader button when run is in progress (#…
smb2268 Nov 13, 2024
91b40ae
fix(api): Skip updating position estimators for axes that are not pre…
SyntaxColoring Nov 14, 2024
a0fe00f
fix(app): add error handling for failed maintenance run creation (#16…
mjhuff Nov 14, 2024
6d62bec
fix(robot-server): update data_files_table with uploaded source (#16813)
TamarZanzouri Nov 14, 2024
0ae0414
fix(api): add supported wavelengths to runtime error when initializin…
vegano1 Nov 14, 2024
7cbee8e
fix(app, components) fix csv name wrapping issue (#16785)
koji Nov 14, 2024
59814e6
fix(app): support special cased slot name copy (#16823)
mjhuff Nov 14, 2024
9bf09d8
fix(components) fix long unit wrapping issue (#16836)
koji Nov 14, 2024
972c592
fix(app): add affordances for tip detection failures (#16828)
mjhuff Nov 14, 2024
df80263
fix(app, robot-server): support `retryLocation` when retrying `dropTi…
mjhuff Nov 15, 2024
d49f990
fix(api): update the plate reader parsing of the serial + version to …
vegano1 Nov 15, 2024
62b1e9d
fix(shared-data): deck riser and auto sealing lid labware definition …
CaseyBatten Nov 15, 2024
c90aaea
fix(api): add stopped state so a stop request doesn't mean the grippe…
ryanthecoder Nov 15, 2024
6d5b3a2
fix(app): fix post run tip detection after error recovery (#16860)
mjhuff Nov 15, 2024
29e03ae
fix(app,robot-server): Account for failed commands not having a pipet…
SyntaxColoring Nov 18, 2024
c94a64c
fix(api): update error message to title case (#16851)
TamarZanzouri Nov 18, 2024
57ea4ae
fix(app): fix timestamp used for protocol completion (#16855)
mjhuff Nov 18, 2024
91bab8c
docs(api): Absorbance Plate Reader in Python API docs (#16668)
ecormany Nov 18, 2024
0f11594
fix(app): Error Recovery 8.2 DQA (#16880)
mjhuff Nov 19, 2024
c0f95de
fix(app): Fix `failedCommand` caching issues (#16874)
mjhuff Nov 19, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
2 changes: 1 addition & 1 deletion .eslintignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
**/venv/**
.opentrons_config
**/tsconfig*.json
**/vite.config.ts
**/vite.config.mts
# prettier
**/package.json
**/CHANGELOG.md
Expand Down
29 changes: 28 additions & 1 deletion .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,10 @@ module.exports = {
'prettier',
'plugin:json/recommended',
'plugin:storybook/recommended',
'plugin:react/jsx-runtime',
],

plugins: ['react', 'react-hooks', 'json', 'testing-library'],
plugins: ['react', 'react-hooks', 'json', 'testing-library', 'opentrons'],

rules: {
camelcase: 'off',
Expand Down Expand Up @@ -116,6 +117,12 @@ module.exports = {
],
},
},
{
files: ['./app/src/**/*.@(ts|tsx)'],
rules: {
'import/no-absolute-path': 'off',
},
},
{
files: [
'**/test/**.js',
Expand Down Expand Up @@ -161,5 +168,25 @@ module.exports = {
'no-restricted-imports': 'off',
},
},
// Apply tree-of-life import requirements to app as errors
{
files: ['./app/src/**/*.@(ts|tsx)'],
rules: {
'opentrons/no-imports-up-the-tree-of-life': 'error',
},
},
{
files: ['./protocol-designer/src/**/*.@(ts|tsx)'],
rules: {
'opentrons/no-imports-up-the-tree-of-life': 'warn',
},
},
// apply application structure import requirements to app
{
files: ['./app/src/**/*.@(ts|tsx)'],
rules: {
'opentrons/no-imports-across-applications': 'error',
},
},
],
}
2 changes: 1 addition & 1 deletion .github/workflows/analyses-snapshot-lint.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
- name: Setup Python
uses: 'actions/setup-python@v5'
with:
python-version: '3.12'
python-version: '3.13.0'
cache: 'pipenv'
cache-dependency-path: analyses-snapshot-testing/Pipfile.lock
- name: Setup
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/analyses-snapshot-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,8 @@ jobs:
ANALYSIS_REF: ${{ github.event.inputs.ANALYSIS_REF || github.head_ref || 'edge' }}
SNAPSHOT_REF: ${{ github.event.inputs.SNAPSHOT_REF || github.head_ref || 'edge' }}
# If we're running because of workflow_dispatch, use the user input to decide
# whether to open a PR on failure. Otherwise, there is no user input, so always
# open a PR on failure.
# whether to open a PR on failure. Otherwise, there is no user input,
# so we only open a PR if the PR has the label 'gen-analyses-snapshot-pr'
OPEN_PR_ON_FAILURE: ${{ (github.event_name == 'workflow_dispatch' && github.events.inputs.OPEN_PR_ON_FAILURE) || ((github.event_name != 'workflow_dispatch') && (contains(github.event.pull_request.labels.*.name, 'gen-analyses-snapshot-pr'))) }}
PR_TARGET_BRANCH: ${{ github.event.pull_request.base.ref || 'not a pr'}}
steps:
Expand All @@ -75,10 +75,10 @@ jobs:
working-directory: analyses-snapshot-testing
run: make build-opentrons-analysis

- name: Set up Python 3.12
- name: Set up Python 3.13
uses: actions/setup-python@v5
with:
python-version: '3.12'
python-version: '3.13.0'
cache: 'pipenv'
cache-dependency-path: analyses-snapshot-testing/Pipfile.lock

Expand Down Expand Up @@ -107,7 +107,7 @@ jobs:
- name: Create Snapshot update Request
id: create_pull_request
if: always() && steps.handle_failure.outcome == 'success' && env.OPEN_PR_ON_FAILURE == 'true' && github.event_name == 'pull_request'
uses: peter-evans/create-pull-request@v6
uses: peter-evans/create-pull-request@v7
with:
commit-message: 'fix(analyses-snapshot-testing): heal analyses snapshots'
title: 'fix(analyses-snapshot-testing): heal ${{ env.ANALYSIS_REF }} snapshots'
Expand All @@ -130,7 +130,7 @@ jobs:

- name: Create Snapshot update Request on edge overnight failure
if: always() && steps.handle_failure.outcome == 'success' && github.event_name == 'schedule'
uses: peter-evans/create-pull-request@v6
uses: peter-evans/create-pull-request@v7
with: # scheduled run uses the default values for ANALYSIS_REF and SNAPSHOT_REF which are edge
commit-message: 'fix(analyses-snapshot-testing): heal ${{ env.ANALYSIS_REF }} snapshots'
title: 'fix(analyses-snapshot-testing): heal ${{ env.ANALYSIS_REF }} snapshots'
Expand Down
47 changes: 30 additions & 17 deletions .github/workflows/app-test-build-deploy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,11 @@ jobs:
strategy:
matrix:
os: ['windows-2022', 'ubuntu-22.04', 'macos-latest']
name: 'opentrons app backend unit tests on ${{matrix.os}}'
shell: ['app-shell', 'app-shell-odd', 'discovery-client']
exclude:
- os: 'windows-2022'
shell: 'app-shell-odd'
name: 'opentrons ${{matrix.shell}} unit tests on ${{matrix.os}}'
timeout-minutes: 60
runs-on: ${{ matrix.os }}
steps:
Expand Down Expand Up @@ -144,7 +148,7 @@ jobs:
yarn config set cache-folder ${{ github.workspace }}/.yarn-cache
make setup-js
- name: 'test native(er) packages'
run: make test-js-internal tests="app-shell/src app-shell-odd/src discovery-client/src" cov_opts="--coverage=true"
run: make test-js-internal tests="${{matrix.shell}}/src" cov_opts="--coverage=true"
- name: 'Upload coverage report'
uses: 'codecov/codecov-action@v3'
with:
Expand Down Expand Up @@ -304,7 +308,7 @@ jobs:
if: startsWith(matrix.os, 'windows') && contains(needs.determine-build-type.outputs.type, 'release')
shell: bash
run: |
echo "${{ secrets.SM_CLIENT_CERT_FILE_B64 }}" | base64 --decode > /d/Certificate_pkcs12.p12
echo "${{ secrets.SM_CLIENT_CERT_FILE_B64_V2 }}" | base64 --decode > /d/Certificate_pkcs12.p12
echo "${{ secrets.WINDOWS_CSC_B64}}" | base64 --decode > /d/opentrons_labworks_inc.crt
echo "C:\Program Files (x86)\Windows Kits\10\App Certification Kit" >> $GITHUB_PATH
echo "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools" >> $GITHUB_PATH
Expand All @@ -314,19 +318,28 @@ jobs:
if: startsWith(matrix.os, 'windows') && contains(needs.determine-build-type.outputs.type, 'release')
shell: cmd
env:
SM_HOST: ${{ secrets.SM_HOST }}
SM_HOST: ${{ secrets.SM_HOST_V2 }}
SM_CLIENT_CERT_FILE: "D:\\Certificate_pkcs12.p12"
SM_CLIENT_CERT_PASSWORD: ${{secrets.SM_CLIENT_CERT_PASSWORD}}
SM_API_KEY: ${{secrets.SM_API_KEY}}
SM_CLIENT_CERT_PASSWORD: ${{secrets.SM_CLIENT_CERT_PASSWORD_V2}}
SM_API_KEY: ${{secrets.SM_API_KEY_V2}}
run: |
curl -X GET https://one.digicert.com/signingmanager/api-ui/v1/releases/Keylockertools-windows-x64.msi/download -H "x-api-key:${{secrets.SM_API_KEY}}" -o Keylockertools-windows-x64.msi
curl -X GET https://one.digicert.com/signingmanager/api-ui/v1/releases/Keylockertools-windows-x64.msi/download -H "x-api-key:${{secrets.SM_API_KEY_V2}}" -o Keylockertools-windows-x64.msi
msiexec /i Keylockertools-windows-x64.msi /quiet /qn
smksp_registrar.exe list
smctl.exe keypair ls
C:\Windows\System32\certutil.exe -csp "DigiCert Signing Manager KSP" -key -user
smksp_cert_sync.exe
smctl.exe healthcheck --all

# Do the frontend dist bundle
- name: 'bundle ${{matrix.variant}} frontend'
env:
OT_APP_MIXPANEL_ID: ${{ secrets.OT_APP_MIXPANEL_ID }}
OT_APP_INTERCOM_ID: ${{ secrets.OT_APP_INTERCOM_ID }}
OPENTRONS_PROJECT: ${{ steps.project.outputs.project }}
run: |
make -C app dist

# build the desktop app and deploy it
- name: 'build ${{matrix.variant}} app for ${{ matrix.os }}'
if: matrix.target == 'desktop'
Expand All @@ -335,18 +348,18 @@ jobs:
OT_APP_MIXPANEL_ID: ${{ secrets.OT_APP_MIXPANEL_ID }}
OT_APP_INTERCOM_ID: ${{ secrets.OT_APP_INTERCOM_ID }}
WINDOWS_SIGN: ${{ format('{0}', contains(needs.determine-build-type.outputs.type, 'release')) }}
SM_HOST: ${{secrets.SM_HOST}}
SM_CODE_SIGNING_CERT_SHA1_HASH: ${{secrets.SM_CODE_SIGNING_CERT_SHA1_HASH_V2}}
SM_KEYPAIR_ALIAS: ${{secrets.SM_KEYPAIR_ALIAS_V2}}
SM_HOST: ${{ secrets.SM_HOST_V2 }}
SM_CLIENT_CERT_FILE: "D:\\Certificate_pkcs12.p12"
SM_CLIENT_CERT_PASSWORD: ${{secrets.SM_CLIENT_CERT_PASSWORD}}
SM_API_KEY: ${{secrets.SM_API_KEY}}
SM_CODE_SIGNING_CERT_SHA1_HASH: ${{secrets.SM_CODE_SIGNING_CERT_SHA1_HASH}}
SM_KEYPAIR_ALIAS: ${{secrets.SM_KEYPAIR_ALIAS}}
SM_CLIENT_CERT_PASSWORD: ${{secrets.SM_CLIENT_CERT_PASSWORD_V2}}
SM_API_KEY: ${{secrets.SM_API_KEY_V2}}
WINDOWS_CSC_FILEPATH: "D:\\opentrons_labworks_inc.crt"
CSC_LINK: ${{ secrets.OT_APP_CSC_MACOS }}
CSC_KEY_PASSWORD: ${{ secrets.OT_APP_CSC_KEY_MACOS }}
APPLE_ID: ${{ secrets.OT_APP_APPLE_ID }}
APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.OT_APP_APPLE_ID_PASSWORD }}
APPLE_TEAM_ID: ${{ secrets.OT_APP_APPLE_TEAM_ID }}
CSC_LINK: ${{ secrets.OT_APP_CSC_MACOS_V2 }}
CSC_KEY_PASSWORD: ${{ secrets.OT_APP_CSC_KEY_MACOS_V2 }}
APPLE_ID: ${{ secrets.OT_APP_APPLE_ID_V2 }}
APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.OT_APP_APPLE_ID_PASSWORD_V2 }}
APPLE_TEAM_ID: ${{ secrets.OT_APP_APPLE_TEAM_ID_V2 }}
HOST_PYTHON: python
OPENTRONS_PROJECT: ${{ steps.project.outputs.project }}
OT_APP_DEPLOY_BUCKET: ${{ steps.project.outputs.bucket }}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,9 @@ jobs:
yarn config set cache-folder ${{ github.workspace }}/.yarn-cache
make setup-js
- name: 'build'
env:
# inject dev id since this is for staging
OT_AI_CLIENT_MIXPANEL_ID: ${{ secrets.OT_AI_CLIENT_MIXPANEL_DEV_ID }}
run: |
make -C opentrons-ai-client build-staging
- name: Configure AWS Credentials
Expand Down
81 changes: 0 additions & 81 deletions .github/workflows/opentrons-ai-client-test-build-deploy.yaml

This file was deleted.

77 changes: 77 additions & 0 deletions .github/workflows/opentrons-ai-client-test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# Run tests, build the app, and deploy it cross platform

name: 'OpentronsAI client test, build, and deploy'

# ToDo (kk:04/16/2024) Add build and deploy task

on:
push:
paths:
- 'Makefile'
- 'opentrons-ai-client/**/*'
- 'components/**'
- 'shared-data/**'
- '.github/workflows/opentrons-ai-client-test.yml'
branches:
- '**'
tags:
- 'v*'
- 'ot3@*'
pull_request:
paths:
- 'Makefile'
- 'opentrons-ai-client/**/*'
- 'components/**'
- 'shared-data/**'
- '.github/workflows/opentrons-ai-client-test.yml'
workflow_dispatch:

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}-${{ github.ref_name != 'edge' || github.run_id}}-${{ github.ref_type != 'tag' || github.run_id }}
cancel-in-progress: true

env:
CI: true

jobs:
js-unit-test:
runs-on: 'ubuntu-22.04'
name: 'opentrons ai frontend unit tests'
timeout-minutes: 60
steps:
- uses: 'actions/checkout@v3'
- uses: 'actions/setup-node@v3'
with:
node-version: '18.19.0'
- name: 'install udev'
run: |
# WORKAROUND: Remove microsoft debian repo due to https://github.com/microsoft/linux-package-repositories/issues/130. Remove line below after it is resolved
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
sudo apt-get update && sudo apt-get install libudev-dev
- name: 'set complex environment variables'
id: 'set-vars'
uses: actions/github-script@v6
with:
script: |
const { buildComplexEnvVars } = require(`${process.env.GITHUB_WORKSPACE}/.github/workflows/utils.js`)
buildComplexEnvVars(core, context)
- name: 'cache yarn cache'
uses: actions/cache@v3
with:
path: |
${{ github.workspace }}/.npm-cache/_prebuild
${{ github.workspace }}/.yarn-cache
key: js-${{ secrets.GH_CACHE_VERSION }}-${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}
- name: 'setup-js'
run: |
npm config set cache ${{ github.workspace }}/.npm-cache
yarn config set cache-folder ${{ github.workspace }}/.yarn-cache
make setup-js
- name: 'test frontend packages'
run: |
make -C opentrons-ai-client test-cov
- name: 'Upload coverage report'
uses: codecov/codecov-action@v3
with:
files: ./coverage/lcov.info
flags: opentrons-ai-client
2 changes: 2 additions & 0 deletions .github/workflows/opentrons-ai-production-deploy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,8 @@ jobs:
yarn config set cache-folder ${{ github.workspace }}/.yarn-cache
make setup-js
- name: 'build'
env:
OT_AI_CLIENT_MIXPANEL_ID: ${{ secrets.OT_AI_CLIENT_MIXPANEL_ID }}
run: |
make -C opentrons-ai-client build-production
- name: Configure AWS Credentials
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/opentrons-ai-server-lint-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
- name: Setup Python
uses: 'actions/setup-python@v5'
with:
python-version: '3.12.4'
python-version: '3.12'
cache: 'pipenv'
cache-dependency-path: opentrons-ai-server/Pipfile.lock
- name: Setup
Expand Down
Loading
Loading