- plugin.json contained duplicate "version" keys ("0.1.0" then "0.2.0"); JSON parsers take the last value so it appeared to work, but this is invalid per spec and a maintenance hazard.
- findActiveExitNode used legacy for-in + hasOwnProperty guard; replaced with Object.keys() for modern, safe iteration (now consistent with parsePeers and the rest of lib.js).
- All 36 unit tests pass after the change.
Written by AI agent working for @jtmorris. Model: grok-build-0.1.
13 lines
343 B
JSON
13 lines
343 B
JSON
{
|
|
"id": "tailscalectl",
|
|
"name": "Tailscale",
|
|
"description": "Tailscale status and controls on the Dank Bar",
|
|
"author": "John Morris",
|
|
"icon": "vpn_key",
|
|
"type": "widget",
|
|
"capabilities": ["dankbar-widget"],
|
|
"component": "./TailscaleWidget.qml",
|
|
"permissions": ["process"],
|
|
"requires": ["tailscale"],
|
|
"version": "0.2.0"
|
|
}
|