authorgravatar for julius0216@outlook.comJulius Marminge <julius0216@outlook.com> 2026-04-01 08:53:55-07:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2026-04-01 08:53:55-07:00
logddffdfc0957315b422ae7bc092d4c2145866d3a2
treea5110f2e7674bc4a285b72a87718ca9c05f3db6a
parenta58290ed79061f4bad98336419d8f9e405963f8f
signature Signed by PGP key B5690EEEBB952194

[codex] migrate Effect.fn in apps/server/src/telemetry/Layers/AnalyticsService.ts (#1642)

Co-authored-by: codex <codex@users.noreply.github.com>

1 files changed, 29 insertions(+), 28 deletions(-)

apps/server/src/telemetry/Layers/AnalyticsService.ts+29-28
......@@ -70,34 +70,35 @@ const makeAnalyticsService = Effect.gen(function* () {
7070 }),
7171 );
7272
73 const sendBatch = (events: ReadonlyArray<BufferedAnalyticsEvent>) =>
74 Effect.gen(function* () {
75 if (!telemetryConfig.enabled || !identifier) return;
76
77 const payload = {
78 api_key: telemetryConfig.posthogKey,
79 batch: events.map((event) => ({
80 event: event.event,
81 distinct_id: identifier,
82 properties: {
83 ...event.properties,
84 $process_person_profile: false,
85 platform: process.platform,
86 wsl: process.env.WSL_DISTRO_NAME,
87 arch: process.arch,
88 t3CodeVersion: version,
89 clientType,
90 },
91 timestamp: event.capturedAt,
92 })),
93 };
94
95 yield* HttpClientRequest.post(`${telemetryConfig.posthogHost}/batch/`).pipe(
96 HttpClientRequest.bodyJson(payload),
97 Effect.flatMap(httpClient.execute),
98 Effect.flatMap(HttpClientResponse.filterStatusOk),
99 );
100 });
73 const sendBatch = Effect.fn("sendBatch")(function* (
74 events: ReadonlyArray<BufferedAnalyticsEvent>,
75 ) {
76 if (!telemetryConfig.enabled || !identifier) return;
77
78 const payload = {
79 api_key: telemetryConfig.posthogKey,
80 batch: events.map((event) => ({
81 event: event.event,
82 distinct_id: identifier,
83 properties: {
84 ...event.properties,
85 $process_person_profile: false,
86 platform: process.platform,
87 wsl: process.env.WSL_DISTRO_NAME,
88 arch: process.arch,
89 t3CodeVersion: version,
90 clientType,
91 },
92 timestamp: event.capturedAt,
93 })),
94 };
95
96 yield* HttpClientRequest.post(`${telemetryConfig.posthogHost}/batch/`).pipe(
97 HttpClientRequest.bodyJson(payload),
98 Effect.flatMap(httpClient.execute),
99 Effect.flatMap(HttpClientResponse.filterStatusOk),
100 );
101 });
101102
102103 const flush: AnalyticsServiceShape["flush"] = Effect.gen(function* () {
103104 while (true) {