Review of "Screencast extra Feature" version 6

Details Page Preview

Add extra features in built-in screen cast feature. * Record Audio with it. * Specify framerate. (Up to 60 Hz) * Downsize resolution. (75%, 50% or 33%) * Quick Stop by pressing screen cast key. (Usually Ctrl + Alt + Shift + R)

Extension Homepage
https://github.com/WSID/gnome-shell-screencast-extra-feature

No comments.

Diff Against

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

Shexli found 4 issues that may need reviewer attention.

EGO-A-004 warning

extension files should not contain excessive ungated console logging

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

No excessive logging

  • extension.js:61
    console.log(`Fix file path: ${filepath}`)
  • extension.js:71
    console.log(`- Into : ${newFilepath}`)
  • extension.js:345
    console.log(`Tried configure [${this._pipelineConfigureIndex}] ${configure.id}`)
  • extension.js:346
    console.log(`- VIDEO_PREP: ${videoPrep}`)
  • extension.js:347
    console.log(`- VIDEO: ${configure.videoPipeline}`)
  • extension.js:348
    console.log(`- AUDIO: ${configure.audioPipeline}`)
  • extension.js:349
    console.log(`- MUXER: ${configure.muxer}`)
  • extension.js:350
    console.log(`- ERROR: ${e}`)
  • extension.js:381
    console.log(`Configuration filtering fails: ${e}`)
  • extension.js:382
    console.log(`Fallback to use all configures.`)

EGO-P-004 error

GSettings schema XML filename must match schema id

GSettings schema filename must match `<schema-id>.gschema.xml`.

GSettings Schemas

  • schemas/screencast.extra.feature@wissle.me.gschema.xml
    id='org.gnome.shell.extensions.screencastExtraFeature' path='/org/gnome/shell/extensions/screencastExtraFeature/'

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:199
            this._settings.connect("changed::pipeline-configures", () => {
                this._pipelineConfigures = null;
                this._pipelineConfigureIndex = 0;
    
                this._setupPipelineConfigure().catch((e) => {
                    console.warn(`Setup pipeline configure failed: ${e}`);
            

EGO-L-006 warning

preferences classes should not retain window-scoped objects on instance fields without close-request cleanup

Preferences code stores window-scoped objects on the exported prefs class without `close-request` cleanup.

Destroy all objects

  • prefs.js:36
    this._settings = this.getSettings("org.gnome.shell.extensions.screencastExtraFeature")
  • prefs.js:44
    this._partPipeline = new PartPipeline.PartPipeline(window, this.path, this._settings)

All Versions

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

Previous Reviews on this Version

Wissle auto- rejected
Auto-rejected because of new version 7 was uploaded