Twingate VPN status in the top bar: connection state, signed-in user, searchable resource list, start and stop of the Twingate service, and sign-in prompts. Clicking a resource opens it in the browser or copies its address to the clipboard.
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
EGO-A-005 manual_review
extensions should not access the clipboard directly
Direct clipboard access via `St.Clipboard.get_default()` requires reviewer scrutiny.
extension.js:838
St.Clipboard.get_default()
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.
extension.js:497
this._controlServiceItem = new PopupMenu.PopupMenuItem(_("Connect"))
extension.js:495
this._resourcesSection = new PopupMenu.PopupMenuSection()
extension.js:482
this._searchEntry = new St.Entry({
style_class: "twingate-search-entry",
hint_text: _("Search resources"),
can_focus: true,
x_expand: true
})
extension.js:469
this._statusItem = new PopupMenu.PopupImageMenuItem("", STATUS_ICONS.connecting)
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`.
extension.js:497
this._controlServiceItem = new PopupMenu.PopupMenuItem(_("Connect"))
extension.js:495
this._resourcesSection = new PopupMenu.PopupMenuSection()
extension.js:482
this._searchEntry = new St.Entry({
style_class: "twingate-search-entry",
hint_text: _("Search resources"),
can_focus: true,
x_expand: true
})
extension.js:469
this._statusItem = new PopupMenu.PopupImageMenuItem("", STATUS_ICONS.connecting)
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.
extension.js:503
menu.connect("open-state-changed", (_menu, open) => {
if (open) {
this._searchEntry.grab_key_focus();
} else {
this._searchEntry.set_text("");
}
})
extension.js:717
notification.connect("activated", () => this._openUri(msg.url))
extension.js:719
notification.connect("destroy", () => {
if (this._authNotification === notification) this._authNotification = null;
})
extension.js:643
source.connect("destroy", () => {
if (this._notificationSource === source) this._notificationSource = null;
})
| Version | Status |
|---|---|
| 0.5.0 (5) | Unreviewed |
| 0.5.0 (4) | Rejected |
| 0.4.0 (3) | Rejected |
| 0.4.0 (2) | Rejected |
| 0.4.0 (1) | Rejected |