Feature/estelle/721/superseding calibration - #716
Conversation
…rm binaries Add `os` (darwin, linux, win32) and `cpu` (x64, arm64) fields to package.json so installs are validated against supported platforms, and regenerate the lockfile to include the platform-specific optional binaries (e.g. the full set of @esbuild/* targets). This lets the project be installed and built on macOS, Linux, and Windows across x64 and arm64. Also picks up minor transitive dependency bumps from the lockfile regeneration.
…m-build-support chore(build): declare multi-platform support and include cross-platfo…
…bug in saving the superseding calibration.
bencap
left a comment
There was a problem hiding this comment.
Paired with the review on VariantEffect/mavedb-api#769.
| @update:classification-field="onClassificationFieldUpdate" | ||
| @update:evidence-sources="draft.evidenceSources = $event; markChanged()" | ||
| @update:evidence-strength="onEvidenceStrengthUpdate" | ||
| @update:is-superseding-calibration="isSupersedingScoreCalibration = $event" |
There was a problem hiding this comment.
This handler and the one on line 52 don't call markChanged(), where every other field handler in this template does. markChanged is what recomputes the editor's dirty state, so toggling supersession or picking a calibration is a change the editor doesn't know happened — the unsaved-changes prompt won't fire on navigation, and if the save control is gated on dirty state you'd have to touch an unrelated field to enable it.
| </div> | ||
| </div> | ||
|
|
||
| <!-- Superseding toggle --> |
There was a problem hiding this comment.
This is the authoring half of #721 and it reads well. The display half isn't here though — the deprecation notice on a superseded calibration, the "supersedes" notice on the superseding one, and being able to follow a chain without copying URNs by hand. Is that planned as a follow-up, or was it meant to be in this PR?
Asking partly because it may not be buildable yet. The API nulls supersededCalibration and supersedingCalibration on every read path — see VariantEffect/mavedb-api#769 (comment) — so there's nothing arriving for those components to render.
| methodSources: components["schemas"]["PublicationIdentifierCreate"][]; | ||
| /** Calibrationmetadata */ | ||
| calibrationMetadata?: Record<string, never> | null; | ||
| supersededCalibration?: components["schemas"]["ShorterScoreCalibration"] | null; |
There was a problem hiding this comment.
I think this file was edited by hand rather than regenerated, and it's drifted from the API in three ways:
/score-calibrations/me/searchhas no path entry at all, which is whyCalibrationEditorcalls it as a raw string and casts the response throughRecord<string, unknown>supersededCalibrationUrn— the field the create endpoint actually accepts, and the one the draft sends — doesn't appear anywhere in the file- this hunk adds
supersededCalibrationandsupersedingCalibrationtoScoreCalibrationCreate, but those are response-only fields onSavedScoreCalibration; the create model has no such fields
Worth regenerating against the running API with npx openapi-typescript http://localhost:8002/openapi.json -o src/schema/openapi.d.ts
Front end of VariantEffect/mavedb-api#721