feat(website): default revision to the single sequence form - #6964
feat(website): default revision to the single sequence form#6964theosanderson-agent wants to merge 2 commits into
Conversation
Revising a single sequence is now the default mode of the revise page, and its tab is the left-most one. Tab labels for revision are now "Revise single sequence" and "Upload bulk revisions". Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
@theosanderson-agent update PR description with screenshots (can use the preview perhaps) |
|
Claude finished @theosanderson's task in 1m 44s —— View job Review of PR #6964
SummaryThis is a small, well-scoped change and I didn't find any bugs. The default-flip is applied consistently in both places that need it — Code quality: The Minor observation (non-blocking): The Security/performance: No concerns — this is routing/UI-copy only, no new data handling or queries. Testing: New unit tests in Documentation: The docs update clearly distinguishes the two revise routes up front and correctly points the bulk-specific instructions at the new "Upload bulk revisions" tab label. |
tombch
left a comment
There was a problem hiding this comment.
I can see the rationale for prioritising bulk for submission and form for revision, but I also can't help feel like the tabs should be in the same order on both the submit and revise pages 🙃
|
I think defaulting to a right tab is more confusing than the inconsistency |
| { | ||
| title: 'Revise', | ||
| description: 'Upload revisions for existing sequences.', | ||
| description: 'Update sequences that you have already submitted.', |
There was a problem hiding this comment.
| description: 'Update sequences that you have already submitted.', | |
| description: 'Update sequences that you have already released.', |
There was a problem hiding this comment.
@theosanderson-agent implement (and fix any tests affected)
There was a problem hiding this comment.
Done in 80ab5ec — changed the Revise description to "Update sequences that you have already released." No tests referenced the old string, so nothing else needed updating.
tombch
left a comment
There was a problem hiding this comment.
Aside from one comment, looks good to me!
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
Sorry to jump in - Im very fine with switching the default tab but I also agree that it would be good to keep the tab order consistent, is that still possible? |
|
@theosanderson-agent make a second PR with tab order reversed and add a preview tag |
|
I really think there is a significant chance people fail to find the bulk revision option if we start on the right tab: I think that not loading on the left most tab is really unexpected. |
|
Done — opened #6973 as an alternative to this PR. It keeps the single-sequence form as the default revise mode but restores the original tab order (Upload bulk revisions left-most, Revise single sequence second) and adds a small Preview badge to the single-sequence tab. It's a draft based on this branch; type-check and route tests pass. The two PRs are mutually exclusive presentations of the same feature. |
Closes part of #6963.
What this changes
Revising a single sequence via the form is now the default experience on the revise page, so users who want to fix one sequence no longer have to discover a tab and never have to build a metadata TSV. Bulk revision is still one click away.
Concretely:
inputMode=form. Visiting/<organism>/submission/<groupId>/revisewith noinputModeparameter (or with an unrecognised value) now lands on the single-sequence form; you get the bulk upload flow with?inputMode=bulk. This is the mirror image of the previous behaviour, and it is scoped to revision only — submission still defaults to bulk upload, since new submissions are much more often bulk.Revise single sequence(left, default) andUpload bulk revisions(right). The old label mentioned the form as an implementation detail (Revise individual sequence entry using a form); that reference is dropped. Submission tabs keep their existing order and labels.InputModeTabswas refactored from two hard-coded anchors into a small per-action list of{inputMode, label}rendered in order, which is what lets revision and submission differ in both order and wording without duplicating the anchor markup.Revisesaid "Upload revisions for existing sequences", which no longer describes where the link takes you; it now says "Update sequences that you have already submitted."Screenshots
All screenshots are of the West Nile Virus revise flow for a group with sequences, at a 1280px viewport.
The revise page you land on, before and after
Previously,
/<organism>/submission/<groupId>/reviseopened on the bulk upload tab, and the way to revise one sequence was the second tab, labelledRevise individual sequence entry using a form:Now the same URL opens on the single-sequence form. The tab order is reversed for revision and both labels are new, so the bulk route is still visible and one click away:
The bulk tab is unchanged apart from its label and position
?inputMode=bulk(or clicking the second tab) gives the same bulk upload page as before:Submission portal card wording
The
Revisecard used to promise an upload, which is no longer where the link goes.Before:
After:
Other updates
routes.revisePage(...)defaults itsinputModeargument to'form'to match the page. All existing callers that care (the "Revise this sequence" button on the sequence details page, and the edit page) already pass'form'explicitly.SubmissionRouteUtils.parseToRouteforrevisenow treats anything other thanbulkasform, with new unit tests covering both the explicit and default cases.inputMode, and would now land on the form. They pass'bulk'explicitly: the two template-download / bulk-upload tests inrevise-sequence.spec.tsand the bulk file-sharing revision test infile-sharing.spec.ts.Upload bulk revisionstab.Not included
The second half of #6963 — a guide at the top of the bulk revision page explaining how to obtain the original metadata — is not addressed here. That content partly exists in the docs already ("Downloading originally submitted data for revision"), so surfacing it in the UI is worth doing as its own change.
Test plan
CI=1 npm run test(website) passes, including the newSubmissionRoutecases.npm run check-typespasses with 0 errors.npm run formatclean in bothwebsiteandintegration-tests.🤖 Generated with Claude Code
🚀 Preview: https://feat-default-single-seque.loculus.org