Review of "Market Pulse" version 1.0.0 (1)

Details Page Preview

Live stock and crypto quotes, panel ticker, charts, alerts, and local portfolio P&L. It accesses the local clipboard only after the user selects Copy to write quote or portfolio-export text; it never reads clipboard data, shares it with third parties, or provides clipboard keyboard shortcuts.

Extension Homepage
https://github.com/shahabahreini/market-pulse-gnome-extension

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 3 manual_review 1

Shexli found 4 issues that may need reviewer attention.

EGO-A-004 warning

extension files should not contain excessive ungated console logging

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

No excessive logging

  • extension.js:127
    console.warn(`[market-pulse] Quick Settings fallback: ${e.message}`)
  • extension.js:175
    console.warn(`[market-pulse] Could not move panel indicator: ${e.message}`)
  • extension.js:187
    console.warn(`[market-pulse] Search provider unavailable: ${e.message}`)
  • extension.js:197
    console.warn(`[market-pulse] Could not remove search provider: ${e.message}`)
  • extension.js:214
    console.warn(`[market-pulse] Could not register menu shortcut: ${e.message}`)
  • extension.js:112
    console.error(`[market-pulse] Exception during enable(): ${e.message}\n${e.stack}`)
  • extension.js:250
    console.error(`[market-pulse] Onboarding failed to open: ${e.message}`)
  • extension.js:336
    console.error(`[market-pulse] Exception during disable(): ${e.message}\n${e.stack}`)

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

  • helpers/clipboardShell.js:9
    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

  • helpers/settings.js:275
    console.warn(`[market-pulse] Setting '${key}' missing from installed schema — run 'make install'.`)
  • helpers/settings.js:303
    console.warn(`[market-pulse] Dropped write to unknown setting '${key}' — run 'make install'.`)
  • helpers/settings.js:310
    console.warn(`[market-pulse] Skipping watch on unknown setting '${key}' — run 'make install'.`)
  • helpers/settings.js:41
    console.error(`[market-pulse] Error parsing portfolios GSettings: ${e.message}`)
  • helpers/settings.js:76
    console.error(`[market-pulse] Error saving portfolios: ${e.message}`)
  • helpers/settings.js:248
    console.error(`[market-pulse] Error saving alert rules: ${e.message}`)
  • helpers/settings.js:281
    console.error(`[market-pulse] Error reading setting '${key}': ${e.message}`)

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:97
                this._settings.connect('active-portfolio', () => {
                    this._panelTicker?.onPortfolioChanged();
                    // Rows only exist while the menu is open.
                    if (this._panelTicker?.menu.isOpen) this._stocksMenu?.renderSymbolList();
                    this._scheduler
  • extension.js:94
    this._settings.connect('menu-shortcut-enabled', () => this._syncKeybinding())
  • extension.js:95
    this._settings.connect('menu-shortcut', () => this._syncKeybinding(true))
  • extension.js:96
    this._settings.connect('panel-position', () => this._syncPanelPosition())
  • extension.js:92
    this._settings.connect('quick-settings-integration', () => this._syncQuickSettings())
  • extension.js:93
    this._settings.connect('search-provider-enabled', () => this._syncSearchProvider())

All Versions

Version Status
1.0.1 (3) Unreviewed
1.0.1 (2) Rejected
1.0.0 (1) Rejected

Previous Reviews on this Version

Shahab Bahreini Jangjoo auto- rejected
Auto-rejected because of new version 1.0.1 (2) was uploaded