MythEclipse
946343ec8c
fix(ai-moderation): skip caching error results to prevent false positives from transient failures
2026-06-04 17:42:23 +07:00
MythEclipse
4996acfacf
refactor(ai-moderation): unify worker pool entry points with discriminated union routing
2026-06-04 17:39:40 +07:00
MythEclipse
686dc2de4f
refactor(ai-moderation): remove unused count variable in stale CB error pruning loop
2026-06-04 17:35:52 +07:00
MythEclipse
121b78198c
feat(ai-moderation): add circuit breaker alert system with extensible handlers
2026-06-04 17:35:26 +07:00
MythEclipse
8c67eefede
refactor(ai-moderation): offload individual message analysis to worker pool and add auto-delete notifications
2026-06-04 17:34:54 +07:00
MythEclipse
ce8a42f5fd
feat(ai-moderation): eliminate LLM-based badword detection in favor of pure rule-based matching
2026-06-04 17:33:08 +07:00
MythEclipse
b3d42118bd
fix(ai-moderation): use cached status instead of hardcoding "clean" for cache hit results
2026-06-04 17:30:37 +07:00
MythEclipse
9474d30cb7
refactor(ai-moderation): migrate sticker cache SQL queries from ? to $N parameter placeholders
2026-06-04 17:29:19 +07:00
MythEclipse
269a13d96a
fix(ai-moderation): restrict vision cache pre-download check to stickers and custom emojis only
2026-06-04 17:20:52 +07:00
MythEclipse
5d9713b162
chore(config): update TELE_UPLOAD_URL domain across all services
2026-06-04 17:12:02 +07:00
MythEclipse
aaebe168cf
fix(ai-moderation): fallback to discord_url when uploaded_url is null for attachment images
2026-06-04 17:06:57 +07:00
MythEclipse
fc52fe5c1d
feat(ai-moderation): cache per-user moderation results for text-only messages to skip redundant LLM calls
2026-06-04 16:54:06 +07:00
MythEclipse
c1e79dca23
feat(ai-moderation): add per-user moderation result cache for spammer deduplication
2026-06-04 16:51:08 +07:00
MythEclipse
b0278de51a
feat(ai-moderation): add URL analysis rules to moderation prompt to prevent domain-based false positives
2026-06-04 16:35:14 +07:00
MythEclipse
65a65fdf39
feat(ai-moderation): fetch web content from URLs in text-only messages for accurate LLM analysis
2026-06-04 16:32:08 +07:00
MythEclipse
0a35e83a6c
refactor(analytics): replace hardcoded color tokens with theme-aware CSS variables
2026-06-04 14:17:45 +07:00
MythEclipse
3ecb7bd15c
chore: session auto-commit
2026-06-04 14:16:59 +07:00
MythEclipse
458f20d5c3
chore: session auto-commit
2026-06-04 14:16:26 +07:00
MythEclipse
ad61af54e8
refactor(analytics): replace TrendChart gradient bars with interactive SVG line chart featuring tooltips and grid lines
2026-06-04 14:15:56 +07:00
MythEclipse
ceb5fc95ba
refactor(analytics): replace gradient bars with interactive SVG donut and horizontal bar charts
2026-06-04 14:15:27 +07:00
MythEclipse
00001973d8
refactor(analytics): replace ActivityChart stacked bars with interactive SVG chart featuring tooltips and grid lines
2026-06-04 14:14:49 +07:00
MythEclipse
259b0babb5
feat(ai-moderation): parse moderation category from LLM fallback response instead of using static defaults
2026-06-04 13:49:35 +07:00
MythEclipse
3fc26592fc
feat(ai-moderation): add simple text-only LLM fallback when normal analysis fails for small models
2026-06-04 13:40:25 +07:00
MythEclipse
e55ee342b1
fix(ai-moderation): downgrade operational logs to debug and add missing debug logs to silent early-return paths
2026-06-04 13:13:55 +07:00
MythEclipse
d568cab88f
fix(ai-moderation): add defensive logging to silent failure paths in media analysis
2026-06-04 13:06:35 +07:00
MythEclipse
c304d4ca7c
fix(ai-moderation): implement exponential backoff for LLM and vision API retries
2026-06-04 13:02:02 +07:00
MythEclipse
1c46a8a084
feat(ai-moderation): add conflict instigation, offensive username, and discrimination moderation flags and prompt rules
2026-06-04 12:49:24 +07:00
MythEclipse
aad62bc66b
fix(ai-moderation): strip fallback text from LLM analysis content
2026-06-03 20:59:10 +07:00
MythEclipse
a24a5e7dfd
refactor(messages): remove text channel filter and channel-section grouping
2026-06-03 20:53:47 +07:00
MythEclipse
2a2003e638
fix(messages): hide fallback attachment text when media is already displayed visually
2026-06-03 20:42:57 +07:00
MythEclipse
b38f867894
refactor(messages): mark emptyText prop as unused
...
Rename emptyText to _emptyText to indicate it is currently unused in the
MessageFeed component, preventing linting warnings.
2026-06-03 20:38:01 +07:00
MythEclipse
198d5a6329
feat(messages): group message feed by channel and thread sections
2026-06-03 20:34:58 +07:00
MythEclipse
71801b7f77
feat(messages): show channel and thread location context in message cards
2026-06-03 20:34:06 +07:00
MythEclipse
79c2e31b17
feat(messages): add text channel filtering for message browser
2026-06-03 20:31:23 +07:00
MythEclipse
a39c7a91c2
refactor(api): replace URLSearchParams param with structured object in listMessages
2026-06-03 20:29:34 +07:00
MythEclipse
67daea2f52
fix(analytics): filter out common file extensions from topic words
...
Excludes image, video, audio, and document file extensions from the
topic word extraction process to improve the quality of generated
analytics topics.
2026-06-03 20:15:24 +07:00
MythEclipse
2bf48f6cd0
refactor(ui): remove mascot tooltip from sidebar component
...
Removes the hardcoded mascot tooltip implementation from the Sidebar
component to clean up the component structure. The tooltip logic is
now handled elsewhere.
2026-06-03 20:09:45 +07:00
MythEclipse
8918dd09e2
fix(analytics): improve topic word filtering with Indonesian stop words and stricter noise reduction
2026-06-03 20:08:03 +07:00
MythEclipse
cbee35c348
fix(analytics): replace regexp_split_to_table with UNNEST+STRING_TO_ARRAY and fix regex escapes
2026-06-03 19:55:43 +07:00
MythEclipse
4e12394168
fix: add error handling to analytics getTopics query and fix mascot tooltip positioning
2026-06-03 19:50:26 +07:00
MythEclipse
3c130bf813
fix(ui): adjust mascot tooltip positioning and bubble pointer
...
Changes the mascot tooltip from a fixed bottom-left position to an absolute
centered position above the sidebar. Updates the decorative pointer
elements to use a downward-pointing triangle clip-path instead of a
side-aligned shape.
2026-06-03 19:41:39 +07:00
MythEclipse
6a8a84fd84
fix(mascot-chat): reposition tooltip to fixed bottom-left and show when sidebar collapsed
2026-06-03 19:39:58 +07:00
MythEclipse
de0c7927c9
refactor(analytics): update topic analysis to use word frequency
...
Replaces the previous AI-category based topic analysis with a word-based
frequency analysis using a Common Table Expression (CTE).
- Implements `word_list` CTE to split message content into individual words.
- Adds regex filtering to exclude URLs, Discord stickers, and emojis.
- Implements a stop-word filter to remove common Indonesian and English
conjunctions, pronouns, and prepositions.
- Filters out words shorter than 3 characters.
- Updates the aggregation to group by word and limit results to the top 10.
2026-06-03 19:37:16 +07:00
MythEclipse
dc78faa65d
refactor(attachment-upload): switch image resizer to lossless PNG for vision analysis
2026-06-03 19:25:55 +07:00
MythEclipse
ac678e8a88
chore: session auto-commit
2026-06-03 18:52:20 +07:00
MythEclipse
30b07e2c63
fix(sidebar): hide mascot animation when sidebar is collapsed
2026-06-03 18:36:38 +07:00
MythEclipse
ee50afb1c1
feat(mascot-chat): implement LLM-based response generation
...
Refactor the mascot chat service to use an LLM instead of hardcoded
rule-based responses. This includes building system prompts from
server insights and constructing conversation history for context-aware
interactions.
2026-06-03 18:30:18 +07:00
MythEclipse
01eaf7275b
refactor(mascot): remove useMascotSummary integration from sidebar
2026-06-03 18:29:54 +07:00
MythEclipse
b5a218daa1
style(analytics): format JSX and object literals consistently
2026-06-03 18:27:41 +07:00
MythEclipse
58f5d4f7ce
style(analytics): reorder imports and apply consistent formatting
2026-06-03 18:20:27 +07:00