Ionosphere.tv
3
fork

Configure Feed

Select the types of activity you want to include in your feed.

perf: exclude document column from getTalks response

getTalks was returning 96MB because it included the full faceted
transcript document for every talk. The document column is only needed
for individual talk views (getTalk). This was causing build OOMs.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

+6 -1
+6 -1
apps/ionosphere-appview/src/routes.ts
··· 23 23 app.get("/health", (c) => c.json({ status: "ok" })); 24 24 25 25 app.get("/xrpc/tv.ionosphere.getTalks", (c) => { 26 + // Exclude 'document' column — it's the full faceted transcript (up to 2MB per talk) 27 + // and not needed for list views. Individual talks are fetched via getTalk. 26 28 const talks = db 27 29 .prepare( 28 - `SELECT t.*, GROUP_CONCAT(s.name) as speaker_names 30 + `SELECT t.uri, t.did, t.rkey, t.title, t.description, t.video_uri, 31 + t.video_offset_ns, t.video_segments, t.schedule_uri, t.event_uri, 32 + t.room, t.category, t.talk_type, t.starts_at, t.ends_at, t.duration, 33 + t.created_at, GROUP_CONCAT(s.name) as speaker_names 29 34 FROM talks t 30 35 LEFT JOIN talk_speakers ts ON t.uri = ts.talk_uri 31 36 LEFT JOIN speakers s ON ts.speaker_uri = s.uri