Review of "Tesseract OCR" version 1

Details Page Preview

Run OCR on screenshots and copy text to clipboard

Extension Homepage
https://github.com/Taygun86/gnome-tesseract-ocr

No comments.

FAQ

Files

Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.

Shexli (experimental) warning 4 manual_review 1

Shexli found 5 issues that may need reviewer attention.

EGO-A-005 manual_review

extensions should not access the clipboard directly

Direct clipboard access via `St.Clipboard.get_default()` requires reviewer scrutiny.

Review Guidelines

  • extension.js:274
    St.Clipboard.get_default()

EGO-A-004 warning

extension files should not contain excessive ungated console logging

File contains 7 ungated console.log/warn/error calls (threshold: 5).

No excessive logging

  • extension.js:210
    console.error(`[${this.metadata.uuid}] Failed to get langs: ${e.message}`)
  • extension.js:252
    console.error(`[${this.metadata.uuid}] Tesseract failed: ${e.message}`)
  • extension.js:269
    console.error(`[${this.metadata.uuid}] Failed to launch subprocess: ${e.message}`)
  • extension.js:137
    console.warn(`[${this.metadata.uuid}] ui._captureButton not found!`)
  • extension.js:178
    console.warn(`[${this.metadata.uuid}] ui._selectionButton not found!`)
  • extension.js:263
    console.warn(`[${this.metadata.uuid}] Failed to delete temp file: ${err.message}`)
  • extension.js:301
    console.warn(`[${this.metadata.uuid}] ScreenshotUI.prototype.open was modified by another extension; skipping restore.`)

EGO-X-002 warning

extensions should not use synchronous subprocess APIs in shell code

Shell code should avoid synchronous subprocess APIs like `GLib.spawn_command_line_sync()` and `GLib.spawn_sync()`.

Complete Examples

  • extension.js:193
    GLib.spawn_command_line_sync('tesseract --list-langs')

EGO-P-006 warning

unnecessary build and translation artifacts should not be shipped

Compiled GSettings schemas should not be shipped for 45+ packages.

Don't include unnecessary files

  • schemas/gschemas.compiled
    schemas/gschemas.compiled

EGO-L-003 warning

signals connected by extension should be disconnected in disable()

Signals assigned in `enable()` are missing matching disconnect calls in `disable()` or its helper methods.

Disconnect all signals

  • extension.js:116
    ui._ocrButton.connect('clicked', () => setMode('ocr'))
  • extension.js:120
    ui._shotButton.connect('clicked', () => setMode('shot'))
  • extension.js:124
    ui._castButton.connect('clicked', () => setMode('cast'))
  • extension.js:121
    ui._shotButton.connect('notify::checked', updateVisuals)
  • extension.js:125
    ui._castButton.connect('notify::checked', updateVisuals)
  • extension.js:175
    ui._selectionButton.connect('notify::checked', updateVisibility)

All Versions

Version Status
5 Active
4 Rejected
3 Rejected
2 Rejected
1 Rejected

Previous Reviews on this Version

JustPerfection waiting for author
Why are you sending the same extension with different uuid and schema id? https://extensions.gnome.org/review/73193 Which one should be reviewed?
Taygun86 posted a review
I forgot to change the uuid, but there is no option to cancel or delete submission sorry. correct one is this page
JustPerfection rejected
1. Please remove `schemas/gschemas.compiled`. Not needed for 45+ packages. 2. Use `connectObject()` and `disconnectObject()` so it is easier to track for cleanup (`extension.js` only). 3. Use aysnc for reading file content since you are in shell process (line 193 `extension.js`): [Gio.File.load_contents_async](https://gjs-docs.gnome.org/gio20~2.0/gio.file#method-load_contents_async) If you need any help with your extension you can ask us on: - [GNOME Extensions Matrix Channel](https://matrix.to/#/#extensions:gnome.org) - IRC Bridge: irc://irc.gimpnet.org/shell-extensions