Repository navigation
Feat: screenORC - #437
Feat: screenORC #437rancescolon wants to merge 3 commits into
Conversation
first working version of screenORC - text scan - lan picker - qr code scanner
|
Thanks for contributing an extension to Vicinae! 👋 Before publication, this pull request receives two reviews:
✅ Ready for human review. The automated reviewer approved the latest commit and a maintainer has been notified. No blocking findings remain on the latest commit. The automated reviewer examines only the current commit. New commits invalidate its previous decision and start another review. |
clankus-aurelius
left a comment
There was a problem hiding this comment.
The extension has several error paths that silently fail or report success incorrectly, and its setup documentation overstates or misrepresents system-specific requirements.
Automated extension review passed. A maintainer review is still required.
This is an AI-generated first pass and may be mistaken. If a finding is unclear or incorrect, reply in the relevant thread and mention @aurelleb.
|
@aurelleb automated review passed for |
minor changes to following rules.json
clankus-aurelius
left a comment
There was a problem hiding this comment.
Four issues remain: two README requirements are still misleading, and the new numeric exit-code checks misclassify common cancellation/no-result outcomes.
Automated extension review passed. A maintainer review is still required.
This is an AI-generated first pass and may be mistaken. If a finding is unclear or incorrect, reply in the relevant thread and mention @aurelleb.
clankus-aurelius
left a comment
There was a problem hiding this comment.
Three issues remain: the README still overstates distro-specific package accuracy, while the revised error handling silently hides Spectacle failures and still does not reliably recognize ZBar’s no-symbol exit status.
Automated extension review passed. A maintainer review is still required.
This is an AI-generated first pass and may be mistaken. If a finding is unclear or incorrect, reply in the relevant thread and mention @aurelleb.
|
|
||
| 1. Run one of the scan commands from Vicinae. The launcher closes. | ||
| 2. Spectacle shows its region selector. Drag over the target area (Pressing `Esc` cancels silently). | ||
| 3. The tool processes the image (via Tesseract or ZBar), copies the decoded result to your clipboard, and confirms via a HUD toast. |
There was a problem hiding this comment.
🟠 Warning — Package helper still implies distro-specific accuracy
Rule: MANIFEST-001
The README calls the generated value the required package for the user's distro, but the implementation performs no distribution detection and always constructs tesseract-data-<language>.
Suggested resolution: Describe it as an example package name that users must verify for their distribution, or implement distribution-specific mappings.
| 3. The tool processes the image (via Tesseract or ZBar), copies the decoded result to your clipboard, and confirms via a HUD toast. | |
| 4. *Missing Language Pack Helper*: If a Tesseract language pack is missing, it copies an example package name (e.g., `tesseract-data-spa`) to your clipboard; verify the correct package name for your distribution. |
| try { | ||
| const stats = await fs.stat(outPath); | ||
| if (stats.size > 0) { | ||
| return true; | ||
| } | ||
| } catch { | ||
| return false; | ||
| } | ||
| return false; | ||
| } |
There was a problem hiding this comment.
🟠 Warning — Spectacle failures are silently treated as cancellation
Rule: UX-001
Every Spectacle error other than ENOENT now returns false when no output exists, so permission, display-server, and other operational failures silently exit as though the user cancelled.
Suggested resolution: Treat only Spectacle's cancellation exit status as cancellation; rethrow other failures so performScanAndCopy shows actionable failure feedback.
| } | ||
|
|
||
| // zbarimg returns non-zero when no symbols are found | ||
| const isNoSymbols = |
There was a problem hiding this comment.
🟠 Warning — ZBar no-symbol exit status remains unrecognized
Rule: CORRECTNESS-001
The revised condition still ignores ZBar's numeric no-symbol exit status 4. If stderr lacks the selected phrases, an ordinary image with no symbol is reported as a ZBar failure; matching every WARNING can also suppress unrelated failures.
Suggested resolution: Recognize exit status 4 explicitly and remove the broad WARNING match.
| } | |
| // zbarimg returns non-zero when no symbols are found | |
| const isNoSymbols = | |
| // zbarimg returns exit status 4 when no symbols are found | |
| const isNoSymbols = | |
| errOutput.includes("no symbols found") || err.status === 4 || err.code === 4 || err.code === "4"; |
Capture a region of your screen on Linux to perform OCR or scan QR codes/barcodes, automatically copying the extracted text directly to your clipboard.
Source repository: https://github.com/rancescolon/extensions
Notes for review
Checks run locally