Commit Graph

7 Commits

Author SHA1 Message Date
Mathias Beaulieu-Duncan
ae105a2bb0 Add macOS support, idempotent start(), bump to 0.2.0
- macOS plugin: Swift bridge + universal xcframework (arm64 + x86_64)
- macOS podspec with direct force_load (no script phase needed — single slice)
- Make TailscaleStart() idempotent — return success if already started
- Document macOS entitlements (network.client + network.server)
- Build script: ./build_go.sh [ios|macos|all]

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-14 07:11:01 -04:00
Mathias Beaulieu-Duncan
5c9f318f5a Fix xcframework linking for pub.dev installs, bump to 0.1.1
Use DERIVED_FILE_DIR instead of symlinks for force_load path.
Symlinks in PODS_TARGET_SRCROOT fail when installed from pub cache
because Xcode validates build inputs before script phases run.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-14 06:53:58 -04:00
Mathias Beaulieu-Duncan
cefcd23cd2 Update CI pipeline to use refresh token for pub.dev auth
Uses PUB_DEV_REFRESH_TOKEN secret to authenticate with pub.dev.
The refresh token is long-lived and auto-renews the access token.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-14 06:28:12 -04:00
Mathias Beaulieu-Duncan
0f42ada793 Prepare for pub.dev publishing with Gitea release pipeline
- Add README.md and CHANGELOG.md (required by pub.dev)
- Add .pubignore / ios/.pubignore to include xcframework in published package
- Add Gitea Actions workflow: builds xcframework and publishes on release
- Release tag must match pubspec version with no v prefix (e.g. "0.1.0")
- Requires PUB_TOKEN secret in Gitea repo settings

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-14 06:13:35 -04:00
Mathias Beaulieu-Duncan
63f0315ee7 Rename package to tsnet_flutter for pub.dev publishing under Svrnty
- Rename Dart package: tailscale_kit → tsnet_flutter
- Rename Swift plugin class: TailscaleKitPlugin → TsnetFlutterPlugin
- Rename podspec: tailscale_kit → tsnet_flutter
- Update MethodChannel name to tsnet_flutter
- Add BSD-3-Clause LICENSE (compatible with Tailscale's license)
- Update metadata for pub.dev: homepage, repository, author

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-14 06:10:34 -04:00
Mathias Beaulieu-Duncan
ecc289cb38 Ignore _current_slice symlink used for platform-specific builds
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-14 06:04:28 -04:00
Mathias Beaulieu-Duncan
2dbadcd8ed Initial commit: embedded Tailscale tsnet Flutter plugin for remote heater access
Go layer (c-archive) provides a localhost TCP proxy through a WireGuard tunnel.
Flutter connects gRPC to localhost:PORT, Go forwards via tsnet to heater's Tailscale IP.
No VPN entitlement needed — uses userspace netstack.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-14 05:13:55 -04:00