Commit Graph

  • a4abe3abea fix(frontend): remove duplicate Dashboard entry in nav rail main asepharyanaandClaude Opus 5 (Nous Research) 2026-08-16 09:25:07 +07:00
  • b67856462f feat(chatbot): expand tool set to cover all server-watcher situations asepharyanaandClaude Opus 5 (Nous Research) 2026-08-16 09:22:20 +07:00
  • 30828a5534 refactor(chatbot): drop static server-stats context, go fully tool-based asepharyanaandClaude Opus 5 (Nous Research) 2026-08-16 09:15:39 +07:00
  • a3e5a8c1b9 perf(gateway): hoist correctedExamples query out of retry closure asepharyanaandClaude Opus 5 (Nous Research) 2026-08-16 09:06:17 +07:00
  • f82b5caae4 refactor(gateway): strip boilerplate fields from few-shot examples asepharyanaandClaude Opus 5 (Nous Research) 2026-08-16 09:00:55 +07:00
  • 9e2b107fcd refactor(gateway): compact AI analysis system prompt, preserve all rules asepharyanaandClaude Opus 5 (Nous Research) 2026-08-16 08:52:11 +07:00
  • d2e97ae11d audit(gateway): fix dead /metrics endpoint, raise OOM-prone MemoryMax, trim DB pool asepharyanaandClaude Opus 5 2026-08-16 08:41:54 +07:00
  • 6244e307a3 feat: surface AI analysis duration across gateway, backend, and FE asepharyana 2026-08-16 00:11:00 +07:00
  • 2d7c7f2c35 fix(gateway): stop Qdrant upsert aborts (semantic cache was being skipped) asepharyana 2026-08-15 23:40:19 +07:00
  • 416c690ebc style(gateway,backend): clear all biome warnings (no warnings left behind) asepharyana 2026-08-15 23:18:33 +07:00
  • c590a8be27 style(gateway): biome format fix for imageResizer (unblock CI gate) asepharyana 2026-08-15 23:11:31 +07:00
  • 9c83ec86cc fix(gateway): image vision analysis + media cache lock failures asepharyana 2026-08-15 23:04:52 +07:00
  • 17a4fbd73d build(gateway): skip fixupPhase to kill 'patchelf: wrong ELF type' noise asepharyana 2026-08-15 22:20:56 +07:00
  • c04c410fad build(gateway): suppress harmless 'patchelf: wrong ELF type' noise asepharyana 2026-08-15 22:11:58 +07:00
  • 5e5f4ae208 build(gateway): use @discordjs/opus prebuilt instead of compiling from source asepharyana 2026-08-15 21:56:22 +07:00
  • e2013988ff ci: fix biome format gate so Build & Deploy passes asepharyana 2026-08-15 21:39:44 +07:00
  • 0164444dd7 refactor(gateway): remove screen-share / GoLive feature entirely asepharyana 2026-08-15 21:20:20 +07:00
  • 9ae26b8ec9 refactor(llm): unify vision routing with text moderation and remove dedicated endpoint asepharyana 2026-08-15 21:05:06 +07:00
  • 7ebee7559d feat(llm): add disableThinking option for faster LLM analysis and update config asepharyana 2026-08-15 20:52:53 +07:00
  • 66c33a2657 feat(message-capture): add bot exclusion logic for message capture asepharyana 2026-08-15 20:35:51 +07:00
  • 25b220b7f9 fix(frontend): sidebar + command palette navigation, zero biome warnings asepharyana 2026-08-15 20:25:44 +07:00
  • 1c4f28c5f2 fix(message-capture): remove bot message filtering from capture logic asepharyana 2026-08-15 20:21:06 +07:00
  • 392db8eba1 feat(frontend): Ambient/WebGL console revamp + lint/type cleanup asepharyana 2026-08-15 20:03:55 +07:00
  • 3c2c1c3b15 Add Puppeteer scripts for navigation testing and debugging asepharyana 2026-08-15 19:23:17 +07:00
  • 1b56212d1a feat(frontend): rebuild as Ambient/WebGL console with all pages + command palette asepharyana 2026-08-15 17:53:48 +07:00
  • b98101c576 feat(dashboard): ground-up rombak jadi Ambient Field layout (bukan re-skin) asepharyana 2026-08-15 17:05:25 +07:00
  • 84757bdcf4 feat(console): rombak penuh dashboard layout jadi Event Horizon asepharyana 2026-08-15 16:21:45 +07:00
  • 6c9a91dad4 style(vision): biome format llmClient.ts (wrap long const line) asepharyana 2026-08-15 14:38:44 +07:00
  • bcb563ea7f feat(vision): route multimodal analysis to dedicated NVIDIA direct endpoint asepharyana 2026-08-15 14:31:53 +07:00
  • 589fd38fd8 fix(voice): separate Mic and Listen state (were both bound to listen) asepharyana 2026-08-14 12:35:44 +07:00
  • da02bfff9b fix(frontend): rebrand Bete → GMW (title, logo aria-label, dashboard heading) asepharyana 2026-08-14 11:51:16 +07:00
  • a66db8d702 fix(voice): live connection state instead of static SSR snapshot asepharyana 2026-08-14 11:43:07 +07:00
  • d65dc11c73 fix(frontend): restore voice guild/channel picker + media URL queue input asepharyana 2026-08-14 11:28:08 +07:00
  • 8b281c7feb refactor(frontend): finish design-system migration — chatbot, a11y, lint asepharyana 2026-08-14 11:02:52 +07:00
  • 5bbf75a65b refactor(frontend): finish shadcn→custom primitive migration (green build) asepharyana 2026-08-14 10:49:44 +07:00
  • 5816e94a63 fix(goLive): remove syncStream — synthetic PTS timebases make A/V sync deadlock asepharyana 2026-08-13 19:06:36 +07:00
  • 11f2ad5f23 fix(goLive): kill 4.3s backlog — HWM2 pipes + wire A/V sync (dank-faithful) asepharyana 2026-08-13 18:34:28 +07:00
  • 6e188f81d6 refactor(goLive): revert to dank-faithful demuxer — no custom pacing clock asepharyana 2026-08-13 18:12:34 +07:00
  • 7c376ea66a fix(goLive): keep IDR in own slot so decoder always has a reference (was blank) asepharyana 2026-08-13 17:43:16 +07:00
  • 8ee32b8df8 fix(goLive): tail-drop emitter clock — always show the freshest frame, never lag asepharyana 2026-08-13 17:32:18 +07:00
  • c285a4c813 fix(voice): copy cookies to temp before yt-dlp + fall back to Invidious on cookie/permission errors asepharyana 2026-08-13 17:16:05 +07:00
  • f156fc0c9e fix(goLive): download screen-share media to file before play (not live pipe) asepharyana 2026-08-13 16:42:41 +07:00
  • 89f1097729 fix(goLive): add -re throttle at encoder for screen-share pipe input asepharyana 2026-08-13 16:18:51 +07:00
  • df24c756a0 fix(goLive): token-bucket pacing + pin biome rules so CI passes asepharyana 2026-08-13 14:25:02 +07:00
  • add31d3561 fix(goLive): deterministic token-bucket video pacing at demuxer (replace unreliable -re) asepharyana 2026-08-13 14:17:35 +07:00
  • 6e7c4901c9 fix(goLive): pace demuxer with -re + bounded frame-drop (was: audio patah, 8s lag) asepharyana 2026-08-13 12:41:49 +07:00
  • 60faaa9304 fix(goLive): backpressure-throttle screen-share pipeline to 1x (video freezes while audio plays) asepharyana 2026-08-13 11:59:33 +07:00
  • 5505983dbd fix(goLive): retry VIDEO(op12)/SPEAKING(op5) opcodes until ws OPEN — broken shared-screen video asepharyana 2026-08-13 01:44:40 +07:00
  • 3d57e9c102 fix(goLive): retry VIDEO(op12)/SPEAKING(op5) opcodes until ws OPEN — broken shared screen video asepharyana 2026-08-13 00:23:18 +07:00
  • d3cb5f6756 refactor: rombak cache AI analisis image — pakai CDN URL langsung, hapus phash+sha asepharyana 2026-08-12 22:31:08 +07:00
  • 37787cc4f0 fix: prevent false positive moderation on physics/tech discussions asepharyana 2026-08-12 22:12:11 +07:00
  • f849a87f2f fix: remove user history injection to prevent false positive moderation asepharyana 2026-08-12 20:48:26 +07:00
  • deb5dedf2c test(gateway): add regression test untuk makeImageCacheKey collision asepharyana 2026-08-12 19:34:15 +07:00
  • 3b221823e7 feat(gateway): add observability logging for vision cache hits/misses asepharyana 2026-08-12 19:22:56 +07:00
  • 9f7ce7dbd5 fix(gateway): hash full image data URL for cache key to prevent collision asepharyana 2026-08-12 18:28:19 +07:00
  • bd292fdf3d feat(gateway): Invidious fallback for YouTube 403 in screen share asepharyana 2026-08-12 18:19:04 +07:00
  • 7a7f433988 feat(gateway): read YouTube cookies from BWS env (gmw_yt_downloader_cookies) fallback to on-disk file asepharyana 2026-08-12 17:50:07 +07:00
  • 84c5c36672 feat(gateway): YouTube cookies support for yt-dlp screen share + music asepharyana 2026-08-12 17:46:05 +07:00
  • c5898f7cf0 fix(gateway): crash safety on screen-share input timeout + proper error serialization asepharyana 2026-08-12 16:59:41 +07:00
  • 354e378e74 fix(gateway): output NUT (not raw h264) so Demuxer re-splits video+audio correctly asepharyana 2026-08-12 16:09:34 +07:00
  • 392bc35a0d fix(gateway): output raw H264+Opus (not NUT) so Demuxer parses NAL keyframes correctly asepharyana 2026-08-12 15:37:05 +07:00
  • 196cb1d3af fix(gateway): await audio stream line before demux resolve — audio RTP was dropped by metadata race asepharyana 2026-08-12 14:45:06 +07:00
  • 00fc852a32 feat(rtp-capture): add two-peer RTP capture test for H264 frame transmission asepharyana 2026-08-12 14:26:54 +07:00
  • d9f5592e6e feat(glossary): persist resolved definitions in Postgres + harden live SearXNG lookups asepharyana 2026-08-12 14:22:22 +07:00
  • f1aa08cdf6 fix(gateway): deliver audio + per-IDR SPS/PPS in GoLive screen share asepharyana 2026-08-12 14:20:29 +07:00
  • f70a92880e feat(glossary): implement term glossary for LLM moderation with caching and extraction logic asepharyana 2026-08-12 13:44:52 +07:00
  • 88b13225cd fix(gateway): stream screen-share input from yt-dlp stdout — no more raw-URL 403 asepharyana 2026-08-12 13:08:47 +07:00
  • 67ab289caa fix(gateway): fail-fast + retry on screen share merge failure (black tile zombie) asepharyana 2026-08-12 12:17:43 +07:00
  • ef9e243609 fix(goLive): encode H264 baseline to match SDP profile-level-id (black tile) asepharyana 2026-08-12 11:37:04 +07:00
  • 42a503c206 fix(goLive): demux access-unit grouping + correct RTP timestamps (black tile) asepharyana 2026-08-12 11:13:00 +07:00
  • 652974e23a fix(goLive): gateway crash on screenshare stop — unhandledRejection during teardown 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