Commit graph

9 commits

Author SHA1 Message Date
Ebeneezer (Hermes Agent)
6a586119be feat: lazy on-demand true egress public IP check (#54)
Replace status-Addrs public IP with user-triggered curl probes
(api.ipify.org, icanhazip.com). Shown as "tap to check" until fetched;
cleared on disconnect or exit-node change. Direct argv, fallback chain,
busy-mutex shared with other actions.

v0.2.3

Written by AI agent working for @jtmorris. Model: Grok 4.5.
2026-07-15 01:35:53 -07:00
Ebeneezer (Hermes Agent)
108e77a024 feat: show public IP from Tailscale endpoints (#54)
Derive public IPv4 from Self.Addrs (or active exit-node peer Addrs when
an exit node is selected). Display click-to-copy under the status row.
No external HTTP probe — status JSON only.

Version 0.2.2. Unit tests + live status parse verification.

Written by AI agent working for @jtmorris. Model: Grok 4.5.
2026-07-15 01:31:46 -07:00
Ebeneezer (Hermes Agent)
bbce7f0100 docs: sync README/manifest to v0.2.1 behavior and i18n keys
Written by AI agent working for @jtmorris. Model: Grok 4.5.
2026-07-15 01:11:59 -07:00
3986ee3490 fix: remove duplicate version key from plugin.json and modernize for-in loop in lib.js
- 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.
2026-05-25 03:00:33 +00:00
4b9d6ce6d8 chore(polish): manifest, docs, tests, and nits for dms-plugin-dev alignment
- plugin.json: added capabilities + requires; bumped to 0.2.0
- README: corrected "auto-refresh" claim (now documents the intentional on-demand + defensive poll-act-poll); added Implementation notes section covering Proc + I18n + best practices
- test/lib.test.js: updated the manual verification comment (now references Proc + preserved behavior)
- Minor version references in README example + caption
- All changes keep exact toggle semantics and follow repo style

Written by AI agent working for @jtmorris. Model: grok-build-0.1.
2026-05-25 03:00:33 +00:00
2fa5694895 fix: remove unused settings_read/settings_write permissions from plugin.json
Only process permission is required for tailscale + clipboard commands.
Least-privilege fix. Fixes #16
2026-05-25 03:00:33 +00:00
6385f6b19c Professionalize the author name. 2026-05-25 02:49:59 +00:00
303256d646 Write README with install instructions and update author 2026-05-18 21:17:54 +00:00
778f1969e0 feat(tailscalectl): add initial DMS widget plugin scaffolding
Minimal loadable DMS widget skeleton with plugin.json manifest
and TailscaleWidget.qml component. Symlinked, enabled, and loaded
cleanly in Dank Material Shell.

References #1, #2
2026-05-15 19:10:50 -07:00