Remaining input checks: checkPage screenId, receipt counts, and verdict versus exit code
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 72/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- playwright, typescript
- Domain
- backend, cli, testing-qa
Research direction
Start by locating checkPage, the receipt store's isReceipt, and the stdin Result checks used by usabl comment and usabl enforce; inspect their existing input validation and tests. Cover the shared screenId grammar, whole non-negative receipt counts, and verdict consistency with exit code, with refusals that identify the field without echoing its value. Done when each invalid input is refused and the command line exits 4.
Written by the indexing model from the issue text.
Description
Three small gaps left after the library boundary checks:
checkPagedoes not check the caller'sscreenIdagainst the shared id grammar. Every other entry point now does.- The receipt store's
isReceiptaccepts any number for its counts. Counts should be whole, non-negative numbers. - The Result check that
usabl commentandusabl enforcerun on stdin checks shape only. A Result whose verdict disagrees with its exit code is accepted.
Each one should refuse with InputRefusedError (or exit 4 on the command line), naming the field and never echoing the value.
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 0
- Avg merge
- 2h 48m
- Merged PRs (30d)
- 8
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from usabl-dev/usabl
-
area: engine bug
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
-
Stop hook allows a stop on an unknown verdict, and the self-check prints IDLE for a null verdictOpenarea: assistants bug
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
area: engine bug security
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
Overlay: browser context failures are counted per plugin, not per browser, and close is not sharedOpenarea: overlay bug
Difficulty 2/5 1-3 hours Newbie friendliness 64/100
-
area: engine enhancement performance
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Similar issues
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
cloudscape-design/components#5184 ·
Maintainers usually reply within 2 days
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
JarX-Concepts/react-native-platform-components#130 ·
Maintainers usually reply within 1 day
-
fix(api): optimize-for-web /preview outer catches miss asDecoderOutOfMemory on V8 OOM and SIGKILLOpenarea: backend bug priority: low
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
snapotter-hq/SnapOtter#3773 ·
Maintainers usually reply within 1 day
-
ai-driven-qa ux-audit
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
linagora/twake-contacts-frontend#386 ·
Maintainers usually reply within 1 day
-
git: README should state plainly that without --repository every reachable repository is in scopeOpendocumentation server-git v2
Difficulty 1/5 1-3 hours Newbie friendliness 84/100
modelcontextprotocol/servers#5225 ·
Maintainers usually reply within 1 day