Upload GUI: deposit attestation and staged upload flow - #247
Merged
Conversation
Attestation fieldset (#245) mirrors the CLI prompts: deposit type, key status, required de-identification confirmation, redistribution no-duplicate affirmation with optional upstream source; sent as the optional attestation field on create. Upload flow is now staged per owner test feedback: drop, explicit Validate button, inline are-you- sure confirmation, then CLI-style status lines (dataset ID created, uploading N files, finalizing). PUT failures aggregate into one readable sentence instead of a per-file wall, and the dropzone cap copy drops the single-PUT jargon. Tested: biome, astro check, 1070 unit tests, build.
Closed
3 tasks
The display:grid rules on .confirm/.attest__redist/.precheck now carry :not([hidden]) — an author display beats the UA [hidden] rule, so the confirm panel and redistribution fields were rendering from first paint (verified by reviewer in the built output). showConfirm freezes name/description/attestation so a confirmation can never go stale for an edited form, moves focus into the panel, and Cancel unfreezes and returns focus. Confirm-yes no-ops while the panel is hidden. Also: status cleared on retried submit, summarizer keeps error casing and handles the single-file case (now unit-tested), upstream_source gets a slice(0,500) backstop, de-identification copy says where applicable, redundant token fallback dropped. Tested: biome, astro check, 1075 tests, build.
7 tasks
A second drop while the confirm panel was open tore it down via hideConfirm without re-enabling name/description/attestation. The unfreeze now lives in hideConfirm itself; confirm-yes re-locks synchronously right after, so it stays safe.
This was referenced Aug 19, 2026
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Closes #245. Also folds in the owner's live test feedback from today's upload run.
Attestation (#245)
/upload, mirroring the CLI prompts: deposit type (owner vs licensed redistribution), re-identification key status (destroyed vs retained-by-institution), required de-identification confirmation, and, for redistribution only, the required no-duplicate affirmation plus an optional upstream source. Links the Data Contributor Terms viaresolveDocsBase().attestationfield onPOST /datasets(DepositAttestationtype inupload-client.tsmirrors the backend schema:deidentifiedis literallytrue;no_duplicateistruefor redistribution and absent for owner deposits — the hidden redistribution controls aredisabledso they can never leak into an owner payload or trip native validation).Upload flow UX (owner test feedback, 2026-08-18)
Tested:
biome checkclean,astro check0 errors, 1070 unit tests pass, production build succeeds.