Commit Graph

  • 652974e23a fix(goLive): gateway crash on screenshare stop — unhandledRejection during teardown main asepharyana 2026-08-12 00:36:53 +07:00
  • 407e003399 fix(goLive): black screen root cause — h264 muxer can't carry audio; disable self_video camera asepharyana 2026-08-12 00:25:01 +07:00
  • 968a43b0f4 debug(goLive): instrument frame pipeline — demux spawn/stderr/frames, playStream resolve, sendVideoFrame drop/send asepharyana 2026-08-11 22:31:31 +07:00
  • 91c7a67d2f fix(goLive): stream demux directly instead of spool-to-file (empty screen share) asepharyana 2026-08-11 21:43:16 +07:00
  • 8615383829 fix(goLive): STREAM_CREATE handshake — self_video voice state + retry + send instrumentation asepharyana 2026-08-11 20:45:00 +07:00
  • 10d7ecd405 fix(gateway): EPIPE crash on media stop — stream error handlers + no shutdown on transient stream errors asepharyana 2026-08-11 20:10:05 +07:00
  • ff554fcff2 fix(goLive): instrument voice/stream handshake + createStream timeout (12s) asepharyana 2026-08-11 20:00:33 +07:00
  • f8b253ba5e merge: libdatachannel-min GoLive stack (build -86pct, node_modules -1.09GB) asepharyana 2026-08-11 19:07:57 +07:00
  • c8473b0610 build(nix): fix binding link path — LDC_LIB is full .so path feat/libdatachannel-min-spike asepharyana 2026-08-11 18:54:12 +07:00
  • 3deca91ffe build(nix): use nixpkgs libdatachannel (no cmake/fetchFromGitHub) asepharyana 2026-08-11 18:45:51 +07:00
  • edec2edf82 build(nix): binding — NAPI_INCLUDE from pnpm store (depth 3), gyp env fallback asepharyana 2026-08-11 18:35:49 +07:00
  • 17013fe1e5 build(nix): gateway binding — gyp env-var paths, correct cwd, tolerant install asepharyana 2026-08-11 18:32:09 +07:00
  • 3acb03391a build(nix): gateway flake — build libdatachannel-min binding, drop datachannel/node-av/zeromq asepharyana 2026-08-11 17:53:47 +07:00
  • 9109d3c898 perf(golive): drop @dank074/discord-video-stream — node_modules 1.5GB → 423MB asepharyana 2026-08-11 17:49:33 +07:00
  • 9139e225f4 perf(golive): ffmpeg-spawn demuxer (no node-av) + E2E pipeline tests asepharyana 2026-08-11 17:38:06 +07:00
  • 9ae230d047 perf(golive/spike): binding addTrack + TS port of @dank074 media stack asepharyana 2026-08-11 16:16:52 +07:00
  • a1a6d8b418 spike: expose libdatachannel media packetizer chain via Track asepharyana 2026-08-11 14:57:04 +07:00
  • 4f06c30c05 spike: add addTrack + TrackWrap to libdatachannel-min binding asepharyana 2026-08-11 14:51:56 +07:00
  • 2203dd5771 spike: minimal N-API libdatachannel binding — WebRTC handshake proven asepharyana 2026-08-11 14:23:31 +07:00
  • a53d7b71da fix(voice): screen share GoLive died instantly — neutralize node-av custom ffmpeg filters asepharyana 2026-08-11 10:56:49 +07:00
  • c18431bdbf fix(ai-moderation): never cache vision outputs that claim 'no image seen' asepharyana 2026-08-11 09:55:43 +07:00
  • 4f4c43555f fix(ai-moderation): attachment-upload race dropped images before vision asepharyana 2026-08-11 09:44:34 +07:00
  • 50371bd2d1 fix(ai-moderation): read delta.reasoning_content in stream aggregation — image vision never returned text asepharyana 2026-08-11 08:06:28 +07:00
  • 0792ff4dc0 perf(nix): prune devDependencies from shipped node_modules asepharyana 2026-08-10 22:17:38 +07:00
  • eb89bb79ed ci(deploy): fix attic push fallbacks - VPS-hop sudo, direct push retry, ssh URL asepharyana 2026-08-10 21:18:25 +07:00
  • 7d6c741bb2 ci(deploy): force narinfo write with --ignore-upstream-cache-filter; Traefik readTimeout=0 on imrnes asepharyana 2026-08-10 20:18:56 +07:00
  • 4cb4904517 ci(deploy): fix attic fast path - public cache, extra-substituters, self-hosted client bootstrap asepharyana 2026-08-10 18:29:00 +07:00
  • 4ee295bd29 ci(deploy): push to attic directly from runner, skip slow SSH closure copy asepharyana 2026-08-10 17:28:28 +07:00
  • 65c9c2cd9e feat(ai-moderation): enrich analysis context with recency, repetition, user history and channel topic asepharyana 2026-08-10 17:15:33 +07:00
  • 0a5254bf20 feat(ai-moderation): enhance context handling with structured XML blocks and user profiles asepharyana 2026-08-10 16:46:55 +07:00
  • 4a51f3055c ci(deploy): push builds to attic binary cache (attic.asepharyana.my.id) asepharyana 2026-08-10 15:06:08 +07:00
  • 185d81f0e0 feat(ai-moderation): reset offensive nickname instead of deleting message asepharyana 2026-08-10 11:48:27 +07:00
  • ecbb538c9f feat(ai-moderation): use per-server nickname (displayName) in analysis payload asepharyana 2026-08-10 11:36:37 +07:00
  • 4049ab4201 feat(ai-moderation): rich context + link media vision analysis asepharyana 2026-08-10 11:26:26 +07:00
  • 5d094829c4 fix(ui): fit select popup to content and wrap long items asepharyana 2026-08-07 19:29:36 +07:00
  • abbd78f42b fix(ui): theme popover/input tokens and open select below trigger asepharyana 2026-08-07 18:18:14 +07:00
  • 4f9d4a5c7d refactor: remove unused UI components and replace GlassCard with Card in voice components asepharyana 2026-08-07 17:33:12 +07:00
  • 2c995b41d7 feat: add new UI components including RadioGroup, Resizable, Sidebar, Spinner, Table, Toast, and ToggleGroup asepharyana 2026-08-07 16:11:33 +07:00
  • 18dd6a56ba feat(media): loop mode + high-quality OggOpus music playback asepharyana 2026-08-07 14:53:37 +07:00
  • a690e5b63e refactor(media): remove volume control from FE & BE asepharyana 2026-08-07 14:27:33 +07:00
  • 62ffb676f9 feat(media): default music volume 30% instead of 100% asepharyana 2026-08-07 13:41:12 +07:00
  • 4797aca20f ci(deploy): poll service readiness instead of fixed 3s sleep asepharyana 2026-08-07 11:22:29 +07:00
  • 42b8afd412 fix(flake): purge dangling pnpm symlinks in standalone tree asepharyana 2026-08-07 10:57:18 +07:00
  • 7575a701bd style(backend): biome format — organize imports + spacing (live-speaker/redis-bridge/voice.service) asepharyana 2026-08-07 10:49:16 +07:00
  • 9f91155944 ci(deploy): build+deploy frontend package (SSR standalone server) asepharyana 2026-08-07 10:46:02 +07:00
  • f20889868d feat(frontend): rebuild as SSR with server-authoritative shared state asepharyana 2026-08-07 10:44:03 +07:00
  • aa440eda69 fix(gateway): music/screen playback heads — read yt-dlp headers from stderr, drop no-simulate asepharyana 2026-08-06 21:26:50 +07:00
  • f251e69f51 fix(backend): force-exit failsafe so shutdown never hangs asepharyana 2026-08-05 23:58:30 +07:00
  • 9a2fa999bf fix(voice): proper shadcn select dropdowns + top reactors leaderboard asepharyana 2026-08-05 11:29:56 +07:00
  • f999be4fa0 feat(dashboard): add moderation log page + message edit history asepharyana 2026-08-05 11:11:10 +07:00
  • a309570d29 feat(dashboard): expose trust reputation + reactions leaderboard asepharyana 2026-08-05 10:20:12 +07:00
  • 2f51f94610 fix(moderation): remove manual reanalyze triggers — auto-recovery only asepharyana 2026-08-04 15:37:56 +07:00
  • 88484f12a9 ci: add Nix GC cleanup job on VPS after deploy asepharyana 2026-08-04 13:57:44 +07:00
  • a2542493cd fix(voice): screen share now carries audio — merge DASH video+audio into single NUT input asepharyana 2026-08-04 13:28:55 +07:00
  • f84bf723c5 ci: use free GHA Nix cache (disable FlakeHub cache, not subscribed) aseph 2026-08-03 16:44:06 +07:00
  • 24db0f19b1 ci: enable FlakeHub Cache (id-token: write + use-flakehub) asepharyana 2026-08-03 16:20:15 +07:00
  • ce5db6aa3c fix(media): normalize activeMode in backend MediaState (FE relies on it) asepharyana 2026-08-03 10:09:19 +07:00
  • 44a0358b0c fix(voice): screen share restore is best-effort — Discord session teardown race asepharyana 2026-08-03 09:33:29 +07:00
  • d36c8777fe fix(voice): delay voice restore after screen share — avoid session teardown race asepharyana 2026-08-03 09:21:10 +07:00
  • 9fd4ded9c8 fix(voice): restore voice after screen share — pass pre-release status to callbacks asepharyana 2026-08-03 09:07:57 +07:00
  • 55d28dc928 style(voice): biome format media handler + screen controller asepharyana 2026-08-03 08:49:59 +07:00
  • 02e2243a98 fix(voice): screen share releases audio connection so Streamer owns voice session asepharyana 2026-08-03 08:41:00 +07:00
  • 8528f2c73d fix(voice): screen share join timeout — Streamer join hangs with dual voice conn asepharyana 2026-08-03 08:19:05 +07:00
  • 53f26185bc fix(voice): screen share crashed gateway — Streamer never joined voice + unhandledRejection asepharyana 2026-08-03 08:05:02 +07:00
  • a57eeb2e22 fix(voice): media queue field mismatch, voice joinable filter, connect error toast asepharyana 2026-08-03 07:48:50 +07:00
  • 9abb09dd33 feat(frontend): add light mode with runtime theme toggle asepharyana 2026-08-03 07:20:09 +07:00
  • 831254bb71 fix(nix): filter build artifacts from frontend source asepharyana 2026-08-03 06:53:46 +07:00
  • 9718940258 fix(chatbot): FAB opens chat directly — remove extra toggle + UX polish asepharyana 2026-08-03 06:44:23 +07:00
  • d1c1f3e4a7 feat(chatbot): per-user history via X-User-Id + agentic tools calling asepharyana 2026-08-03 06:24:19 +07:00
  • 7513681b4b feat(frontend): remove ugly canvas placeholder from chatbot asepharyana 2026-08-03 06:11:06 +07:00
  • 2b815e156c feat(frontend): rebuild chatbot UI to match backend — wider panel, guild context, Indonesian asepharyana 2026-08-03 06:04:25 +07:00
  • 03d59f0738 feat(frontend): lazy-load images, add lightbox viewer, polish AI panel asepharyana 2026-08-03 05:08:08 +07:00
  • 5cc0f8a243 docs: frontend README dev note asepharyana 2026-08-02 16:46:22 +07:00
  • 12c55ef486 docs: sync remaining md (AGENTS, ARCHITECTURE, READMEs to 4001/4009, Nix) asepharyana 2026-08-02 16:42:57 +07:00
  • 38c27eb5bb chore: ARCHITECTURE.md DB pool example asepharyana 2026-08-02 16:23:01 +07:00
  • bd044e95c3 chore: env.test.example and ARCHITECTURE pool 6432 asepharyana 2026-08-02 16:22:48 +07:00
  • ec64a078bf chore: fix-missing-tables.sql imrnes IP asepharyana 2026-08-02 16:22:30 +07:00
  • 37defa5915 chore: Dockerfile.backend expose port 4001 asepharyana 2026-08-02 16:21:48 +07:00
  • 39421c39cb chore: sync port references and docs to 4000s infra asepharyana 2026-08-02 16:20:27 +07:00
  • 1d27f67788 chore: update gmw-proxy nginx template ports to 4009/4001 asepharyana 2026-08-02 15:16:16 +07:00
  • d1e6f3b47a chore: update ports to 4000-range (4000/4001) asepharyana 2026-08-02 14:30:54 +07:00
  • dbcf9d68f2 fix(media): publish status when a track ends naturally asepharyana 2026-08-02 10:43:34 +07:00
  • ef4281cd1f fix(voice): activity tab rendered a permanently empty chart asepharyana 2026-08-02 10:38:02 +07:00
  • 25f6609a9f fix(recordings): stop faking duration from file size + render edited content in search asepharyana 2026-08-02 10:32:58 +07:00
  • 3f199aa70d fix(messages): merge partial WS updates + display edited content asepharyana 2026-08-02 10:27:41 +07:00
  • a82265f4a9 chore: remove outdated README.md file asepharyana 2026-08-02 10:18:56 +07:00
  • 78d514b73d feat(dashboard): message activity timeline + moderation donut asepharyana 2026-08-01 23:06:00 +07:00
  • 7d2bd75f6c ci: exclude e2e.test.ts from CI unit run (needs live backend API_BASE) asepharyana 2026-08-01 22:21:55 +07:00
  • b3a2f2ec10 ci: add test+typecheck gate before deploy asepharyana 2026-08-01 22:10:28 +07:00
  • 6293d588bc chore(lint): biome cleanup across services — format, sort imports, drop unused asepharyana 2026-08-01 22:09:02 +07:00
  • 2357421841 fix(test): repair placeholder tests referencing deleted @bete/shared package asepharyana 2026-08-01 22:08:54 +07:00
  • 308be9f05a fix(nix): restrict flake to x86_64-linux (nixpkgs 26.11 dropped darwin) asepharyana 2026-08-01 18:03:41 +07:00
  • a0b3f7e9b2 ci: publish flake to FlakeHub (rolling) asepharyana 2026-08-01 17:58:19 +07:00
  • 98064d1dd9 feat(fe): recordings — visible playing/loading/paused states asepharyana 2026-08-01 16:54:58 +07:00
  • 0daee56213 ci: migrate CI to GitHub Actions (deploy nix + mirror ke Gitea backup) asepharyana 2026-08-01 16:40:27 +07:00
  • 762e78d6b6 feat(fe): play Discord voice live + fix recording play/download asepharyana 2026-08-01 16:30:56 +07:00
  • 6ce784471e fix(gateway): repair Ogg page CRCs + deliver recordings as MP3 asepharyana 2026-08-01 16:05:51 +07:00
  • 0ef2b715c4 fix(gateway): enable stream for all LLM calls — router always streams SSE asepharyana 2026-08-01 15:00:59 +07:00
  • dfe689bdec fix(gateway): mediaAnalysis ffprobe path, fallback error-log, generic closer sanitize asepharyana 2026-08-01 14:00:43 +07:00
  • ada7a768f8 fix(gateway): bump 0011 voice_transcription journal when above applied max asepharyana 2026-08-01 13:15:03 +07:00