-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Questionnaire v2: fill experience rebuild (stack base) #16627
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
Open
bodhish
wants to merge
135
commits into
bodhi/questionnaire-actions
Choose a base branch
from
bodhi/questionnaire-fill
base: bodhi/questionnaire-actions
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 128 commits
Commits
Show all changes
135 commits
Select commit
Hold shift + click to select a range
565cee6
feat(questionnaire-v2): builder model groundwork for the studio
bodhish e0edbde
feat(questionnaire-v2): full renderer (form/) — one-scroll canvas wit…
bodhish 048e994
feat(questionnaire-v2): WYSIWYG studio — 3-pane builder with realtime…
bodhish 38262b7
fix(questionnaire-v2): studio review fixes + one-scroll spec alignment
bodhish c544723
test(questionnaire-v2): scope the protected-note unlock assertion to …
bodhish dac7148
feat(questionnaire-v2): studio reference-gap pass — inspector tabs, l…
bodhish 49f0d22
feat(questionnaire-v2): inspector Question tab styled per the reference
bodhish 7f38019
feat(questionnaire-v2): revision viewer on the full renderer, save-ve…
bodhish e51c166
fix(questionnaire-v2): one border per input on the canvas
bodhish dcf96ec
feat(questionnaire-v2): fullscreen studio — no app sidebar, viewport …
bodhish 0497e4f
refactor(questionnaire-v2): deep-review pass — perf, a11y, dedup, con…
bodhish 22d0b61
refactor(questionnaire-v2): close out deep-review stragglers
bodhish 84922e9
feat(questionnaire-v2): surface the selected structured type everywhe…
bodhish d4a8df7
refactor(questionnaire): canonical StructuredQuestionType in the type…
bodhish 734bbb6
feat(questionnaire-v2): structured-type contract — one definition per…
bodhish 6141bb7
feat(questionnaire-v2): fill-mode engine seams — draft seed, real cle…
bodhish e5d42bb
feat(questionnaire-v2): fill submit pipeline — validate, compose one …
bodhish cbad1c3
feat(questionnaire-v2): local fill drafts — debounced autosave with s…
bodhish b967515
feat(questionnaire-v2): the fill page — two-tab shell, outline, autos…
bodhish 28a6859
feat(questionnaire-v2): mount the fill page on the questionnaire routes
bodhish 60987a8
test(questionnaire-v2): fill-page specs — validation, autosave, shell…
bodhish 98c0ce4
fix(questionnaire-v2): verification-round fixes — pristine-before-nav…
bodhish 0544321
docs(questionnaire-v2): tighten draft-layer comments
bodhish b321629
feat(questionnaire-v2): explicit resume/discard prompt for local fill…
bodhish 30b9066
feat(questionnaire-v2): multi-questionnaire fill sessions — per-form …
bodhish b116298
fix(questionnaire-v2): persist the fill session when its shape changes
bodhish 1328e27
feat(questionnaire-v2): subject-generic fill — FillSubject union, sub…
bodhish d2184c9
feat(questionnaire-v2): restore the /consultation picker filter, hard…
bodhish 16f5b74
feat(questionnaire-v2): structured types declare their subjects — pic…
bodhish a06d855
feat(questionnaire-v2): plugin-extensible structured types — runtime …
bodhish 44c4e44
fix(questionnaire-v2): re-resolve structured types when a plugin regi…
bodhish c1ead36
feat(questionnaire-v2): action registry + descriptor/invoke Scribe co…
bodhish 33f29cd
fix(questionnaire-v2): tighten the action choke point after review
bodhish e00388e
refactor(questionnaire-v2): preview encounter drafts through the v2 r…
bodhish 4d5b5f7
refactor(questionnaire-v2): delete the legacy fill stack and the v2 s…
bodhish 8b141c5
refactor(questionnaire-v2): relocate the engine under form/engine
bodhish 4616fb5
docs(questionnaire-v2): rewrite the module map for one renderer, one …
bodhish f4c933f
feat(questionnaire-v2): restore the explicit server draft on the fill…
bodhish 251b2e1
fix(questionnaire-v2): encounter-only server drafts, non-mutating dra…
bodhish 3aecd14
fix(questionnaire-v2): give the fixed encounter form an encounter sub…
bodhish bd93fb4
test(questionnaire-v2): drive the legacy clinical flows through the v…
bodhish b03b7bc
fix(questionnaire-v2): correct the local-draft lifecycle around struc…
bodhish 1643171
fix(questionnaire-v2): submit time answers as HH:mm:ss and drop clear…
bodhish d15894a
fix(questionnaire-v2): contain structured failures and stop them bloc…
bodhish 36d433f
fix(questionnaire-v2): enforce plugin namespace ownership and tidy th…
bodhish 04ebeb6
docs(questionnaire-v2): state the server-draft gate and compose diver…
bodhish 8b70bb8
test(questionnaire-v2): pin the draft lifecycle, time format and pati…
bodhish f321cb3
fix(questionnaire-v2): keep un-fetchable added forms in the draft on …
bodhish e13430d
Questionnaire v2: submit-path hardening and render-failure containmen…
bodhish 47e70ff
test(questionnaire-v2): paginate fixture slug lookup past the first 1…
bodhish 468a6f0
fix(questionnaire-v2): evaluate exists enable-when like the backend, …
bodhish 374e188
fix(questionnaire-v2): clear fill drafts only after successful auth; …
bodhish a74983b
fix(questionnaire-v2): scope post-auth draft clear to other users; dr…
bodhish 0d65959
fix(questionnaire-v2): studio save race, type-change residue, valuese…
bodhish 018827a
fix(questionnaire-v2): metadata-side save race, choice-precedence gat…
bodhish be716d9
fix(questionnaire-v2): plugin boundary resets on re-register; namespa…
bodhish bf2ffa9
fix(questionnaire-v2): valueset quantity answers submit their coding
bodhish 02b9dc1
fix(questionnaire-v2): fall back a quantity's coding to its default unit
bodhish 065e5b0
fix(questionnaire-v2): submit guards — draft linkage, batch cap prefl…
bodhish 0f9ed9e
fix(questionnaire-v2): isolate the P1-9 spec, in-memory batch-cap fil…
bodhish 9a2d1a8
fix(questionnaire-v2): required structured sections in a broken state…
bodhish 6973ae9
fix(questionnaire-v2): notices stop contradicting the required hard-b…
bodhish b0c68c0
fix(questionnaire-v2): fill mounts enforce subject family and encount…
bodhish 9c4393d
fix(questionnaire-v2): freeze the session during submit; extract sess…
bodhish 9d956c1
fix(questionnaire-v2): gate the note popover and draft-resume control…
bodhish 8467e50
refactor(questionnaire-v2): submit bodies typed to the real backend c…
bodhish 4216cc9
perf(questionnaire-v2): per-form autosave signatures; deferred studio…
bodhish f1688b5
fix(questionnaire-v2): drop dead session signature, seed primary form…
bodhish a82110d
fix(questionnaire-v2): checkpoint fixes — server-draft cache revert, …
bodhish 3cbed9a
feat(questionnaire-v2): edit-log vocabulary on the questionnaire resp…
bodhish 6a56d69
feat(questionnaire-v2): row identity and structural equality for the …
bodhish 97c336d
fix(questionnaire-v2): reconcile RowEdit with Task 1's shipped edit v…
bodhish 5e3155e
fix(questionnaire-v2): close the Partial<TRow> gap in the vocabulary-…
bodhish 6cf9f8f
feat(questionnaire-v2): edit-log reducer with one-edit-per-row coales…
bodhish 792e60c
fix(questionnaire-v2): resolve edit-log resurrection ops by baseline …
bodhish 9f07ba0
feat(questionnaire-v2): baseline+edits projection with display-only o…
bodhish f91c660
fix(questionnaire-v2): resolve projectRows' add-loop by the same last…
bodhish 8684ea7
feat(questionnaire-v2): resolve an edit log into create/update/remove…
bodhish 0a1de95
fix(questionnaire-v2): resolveChanges consults baseline for orphans a…
bodhish a711b5a
fix(questionnaire-v2): reclassify an add colliding with baseline to u…
bodhish 9f9f8f5
feat(questionnaire-v2): dual-contract structured definitions with a r…
bodhish 3b41fe4
feat(questionnaire-v2): useStructuredRows — the baseline/edits/projec…
bodhish 0c8ffd3
fix(questionnaire-v2): refuse contract-v2 plugin registrations for th…
bodhish f2342dd
feat(questionnaire-v2): dual-contract shim across submit, validation …
bodhish c540a56
fix(questionnaire-v2): fix the initialEdits seed latch and extract th…
bodhish 94940e1
fix(questionnaire-v2): restore mergePatch's normalizePatch-undefined …
bodhish 7154d11
fix(questionnaire-v2): pin the untyped-structured draft gate and subs…
bodhish 0658eec
test(questionnaire-v2): pin the structured fixture questionnaires beh…
bodhish dc442ea
feat(questionnaire-v2): port time_of_death to contract v2 and make it…
bodhish ee4c2fd
feat(questionnaire-v2): appointment differ and slot rule for contract…
bodhish f7fea04
test(questionnaire-v2): pin appointment's PROJECTION AND SUBMIT AGREE…
bodhish 626a3c4
fix(questionnaire-v2): retain dropped orphan edits, pin the prune's w…
bodhish 87536d5
fix(questionnaire-v2): agree projection/differ on empty rows, fix the…
bodhish 5fe1772
fix(questionnaire-v2): filter blanks before the singleton pick and co…
bodhish 00799c8
fix(questionnaire-v2): agree the singleton's projection and differ un…
bodhish e8d7c0d
fix(questionnaire-v2): dedupe droppedEdits under StrictMode, pin the …
bodhish 80c54bd
feat(questionnaire-v2): one structured field error primitive; port ap…
bodhish 4231f3d
fix(questionnaire-v2): correct the ordering claim in resolveSingleton…
bodhish c489b21
feat(questionnaire-v2): response-backed charge item rows with one dis…
bodhish fdd08c0
fix(questionnaire-v2): stop the appointment slot-sheet render loop an…
bodhish 1ff76c4
feat(questionnaire-v2): responsive structured list primitive; port ch…
bodhish 966020d
fix(questionnaire-v2): correct the inline-field-error allow-list and …
bodhish 5a4814c
feat(questionnaire-v2): encounter row derivation and differ as pure f…
bodhish 89fa7fd
fix(questionnaire-v2): make StructuredList's mobile error unreachable…
bodhish f9e1bdc
feat(questionnaire-v2): port encounter to single-row contract v2 with…
bodhish 2134d26
fix(questionnaire-v2): render and force-expand on an unmatched field_…
bodhish d46bb35
feat(questionnaire-v2): port files to contract v2, the sole draft-exc…
bodhish dd4283f
docs(questionnaire-v2): correct encounter's discharge-disposition doc…
bodhish cdf211b
fix(questionnaire-v2): stop the files editor from committing rejected…
bodhish caf5e5d
fix(questionnaire-v2): allow-list files for inline field errors
bodhish 25d07a5
test(questionnaire-v2): per-type matrix for the structured singletons
bodhish b7e8028
fix(questionnaire-v2): defer the initialEdits seed's commit past the …
bodhish 56ce670
test(questionnaire-v2): per-type matrix for structured lists, includi…
bodhish 5fe3395
test(questionnaire-v2): pin zero-upsert, refetch-safety and structure…
bodhish d8bb0f5
fix(questionnaire-v2): add liveness guard to the deferred seed commit…
bodhish e06643c
feat(questionnaire-v2): port allergy_intolerance to contract v2, add …
bodhish 0e1bcb7
feat(questionnaire-v2): port symptom to contract v2
bodhish f425c16
feat(questionnaire-v2): port diagnosis to contract v2
bodhish 63e44ef
feat(questionnaire-v2): rebuild plugin fill capability as a generic a…
bodhish c6184a2
feat(questionnaire-v2): port medication_statement to contract v2
bodhish e3f6d99
feat(questionnaire-v2): port medication_request to contract v2
bodhish 300ed55
feat(questionnaire-v2): port service_request to contract v2, add shar…
bodhish f288c76
fix(questionnaire-v2): close the three Phase-1 structured-core carry-…
bodhish 52586cf
feat(questionnaire-v2): compatibility-aware draft merge (spec amendme…
bodhish 63cb2ad
fix(questionnaire-v2): remove the dual-contract shim now that every t…
bodhish dbdee23
feat(questionnaire-v2): delete the legacy QuestionTypes stack (Batch …
bodhish 651fd3a
feat(questionnaire-v2): medication_request templates, per-row actions…
bodhish a3156e6
fix(questionnaire-v2): repair nine post-rearchitecture spec failures,…
bodhish c10e8cc
refactor(questionnaire-v2): quality pass — comment cleanup, dead code…
bodhish bb803bc
fix(questionnaire-v2): add the locale keys the fill and builder surfa…
bodhish 110a826
fix(questionnaire-v2): stop the fill session losing a clinician's work
bodhish af9f5ea
fix(questionnaire-v2): correct the structured row core and the per-ty…
bodhish 000cd3a
fix(questionnaire-v2): correct quantity, integer and note handling in…
bodhish e622f76
fix(questionnaire-v2): correct enable_when authoring and gate the rea…
bodhish 54b84d7
test(questionnaire-v2): close coverage gaps, de-flake the E2E suite, …
bodhish File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The error log here uses
plugin.plugin— the value the remote manifest declared about itself, explicitly called out two comments above as untrusted and potentially spoofed. The backend-issued, trusted identity for the plugin isplugin.slug. Logging an attacker-controlled string in the error message is at best misleading, at worst used to obfuscate which plugin actually misbehaved.