asepharyana
f34811e9b6
Delete .github/workflows/flakehub-publish-rolling.yaml
2026-08-25 22:51:25 +07:00
asepharyana
2c30140ddd
feat(frontend): migrate animations to GSAP and update client socket types for Next 16.3
2026-08-25 22:47:25 +07:00
asepharyana
7e92de63d6
feat(frontend): migrate animations to GSAP and add useGSAP lifecycle hooks
2026-08-25 22:41:41 +07:00
mytheclipsebotreview[bot]
68be4352da
Auto-merge PR #18
...
build(deps-dev): bump tsx from 4.23.1 to 4.23.12 in /services/backend
2026-08-25 14:30:28 +00:00
mytheclipsebotreview[bot]
754ef78ff1
Auto-merge PR #20
...
build(deps-dev): bump tsx from 4.23.1 to 4.23.12 in /services/discord-gateway
2026-08-25 14:30:18 +00:00
mytheclipsebotreview[bot]
2959744e0c
Auto-merge PR #19
...
build(deps-dev): bump @types/three from 0.180.0 to 0.185.4 in /services/frontend
2026-08-25 14:30:09 +00:00
dependabot[bot]
cffa72c21f
build(deps-dev): bump tsx in /services/discord-gateway
...
Bumps [tsx](https://github.com/privatenumber/tsx ) from 4.23.1 to 4.23.12.
- [Release notes](https://github.com/privatenumber/tsx/releases )
- [Changelog](https://github.com/privatenumber/tsx/blob/master/release.config.cjs )
- [Commits](https://github.com/privatenumber/tsx/compare/v4.23.1...v4.23.12 )
---
updated-dependencies:
- dependency-name: tsx
dependency-version: 4.23.12
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-25 14:26:03 +00:00
dependabot[bot]
d64c5ba7b6
build(deps-dev): bump @types/three in /services/frontend
...
Bumps [@types/three](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/three ) from 0.180.0 to 0.185.4.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/three )
---
updated-dependencies:
- dependency-name: "@types/three"
dependency-version: 0.185.4
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-25 14:25:57 +00:00
dependabot[bot]
87851f7a71
build(deps-dev): bump tsx from 4.23.1 to 4.23.12 in /services/backend
...
Bumps [tsx](https://github.com/privatenumber/tsx ) from 4.23.1 to 4.23.12.
- [Release notes](https://github.com/privatenumber/tsx/releases )
- [Changelog](https://github.com/privatenumber/tsx/blob/master/release.config.cjs )
- [Commits](https://github.com/privatenumber/tsx/compare/v4.23.1...v4.23.12 )
---
updated-dependencies:
- dependency-name: tsx
dependency-version: 4.23.12
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-25 14:25:55 +00:00
asepharyana
91de43a6c6
fix: switch GMW AI source from omniroute to 9router (model alias revert)
...
- Switch AI_LLM_BASE_URL from omniroute.imrnes.team to 9router.asepharyana.my.id
- Keep AI_LLM_MODEL as 'text' (9router uses alias-based routing, not bare names)
- Update .env.example comments to document 9router
- Per user: multimodal stays 'multimodal' alias
API verified: curl to 9router/v1/chat/completions with model 'text'
returns HTTP 200 (OpenAI-compatible format)
2026-08-25 20:36:24 +07:00
asepharyana
f8fc08de41
fix: switch GMW AI source from omniroute to 9router (model alias revert)
...
- Switch AI_LLM_BASE_URL from omniroute.imrnes.team to 9router.asepharyana.my.id
- Keep AI_LLM_MODEL as 'text' (9router uses alias-based routing, not bare names)
- Update .env.example comments to document 9router
- Per user: multimodal stays 'multimodal' alias
API verified: curl to 9router/v1/chat/completions with model 'text'
returns HTTP 200 (OpenAI-compatible format)
2026-08-25 20:36:08 +07:00
asepharyana
dfa69e9f45
feat: add dependabot auto-merge workflow
2026-08-25 20:33:07 +07:00
asepharyana
0bd4b4075e
Merge pull request #17 from asepharyana/feat/fe-error-handling-state
...
fix: switch GMW AI source from omniroute to 9router
2026-08-25 20:27:10 +07:00
asepharyana
588e750ede
fix: switch GMW AI source from omniroute to 9router
...
- Change AI_LLM_BASE_URL default from omniroute.imrnes.team to 9router.asepharyana.my.id
- Update AI_LLM_MODEL default from 'text' to 'claude-opus-5' (bare model name
compatible with 9router/OpenAI-compatible router)
- Update .env.example and inline comments to reflect 9router
- discord-gateway config now matches backend (which already uses 9router)
2026-08-25 20:22:40 +07:00
asepharyana
b679a02cb9
Merge pull request #16 from asepharyana/dependabot/npm_and_yarn/services/frontend/typescript-7.0.2
...
build(deps-dev): bump typescript from 5.9.3 to 7.0.2 in /services/frontend
2026-08-25 20:05:31 +07:00
mytheclipsebotreview[bot]
4ed1d3c053
Auto-merge PR #6
...
build(deps-dev): bump typescript from 5.9.3 to 7.0.2 in /services/backend
2026-08-25 11:36:10 +00:00
dependabot[bot]
8dbcc2b527
build(deps-dev): bump typescript in /services/frontend
...
Bumps [typescript](https://github.com/microsoft/TypeScript ) from 5.9.3 to 7.0.2.
- [Release notes](https://github.com/microsoft/TypeScript/releases )
- [Commits](https://github.com/microsoft/TypeScript/compare/v5.9.3...v7.0.2 )
---
updated-dependencies:
- dependency-name: typescript
dependency-version: 7.0.2
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-25 11:32:04 +00:00
dependabot[bot]
bda210475d
build(deps-dev): bump typescript in /services/backend
...
Bumps [typescript](https://github.com/microsoft/TypeScript ) from 5.9.3 to 7.0.2.
- [Release notes](https://github.com/microsoft/TypeScript/releases )
- [Commits](https://github.com/microsoft/TypeScript/compare/v5.9.3...v7.0.2 )
---
updated-dependencies:
- dependency-name: typescript
dependency-version: 7.0.2
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-25 11:31:51 +00:00
mytheclipsebotreview[bot]
9b78abaf3d
Auto-merge PR #7
...
build(deps): bump the production group across 1 directory with 8 updates
2026-08-25 11:29:54 +00:00
mytheclipsebotreview[bot]
53c4158511
Auto-merge PR #10
...
build(deps-dev): bump @types/node from 20.19.43 to 26.2.0 in /services/frontend
2026-08-25 11:29:43 +00:00
mytheclipsebotreview[bot]
a2a8c824bf
Auto-merge PR #13
...
build(deps-dev): bump @biomejs/biome from 2.2.0 to 2.5.10 in /services/frontend
2026-08-25 11:29:26 +00:00
mytheclipsebotreview[bot]
dec548fa2f
Auto-merge PR #4
...
build(deps-dev): bump @types/node from 25.9.5 to 26.2.0 in /services/backend
2026-08-25 11:29:18 +00:00
mytheclipsebotreview[bot]
12033e5537
Auto-merge PR #11
...
build(deps-dev): bump typescript from 5.9.3 to 7.0.2 in /services/discord-gateway
2026-08-25 11:29:10 +00:00
dependabot[bot]
d06caa7e58
build(deps): bump the production group across 1 directory with 8 updates
...
Bumps the production group with 8 updates in the /services/discord-gateway directory:
| Package | From | To |
| --- | --- | --- |
| [ioredis](https://github.com/redis/ioredis ) | `5.11.1` | `6.0.0` |
| [openai](https://github.com/openai/openai-node ) | `6.49.0` | `7.5.0` |
| [opusscript](https://github.com/abalabahaha/opusscript ) | `0.0.8` | `0.1.1` |
| [pg](https://github.com/brianc/node-postgres/tree/HEAD/packages/pg ) | `8.22.0` | `8.23.0` |
| [pino](https://github.com/pinojs/pino ) | `9.14.0` | `10.3.1` |
| [piscina](https://github.com/piscinajs/piscina ) | `5.3.0` | `5.3.1` |
| [sharp](https://github.com/lovell/sharp ) | `0.34.5` | `0.35.3` |
| [ws](https://github.com/websockets/ws ) | `8.21.1` | `8.21.3` |
Updates `ioredis` from 5.11.1 to 6.0.0
- [Release notes](https://github.com/redis/ioredis/releases )
- [Changelog](https://github.com/redis/ioredis/blob/main/CHANGELOG.md )
- [Commits](https://github.com/redis/ioredis/compare/v5.11.1...v6.0.0 )
Updates `openai` from 6.49.0 to 7.5.0
- [Release notes](https://github.com/openai/openai-node/releases )
- [Changelog](https://github.com/openai/openai-node/blob/main/CHANGELOG.md )
- [Commits](https://github.com/openai/openai-node/compare/v6.49.0...v7.5.0 )
Updates `opusscript` from 0.0.8 to 0.1.1
- [Release notes](https://github.com/abalabahaha/opusscript/releases )
- [Commits](https://github.com/abalabahaha/opusscript/compare/0.0.8...0.1.1 )
Updates `pg` from 8.22.0 to 8.23.0
- [Changelog](https://github.com/brianc/node-postgres/blob/master/CHANGELOG.md )
- [Commits](https://github.com/brianc/node-postgres/commits/pg@8.23.0/packages/pg )
Updates `pino` from 9.14.0 to 10.3.1
- [Release notes](https://github.com/pinojs/pino/releases )
- [Commits](https://github.com/pinojs/pino/compare/v9.14.0...v10.3.1 )
Updates `piscina` from 5.3.0 to 5.3.1
- [Release notes](https://github.com/piscinajs/piscina/releases )
- [Changelog](https://github.com/piscinajs/piscina/blob/v5.3.1/CHANGELOG.md )
- [Commits](https://github.com/piscinajs/piscina/compare/v5.3.0...v5.3.1 )
Updates `sharp` from 0.34.5 to 0.35.3
- [Release notes](https://github.com/lovell/sharp/releases )
- [Commits](https://github.com/lovell/sharp/compare/v0.34.5...v0.35.3 )
Updates `ws` from 8.21.1 to 8.21.3
- [Release notes](https://github.com/websockets/ws/releases )
- [Commits](https://github.com/websockets/ws/compare/8.21.1...8.21.3 )
---
updated-dependencies:
- dependency-name: ioredis
dependency-version: 6.0.0
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: production
- dependency-name: openai
dependency-version: 7.5.0
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: production
- dependency-name: opusscript
dependency-version: 0.1.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production
- dependency-name: pg
dependency-version: 8.23.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production
- dependency-name: pino
dependency-version: 10.3.1
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: production
- dependency-name: piscina
dependency-version: 5.3.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: sharp
dependency-version: 0.35.3
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production
- dependency-name: ws
dependency-version: 8.21.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-25 11:24:34 +00:00
dependabot[bot]
173ae3c61c
build(deps-dev): bump @types/node in /services/frontend
...
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ) from 20.19.43 to 26.2.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node )
---
updated-dependencies:
- dependency-name: "@types/node"
dependency-version: 26.2.0
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-25 11:23:30 +00:00
dependabot[bot]
2637bbc549
build(deps-dev): bump @biomejs/biome in /services/frontend
...
Bumps [@biomejs/biome](https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome ) from 2.2.0 to 2.5.10.
- [Release notes](https://github.com/biomejs/biome/releases )
- [Changelog](https://github.com/biomejs/biome/blob/main/packages/@biomejs/biome/CHANGELOG.md )
- [Commits](https://github.com/biomejs/biome/commits/@biomejs/biome@2.5.10/packages/@biomejs/biome )
---
updated-dependencies:
- dependency-name: "@biomejs/biome"
dependency-version: 2.5.10
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-25 11:23:19 +00:00
dependabot[bot]
6fc68126ac
build(deps-dev): bump @types/node in /services/backend
...
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ) from 25.9.5 to 26.2.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node )
---
updated-dependencies:
- dependency-name: "@types/node"
dependency-version: 26.2.0
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-25 11:23:08 +00:00
dependabot[bot]
28d09a24c9
build(deps-dev): bump typescript in /services/discord-gateway
...
Bumps [typescript](https://github.com/microsoft/TypeScript ) from 5.9.3 to 7.0.2.
- [Release notes](https://github.com/microsoft/TypeScript/releases )
- [Commits](https://github.com/microsoft/TypeScript/compare/v5.9.3...v7.0.2 )
---
updated-dependencies:
- dependency-name: typescript
dependency-version: 7.0.2
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-25 11:22:50 +00:00
mytheclipsebotreview[bot]
f2ec642a0e
Auto-merge PR #12
...
build(deps-dev): bump puppeteer-core from 25.7.0 to 25.8.0 in /services/frontend
2026-08-25 11:21:41 +00:00
mytheclipsebotreview[bot]
8a491b9ec2
Auto-merge PR #8
...
build(deps): bump the production group in /services/frontend with 7 updates
2026-08-25 11:20:56 +00:00
mytheclipsebotreview[bot]
7d54d3a660
Auto-merge PR #2
...
build(deps): bump the production group in /services/backend with 4 updates
2026-08-25 11:20:48 +00:00
mytheclipsebotreview[bot]
21509c25ff
Auto-merge PR #15
...
build(deps-dev): bump @types/node from 25.9.5 to 26.2.0 in /services/discord-gateway
2026-08-25 11:20:35 +00:00
asepharyana
09724287cb
feat: update dependabot config
2026-08-25 18:16:49 +07:00
dependabot[bot]
1ac3d50315
build(deps-dev): bump @types/node in /services/discord-gateway
...
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ) from 25.9.5 to 26.2.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node )
---
updated-dependencies:
- dependency-name: "@types/node"
dependency-version: 26.2.0
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-25 11:15:57 +00:00
dependabot[bot]
9c48d50d25
build(deps-dev): bump puppeteer-core in /services/frontend
...
Bumps [puppeteer-core](https://github.com/puppeteer/puppeteer ) from 25.7.0 to 25.8.0.
- [Release notes](https://github.com/puppeteer/puppeteer/releases )
- [Changelog](https://github.com/puppeteer/puppeteer/blob/main/CHANGELOG.md )
- [Commits](https://github.com/puppeteer/puppeteer/compare/puppeteer-core-v25.7.0...puppeteer-core-v25.8.0 )
---
updated-dependencies:
- dependency-name: puppeteer-core
dependency-version: 25.8.0
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-25 11:15:28 +00:00
dependabot[bot]
8bd3ec8e83
build(deps): bump the production group
...
Bumps the production group in /services/frontend with 7 updates:
| Package | From | To |
| --- | --- | --- |
| [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react ) | `1.28.0` | `1.33.0` |
| [motion](https://github.com/motiondivision/motion ) | `12.43.0` | `13.1.1` |
| [next](https://github.com/vercel/next.js ) | `16.2.12` | `16.3.2` |
| [react](https://github.com/react/react/tree/HEAD/packages/react ) | `19.2.4` | `19.2.8` |
| [react-dom](https://github.com/react/react/tree/HEAD/packages/react-dom ) | `19.2.4` | `19.2.8` |
| [swr](https://github.com/vercel/swr ) | `2.4.2` | `2.5.1` |
| [three](https://github.com/mrdoob/three.js ) | `0.180.0` | `0.185.1` |
Updates `lucide-react` from 1.28.0 to 1.33.0
- [Release notes](https://github.com/lucide-icons/lucide/releases )
- [Commits](https://github.com/lucide-icons/lucide/commits/1.33.0/packages/lucide-react )
Updates `motion` from 12.43.0 to 13.1.1
- [Changelog](https://github.com/motiondivision/motion/blob/main/CHANGELOG.md )
- [Commits](https://github.com/motiondivision/motion/compare/v12.43.0...v13.1.1 )
Updates `next` from 16.2.12 to 16.3.2
- [Release notes](https://github.com/vercel/next.js/releases )
- [Commits](https://github.com/vercel/next.js/compare/v16.2.12...v16.3.2 )
Updates `react` from 19.2.4 to 19.2.8
- [Release notes](https://github.com/react/react/releases )
- [Changelog](https://github.com/react/react/blob/main/CHANGELOG.md )
- [Commits](https://github.com/react/react/commits/v19.2.8/packages/react )
Updates `react-dom` from 19.2.4 to 19.2.8
- [Release notes](https://github.com/react/react/releases )
- [Changelog](https://github.com/react/react/blob/main/CHANGELOG.md )
- [Commits](https://github.com/react/react/commits/v19.2.8/packages/react-dom )
Updates `swr` from 2.4.2 to 2.5.1
- [Release notes](https://github.com/vercel/swr/releases )
- [Commits](https://github.com/vercel/swr/compare/v2.4.2...v2.5.1 )
Updates `three` from 0.180.0 to 0.185.1
- [Release notes](https://github.com/mrdoob/three.js/releases )
- [Commits](https://github.com/mrdoob/three.js/commits )
---
updated-dependencies:
- dependency-name: lucide-react
dependency-version: 1.33.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production
- dependency-name: motion
dependency-version: 13.1.1
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: production
- dependency-name: next
dependency-version: 16.3.2
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production
- dependency-name: react
dependency-version: 19.2.8
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: react-dom
dependency-version: 19.2.8
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
- dependency-name: swr
dependency-version: 2.5.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production
- dependency-name: three
dependency-version: 0.185.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-25 11:15:04 +00:00
dependabot[bot]
5a4a203f01
build(deps): bump the production group
...
Bumps the production group in /services/backend with 4 updates: [ioredis](https://github.com/redis/ioredis ), [pg](https://github.com/brianc/node-postgres/tree/HEAD/packages/pg ), [pino](https://github.com/pinojs/pino ) and [ws](https://github.com/websockets/ws ).
Updates `ioredis` from 5.11.1 to 6.0.0
- [Release notes](https://github.com/redis/ioredis/releases )
- [Changelog](https://github.com/redis/ioredis/blob/main/CHANGELOG.md )
- [Commits](https://github.com/redis/ioredis/compare/v5.11.1...v6.0.0 )
Updates `pg` from 8.22.0 to 8.23.0
- [Changelog](https://github.com/brianc/node-postgres/blob/master/CHANGELOG.md )
- [Commits](https://github.com/brianc/node-postgres/commits/pg@8.23.0/packages/pg )
Updates `pino` from 9.14.0 to 10.3.1
- [Release notes](https://github.com/pinojs/pino/releases )
- [Commits](https://github.com/pinojs/pino/compare/v9.14.0...v10.3.1 )
Updates `ws` from 8.21.1 to 8.21.3
- [Release notes](https://github.com/websockets/ws/releases )
- [Commits](https://github.com/websockets/ws/compare/8.21.1...8.21.3 )
---
updated-dependencies:
- dependency-name: ioredis
dependency-version: 6.0.0
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: production
- dependency-name: pg
dependency-version: 8.23.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: production
- dependency-name: pino
dependency-version: 10.3.1
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: production
- dependency-name: ws
dependency-version: 8.21.3
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: production
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-08-25 11:14:06 +00:00
asepharyana
7f0aa5a7ad
feat: dependabot config with multi-dir (backend, gateway, frontend)
2026-08-25 18:12:10 +07:00
asepharyana
eb0be981c6
feat: add dependabot config (npm)
2026-08-25 18:07:58 +07:00
mytheclipsebotreview[bot]
466e117bd5
Auto-merge PR #1
...
feat(fe): optimize error handling, state consistency, and WS feedback
2026-08-25 08:36:58 +00:00
asepharyana
31e303c187
feat(fe): optimize error handling, state consistency, and WS feedback
...
- Add global SWR config with exponential backoff retry (swr-config.ts)
- Add ErrorBoundary component for React crash recovery (error-boundary.tsx)
- Standardize ErrorState onRetry on all 6 dashboard views (dashboard, media,
messages, moderation, recordings, voice)
- Fix useAction: expose resetError + onError callback
- Refactor useSpeakers to SWR-backed state (was local useState) for
consistent cache/revalidate semantics with other hooks
- Remove polling in useReview (15s refreshInterval); replace with
useReviewWsSync subscribing to WS moderation_action events
- Extract hashUserId to lib/hash.ts (de-dup with ambient-canvas)
- WS context: add reconnect/error toast feedback via onStatusChange
- WS connection: expose reconnectAttemptCount getter
All typecheck + lint clean, Next 16 build passes.
2026-08-25 13:46:15 +07:00
asepharyana
796c6390ac
perf(gmw-ai): cache-hit optimization — bare-key Qdrant upsert + hit_count bump
2026-08-25 12:03:47 +07:00
asepharyana
ecbf2617e4
fix(ai-moderation): matikan hot requeue loop saat upload attachment in-flight
...
Batch race guard balikin {ok:true, rows:[]} tanpa sinyal saat semua target
masih upload-pending -> processor klasifikasi semua incomplete -> fanout ke
individual queue -> di situ requeue + reschedule 250ms -> balik ke batch:
hot loop ~300ms sepanjang upload (10 siklus/3 dtk di log prod 08:13).
Fix: worker batch kini return uploadPendingIds eksplisit; classifier pure
baru (partitionBatchOutcome) partisi completed/upload_pending/incomplete/
parse_failed/api_failed; target upload-pending DEFERRED dengan poll backoff
linear (AI_ANALYSIS_UPLOAD_POLL_MS 1500 base, cap AI_ANALYSIS_MAX_UPLOAD_POLL_MS
8000), tidak pernah masuk fanout; tail shouldScheduleNext tak menimpa defer.
Test: tests/batchOutcomeClassifier.test.ts (8 kasus, pure tanpa DB/Piscina).
2026-08-25 10:37:11 +07:00
asepharyana
9ef7d005fb
style(llmClient): explicit type utk let completion (noImplicitAnyLet)
2026-08-24 22:07:33 +07:00
asepharyana
842610b1af
fix(ai-moderation): bedah delay attachment ~330s -> target <20s
...
Root cause (trace msg 1541417073245290638):
- Race-guard upload-pending balik results:[] diperlakukan sbg SUKSES
-> row yatam 'processing' sampai cleanup 300s mengembalikan
- Vision gagal 3x utk GIF besar (SSE truncation) tanpa fallback
Fix:
- Sinyal eksplisit uploadPending dari worker race guard
- Classifier murni classifyIndividualWorkerResult(): upload_pending ->
requeue pending + reschedule segera (250ms), bukan error palsu;
empty-results ok:true kini error transien (bug silent-success mati)
- llmVision fallback stream:false sekali saat SSE truncation
- Safety-net cleanup stuck processing 300s -> 120s
2026-08-24 22:05:28 +07:00
asepharyana
fca96396b9
style(ai-moderation): sort import moderationOrchestrator (biome organizeImports)
2026-08-24 20:20:26 +07:00
asepharyana
ccf3fa260e
perf(ai-moderation): dual-key write-back — clean verdict ikut di-cache global
...
Analisis pertama tetap berkonteks (chat history) demi akurasi, tapi
verdict clean non-actionable (conf>=0.85) juga ditulis di bare key
tanpa konteks. Repeat teks sama di channel lain -> exact cache HIT,
bukan LLM call baru. Guard sama dgn read path; dedupe LRU per proses;
bare row tanpa embedding (tier semantic sudah global).
2026-08-24 20:18:14 +07:00
asepharyana
1accfd9390
perf(ai-moderation): naikkan cache hit dgn guard akurasi
...
- Fase-1 exact-cache lookup: N query serial -> SATU query ANY($1::text[])
- Global reuse utk bare key legacy, HANYA verdict non-actionable
(clean/flagless/action=none, conf>=0.85, umur<=72h) — flagged/warn
tetap context-scoped
- Semantic cache dua-band: clean band 0.92 default, actionable tetap
0.97; di antara band -> LLM (fail-open ke akurasi)
- hit_count kini di-increment (bulk UPDATE per batch) -> hit-rate terukur
- Cache hasil wikipediaSearch di Redis (6h, hanya hasil non-kosong)
- Memoize fetchUrlSafely utk type=text (LRU 30m + in-flight dedupe)
- makeImageCacheKey strip query CDN Discord (?ex/is/hm, format/width)
-> attachment sama = satu key vision, skip re-download+re-vision
Spec: .hermes/plans/2026-08-24-ai-analysis-cache-optimization.md
Tests: +33 (cacheGuards, discordImageKeyNormalize, cacheBatchLookup)
2026-08-24 18:51:23 +07:00
asepharyana
440ec41da8
polish(frontend): perkuat bracket & marker segitiga game-menu (nudge anim)
2026-08-24 17:52:50 +07:00
asepharyana
1c8c0ca081
fix(frontend): normalisasi trailing slash pada isActivePath agar nav aktif terdeteksi
2026-08-24 17:44:42 +07:00