Skip to content

Commit 0163fd9

Browse files
authored
Merge branch 'main' into fix-ssh-auth-timestamps
2 parents 1565694 + cf07d06 commit 0163fd9

191 files changed

Lines changed: 2846 additions & 2203 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,14 @@ jobs:
4646
- name: Install dependencies
4747
run: bun install --frozen-lockfile
4848

49+
- name: Ensure Electron runtime is installed
50+
run: |
51+
if ! node -e "require('./apps/desktop/node_modules/electron')" >/dev/null 2>&1; then
52+
rm -rf apps/desktop/node_modules/electron/dist apps/desktop/node_modules/electron/path.txt
53+
bun apps/desktop/node_modules/electron/install.js
54+
fi
55+
node -e "require('./apps/desktop/node_modules/electron')"
56+
4957
- name: Format
5058
run: bun run fmt:check
5159

apps/desktop/package.json

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"dev:electron": "node scripts/dev-electron.mjs",
1111
"build": "tsdown",
1212
"start": "node scripts/start-electron.mjs",
13-
"typecheck": "tsc --noEmit",
13+
"typecheck": "tsgo --noEmit",
1414
"test": "vitest run --passWithNoTests",
1515
"smoke-test": "node scripts/smoke-test.mjs"
1616
},
@@ -25,11 +25,9 @@
2525
"electron-updater": "^6.6.2"
2626
},
2727
"devDependencies": {
28-
"@effect/language-service": "catalog:",
2928
"@effect/vitest": "catalog:",
3029
"@types/node": "catalog:",
3130
"tsdown": "catalog:",
32-
"typescript": "catalog:",
3331
"vitest": "catalog:"
3432
},
3533
"productName": "T3 Code (Alpha)"

apps/desktop/src/app/DesktopApp.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import * as Cause from "effect/Cause";
2+
import * as Crypto from "effect/Crypto";
23
import * as Data from "effect/Data";
34
import * as Effect from "effect/Effect";
45
import * as Option from "effect/Option";
5-
import * as Random from "effect/Random";
66
import * as Ref from "effect/Ref";
77

88
import * as NetService from "@t3tools/shared/Net";
@@ -26,7 +26,8 @@ const DEFAULT_DESKTOP_BACKEND_PORT = 3773;
2626
const MAX_TCP_PORT = 65_535;
2727
const DESKTOP_BACKEND_PORT_PROBE_HOSTS = ["127.0.0.1", "0.0.0.0", "::"] as const;
2828

29-
const makeDesktopRunId = Random.nextUUIDv4.pipe(
29+
const makeDesktopRunId = Crypto.Crypto.pipe(
30+
Effect.flatMap((crypto) => crypto.randomUUIDv4),
3031
Effect.map((value) => value.replaceAll("-", "").slice(0, 12)),
3132
);
3233

apps/desktop/src/app/DesktopAppIdentity.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ export interface DesktopAppIdentityShape {
2626
export class DesktopAppIdentity extends Context.Service<
2727
DesktopAppIdentity,
2828
DesktopAppIdentityShape
29-
>()("t3/desktop/AppIdentity") {}
29+
>()("@t3tools/desktop/app/DesktopAppIdentity") {}
3030

3131
const normalizeCommitHash = (value: string): Option.Option<string> => {
3232
const trimmed = value.trim();

apps/desktop/src/app/DesktopAssets.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ export interface DesktopAssetsShape {
1818
}
1919

2020
export class DesktopAssets extends Context.Service<DesktopAssets, DesktopAssetsShape>()(
21-
"t3/desktop/Assets",
21+
"@t3tools/desktop/app/DesktopAssets",
2222
) {}
2323

2424
const resolveResourcePath = Effect.fn("desktop.assets.resolveResourcePath")(function* (

apps/desktop/src/app/DesktopEnvironment.test.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,7 @@ const makeEnvironment = (
3232
overrides: Partial<DesktopEnvironment.MakeDesktopEnvironmentInput> = {},
3333
env: Record<string, string | undefined> = {},
3434
) =>
35-
Effect.gen(function* () {
36-
return yield* DesktopEnvironment.DesktopEnvironment;
37-
}).pipe(Effect.provide(makeEnvironmentLayer(overrides, env)));
35+
DesktopEnvironment.DesktopEnvironment.pipe(Effect.provide(makeEnvironmentLayer(overrides, env)));
3836

3937
describe("DesktopEnvironment", () => {
4038
it.effect("derives state paths and development identity inside Effect", () =>

apps/desktop/src/app/DesktopEnvironment.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ export interface DesktopEnvironmentShape {
7878
export class DesktopEnvironment extends Context.Service<
7979
DesktopEnvironment,
8080
DesktopEnvironmentShape
81-
>()("t3/desktop/Environment") {}
81+
>()("@t3tools/desktop/app/DesktopEnvironment") {}
8282

8383
const APP_BASE_NAME = "T3 Code";
8484

apps/desktop/src/app/DesktopLifecycle.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ export interface DesktopShutdownShape {
2424
}
2525

2626
export class DesktopShutdown extends Context.Service<DesktopShutdown, DesktopShutdownShape>()(
27-
"t3/desktop/Shutdown",
27+
"@t3tools/desktop/app/DesktopLifecycle/DesktopShutdown",
2828
) {}
2929

3030
const makeShutdown = Effect.gen(function* () {
@@ -61,8 +61,11 @@ export interface DesktopLifecycleShape {
6161
readonly register: Effect.Effect<void, never, Scope.Scope | DesktopLifecycleRuntimeServices>;
6262
}
6363

64+
/**
65+
* @effect-expect-leaking DesktopEnvironment | DesktopShutdown | DesktopState | DesktopWindow | ElectronApp | ElectronTheme
66+
*/
6467
export class DesktopLifecycle extends Context.Service<DesktopLifecycle, DesktopLifecycleShape>()(
65-
"t3/desktop/Lifecycle",
68+
"@t3tools/desktop/app/DesktopLifecycle",
6669
) {}
6770

6871
const { logInfo: logLifecycleInfo, logError: logLifecycleError } =

apps/desktop/src/app/DesktopObservability.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ export interface DesktopBackendOutputLogShape {
4343
export class DesktopBackendOutputLog extends Context.Service<
4444
DesktopBackendOutputLog,
4545
DesktopBackendOutputLogShape
46-
>()("t3/desktop/BackendOutputLog") {}
46+
>()("@t3tools/desktop/app/DesktopObservability/DesktopBackendOutputLog") {}
4747

4848
const textEncoder = new TextEncoder();
4949
const textDecoder = new TextDecoder();

apps/desktop/src/app/DesktopState.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ export interface DesktopStateShape {
99
}
1010

1111
export class DesktopState extends Context.Service<DesktopState, DesktopStateShape>()(
12-
"t3/desktop/State",
12+
"@t3tools/desktop/app/DesktopState",
1313
) {}
1414

1515
export const layer = Layer.effect(

0 commit comments

Comments
 (0)