Skip to content

UX improvements to roster search (EDFIAL-689) - #195

Merged
edandylytics merged 6 commits into
developmentfrom
app/idrs-search-ui
Nov 4, 2026
Merged

edandylytics merged 6 commits into
developmentfrom
app/idrs-search-ui

Conversation

@edandylytics

@edandylytics edandylytics commented Nov 4, 2026 •

Copy link
Copy Markdown
Collaborator

This PR improves a handful of small UX things on the roster search, addressing EDFIAL-689.

Previously, it wasn't clear that (a) the values defaulted into the search form came from the file, (b) you had to edit those values in order to actually get a match, or (c) how to know what values to use. Now we tell users to find the student in the SIS and edit the form to match what they see there. The search button is only enabled once the form is edited (and there's a hint telling the user to update the form to enable the button)

There are a handful of other change included:

  • Better warning message on bad date formats: Use YYYY-MM-DD instead of the regex
  • Fields are flagged as "edited" when a user updates them
  • IDs are de-duped. In prod, many assessments have the same ID type coming from multiple columns, so you'd see 1234, 1234, 1234 in the ID field. This is change also dedups IDs elsewhere, when the ID value + type are the same.
  • Button label is "Searching..." while the search is in progress to better indicate that work is being done

Search button disabled, with hint
image

"edited" flag and date validation
image

in testing, a reviewer clicked search straight away with the form still
pre-filled from the file. idrs had already searched those values for the
suggestions, so nothing new could come back, and each search is slow.

search is now disabled, with a short hint, while the form holds the
file's values or the search whose results are shown. spacing, id order
and repeated ids don't count as changes. the directions point reviewers
to their sis first, and each field they change is tagged as edited.

an invalid date of birth blocks the search with a format hint, shown
once the reviewer leaves the field or presses enter, instead of the
search route's raw validator message. while a search runs the button
reads "searching…", and an error hides the earlier results.

some files repeat an id across columns, so ids now show once in the
form, the header and the suggestions, and are sent once.

the copy now says "the file" rather than "your file": reviewers load
vendors' files and don't think of them as their own.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@amazon-inspector-ohio

Copy link
Copy Markdown

⏳ I'm reviewing this pull request for security vulnerabilities and code quality issues. I'll provide an update when I'm done

@snyk-io-us

snyk-io-us Bot commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

✅ Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
✅ Open Source Security 0 0 0 0 0 issues
✅ Licenses 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@edandylytics edandylytics changed the title steer reviewers away from dead-end idrs searches (EDFIAL-689) UX improvements to roster search (EDFIAL-689) Nov 4, 2026
@amazon-inspector-ohio

Copy link
Copy Markdown

✅ I finished the code review, and didn't find any security or code quality issues.

edandylytics and others added 5 commits November 4, 2026 11:01
in the four-column form it was cut off at "any IDs, e.g. state or lo".
the label already says student ids, so "any IDs" repeated it.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
a highlighted border made an edited field look like the active one. the
"edited" tag beside the label is enough.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
shown under the field, it made every input in the row taller. it now
sits below the field in the gap above the search button.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
an error hides the results, so after a failed search, editing back to
the search already shown left search disabled with nothing to show for
it. an error is about the search that failed, so editing clears it.

also split the bad-date test so its name says what it shows: a bad date
in the file's own values is reported ahead of those values.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
it passed the same bad-date terms as both the form and the file, so it
only showed that a bad date is a bad date, which the test above already
covers. it now contrasts an unedited form with a good date, blocked as
the file's values, with the same form carrying the file's bad date,
blocked as a bad date. that pins the order of the two checks: swapping
them fails this test alone.

the test above is renamed to say its bad date is typed.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
@edandylytics
edandylytics requested review from rtavernaea and a balanced review from Copilot and removed request for Copilot November 4, 2026 17:39
@edandylytics
edandylytics merged commit 46e8b37 into development Nov 4, 2026
10 checks passed
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.

2 participants