Skip to content

Open the cosign panel from a link to a conference input - #2348

Open
fastfadingviolets wants to merge 4 commits into
codeforboston:mainfrom
hyphacoop:cosign-link
Open

fastfadingviolets wants to merge 4 commits into
codeforboston:mainfrom
hyphacoop:cosign-link

Conversation

@fastfadingviolets

Copy link
Copy Markdown
Contributor

An organization that filed conference input can now send its members one link that takes them straight to cosigning it: Copy cosign link in a card's menu gives out the conference's address naming that input, and opening it opens the card's cosign panel, after sign-in, sign-up or email verification where the reader needs one, or says why it can't and lands on the card. So that a new account's reader comes back to the link, the verification email now continues to the page they signed up from, and the verify-email window can check again for a verification made in another tab. Landing on the card also exposed jumps from the top of a conference being cut short by the hero's scroll snap, which held the page's own tabs short too; those now run to where they were sent.

Closes hyphacoop#128

What's in it

Not verified

  • 6a31939: Firebase's real handler page and its Continue button (the emulator redirects straight on); a preview deploy's fallback.
  • Open the cosign panel from a link to a conference input hyphacoop/maple#128: the closed, already-filed and drafted cases in a browser (Jest only); the copied-link toast by eye; the line's wording and look with the designer. A link only works once the conferences flag is on in production.

🤖 Generated with Claude Code

fastfadingviolets and others added 3 commits November 6, 2026 10:47
A tab clicked from the conference's top stopped a few pixels down rather
than at its section: the hero's scroll listener turned its mandatory snap
back on during the jump's first frame, and the browser snapped the smooth
scroll short. Its font-ready re-landing could cut a jump short the same
way, when the fonts resolved just after the jump began. The hero now waits
out a jump under way: one at a time, ending when it arrives or after two
seconds.

The page also re-landed on any change of address, so a change to its query
alone put the reader back at the conference's top. It now re-lands on a
change of path.

Verified: in Playwright Chromium on the local emulators, Public Input clicked
from the conference top lands 158px down, under the tabs, where it stopped
at 902 of 2611 before; wheeling back up still snaps to the conference top.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The verification email ended on Firebase's own page, so a reader who signed
up partway through something, such as following a link to cosign, lost it.
The email now continues to the address they signed up from. Firebase takes
a continue address only on an authorized domain, which a preview deploy's
is not; there the email goes without one rather than failing sign-up.

A tab left open on "Verify your email" could not see a verification made in
another, short of a reload. The modal now has "I've verified my email",
which reads the account again and carries on once it is verified. Reading
claims from a token is shared with the auth listener.

Verified: on the local emulators, a new account's VERIFY_EMAIL link carried
the sign-up page's address as continueUrl; "I've verified my email" said
not yet before verifying and closed the modal after.
Not verified: Firebase's real handler page and its Continue button (the
emulator redirects straight on); a preview deploy's fallback.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
An organization that filed conference input can send its members one link
that takes them straight to cosigning it. A cosignable card's menu has Copy
cosign link, which gives out the conference's address with ?cosign= and the
input's id. Opening it does what that card's Cosign does once the feed and
the reader are known; a reader who must sign in, sign up or verify first
keeps the link in the address, and the panel opens once they are through,
in this tab or one the verification email opens. The page then drops the
link from its address, so a reload does not reopen the panel.

When the panel can't open, a line under the title says why and the page
lands on the card, turning the feed to its page and letting go of filters:
the input has been removed, can't be cosigned (a cosign or a legislator's),
the conference has closed, the reader has already given input, or they have
input of their own drafted. Which inputs can be cosigned at all, whoever is
looking, is now its own rule beside the one publishing refuses with. The
line reuses the page's notice style, now shared with the byline. The feed
now goes back to its first page in the filter controls themselves.

Closes #128

Verified: on the local emulators (seedLocal) in Playwright Chromium: a
signed-out reader following a link signed in as test@example.com and landed
in the panel, the address dropping the link; a new account signed up and
verified from the emulator's email link, which opened the panel in a new
tab, and the first tab's "I've verified my email" opened it there too; a
removed id showed its line; a legislator's input showed its line and landed
on its card on the feed's second page at 1280px and 390px. Jest:
components/conference and components/auth (110 pass), including each of the
link's cases, the menu item's copy and where it is withheld, and paging to a
linked card. check-types, lint and prettier clean.
Not verified: the closed, already-filed and drafted cases in a browser (Jest
only); the copied-link toast by eye; the line's wording and look with the
designer. A link only works once the conferences flag is on in production.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@vercel

vercel Bot commented Nov 6, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
maple-dev Ready Ready Preview Nov 6, 2026 4:45pm UTC

Request Review

@fastfadingviolets

Copy link
Copy Markdown
Contributor Author
image

…oard

Signing in to an account whose email is not verified closes the auth
modal without asking for verification, so a ?cosign link stalled with
nothing on screen. The link now remembers which step it last opened,
sign in or verify email, and opens the verify step after such a sign-in;
it waits while any auth step is open, so sign-up's own verify step is
not shown twice. Leaving the address lets go of the link, so arriving at
it again acts again.

Copying a cosign link where navigator.clipboard is missing (a page served
over plain http) now falls through to the toast that shows the link. The
verify-email modal shows a failed recheck as a readable error, through
the same wrapper the other auth hooks use, and clears it on closing.

Also: one clearFilters for the button and a landing, the reader's own
card carries its id on the wrapper every card has rather than a second
one, and jumpTo's comment sits on jumpTo again.

Verified: conference and auth Jest suites (new tests for signing in
unverified and for a missing clipboard); ESLint and Prettier on the
changed files; check-types clean apart from untracked admin scripts.
Not verified: any of this in a browser; the feed or draft failing to
load still leaves the link waiting without a word.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch was successfully deployed

1 active deployment
Preview – maple-dev — 6a597bca Deployed Nov 6, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Open the cosign panel from a link to a conference input

1 participant