Review of "Docktouch" version 3

Details Page Preview

Uma ilha dinâmica inspirada no NotchNook.

Extension Homepage
https://github.com/ItaloGabs/DockTouch

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) 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:269
    St.Clipboard.get_default()
  • lib/tabs/clipboard.js:74
    St.Clipboard.get_default()
  • lib/tabs/clipboard.js:98
    St.Clipboard.get_default()

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

  • lib/stats.js:34
    GLib.file_get_contents('/proc/cpuinfo')
  • lib/stats.js:46
    GLib.file_get_contents('/proc/meminfo')
  • lib/stats.js:81
    GLib.file_get_contents('/proc/uptime')
  • lib/stats.js:101
    GLib.file_get_contents('/proc/stat')
  • lib/stats.js:124
    GLib.file_get_contents('/proc/meminfo')
  • lib/stats.js:144
    GLib.file_get_contents(`/sys/class/power_supply/${name}/capacity`)
  • lib/stats.js:151
    GLib.file_get_contents(`/sys/class/power_supply/${name}/status`)
  • lib/stats.js:161
    GLib.file_get_contents('/sys/class/drm/card0/device/gpu_busy_percent')
  • lib/utils.js:13
    GLib.file_get_contents('/etc/os-release')
  • lib/utils.js:23
    GLib.file_get_contents('/proc/version')

EGO-L-005 warning

owned object references should be released in disable()

Owned references that are cleaned up in `disable()` should also be released with `null` or `undefined`.

Destroy all objects

  • extension.js:18
    this._settings = this.getSettings()

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:101
    this._brightnessProxy.connect('g-properties-changed', updateBrightness)
  • extension.js:99
    this._brightnessProxy.connect('notify::Brightness', updateBrightness)
  • extension.js:100
    this._brightnessProxy.connect('notify::Percentage', updateBrightness)
  • extension.js:81
    this._volumeControl.connect('default-sink-changed', () => this._setupVolumeStream())
  • extension.js:126
            this._volumeControl.connect('default-source-changed', () => {
                this._setupMicStream();
                this._updateMicState();
            })
  • extension.js:75
            this._volumeControl.connect('state-changed', (c, state) => {
                if (state === Gvc.MixerControlState.READY) {
                    this._setupVolumeStream();
                    this._updateMicState();
                }
            })
  • extension.js:124
    this._volumeControl.connect('stream-added', () => this._updateMicState())
  • extension.js:125
    this._volumeControl.connect('stream-removed', () => this._updateMicState())

EGO-M-008 warning

extensions using unlock-dialog must document it in disable() comments

Extensions using `unlock-dialog` should document the reason in `disable()` comments.

Session Modes

  • extension.js:390
        disable() {
            if (this._monitorsChangedId) {
                Main.layoutManager.disconnect(this._monitorsChangedId);
                this._monitorsChangedId = null;
            }
            if (this._micMuteSignalId) {
                this._volumeControl.get_default_source()?.disconnect(this._micMuteSignalId

All Versions

Version Status
3 Unreviewed
2 Rejected
1 Rejected

Previous Reviews on this Version

Itaruu posted a review
Itaruu posted a review
✨ Funcionalidades 🎵 Media Player: Controle de reprodução (MPRIS) com visualização de capa de álbum e waveform animada. 🔊 OSD Inteligente: Indicadores visuais personalizados para Volume, Brilho, Bateria e Caps Lock. 📊 Estatísticas do Sistema: Monitoramento em tempo real de CPU, RAM, GPU e Armazenamento. ⏰ Temporizador & Alarme: Acesso rápido ao temporizador, alarmes e relógio. 📋 Histórico de Área de Transferência: Gerenciamento simples do que você copiou recentemente. 🖥️ Modo de Visualização: Standard (Padrão): Fixado no topo, integrado à barra superior. Dinâmico (Flutuante): Uma pílula flutuante que se adapta ao conteúdo. 🎨 Customização Total: Ajuste cores, opacidade, desfoque (blur), largura e altura através da tela de configurações. 🖱️ Interação por Hover: Opção de expandir automaticamente ao passar o mouse.