Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions apps/desktop/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@
"@t3tools/tailscale": "workspace:*",
"dbus-next": "0.10.2",
"effect": "catalog:",
"electron": "44.1.0",
"electron": "44.4.2",
"electron-store": "^8.2.0",
"electron-updater": "^6.6.2",
"electron-updater": "^6.8.9",
"ffi-rs": "1.3.2",
"playwright-core": "1.60.0",
"react-grab": "^0.1.32"
Expand Down
2 changes: 1 addition & 1 deletion apps/marketing/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
"sharp": "0.35.4"
},
"devDependencies": {
"@astrojs/check": "^0.9.7",
"@astrojs/check": "^0.9.10",
"@vercel/config": "^0.3.0",
"typescript": "~6.0.3"
}
Expand Down
2 changes: 1 addition & 1 deletion apps/server/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
"test": "vp test run"
},
"dependencies": {
"@anthropic-ai/claude-agent-sdk": "^0.3.260",
"@anthropic-ai/claude-agent-sdk": "^0.3.276",
"@effect/platform-node": "catalog:",
"@effect/platform-node-shared": "catalog:",
"@ff-labs/fff-node": "0.9.4",
Expand Down
2 changes: 1 addition & 1 deletion infra/relay/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
"@t3tools/client-runtime": "workspace:*",
"@t3tools/contracts": "workspace:*",
"@t3tools/shared": "workspace:*",
"alchemy": "2.0.0-beta.78",
"alchemy": "2.0.0-beta.79",
"drizzle-orm": "1.0.0-rc.5-ab785fc",
"effect": "catalog:"
},
Expand Down
1,829 changes: 672 additions & 1,157 deletions pnpm-lock.yaml

Large diffs are not rendered by default.

18 changes: 11 additions & 7 deletions pnpm-workspace.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ allowBuilds:
electron: true
electron-winstaller: false
esbuild: true
msgpackr-extract: set this to true or false
msgpackr-extract: true
msw: false
node-pty: true
sharp: true
Expand Down Expand Up @@ -74,7 +74,7 @@ minimumReleaseAgeExclude:
- "@effect/platform-node@4.0.0-rc.115"
- "@effect/sql-pg@4.0.0-rc.115"
- "@effect/vitest@4.0.0-rc.115"
- alchemy@2.0.0-beta.78
- alchemy@2.0.0-beta.79
- effect@4.0.0-rc.115
- "@legendapp/list@3.3.5"
- "@expo/cli@57.0.20"
Expand All @@ -86,11 +86,11 @@ minimumReleaseAgeExclude:
- expo-updates@57.0.19
- expo@57.0.18
- expo-widgets@57.0.15
- electron@44.1.0
- "@anthropic-ai/claude-agent-sdk@0.3.260"
- "@alchemy.run/cloudflare-runtime@2.0.0-beta.78"
- "@alchemy.run/floci@2.0.0-beta.78"
- "@alchemy.run/node-utils@2.0.0-beta.78"
- electron@44.4.2
- "@anthropic-ai/claude-agent-sdk@0.3.276"
- "@alchemy.run/cloudflare-runtime@2.0.0-beta.79"
- "@alchemy.run/floci@2.0.0-beta.79"
- "@alchemy.run/node-utils@2.0.0-beta.79"
- "@distilled.cloud/fly-io@1.0.0-rc.12"
- "@distilled.cloud/hetzner@1.0.0-rc.12"
- "@distilled.cloud/prisma@1.0.0-rc.12"
Expand Down Expand Up @@ -118,6 +118,10 @@ overrides:
"@alchemy.run/sigil>react": "-"
"@alchemy.run/sigil>react-reconciler": "-"
"@alchemy.run/sigil>scheduler": "-"
# Alchemy only reaches @prisma/dev through a lazy import inside the Prisma
# database provider, which the relay never deploys. Its exact hono/valibot
# pins are also the bulk of our open dependency advisories.
"alchemy>@prisma/dev": "-"
"@clerk/backend": "catalog:"
"@clerk/clerk-js": "catalog:"
"@clerk/clerk-js>@base-org/account": "-"
Expand Down
20 changes: 20 additions & 0 deletions scripts/build-desktop-artifact.test.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
// @effect-diagnostics nodeBuiltinImport:off - Tests use Node's glob matcher to verify electron-builder exclusions.
import * as NodeCrypto from "node:crypto";
import * as NodeFS from "node:fs";
import * as NodePath from "node:path";

