| author | |
| committer | |
| log | 380bba368a9071828616b1b03bde1876cc0af4c8 |
| tree | ea0c8503bd4d760d0d8ae122a8db3fea0569eca4 |
| parent | 8ac4b97dae6bff7258fa5091a908116902fbd635 |
| signature | Signed by PGP key B5690EEEBB952194 |
3 files changed, 6 insertions(+), 1 deletions(-)
apps/desktop/scripts/electron-launcher.mjs+3-1| ... | ... | @@ -20,7 +20,7 @@ const APP_BUNDLE_ID = isDevelopment |
| 20 | 20 | ? `com.t3tools.t3code.dev.${devBundleIdSuffix || "local"}` |
| 21 | 21 | : "com.t3tools.t3code"; |
| 22 | 22 | const APP_PROTOCOL_SCHEMES = isDevelopment ? ["t3code-dev"] : ["t3code"]; |
| 23 | const LAUNCHER_VERSION = 19; | |
| 23 | const LAUNCHER_VERSION = 20; | |
| 24 | 24 | const developmentMacIconPngPath = NodePath.join( |
| 25 | 25 | repoRoot, |
| 26 | 26 | "assets", |
| ... | ... | @@ -280,6 +280,8 @@ function patchMainBundleInfoPlist(appBundlePath, iconPath, executableName) { |
| 280 | 280 | for (const [key, value] of Object.entries(resolveMacBundleInfoPlistStrings(executableName))) { |
| 281 | 281 | setPlistString(infoPlistPath, key, value); |
| 282 | 282 | } |
| 283 | // macOS 26 offers Messages/Mail codes in every text field unless opted out. | |
| 284 | setPlistJson(infoPlistPath, "NSAutoFillRequiresTextContentTypeForOneTimeCodeOnMac", true); | |
| 283 | 285 | setPlistJson(infoPlistPath, "CFBundleURLTypes", [ |
| 284 | 286 | { |
| 285 | 287 | CFBundleURLName: APP_BUNDLE_ID, |
scripts/build-desktop-artifact.test.ts+1| ... | ... | @@ -726,6 +726,7 @@ it.layer(NodeServices.layer)("build-desktop-artifact", (it) => { |
| 726 | 726 | ]); |
| 727 | 727 | // macOS lists a default browser only when it also opens web pages as documents. |
| 728 | 728 | const macInfo = (mac.mac as { extendInfo: Record<string, unknown> }).extendInfo; |
| 729 | assert.strictEqual(macInfo.NSAutoFillRequiresTextContentTypeForOneTimeCodeOnMac, true); | |
| 729 | 730 | assert.deepStrictEqual(macInfo.CFBundleDocumentTypes, [ |
| 730 | 731 | { |
| 731 | 732 | CFBundleTypeName: "Web page", |
scripts/build-desktop-artifact.ts+2| ... | ... | @@ -2821,6 +2821,8 @@ export const createBuildConfig = Effect.fn("createBuildConfig")(function* ( |
| 2821 | 2821 | icon: "icon.icns", |
| 2822 | 2822 | category: "public.app-category.developer-tools", |
| 2823 | 2823 | extendInfo: { |
| 2824 | // macOS 26 offers Messages/Mail codes in every text field unless opted out. | |
| 2825 | NSAutoFillRequiresTextContentTypeForOneTimeCodeOnMac: true, | |
| 2824 | 2826 | NSLocalNetworkUsageDescription: |
| 2825 | 2827 | "T3 Code connects to devices on your local network for remote environments and commands run by terminals and coding agents.", |
| 2826 | 2828 | NSScreenCaptureUsageDescription: |