Fix segfault: keep JSON body alive for parsed string refs

- Root cause: parseFromSlice returns slices pointing into the raw JSON
  body, but body was freed immediately after parsing in getUpdates
- Fix: return OwnedParsed wrapper that keeps both parsed result and
  raw body alive together
- Switch HTTP layer to curl subprocess (more reliable than std.http
  with static linking)
- Fix downloadToFile: use spawnAndWait instead of collectOutput
  (collectOutput requires both pipes)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Mikhail Kilin
2026-02-18 16:39:52 +03:00
parent 89f98f02be
commit 01bf41c61c
4 changed files with 138 additions and 82 deletions

View File

@@ -1,4 +1,4 @@
FROM alpine:3.21
RUN apk add --no-cache ffmpeg ca-certificates
RUN apk add --no-cache ffmpeg curl ca-certificates
COPY zig-out/bin/transcribator /usr/local/bin/
CMD ["transcribator"]