Review of "Big Shot" version 1

Details Page Preview

Extends GNOME's native Print Screen interface — no separate editor window. • 16 annotation tools: pen, arrows, shapes, text, highlighter, censor, blur, invert, magnify callouts, numbered badges • OCR with automatic language detection, copies text to the clipboard • Full-screen, area, and window screencasts • Desktop audio and microphone capture, independently or mixed • Hardware encoding on NVIDIA, AMD, and Intel, with software fallback • Draggable webcam overlay with 8 masks and 5 sizes • Live annotation while recording, plus pause/resume with lossless merge Optional: tesseract (OCR), ffmpeg (pause/resume), gst-plugins-ugly (x264).

Extension Homepage
https://github.com/big-comm/gnome-shell-big-shot

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) error 1 warning 3 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:1156
    St.Clipboard.get_default()
  • extension.js:1657
    St.Clipboard.get_default()
  • extension.js:1674
    St.Clipboard.get_default()
  • extension.js:1710
    St.Clipboard.get_default()

EGO-A-004 warning

extension files should not contain excessive ungated console logging

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

No excessive logging

  • extension.js:509
    console.error(`[Big Shot] Failed to rename file: ${e.message}`)
  • extension.js:572
    console.error('[Big Shot] ScreenshotUI not found')
  • extension.js:626
    console.error(`[Big Shot] Failed to load deps: ${e.message}\n${e.stack}`)
  • extension.js:671
    console.error(`[Big Shot] step "${label}" failed: ${e.message}\n${e.stack}`)
  • extension.js:872
    console.error(`[Big Shot] Error destroying part: ${e.message}`)
  • extension.js:1064
    console.error(`[Big Shot] drawReal failed for ${action.constructor.name}: ${err.message}\n${err.stack}`)
  • extension.js:1125
    console.error(`[Big Shot] Annotation compositing failed: ${e.message}`)
  • extension.js:1301
    console.error(`[Big Shot] Could not open screenshot: ${e.message}`)
  • extension.js:1412
    console.error(`[Big Shot] drawReal failed: ${err.message}`)
  • extension.js:1649
    console.error('[Big Shot] Failed to capture screenshot')

EGO-X-004 warning

extensions should avoid synchronous file IO in shell code

Shell code should avoid synchronous file IO APIs like `GLib.file_get_contents()` and `Gio.File.load_contents()`.

File Operations

  • parts/partwebcam.js:191
    GLib.file_get_contents(nameFile)

EGO-P-003 error

GSettings schema XML must be present in package

Extension appears to use GSettings but no `.gschema.xml` file is included in the package.

GSettings Schemas

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:1232
            source.connect('destroy', () => {
                if (this._notificationSource === source)
                    this._notificationSource = null;
            })

All Versions

Version Status
3 Unreviewed
2 Rejected
1 Rejected

Previous Reviews on this Version

talesam auto- rejected
Auto-rejected because of new version 2 was uploaded