Review of "Claude Swap" version 1

Details Page Preview

Switch Claude Code accounts directly from the Ubuntu panel

Extension Homepage
https://github.com/LAVANSURESH/claude-swap

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

Shexli found 3 issues that may need reviewer attention.

EGO-A-004 warning

extension files should not contain excessive ungated console logging

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

No excessive logging

  • extension.js:263
    console.error('Claude Swap: cswap not found in PATH or common install locations')
  • extension.js:282
    console.error(`Claude Swap Subprocess finish error: ${e.message}`)
  • extension.js:287
    console.error(`Claude Swap Subprocess init error: ${e.message}`)
  • extension.js:357
    console.error('Claude Swap: cswap binary not found to launch TUI')
  • extension.js:360
    console.error(`Failed to launch terminal for TUI: ${e.message}`)
  • extension.js:390
    console.error(`Failed to parse json output: ${e.message}`)

EGO-L-002 warning

objects created by extension should be destroyed in disable()

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

Destroy all objects

  • extension.js:324
    this._accountsSection = new PopupMenu.PopupMenuSection()
  • extension.js:301
    this._activeHeader = new PopupMenu.PopupMenuItem('Active Account: Loading...', { reactive: false })
  • extension.js:312
    this._fiveHourProgress = new UsageProgressBarItem('5-Hour Quota')
  • extension.js:198
            this._icon = new St.Icon({
                icon_name: 'system-users-symbolic',
                style_class: 'system-status-icon',
            })
  • extension.js:304
    this._installItem = new PopupMenu.PopupMenuItem('⬇️ Install cswap CLI...')
  • extension.js:204
            this._label = new St.Label({
                text: 'Claude: ...',
                y_align: Clutter.ActorAlign.CENTER,
            })
  • extension.js:315
    this._sevenDayProgress = new UsageProgressBarItem('7-Day Quota')

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:324
    this._accountsSection = new PopupMenu.PopupMenuSection()
  • extension.js:301
    this._activeHeader = new PopupMenu.PopupMenuItem('Active Account: Loading...', { reactive: false })
  • extension.js:312
    this._fiveHourProgress = new UsageProgressBarItem('5-Hour Quota')
  • extension.js:198
            this._icon = new St.Icon({
                icon_name: 'system-users-symbolic',
                style_class: 'system-status-icon',
            })
  • extension.js:304
    this._installItem = new PopupMenu.PopupMenuItem('⬇️ Install cswap CLI...')
  • extension.js:204
            this._label = new St.Label({
                text: 'Claude: ...',
                y_align: Clutter.ActorAlign.CENTER,
            })
  • extension.js:315
    this._sevenDayProgress = new UsageProgressBarItem('7-Day Quota')

All Versions

Version Status
1 Unreviewed