This website requires JavaScript.
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
asepharyana and Claude Opus 4.5
2026-08-16 13:25:10 +07:00
d8552a9fb8
feat(ai): make standalone image/vision analysis timeout explicit (1 min)
asepharyana and Claude Opus 5 (Nous Research)
2026-08-16 10:47:24 +07:00
a4abe3abea
fix(frontend): remove duplicate Dashboard entry in nav rail
asepharyana and Claude Opus 5 (Nous Research)
2026-08-16 09:25:07 +07:00
b67856462f
feat(chatbot): expand tool set to cover all server-watcher situations
asepharyana and Claude Opus 5 (Nous Research)
2026-08-16 09:22:20 +07:00
30828a5534
refactor(chatbot): drop static server-stats context, go fully tool-based
asepharyana and Claude Opus 5 (Nous Research)
2026-08-16 09:15:39 +07:00
a3e5a8c1b9
perf(gateway): hoist correctedExamples query out of retry closure
asepharyana and Claude Opus 5 (Nous Research)
2026-08-16 09:06:17 +07:00
f82b5caae4
refactor(gateway): strip boilerplate fields from few-shot examples
asepharyana and Claude Opus 5 (Nous Research)
2026-08-16 09:00:55 +07:00
9e2b107fcd
refactor(gateway): compact AI analysis system prompt, preserve all rules
asepharyana and Claude 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
asepharyana and Claude 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