Commit Graph

  • f5d5690401 fix: double-.js extension in @/ alias resolution (fix-imports.mjs) mytheclipsebotreview 2026-08-20 18:08:30 +07:00
  • 0aa893ab7d feat: add Materi section + AI agent RAG to GMW business flow asepharyana 2026-08-20 15:57:04 +07:00
  • 6f20b0f146 docs: clarify termGlossary uses Wikipedia (not SearXNG) for definition lookups asepharyana 2026-08-20 15:32:20 +07:00
  • 80248d4b7a feat: add 'screenshare' to MediaMode union for screen-share audio recording asepharyana 2026-08-20 15:29:22 +07:00
  • 20e991062c fix: screen-share audio capture — hook VoiceReceiver.onUdpMessage to discover unregistered SSRCs asepharyana 2026-08-20 15:28:55 +07:00
  • b784d6d796 feat(gateway): weekly moderation digest via WEBHOOK_URLS (#15) asepharyana 2026-08-18 20:51:12 +07:00
  • 00e8d68ce5 feat(gmw): public features #7-14 — scam domains, top channels, hourly heatmap, category drill-down, coverage stats, channel culture glossary, term KB, edit history asepharyana 2026-08-18 20:45:12 +07:00
  • 2a8f6d9062 refactor(gateway): remove user reputation feature entirely asepharyana 2026-08-18 18:27:15 +07:00
  • 9b3134d767 feat(gmw): public features #2-#6 — live moderation feed, toxic topic trends, channel timeline, CSV export, activity heatmap asepharyana 2026-08-18 17:43:02 +07:00
  • 36363fa3db fix(gateway): skip bot-only channel 1318544753821880362 from capture asepharyana 2026-08-18 16:13:25 +07:00
  • d133cc3271 style(gateway): sort imports in archiveEmbedder (biome) asepharyana 2026-08-18 15:53:18 +07:00
  • 5a70a685b4 fix(gateway): correct @/ alias import style (no .js) in archiveEmbedder asepharyana 2026-08-18 15:44:18 +07:00
  • 100b62800c fix(backend): drop .js extension on @/ alias imports (embed/qdrant) asepharyana 2026-08-18 15:19:05 +07:00
  • 1ae19074ee feat(gmw): moderation explainability + semantic message search feat/gmw-explainability-semantic-search asepharyana 2026-08-18 15:11:01 +07:00
  • d68f6b653a perf(ai-moderation): compact system prompt + memoize build + hoist vision pass asepharyana 2026-08-18 11:49:39 +07:00
  • 29baba3a72 fix(backend): sort vitest import in stream-many test (CI biome gate) asepharyana 2026-08-18 11:03:24 +07:00
  • 217ecc1aa1 feat(frontend): content micro-animations — stagger, button press, toast polish asepharyana 2026-08-18 11:01:00 +07:00
  • 0cb0b82fb1 feat(messages): stream history one-message-per-WS-frame instead of 50-row batch asepharyana 2026-08-18 10:21:08 +07:00
  • 95f2903067 feat(frontend): micro-interactions — page-enter transition + MetricTile lift asepharyana 2026-08-18 09:50:52 +07:00
  • d78d7a0181 feat(frontend): skeleton loading states, empty-state glow, light-mode polish asepharyana 2026-08-18 09:21:12 +07:00
  • ff8a9c50ae feat(frontend): polish remaining views + centralize time/status helpers asepharyana 2026-08-18 09:05:12 +07:00
  • 6bd6ddcdca feat(frontend): mobile bottom nav, chatbot overhaul, responsive polish asepharyana 2026-08-17 21:29:37 +07:00
  • b38616e051 fix(auto-delete): guard nickname reset on role hierarchy + surface LLM parse errors asepharyana 2026-08-17 20:52:09 +07:00
  • 479f4719ba refactor(ai): replace SearXNG with Wikipedia adapter for analysis enrichment asepharyana 2026-08-17 20:07:19 +07:00
  • 2825250804 perf(ai-moderation): remove per-user reputation from analysis context asepharyana 2026-08-16 20:44:39 +07:00
  • aa280c48b7 perf(ai-moderation): drop personal user-profile descriptions from context asepharyana 2026-08-16 19:56:27 +07:00
  • 4cf5b87f2b perf(ai-moderation): pack more messages per LLM request (fewer API calls when busy) asepharyana 2026-08-16 19:00:29 +07:00
  • 0dff7770a1 perf(ai-moderation): speed up analysis queue (ramai + sepi) asepharyana 2026-08-16 18:51:13 +07:00
  • e3dd6a3427 fix(messages): Discord-style order (oldest top, newest bottom) asepharyana 2026-08-16 17:56:39 +07:00
  • 55fdcfaae3 style: biome format chatbot.service (parseResponse call) asepharyana 2026-08-16 17:17:03 +07:00
  • cf1ec25c71 fix(chatbot): disable thinking + use non-streaming LLM call asepharyana 2026-08-16 17:08:10 +07:00
  • 0ace758c79 feat(frontend): safe-area insets + hardened reduced-motion asepharyana 2026-08-16 16:55:34 +07:00
  • c89288191e fix(frontend): responsive layout across all dashboard pages asepharyana 2026-08-16 16:36:34 +07:00
  • 4655125541 feat(frontend): clearer load-older spinner + cap history pages (Messages) asepharyana 2026-08-16 16:21:10 +07:00
  • ba60448d05 feat(frontend): load older messages in Messages view (cursor pagination) asepharyana 2026-08-16 16:06:25 +07:00
  • 1d809b2c95 fix(proxy): route /trpc to backend so browser oRPC WebSocket opens asepharyana 2026-08-16 15:28:58 +07:00
  • 38bda66933 style: fix Biome dead-code warnings from oRPC migration (CI lint gate) asepharyana 2026-08-16 14:51:47 +07:00
  • 726a8e116b fix(build): make oRPC/tRPC dist runnable under node ESM (deploy crashloop) asepharyana 2026-08-16 14:45:02 +07:00
  • 2fa1827f17 feat(backend,frontend): migrate data APIs from REST to native tRPC over WebSocket asepharyanaandClaude Opus 4.5 2026-08-16 13:25:10 +07:00
  • d8552a9fb8 feat(ai): make standalone image/vision analysis timeout explicit (1 min) asepharyanaandClaude Opus 5 (Nous Research) 2026-08-16 10:47:24 +07:00
  • a4abe3abea fix(frontend): remove duplicate Dashboard entry in nav rail 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