Skip to content

Commit d3fb855

Browse files
committed
[packaging] Bump the bundle to 0.1.3
Ships the corrected wedge diagnostic, and is the first release cut by the workflow rather than by hand. Solves: release vehicle for #27 Tests: release workflow asserts the tag matches this value before signing
1 parent ad69f14 commit d3fb855

1 file changed

Lines changed: 8 additions & 44 deletions

File tree

swift/Packaging/Info.plist

Lines changed: 8 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -2,66 +2,30 @@
22
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
33
<plist version="1.0">
44
<dict>
5+
<key>CFBundleExecutable</key>
6+
<string>tacet</string>
57
<key>CFBundleIdentifier</key>
68
<string>com.drycodeworks.tacet-agent</string>
79
<key>CFBundleName</key>
810
<string>Tacet</string>
9-
<key>CFBundleExecutable</key>
10-
<string>tacet</string>
1111
<key>CFBundlePackageType</key>
1212
<string>APPL</string>
1313
<key>CFBundleShortVersionString</key>
14-
<string>0.1.2</string>
14+
<string>0.1.3</string>
1515
<key>CFBundleVersion</key>
16-
<string>3</string>
16+
<string>4</string>
1717
<key>LSMinimumSystemVersion</key>
1818
<string>13.0</string>
1919
<key>LSUIElement</key>
2020
<true/>
21-
<key>NSMicrophoneUsageDescription</key>
22-
<string>Tacet records your voice while you hold the dictate hotkey, to transcribe it.</string>
23-
<key>NSLocalNetworkUsageDescription</key>
24-
<string>Tacet talks to the transcription server on your local network.</string>
25-
<!-- ATS cannot express this app's actual policy, so the app enforces its
26-
own and ATS is opened to let it.
27-
28-
NSAllowsLocalNetworking alone was not enough: it covers .local names
29-
and link-local addresses, and a Tailscale peer is neither — the
30-
tailnet uses CGNAT space (100.64.0.0/10). The two-machine setup
31-
therefore failed with:
32-
33-
Cannot start load of Task ... since it does not conform to ATS policy
34-
finished with error [-1022] ... requires the use of a secure connection
35-
36-
while the SAME build worked on the machine running the server,
37-
because there the tailnet address belongs to the local host and
38-
CFNetwork treats it as local. So this is invisible to a
39-
single-machine install and to every test.
40-
41-
The exceptions ATS does support are static domain lists, and the
42-
server address here is user configuration — there is nothing to
43-
enumerate at build time.
44-
45-
What actually gates connections is ClientConfig.validateTransport,
46-
which is stricter than ATS where it matters: plain HTTP to loopback
47-
always, to a numeric IP only with an explicit opt-in recorded in the
48-
config, and to a HOSTNAME never — where ATS would happily allow a
49-
hostname it considers "local".
50-
51-
REMOVE THIS once the server speaks TLS. A tailnet with HTTPS enabled
52-
can issue a real certificate for its MagicDNS name (`tailscale cert`),
53-
and an https:// hostname needs no exception at all. -->
5421
<key>NSAppTransportSecurity</key>
5522
<dict>
56-
<!-- ONLY this key. Do not add NSAllowsLocalNetworking back.
57-
Apple: if NSAllowsLocalNetworking is present, the system IGNORES
58-
NSAllowsArbitraryLoads on macOS 10.12+. The two together are not
59-
additive — the more specific key wins and the general one is
60-
silently discarded, which is how a bundle can carry
61-
NSAllowsArbitraryLoads=true and still fail every request with
62-
-1022. Verified exactly that way here. -->
6323
<key>NSAllowsArbitraryLoads</key>
6424
<true/>
6525
</dict>
26+
<key>NSLocalNetworkUsageDescription</key>
27+
<string>Tacet talks to the transcription server on your local network.</string>
28+
<key>NSMicrophoneUsageDescription</key>
29+
<string>Tacet records your voice while you hold the dictate hotkey, to transcribe it.</string>
6630
</dict>
6731
</plist>

0 commit comments

Comments
 (0)