Review of "Split Routing" version 1.0.0 (2)

Details Page Preview

Use two networks at the same time: route chosen subnets out chosen network cards, and pick which card carries the default route. Everything is configured from the settings UI. Rules are (subnet, card) pairs — IPv4 and IPv6 are both supported — and gateways are detected automatically per card. All changes go through NetworkManager over D-Bus: no root, no scripts, no subprocesses. Only the running connection is changed (NetworkManager reapply), never a saved profile, so a reboot, a NetworkManager restart or reconnecting a card returns the machine to its normal routing. Switching back undoes exactly what was added: routes you already had are left alone and each card's previous never-default value is restored.

Extension Homepage
https://github.com/tannc28/split-routing

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 2

Shexli found 3 issues that may need reviewer attention.

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:77
    this._settings = extension.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:163
    client.connect('device-added', (_c, device) => {
                    this._watchDevice(device);
                    this._queueRefresh();
                })
  • extension.js:137
    this._settings.connect(`changed::${key}`, () => this._refresh())

EGO-M-004 error

metadata shell-version must only include plausible stable releases and at most one development release

Field `shell-version` contains invalid values, more than one development release, or implausible future releases.

metadata.json must be well-formed

  • metadata.json
    shell-version=['45', '46', '47', '48', '49', '50', '51']

All Versions

Version Status
1.0.0 (2) Unreviewed
2.0 (1) Rejected