MythEclipse
2ea0ea5810
chore(frontend): update logo source and add mascot to sidebar
...
Update the favicon and sidebar logo to use remote URLs from the GitHub repository. Add a mascot image to the sidebar that is only visible when the sidebar is expanded.
2026-06-03 13:50:08 +07:00
MythEclipse
b08ed237c6
refactor(messages): group messages by user and refactor card layout into header + rows
2026-06-03 03:33:30 +07:00
MythEclipse
aa8f619950
a
2026-06-03 03:23:10 +07:00
MythEclipse
4a1c7925fe
style(frontend): organize imports alphabetically and improve code formatting
2026-06-03 03:21:20 +07:00
MythEclipse
115dacb997
style(frontend): refactor analytics components with sky palette, semantic tokens, and visual polish
2026-06-03 03:20:07 +07:00
MythEclipse
e8deba93cc
style(frontend): refactor UI components with sky color palette, improved spacing, and design polish
2026-06-03 03:18:04 +07:00
MythEclipse
20681ef308
Which direction fits your commit philosophy better?
2026-06-03 03:16:06 +07:00
MythEclipse
e2003cd9f6
style(frontend): refactor UI components with rounded corners, light theme, and design polish
2026-06-03 03:12:14 +07:00
MythEclipse
caee0c692a
feat(frontend): add ChibiMascot component with animation variants
2026-06-03 03:08:36 +07:00
MythEclipse
3802ca357f
feat(frontend): refactor ParticleBackground for performance and type safety
2026-06-03 03:07:51 +07:00
MythEclipse
0d83ada0ef
feat(frontend): add ParticleBackground component with sakura petals and mouse-tracked sparkles
2026-06-03 03:06:41 +07:00
MythEclipse
09119ef1c2
feat(frontend): add useGsapTransition hook for page animations with reduced motion support
2026-06-03 03:04:17 +07:00
MythEclipse
b667805ff3
style: add light theme tokens and framer motion variants
2026-06-03 03:02:00 +07:00
MythEclipse
ddd144df53
feat(frontend): add animation and 3D rendering dependencies
2026-06-03 03:00:35 +07:00
MythEclipse
b5f233ef88
docs: add anime UI overhaul design spec
2026-06-03 02:55:40 +07:00
MythEclipse
8d34aa7125
refactor(frontend): remove warn moderation status — hardcode warn to 0 in charts, drop warn filter/badge/buttons/Api, simplify to flagged-only
2026-06-03 01:13:47 +07:00
MythEclipse
b7d4e66600
refactor: remove json_schema response format, simplify to json_object only
2026-06-03 00:40:42 +07:00
MythEclipse and Claude Opus 4.8
6da8a32c9b
feat: add "Retry All Errors" batch reanalyze button
...
Backend:
- POST /api/messages/reanalyze-batch — bulk reset error messages to pending
- messages.repository.reanalyzeErrorBatch() — scoped by guildId/channelId/messageIds
- messages.service.reanalyzeErrorBatch() — validation layer
Frontend:
- reanalyzeErrorBatch() API client function
- useMessages.reanalyzeAllErrors() — optimistic state + batch call
- MessagesPanel: destructive button visible when error count > 0
- Shows confirmation text with queued count
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-03 00:17:51 +07:00
MythEclipse
d81aaf2b4a
feat(db): add migration to drop unused AI columns and dynamically resolve initial migration tag
2026-06-02 23:55:12 +07:00
MythEclipse
88acda4703
feat(db): add migration snapshot for corrected_moderations table
2026-06-02 23:44:29 +07:00
MythEclipse and Claude Opus 4.8
8ff547af43
fix(db): add migration for corrected_moderations table
...
Table was defined in Drizzle schema at schema.ts:425 but no migration
existed. Runtime queries from text-cache-store fail with:
relation "corrected_moderations" does not exist
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-02 23:43:40 +07:00
MythEclipse and Claude Opus 4.8
0f32c2a83a
fix(docker): build @bete/shared before backend and discord-gateway
...
@bete/shared emits dist/ artifact; imports resolve via
package.json "main"/"exports" pointing to dist/. Both
services need the shared package built before `tsc` sees it.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-02 23:38:07 +07:00
MythEclipse and Claude Opus 4.8
cd181698bc
fix(docker): copy packages/shared workspace dependency into backend and discord-gateway containers
...
Both services import from @bete/shared but Dockerfiles were missing the
packages/shared/ copy step, causing tsc errors on build.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-02 23:33:53 +07:00
MythEclipse and Claude Opus 4.8
88a1b59f02
fix(docker): copy patches directory for pnpm patchedDependencies
...
pnpm install --frozen-lockfile fails in Docker with ENOENT when
pnpm-lock.yaml references patched dependencies (jsdoc@3.6.11.patch)
but the patches/ directory is not copied into the container.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-02 23:31:12 +07:00
MythEclipse
f981d65004
chore(ci): bump docker/setup-buildx-action and docker/login-action from v3 to v4
2026-06-02 23:19:38 +07:00
MythEclipse
0ef57033e3
chore(deps): bump discord.js-selfbot-v13 submodule
2026-06-02 23:19:27 +07:00
MythEclipse
fd88b66c63
chore(deps): bump discord.js-selfbot-v13 submodule
2026-06-02 23:19:06 +07:00
MythEclipse
b98aba5748
Tidak ada perubahan staged. Staging area kosong — git diff --cached tidak menghasilkan output. Silakan git add file yang ingin di-commit terlebih dahulu.
2026-06-02 23:09:30 +07:00
MythEclipse
3f3a1184fe
Tidak ada perubahan staged untuk dibuatkan commit message. Working tree bersih — git status menunjukkan tidak ada file yang di-stage. Silakan git add file yang ingin di-commit terlebih dahulu, lalu saya bisa bantu tulis commit messagenya.
2026-06-02 23:08:48 +07:00
MythEclipse
75983a390c
There are no staged changes to commit — the working tree is clean (nothing to commit, working tree clean). Stage some files first with git add, then I can craft the commit message.
2026-06-02 23:07:21 +07:00
MythEclipse
c1de1279a5
There are no staged changes to commit. The staging area is empty — git status shows a clean working tree with nothing staged.
2026-06-02 23:07:11 +07:00
MythEclipse
1f3d1ac3f4
API Error: API returned an empty or malformed response (HTTP 200) — check for a proxy or gateway intercepting the request
2026-06-02 23:06:55 +07:00
MythEclipse
0339ff75f9
There are no staged changes to commit. Stage some files first with git add, then I can help craft the commit message.
2026-06-02 23:06:18 +07:00
MythEclipse
f10fa9aa88
feat(discord-gateway): export correctedModerationsTable from database schema
2026-06-02 23:05:37 +07:00
MythEclipse
eb16c1f504
```
2026-06-02 23:05:33 +07:00
MythEclipse
0cd4f197e9
No staged changes found — the staging area is empty. Stage some files first with git add, then I can help craft the commit message.
2026-06-02 23:05:06 +07:00
MythEclipse
130f45a859
The git add -A command needs your approval to stage the modified file. Once staged, I'll craft the commit message.
2026-06-02 23:04:16 +07:00
MythEclipse
a227c883e3
There are no staged changes to commit. The staging area is empty — stage some files first with git add and I can help craft the message.
2026-06-02 23:00:42 +07:00
MythEclipse
aac80e569f
perf(discord-gateway): parallelize all media downloads into single Promise.all batch
2026-06-02 22:59:33 +07:00
MythEclipse
c18954a263
The staging area is empty — there are no staged changes to summarize. Stage some files first with git add and I can help craft the message.
2026-06-02 22:58:41 +07:00
MythEclipse
9f0d0d06ad
If you meant to summarize the most recent (already committed) changes on this branch (41 commits ahead of origin/master), let me know and I can help craft a message for a squash or a summary instead.
2026-06-02 22:57:03 +07:00
MythEclipse
ce2b789282
```
2026-06-02 22:55:32 +07:00
MythEclipse
f4b2b76881
The staging area is empty and the working tree is clean — there are **no staged changes to commit**. All changes from the last commit (8150c5a) are already committed. If you want to amend that commit or make new changes, you'll need to stage some files first.
2026-06-02 22:54:49 +07:00
MythEclipse
8150c5a20c
fix(discord-gateway): update tiktoken import to encoding_for_model and replace includeMediaInstructions boolean with mode enum
2026-06-02 22:52:05 +07:00
MythEclipse
acb7e86f07
No staged changes found. The staging area is empty.
2026-06-02 22:51:47 +07:00
MythEclipse
774472b6ba
perf(discord-gateway): add tiktoken token counting, vision LRU cache, PromptMode few-shot splits, and Piscina maxThreads config
2026-06-02 22:50:53 +07:00
MythEclipse
f163ead3cf
feat(discord-gateway): add local badword pre-filter, accurate token estimation, Piscina maxThreads config, and PromptMode support
2026-06-02 22:50:23 +07:00
MythEclipse
6d2da7ce1d
perf(discord-gateway): start AI moderation analysis immediately, running attachment uploads in parallel instead of blocking
2026-06-02 22:49:57 +07:00
MythEclipse
b0a879647e
feat(discord-gateway): add perceptual hash helpers for image deduplication in ai-moderation
2026-06-02 22:49:37 +07:00
MythEclipse
decfb8fb61
[CommandCode error: {"type":"server_error","message":"Service temporarily unavailable. Please try again shortly.","statusCode":503,"isRetryable":true}]
2026-06-02 22:49:15 +07:00
MythEclipse
f8bdb16598
chore: session auto-commit
2026-06-02 22:44:58 +07:00
MythEclipse
268192aba1
There are **no staged changes** to commit. The working tree is clean — git diff --cached --stat returned nothing. Stage some changes first (git add ...) and I'll write the commit message.
2026-06-02 22:44:54 +07:00
MythEclipse
bf6ec728c4
chore(discord-gateway): remove stale eslint-disable comment for sticker cache stats
2026-06-02 22:20:46 +07:00
MythEclipse
c80a344391
fix(discord-gateway): change statsCache from const to let for reassignment in initStickerCache
2026-06-02 22:20:26 +07:00
MythEclipse
3b86bf4920
fix(discord-gateway): use const for sticker cache stats variable
2026-06-02 22:20:14 +07:00
MythEclipse
204e181e0e
There are no staged changes to commit. The working tree is clean — git diff --cached returned nothing. You'll need to stage some changes first (git add ...) before I can write a commit message.
2026-06-02 22:20:02 +07:00
MythEclipse
00851e76da
There are **no staged changes** to work with — the working tree is clean and git diff --cached returned nothing.
2026-06-02 22:16:06 +07:00
MythEclipse
9e8881f4f0
There are no staged changes to summarize. The working tree is clean and git diff --cached returned nothing.
2026-06-02 22:15:33 +07:00
MythEclipse
d98ce9406e
No staged or unstaged changes — the working directory is clean. There's nothing to commit.
2026-06-02 22:15:01 +07:00
MythEclipse
cdbd8e1684
fix(discord-gateway): use PostgreSQL positional parameters in sticker cache query
2026-06-02 22:14:05 +07:00
MythEclipse
22b8e1a698
I can see the git command needs permission to run. Could you approve the git diff --cached command so I can see the staged changes and write the commit message?
2026-06-02 22:13:29 +07:00
MythEclipse
9b1f6b4a8d
There are no staged changes to summarize.
2026-06-02 22:13:03 +07:00
MythEclipse
57d28a08af
feat(ai-moderation): add per-batch timeout for text-only moderation calls
2026-06-02 22:12:32 +07:00
MythEclipse
4c5d76ea38
No staged changes detected. Would you like me to check unstaged changes instead?
2026-06-02 22:12:25 +07:00
MythEclipse
0a71e76e62
fix(ai-moderation): enforce concurrency cap, prune stale counters, and prevent retry collisions
2026-06-02 22:12:03 +07:00
MythEclipse
9c352c94c9
chore: no staged changes
2026-06-02 22:05:47 +07:00
MythEclipse
862586a863
No staged changes found.
2026-06-02 22:04:46 +07:00
MythEclipse
1359dd4955
chore: no staged changes
2026-06-02 22:04:09 +07:00
MythEclipse
a4e91822f6
chore: no staged changes
2026-06-02 22:03:53 +07:00
MythEclipse
55042ca9eb
chore: no staged changes
2026-06-02 22:03:44 +07:00
MythEclipse
1e1fbb4583
fix(discord-gateway): require LLM API key only when AI analysis is enabled
2026-06-02 21:46:15 +07:00
MythEclipse
831bb692d9
chore: no staged changes
2026-06-02 21:44:42 +07:00
MythEclipse and Claude Opus 4.8
543be63503
chore: remove deprecated createLogger alias from @bete/shared/logger
...
Zero usages found across the codebase. Safe to delete.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-02 21:27:07 +07:00
MythEclipse
19028cf244
refactor: migrate discord-gateway from winston to @bete/shared/logger and utils
...
- Replace all local logger imports (../../shared/logger/logger.js) with @bete/shared/logger across 26 files
- Remove winston dependency, add pino to discord-gateway package.json
- Delete shared/logger/logger.ts (winston-based, 132 lines) and serialization.ts (109 lines)
- Replace local retryWithBackoff imports with @bete/shared/utils across 6 files
- Delete shared/utils/retry.ts (42 lines)
- Add CustomLogger type alias to @bete/shared/logger for backwards compatibility
- Remove logger param from all retryWithBackoff calls and uploadToTele interfaces
- Frontend: convert entity type files to re-exports from shared/api/client.ts
- Full monorepo typecheck clean (4/4 packages)
35 files changed, 42 insertions(+), 488 deletions(-)
2026-06-02 21:23:12 +07:00
MythEclipse
2d79d8aefd
feat(shared): reorder AppError constructor to (message, code, status), add singleton logger, retry and TTL cache utilities
2026-06-02 21:06:42 +07:00
MythEclipse
9045e7e347
chore(backend): switch moduleResolution to bundler and remove baseUrl from tsconfig
2026-06-02 19:14:50 +07:00
MythEclipse
61b5a59ed3
chore: auto-commit task -
2026-06-02 19:08:06 +07:00
MythEclipse
0e61ad90e2
chore: auto-commit task -
2026-06-02 19:06:23 +07:00
MythEclipse
685a6b2ea9
chore: auto-commit task -
2026-06-02 19:04:49 +07:00
MythEclipse
d1ad397be6
chore: session auto-commit
2026-06-02 18:57:38 +07:00
MythEclipse
924a6b8819
chore: session auto-commit
2026-06-02 18:57:13 +07:00
MythEclipse
0fa49b3613
chore: session auto-commit
2026-06-02 18:55:48 +07:00
MythEclipse and Claude Opus 4.7
de29f3d011
chore: update discord.js-selfbot-v13 submodule to formatted version
...
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
2026-06-02 18:48:27 +07:00
MythEclipse
1a0090429e
chore: auto-commit task -
2026-06-02 18:47:18 +07:00
MythEclipse
d41c086253
chore: session auto-commit
2026-06-02 18:34:55 +07:00
MythEclipse
5520094725
chore: auto-commit task -
2026-06-02 18:31:32 +07:00
MythEclipse and Claude Opus 4.8
363676b608
fix: remove dead OpenAI client instance and fix ChatCompletion type imports
...
- Delete unused OpenAI WAF bypass client block (60+ lines) from both monolith
and microservice llmModerationClient.ts
- Replace OpenAI.Chat.Completions.ChatCompletion with type-only ChatCompletion
import from openai/resources/chat/completions
- All LLM chat calls already go through centralized llmClient.ts helper
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-02 18:22:42 +07:00
MythEclipse
71de941470
chore: session auto-commit
2026-06-02 18:09:00 +07:00
MythEclipse and Claude Opus 4.8
b405e0e9a6
refactor: centralize all LLM chat.completions.create calls into llmClient helper
...
- Create llmClient.ts (monolith + microservice) with llmChat(), llmVision(), llmDetectBadwords()
- Refactor llmModerationClient.ts: vision and moderation batch calls use llmClient
- Refactor indonesianTextNormalizer.ts: badword detection uses llmClient
- Remove unused withLlmConcurrency and direct openai.chat.completions.create imports
- All LLM config (model, tokens, concurrency, retry) now maintained in one place
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-02 18:05:20 +07:00
MythEclipse
292fcbf238
chore: session auto-commit
2026-06-02 17:55:42 +07:00
MythEclipse
a2d4ba3f95
chore: auto-commit task -
2026-06-02 17:45:47 +07:00
MythEclipse
e0d54b7770
chore: auto-commit task -
2026-06-02 17:33:19 +07:00
MythEclipse and Claude Opus 4.8
1bc0b7c7bb
refactor: simplify AI moderation pipeline to Primary AI only, fix stickerCache executeGet
...
- Remove Groq and NVIDIA fallback from text moderation pipeline
- Remove GROQ_API_KEY, GROQ_MODERATION_*, NVIDIA_NEMOTRON_* config vars
- Update source enum: remove 'groq' and 'nvidia' from cache/schema types
- Rewrite indonesianTextNormalizer to use Primary AI only (no fallback chain)
- Rewrite remote test to test Primary AI only
- Fix stickerCache executeGet missing empty params array
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-02 17:25:55 +07:00
MythEclipse
049fd49737
chore: session auto-commit
2026-06-02 17:25:01 +07:00
MythEclipse
b23ccf0837
chore: session auto-commit
2026-06-02 17:12:42 +07:00
MythEclipse
498ab73d62
chore: auto-commit task -
2026-06-02 17:08:42 +07:00
MythEclipse
406a6cbf79
refactor: migrate sticker cache to PostgreSQL, remove versioning
...
- Replace file-based sticker cache (.dat + index.json) with PostgreSQL sticker_cache table
- Remove model_version column and all versioning logic (git branch detection, GitHub API, CACHE_MODEL_VERSION)
- Strip VISION_MODEL_VERSION, logCacheEvent calls, and version filtering from SQL queries
- Remove STICKER_CACHE_DIR and STICKER_CACHE_MAX_SIZE_MB config variables
- Delete dead migration add_model_version_to_cache.sql
textCacheStore.ts reduced 482→204 lines (-57%)
stickerCache.ts reduced 210→144 lines (-31%)
Total: 11 files changed, 233 insertions, 591 deletions
2026-06-02 14:05:51 +07:00
MythEclipse and Claude Opus 4.8
e584a7941e
fix(text-cache): apply model version migration on existing dbs
...
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-02 13:05:05 +07:00
MythEclipse and Claude Opus 4.8
e5673c2bbd
feat(text-cache): resolve cache version from real GitHub API, no static env or dummy
...
- Add fetchRemoteBranchFromGitHub() to query https://api.github.com/repos/MythEclipse/bete for actual default_branch
- Add resolveBranch() tiered resolver: git CLI → GitHub API → env → error
- Async post-startup branch resolution upgrades version from emergency fallback to real remote branch
- normalizeBranchName() for consistent version key formatting
- Emergency fallback 'v1' logged as ERROR with repo context — not a silent dummy
- Removed static env-first approach; env is now tier 3 override, not tier 1
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-02 12:52:56 +07:00
MythEclipse and Claude Opus 4.8
682fb31deb
fix(text-cache): add missing model_version column to migration + strict git detection
...
- Create new migration 0001_add_model_version_to_cache.sql to add model_version column to text_analysis_cache table (default 'v1')
- Add composite index on source + model_version for efficient cache lookups
- Improve git branch detection in textCacheStore.ts:
* Check CACHE_MODEL_VERSION env var first (required in Docker)
* Suppress stderr with stdio pipes to eliminate spurious warnings
* Log ERROR (not warning) when git unavailable AND no env var set
* Only fall back to 'v1' as last resort, preventing silent dummy usage
- Remove unused imports (logModelVersionChange, logCacheInvalidation) and previousVersion variable
- Fixes repeated 'column model_version does not exist' errors on bot startup
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-02 12:46:37 +07:00