Commit graph

4 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
7942bc3471 feat(i18n): make lib.js strings I18n source keys (strategy A); remove dead symbol exports; update tests; add i18n/ scaffolding + en.json placeholder
- getStrings().copied now returns template key "Copied %1 to clipboard" (interpolation at QML call site via .arg)
- Removed unused clearExitNode/setExitNode from getStrings (were dead code)
- Tests updated for new shape while preserving coverage
- New tailscalectl/i18n/ with README + en.json for future-proofing (per dms-plugin-dev best practice)
- Exact behavior preserved; no logic changes

Written by AI agent working for @jtmorris. Model: grok-build-0.1.
2026-05-25 03:00:33 +00:00