import * as NodeServices from "@effect/platform-node/NodeServices";
Expand All @@ -10,6 +11,8 @@ import * as FileSystem from "effect/FileSystem";
import * as Layer from "effect/Layer";
import * as Option from "effect/Option";
import * as Path from "effect/Path";
import * as Schema from "effect/Schema";
import { fromYaml } from "@t3tools/shared/schemaYaml";
import * as Sink from "effect/Sink";
import * as Stream from "effect/Stream";
import { ChildProcess, ChildProcessSpawner } from "effect/unstable/process";
Expand Down Expand Up @@ -509,6 +512,23 @@ it.layer(NodeServices.layer)("build-desktop-artifact", (it) => {
});
});

it("keeps repo allowBuilds entries as booleans", () => {
const text = NodeFS.readFileSync(
NodePath.join(import.meta.dirname, "..", "pnpm-workspace.yaml"),
"utf8",
);
const decoded = Schema.decodeUnknownSync(
fromYaml(
Schema.Struct({
allowBuilds: Schema.optional(Schema.Record(Schema.String, Schema.Boolean)),
}),
),
)(text);
const allowBuilds = decoded.allowBuilds ?? {};
assert.ok(Object.keys(allowBuilds).length > 0);
assert.strictEqual(allowBuilds["msgpackr-extract"], true);
});

it("stages pnpm 11 allowBuilds and patchedDependencies in the workspace yaml", () => {
assert.deepStrictEqual(
createStageWorkspaceConfig({
Expand Down
24 changes: 7 additions & 17 deletions scripts/build-desktop-artifact.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2888,27 +2888,17 @@ export const packWindowsServerAsar = Effect.fn("packWindowsServerAsar")(function
readonly arch: typeof BuildArch.Type;
}) {
const fs = yield* FileSystem.FileSystem;
const archiveStream = yield* Effect.tryPromise({
yield* Effect.tryPromise({
try: () =>
createPackageWithOptions(input.sourceDir, input.asarPath, {
dot: true,
unpack: WINDOWS_NATIVE_ASAR_UNPACK_GLOB,
globOptions: { ignore: resolveWindowsServerAsarIgnoreGlobs(input.arch) },
}),
catch: (cause) => new WindowsServerSidecarPackError({ asarPath: input.asarPath, cause }),
});
yield* Effect.tryPromise({
try: () =>
new Promise<void>((resolve, reject) => {
const stream = archiveStream as NodeJS.WritableStream & {
readonly writableFinished?: boolean;
};
if (stream.writableFinished === true) {
resolve();
return;
}
stream.once("finish", resolve);
stream.once("error", reject);
// glob 13 (via @electron/asar 4) matches `ignore` relative to `cwd`,
// not against the absolute paths it crawls, so anchor it at the source.
globOptions: {
cwd: input.sourceDir,
ignore: resolveWindowsServerAsarIgnoreGlobs(input.arch),
},
}),
catch: (cause) => new WindowsServerSidecarPackError({ asarPath: input.asarPath, cause }),
});
Expand Down
2 changes: 1 addition & 1 deletion scripts/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
},
"dependencies": {
"@effect/platform-node": "catalog:",
"@electron/asar": "^3.4.1",
"@electron/asar": "^4.3.0",
"@electron/osx-sign": "2.7.0",
"@t3tools/shared": "workspace:*",
"@t3tools/tailscale": "workspace:*",
Expand Down