Review of "Tailscale QuickSettings Toggle" version v6 (8)

Details Page Preview

Add Tailscale to GNOME quick settings. Fork of joaophi/tailscale-gnome-qs with continued maintenance and improvements. Make sure you set your user as tailscale operator: sudo tailscale set --operator=$USER

Extension Homepage
https://github.com/tailscale-qs/tailscale-gnome-qs

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 2

Shexli found 2 issues that may need reviewer attention.

EGO015 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:76
    tailscale.connect('notify::exit-node', () => setVisible())
  • extension.js:77
    tailscale.connect('notify::running', () => setVisible())
  • extension.js:116
                      action.connect('notify::pressed', () => {
                          if (action.pressed)
                              this.add_style_pseudo_class('active');
                          else
                              this.remove_style_pseudo_class('active');
                      })
  • extension.js:130
                      action.connect('notify::pressed', () => {
                          if (action.pressed)
                              this.add_style_pseudo_class('active');
                          else
                              this.remove_style_pseudo_class('active');
                      })
  • extension.js:122
    action.connect('recognize', () => this.activate(Clutter.get_current_event()))
  • extension.js:136
    action.connect('recognize', () => onLongClick())
  • extension.js:361
              dns.connect('toggled', item => {
                  tailscale.accept_dns = item.state;
              })
  • extension.js:368
              lan.connect('toggled', item => {
                  tailscale.allow_lan_access = item.state;
              })
  • extension.js:360
    tailscale.connect('notify::accept-dns', obj => dns.setToggleState(obj.accept_dns))
  • extension.js:353
    tailscale.connect('notify::accept-routes', obj => routes.setToggleState(obj.accept_routes))
  • extension.js:367
    tailscale.connect('notify::allow-lan-access', obj => lan.setToggleState(obj.allow_lan_access))
  • extension.js:279
              tailscale.connect('notify::exit-node-name', () => {
                  this.subtitle = tailscale.exit_node_name;
                  this.menu.setHeader(icon, this.title, this.subtitle);
                  disableExitNodeButton.reactive = tailscale.exit_node !== '';
              })
  • extension.js:341
    tailscale.connect('notify::nodes', obj => updateNodes(obj))
  • extension.js:403
    tailscale.connect('notify::profiles', obj => updateProfiles(obj))
  • extension.js:374
    tailscale.connect('notify::shields-up', obj => shields.setToggleState(obj.shields_up))
  • extension.js:381
    tailscale.connect('notify::ssh', obj => ssh.setToggleState(obj.ssh))
  • extension.js:354
              routes.connect('toggled', item => {
                  tailscale.accept_routes = item.state;
              })
  • extension.js:375
              shields.connect('toggled', item => {
                  tailscale.shields_up = item.state;
              })
  • extension.js:382
              ssh.connect('toggled', item => {
                  tailscale.ssh = item.state;
              })

EGO037 warning

Soup.Session instances should be aborted during cleanup

Soup.Session instances should be aborted during cleanup.

Soup.Session.abort

  • tailscale.js:11
            this.session = new Soup.Session({
                'remote-connectable': address,
                'timeout': 0,
                'idle-timeout': 0,
            })

All Versions

Version Status
v6 (9) Active
v6 (8) Rejected
v6 (7) Rejected
v6 (6) Rejected
5 Active
4 Inactive
3 Inactive
2 Rejected
1 Rejected

Previous Reviews on this Version

alexjfinch auto- rejected
Auto-rejected because of new version v6 (9) was uploaded