LIghtJUNction
d92132293a
Merge branch 'dev' of https://github.com/AstrBotDevs/AstrBot into dev
2026-03-31 16:58:32 +08:00
Kangyang Ji
94378d6f35
feat(dashboard): add auto switch theme button to setting page. ( #7170 )
...
* feat(dashboard): add auto switch theme button to setting page.
* fix on missing key in en-US translate
2026-03-31 16:58:27 +08:00
LIghtJUNction
4a8686e6a3
Merge branch 'dev' of https://github.com/AstrBotDevs/AstrBot into dev
2026-03-31 16:54:54 +08:00
Kangyang Ji
ff2d3d11ca
fix: delete duplicate layout in PersonaManager.vue ( #7190 )
...
根据代码blame,重复的代码来源于两个commit: `feat: update dashboard (1b9820a )` 和 `merge: pull latest master into dev (1faeee3 )`, 所以我保留了`feat: update dashboard (1b9820a )`中的代码,删除了`merge: pull latest master into dev (1faeee3 )`添加的重复代码。
2026-03-31 00:56:10 +08:00
LIghtJUNction
a550b88e15
fix: type
2026-03-30 19:30:33 +08:00
LIghtJUNction
f543f16cc1
fix: type
2026-03-30 18:03:27 +08:00
LIghtJUNction
70107b2c8a
fix: type
2026-03-30 18:03:22 +08:00
LIghtJUNction
54f6916172
fix: type
2026-03-30 18:03:02 +08:00
LIghtJUNction
4ca8bc7bbc
fix: type
2026-03-30 18:02:40 +08:00
LIghtJUNction
abb6a32829
fix: type errors
2026-03-30 18:02:18 +08:00
LIghtJUNction
9b15a60802
fix: resolve 7 type errors in dev branch
...
- tool_loop_agent_runner.py: add wrapper coroutine for create_task
- tool_image_cache.py: add cast for Self return type
- astr_agent_tool_exec.py: add type ignore for add_tool
- astr_main_agent.py: add type ignores for tool operations
- astr_main_agent_resources.py: add type ignore for msg_dict
- astrbot_config_mgr.py: add type annotations
2026-03-30 18:01:37 +08:00
LIghtJUNction
49d17460d6
fix: add type ignore for msg_dict
2026-03-30 17:46:37 +08:00
LIghtJUNction
7e3bdbc9fa
fix: add type ignore for merge
2026-03-30 17:46:20 +08:00
LIghtJUNction
f084fba702
fix: add type ignore for func_tool assignment
2026-03-30 17:46:04 +08:00
LIghtJUNction
376161faa8
fix: add type ignore for persona_toolset.add_tool
2026-03-30 17:45:54 +08:00
LIghtJUNction
2aafe18880
fix: add type ignore for add_tool arg
2026-03-30 17:45:42 +08:00
LIghtJUNction
50b7d18a20
fix: resolve Self return type in ToolImageCache
2026-03-30 17:45:27 +08:00
LIghtJUNction
480c77a150
fix: restore dashboard trace and platform logos
2026-03-30 17:41:01 +08:00
LIghtJUNction
e1c4b52fba
fix: resolve create_task type error in tool_loop_agent_runner
2026-03-30 17:36:26 +08:00
LIghtJUNction
e8557909d6
fix: restore dev retry logic and add class constants
...
- Restore simple dev retry flow (no AsyncRetrying wrapper)
- Add EMPTY_OUTPUT_RETRY_* class constants for test compatibility
2026-03-30 17:17:21 +08:00
LIghtJUNction
086dc00498
fix: resolve MCPTool import and openai_source merge conflicts
...
- MCPTool_T must be imported at runtime, not in TYPE_CHECKING
- Add __future__ annotations for forward references
- Fix remaining conflict markers in openai_source.py
2026-03-30 17:14:33 +08:00
LIghtJUNction
efa999c221
merge: origin/master into dev
...
Resolve merge conflicts:
- Version logic: keep dev (dynamic version from package metadata)
- Backend: merge EmptyModelOutputError retry logic from master
- Frontend: keep dev design, accept master functional enhancements
- SSL/config: keep dev inline implementation
2026-03-30 17:07:57 +08:00
Yufeng He
2ffda752ad
fix: send SSE heartbeat to prevent WebChat disconnect during compression ( #7003 )
...
* fix: send SSE heartbeat to prevent WebChat disconnect during compression
When context compression triggers with slow reasoning models (e.g.
deepseek-reasoner), the backend can go 30+ seconds without pushing any
SSE data. The client-side EventSource / browser then assumes the
connection is dead and disconnects, causing the WebUI to hang
indefinitely since it never receives the eventual response.
Fix: yield an SSE comment (`: heartbeat`) on every empty poll cycle.
Comment lines are defined in the SSE spec as keep-alive signals --
the EventSource API ignores them but the HTTP connection stays open.
Fixes #6938
* chore(dashboard): extract SSE heartbeat to constant
---------
Co-authored-by: Yufeng He <40085740+universeplayer@users.noreply.github.com >
Co-authored-by: RC-CHN <1051989940@qq.com >
2026-03-30 15:52:10 +08:00
Soulter
bfd129402d
docs: update community events
2026-03-30 13:10:48 +08:00
Stardust
a4d073bcce
fix: improve number input UX in config renderer ( #7153 )
...
* fix: improve number input UX in config renderer
* fix: address review comments on number input handling
2026-03-30 10:01:24 +08:00
LIghtJUNction
95cb2a8ac6
fix: resolve multiple type errors and runtime bugs
...
- shell.py: Fix FunctionTool import from correct module (core.agent.tool)
- deerflow/coze agent runners: Remove invalid return type annotations for step/step_until_done
- aiocqhttp_message_event.py: Fix raise string error (must raise Exception not str)
- lark_event.py: Fix file upload by wrapping bytes in BytesIO for SDK compatibility
- tg_adapter.py: Fix update.message None check in nested function
- TraceDisplayer.vue: Fix text color visibility using proper theme variables
2026-03-30 01:08:43 +08:00
LIghtJUNction
de35ff5cda
feat(dashboard): complete redesign of Trace page
...
- TraceDisplayer: new timeline-style layout with vertical track, dot markers, and expandable event cards
- TracePage: redesigned topbar with custom toggle switch, removed scoped CSS conflicts
- All colors use explicit hex values with !important to ensure visibility across themes
- Vue 3 Composition API with shallowRef to avoid reactive overhead
2026-03-30 01:07:55 +08:00
LIghtJUNction
2a1544fb6c
chore: stage remaining changes
2026-03-30 00:48:16 +08:00
LIghtJUNction
62d7df1da7
chore: stage all dev changes
2026-03-30 00:48:07 +08:00
LIghtJUNction
4a0ab861d8
fix(dashboard): fix Trace page text invisible
...
Root cause: invalid CSS var --v-theme-primaryText resolved to white,
making text invisible against transparent background.
Fix: add global (non-scoped) <style> block with !important color
overrides and explicit dark background for trace table elements.
Also changed .trace-table background from transparent to
var(--v-theme-surface) for proper dark theme support.
2026-03-30 00:45:44 +08:00
LIghtJUNction
2e660595c9
fix(dashboard): AddNewPlatform - show platform-specific MDI icon when logo unavailable
2026-03-29 23:58:35 +08:00
LIghtJUNction
48e54e5ecc
revert(dashboard): remove mdi-robot fallback that caused all platforms to show same icon
2026-03-29 23:57:51 +08:00
LIghtJUNction
8919d4debb
fix(dashboard): TraceDisplayer - use resolveApiUrl instead of manual VITE_API_BASE concat to avoid /api/api double prefix
2026-03-29 23:17:57 +08:00
LIghtJUNction
9dc345976d
fix(dashboard): AddNewPlatform - show v-icon fallback when platform icon is undefined
2026-03-29 23:06:46 +08:00
No-22-Github
f75c2d30b4
fix(core): Record.path was incorrectly treated as required under Pydantic v2 ( #7048 )
...
* fix: make Record.path optional for pydantic v2 compatibility
* fix: preserve telegram voice record path
2026-03-29 22:59:22 +08:00
Soulter
2b435e0c89
feat: add brand-new statistics dashboarde overview with model usage and platform usage ( #7152 )
...
* feat: add new StatsPage for enhanced statistics overview
- Introduced StatsPage.vue to provide a comprehensive overview of statistics with various metrics and charts.
- Implemented fetching and displaying of base and model provider statistics.
- Added unit tests for provider statistics persistence in the database.
* style: refine card styles and remove unnecessary shadow for improved aesthetics
2026-03-29 22:50:15 +08:00
LIghtJUNction
c464d7add6
fix(dashboard): use CDN MDI font and apply light mode style fixes
...
- Replace self-hosted MDI subset with CDN (@mdi/font) to avoid
binary font files being missing after git pull
- Remove vite-plugin-mdi-subset from build (no longer needed)
- Add light mode glass styling to ChatInput
- Fix DailyQuote, Logo, TraceDisplayer for proper theme colors
- Apply theme-specific SCSS overrides across components
2026-03-29 22:09:27 +08:00
LIghtJUNction
7fc1a13519
fix(dashboard): ReactorBg eased scope, CSS comments, theme types, and chat text color
...
- ReactorBg.vue: fix eased variable scoping bug (moved to outer loop scope)
- WelcomePage.vue: fix CSS // comments (not valid in SCSS)
- DiamondBg.vue: fix CSS // comment in style block
- ThemeType.ts: add missing MD3 hyphenated color properties
- AddNewPlatform.vue: add optional chaining and emits declaration
- FullLayout.vue: console.error -> console.warn for backend timeout
- ConsoleDisplayer.vue: add content-type based log line coloring
- VerticalHeader.vue + i18n: remove deprecated defaultCredentials hint
- MessageList.vue: fix user/bot bubble text color for dark mode
2026-03-29 21:24:39 +08:00
Soulter
9896b48c5e
feat: redirect logged-in users to welcome page instead of login page
2026-03-29 20:53:16 +08:00
Soulter
43a9262719
feat: add collapsed item support in configuration UI and update localization for more settings
2026-03-29 20:49:07 +08:00
Soulter
ab66910724
perf: adjust elevation and drag behavior for folder and persona cards, improve layout responsiveness
2026-03-29 20:49:07 +08:00
LIghtJUNction
0c021494aa
fix(dashboard): add additional SCSS overrides for dark mode
2026-03-29 18:16:39 +08:00
LIghtJUNction
0dd91f1d10
fix: add noqa comments to platform adapter imports and update theme files
...
- Add F401 suppression to lazy-loaded platform adapter imports
- Update BlueBusiness theme files
- Add ThemeType definitions and WelcomePage enhancements
2026-03-29 18:16:28 +08:00
LIghtJUNction
158a26cac8
fix(dashboard): improve sidebar styling and dark mode SCSS overrides
2026-03-29 18:16:07 +08:00
LIghtJUNction
15e3c12eab
fix(dashboard): improve ChatInput dark mode styling and placeholder visibility
...
- Use semi-transparent dark background in input container
- Add backdrop blur and glow effects
- Fix placeholder text color in dark mode
2026-03-29 18:15:52 +08:00
LIghtJUNction
a9d657520c
fix(dashboard): lock theme to dark-only for industrial aesthetic
2026-03-29 17:12:02 +08:00
LIghtJUNction
65d01b7e62
feat(dashboard): theme-aware reactor canvas and blueprint light mode
...
ReactorBg now adapts to light/dark theme:
- Dark: #0A0A0C bg, white crosshairs, cyan Cherenkov glow
- Light: #F0F4F8 matte silver, deep indigo crosshairs,
ink-drop radial shadow (no glow)
Light mode sidebar: stays dark blueprint panel
(light content + dark sidebar = classic MD3 premium pairing)
2026-03-29 17:09:21 +08:00
LIghtJUNction
934a74fd37
chore: remove accidental temp file
2026-03-29 17:07:18 +08:00
LIghtJUNction
c7c878a8e2
feat(dashboard): blueprint light mode theme
...
- Surface/background: #F0F4F8 cool blue-gray lab white
- On-surface text: #1A2B3C deep indigo
- ContainerBg: translucent rgba glass for light mode
- Surface-variant: slightly deeper cool tone
2026-03-29 17:07:12 +08:00
LIghtJUNction
5109ca96ca
feat(dashboard): reactor glow on logo
...
- Logo image: brightness(1.6) + dual drop-shadow cyan glow
- Radial gradient glow ring beneath logo with slow 4s breath animation
- Title: JetBrains Mono, #00F2FF with text-shadow glow
- All elements share synchronized 4s breathing pulse
2026-03-29 17:04:33 +08:00