01a03930 - Send clerkUserDataId instead of clerk name - #1427
Open
joshuakrueger-dfx wants to merge 5 commits into
Open
01a03930 - Send clerkUserDataId instead of clerk name#1427joshuakrueger-dfx wants to merge 5 commits into
joshuakrueger-dfx wants to merge 5 commits into
Conversation
Assign support tickets by staff userData id so a renamed clerk no longer splits history.
Contributor
Author
|
EN: DE: |
The issue screen reads userDataId/name from GET /clerks. The Playwright fixture still sent string names, so the clerk select had no labels.
joshuakrueger-dfx
marked this pull request as ready for review
August 25, 2026 19:35
joshuakrueger-dfx
requested review from
TaprootFreak and
davidleomay
as code owners
August 25, 2026 19:35
joshuakrueger-dfx
marked this pull request as draft
August 25, 2026 20:07
Empty select with a leftover name sends null. Mine uses the JWT account id, and leftover names only when the id is still missing. Assignment ids not on the clerks list are dropped; a failed clerks fetch surfaces as an error.
An empty select with a leftover name meant unassign. Combined state updates used that empty init and would have cleared leftover assignment.
joshuakrueger-dfx
marked this pull request as ready for review
August 26, 2026 11:05
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.
EN:
The support dashboard assigns tickets by staff
userDataid instead of a clerk name string. PUT sendsclerkUserDataId; GET/clerksis{ userDataId, name }[]; display still uses the name. Pair with the backend PR that rejects leftoverclerknames.DE:
Das Support-Dashboard weist Tickets per Staff-
userData-Id zu, nicht per Namens-String. PUT sendetclerkUserDataId; GET/clerksist{ userDataId, name }[]; die Anzeige bleibt der Name. Gehört zum Backend-PR, der den altenclerk-Namen ablehnt.Details
Not symptom-driven: sending a clerk name would keep splitting history (Josh / JOSHUA BEN KRUEGER) and 400 once the backend rejects leftover
clerk.Scale: the same clerk-list and assign form is used on every support ticket; RealUnit has the twin path.
Scale (90e0dc5): 14 files, +475/−76, 5 commits
Smaller fix considered: keep sending the name and let the backend resolve it — insufficient because the client would still own the identity key.
Skipped check (K1.6a): services skips Build and test on draft PRs until the ci label or ready_for_review; this marker lets the first ready kick start CI.
Skipped check (K1.13): same draft skip on pr.yml, codeql.yml and pr-review-bot.yml; those jobs start after ready or a ci label.
Round check (90e0dc5):
Twins: RealUnit issue screen uses the same clerkAssignmentPayload leftover/allowlist path as DFX.
New surface: leftover-name unassign sends null; mine matches JWT account id, leftover name only when the id is missing.
Previous findings: empty select left leftover names assigned; mine filtered only by verifiedName; getClerks failed silently. Closed on this SHA.
What changed
GET /support/issue/clerks(and RealUnit) is consumed as{ userDataId, name }[].GET /clerkreturns{ clerkUserDataId, clerk }.clerkUserDataId(omit when unchanged, null to unassign). A leftover name stays selected until the clerk field is cleared.clerkUserDataIdto the JWT account; leftover clerk names only when the id is still missing.support-dashboard-02-issue.png).Deploy
Backend first (column + reject leftover
clerk), then this PR. Until this lands, support-issue PUT from the current dashboard returns 400.Tests
Node 20: 2 suites / 29 tests (
realunit-dashboard.hook.test,support-dashboard.hook.test) including leftover unassign, allowlist andisAssignedToMe. Mutation: inverting the account-id comparison fails 2 of 3isAssignedToMetests. Playwright: 1/1 passed (e2e/support-dashboard-issue.spec.ts) with committed darwin baseline on the previous head; not re-run after the leftover/mine commit.Final pass (90e0dc5):
Coherent: dashboard assign/unassign uses clerkUserDataId; clerks list is objects; mine uses the account id.
Nothing extra: no live-API e2e; issue screenshot uses a synthetic JWT; no alias matching on leftover names in the overview.
Sources closed: PUT omit/null, leftover unassign, object clerks, RealUnit twin, mine-by-account, handbook issue screen; companion backend#5184.