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