-
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
-
493bca590d
fix(infra): build native voice deps (opus, datachannel) in Nix closure
asepharyana
2026-08-01 12:44:01 +07:00
-
823b484497
chore(gateway): pnpm 11 build-script approvals (allowBuilds) for native voice deps
asepharyana
2026-08-01 11:47:01 +07:00
-
891c1305f0
feat(gateway): restore Discord GoLive screenshare (dulu pernah ada, hilang saat split microservices)
asepharyana
2026-08-01 11:36:40 +07:00
-
189ab1c1f6
feat(fe): real mic capture for voice transmit (kirim suara)
asepharyana
2026-08-01 11:26:18 +07:00
-
9d60f00934
fix(infra): add ffmpeg + yt-dlp to gmw-discord-gateway runtime
asepharyana
2026-08-01 11:22:20 +07:00
-
903e7c4aeb
feat(fe): remove Settings page from dashboard
asepharyana
2026-08-01 11:13:47 +07:00
-
0771e62223
feat(fe): remove Live tab from dashboard
asepharyana
2026-08-01 11:10:36 +07:00
-
8e7ba67248
fix: message detail shows only its own images, not everyone's
asepharyana
2026-08-01 10:59:54 +07:00
-
8a4024f619
fix(fe): crash 'reading charAt' on message avatar fallback
asepharyana
2026-08-01 10:37:21 +07:00
-
ec89d64dbf
fix(fe): crash 'reading channel_id' + recharts width/height warnings
asepharyana
2026-08-01 10:21:23 +07:00
-
6f41c22cb5
fix(db): migration 0013 rename mascot_chat_messages to chatbot_messages
asepharyana
2026-08-01 09:38:27 +07:00
-
01c18b2060
refactor(fe): replace TanStack Query with SWR + UI/data cleanup
asepharyana
2026-08-01 09:19:39 +07:00
-
1f91f99de3
feat(automod): render sticker, role & user names in moderation views
asepharyana
2026-08-01 08:56:10 +07:00
-
6df4f306dd
refactor: remove unused text analysis module and integrate Qdrant enhancements
Developer
2026-07-31 23:09:00 +07:00
-
fc475dfbb7
feat(automod): store semantic cache embeddings in Qdrant
Developer
2026-07-31 21:30:43 +07:00
-
dc119b5d5a
chore(env): switch AI_LLM_BASE_URL to omniroute (imrnes:20128)
Developer
2026-07-31 21:11:39 +07:00
-
2f298cfe22
fix(db): correct migration 0012 timestamp — drizzle skips when < last applied
Developer
2026-07-31 20:22:21 +07:00
-
7ab9a7fd2d
fix(automod): force float encoding for embeddings — Nvidia models reject base64
Developer
2026-07-31 20:14:18 +07:00
-
67e432564d
ci(deploy): declarative env — CI writes service env from Gitea secrets
Developer
2026-07-31 20:08:46 +07:00
-
f2b797e6ce
refactor(deploy): remove max-parallel setting from job strategy
Developer
2026-07-31 19:46:19 +07:00
-
8480407167
fix(automod): parenthesize ?? chain in autoDeleteNotify — Node runtime SyntaxError
Developer
2026-07-31 19:46:07 +07:00
-
1249ae81d8
perf(automod): compress prompts ~40% + semantic cache via AI_LLM_EMBEDDING_MODEL
Developer
2026-07-31 19:37:53 +07:00
-
60084b3cc3
fix(automod): flow real LLM analysis + descriptive fallback
Developer
2026-07-31 19:11:13 +07:00
-
0bd4369ae9
refactor(automod): remove regex classifier — LLM is the sole judge
Developer
2026-07-31 17:55:02 +07:00
-
a2cda745f7
fix(automod): sanitize Discord tokens + boundary phone regex in Layer 1
Developer
2026-07-31 17:25:00 +07:00
-
460857b4eb
docs(fe): record backend/gateway data-flow contract in AGENTS.md
Developer
2026-07-31 16:55:20 +07:00