LIghtJUNction
0eb04374ce
feat(dashboard): reactor form controls and config card glassmorphism
...
- AstrBotConfigV4: card now uses translucent glassmorphism
(rgba 15,15,22,0.45, blur 20px) with inset shadow
for recessed "embedded panel" feel
- Section titles: JetBrains Mono font, cyan (#00F2FF) with
left 3px glowing gradient bar
- _override.scss: global form control hardening
* Switch: 4px rounded rectangle, Cherenkov cyan glow
* Text fields: cyan border on focus with glow
* Tabs: uppercase monospace, cyan underline + glow on active
* Slider: cyan track fill + glowing thumb
* Checkbox: hollow rectangle with cyan check
2026-03-29 16:58:38 +08:00
LIghtJUNction
86e6d08aef
feat(dashboard): redesign log console as reactor terminal
...
ConsoleDisplayer:
- Status tags: hollow 1px-border chips with glowing level dots
- DEBUG: dim gray, INFO: Cherenkov cyan, WARNING: amber
- ERROR: #FF4D4D, CRITICAL: magenta
- Terminal: deep charcoal glass (rgba 10,10,15,0.6), blur 20px
- Inset shadow for recessed monitor feel
- Animated scanline overlay (CRT effect)
- Log lines: JetBrains Mono, line-height 1.7
- ERROR/CRITICAL: left colored glow bar (inset 3px indicator)
- New entry: brief cyan pulse animation
- Custom thin scrollbar in cyan theme
- ConsolePage toolbar: glassmorphism matching the theme
2026-03-29 16:54:56 +08:00
LIghtJUNction
b79e252100
feat(dashboard): glassmorphism editor and reactor Monaco theme
...
ConfigPage.vue:
- Editor dialog now uses glassmorphism container with backdrop-filter blur(40px)
- Editor card: deep obsidian translucent bg, inset shadow, cyan border
- Monaco theme changed from vs-dark to custom reactor-dark
- Transparent background reveals reactor canvas beneath
- Cherenkov blue line highlights and cursor
- Industrial precision line numbers
New monacoTheme.ts:
- defineReactorMonacoTheme() registers the custom theme
- Transparent editor background (rgba 0,0,0,0)
- Cyan cursor, selection, and line highlight colors
2026-03-29 16:51:59 +08:00
LIghtJUNction
282ef94911
feat(dashboard): introduce reactor core glassmorphism theme
...
Global reactor background (ReactorBg):
- Full-screen canvas with 24px crosshair grid and socket dots
- Mouse energy field (120px radius) with lerp=0.08 smooth tracking
- Crosses shrink and glow cyan when energy field passes
- Canvas sits behind all UI (z-index 0, pointer-events none)
Theme updates:
- Dark surface now #0F0F12 for reactor aesthetic
- Background deepens to #0A0A0C
- Cards: translucent glassmorphism (40% opacity, blur 12px)
with inset shadow, 1px cyan border on hover
- Sidebar: glassmorphism (75% opacity, blur 16px, cyan border)
- Header: glassmorphism (80% opacity, blur 20px, cyan border)
- V-main: transparent so reactor bg shows through
2026-03-29 16:48:52 +08:00
LIghtJUNction
0121df1754
fix(dashboard): show native cursor on login background
2026-03-29 16:45:04 +08:00
LIghtJUNction
90184239c1
feat(dashboard): redesign login page with reactor core aesthetic
...
- DiamondBg: Canvas-based interactive background with:
- 24px grid with faint crosshairs and recessed socket dots
- 150px mouse energy field with lerp following (0.1 speed)
- Crosses shrink/darken when "pressed" by energy field
- Cherenkov blue core dot at exact cursor position
- Gravity well glow beneath login panel
- Login card: cyan edge border (rgba 0,242,255,0.2), deep blue shadow
- Radial fade mask around login area
- DailyQuote component replaces static welcome text
2026-03-29 16:43:36 +08:00
LIghtJUNction
487c1988d6
refactor(dashboard): torch reveal effect with radial cursor glow
2026-03-29 16:36:22 +08:00
LIghtJUNction
daaeb9474b
refactor(dashboard): recessed slot grid with lerp cursor tracking
2026-03-29 16:33:23 +08:00
LIghtJUNction
1530ce1932
refactor(dashboard): add elastic cursor tracking with gravity pit effect
2026-03-29 16:31:28 +08:00
LIghtJUNction
fc0e185246
refactor(dashboard): add recessed pit effect with Cherenkov glow under login panel
2026-03-29 16:30:31 +08:00
LIghtJUNction
3e232fb31e
refactor(dashboard): crosshair schematic background for login
2026-03-29 16:27:25 +08:00
LIghtJUNction
7c0e8414a6
refactor(dashboard): replace diamond bg with sci-fi cylinder panel
2026-03-29 16:25:54 +08:00
LIghtJUNction
f97aca8501
refactor(dashboard): simplify diamond bg with hexagonal close packing
2026-03-29 16:13:48 +08:00
LIghtJUNction
d13ff84a20
feat(dashboard): add animated diamond background to login page
2026-03-29 16:11:58 +08:00
LIghtJUNction
0ee84ae362
fix(dashboard): align daily quote text to left
2026-03-29 16:06:14 +08:00
LIghtJUNction
b9b3d50986
feat(dashboard): rename to Starlight Panel and add daily quote
...
- Change login page title from "AstrBot WebUI/Dashboard" to "AstrBot Starlight Panel"
- Replace welcome subtitle with DailyQuote component showing programming quotes
- Quotes are localized for en-US, zh-CN, and ru-RU
- Quote of the day stays consistent throughout each day
2026-03-29 16:05:22 +08:00
LIghtJUNction
90d565f4c7
fix(dashboard): remove stray closing div in InstalledPluginsTab
2026-03-29 15:51:09 +08:00
LIghtJUNction
2b70c29ea4
chore: bump version to 4.25.0
2026-03-29 15:46:11 +08:00
LIghtJUNction
5ea790d045
chore: misc fixes and new test files
...
- fix(openai_source): remove dead code comment
- fix(common.ts): use resolveApiUrl helper for live-log endpoint
- style(mdi-subset): clean up icon CSS
- feat: add translation check script and unit tests
2026-03-29 15:40:58 +08:00
LIghtJUNction
610370f3e8
i18n(dashboard): update translation files
...
Update ru-RU, zh-CN and en-US locale files for various features.
2026-03-29 15:40:58 +08:00
LIghtJUNction
d84565f21b
feat(dashboard): switch to BlueBusiness theme
...
Replace PurpleTheme with BlueBusiness theme for improved visual design.
Includes new light and dark theme definitions.
2026-03-29 15:40:57 +08:00
LIghtJUNction
64bc582879
fix(dashboard): wrap VWindowItem in VWindow to fix Vuetify 4 injection error
...
VWindowItem requires a VWindow parent for group context injection.
Without it, Vuetify 4 throws:
"Could not find useGroup injection with symbol vuetify:v-window"
Changes:
- ExtensionPage.vue: wrap all tab content in v-window v-model="activeTab"
- InstalledPluginsTab.vue: remove v-window-item root wrapper
- MarketPluginsTab.vue: remove v-window-item root wrapper
2026-03-28 16:34:07 +08:00
LIghtJUNction
f000a21c01
fix(dashboard): suppress known Vuetify 4 internal slot invocation warning
...
Vuetify 4's VDefaultsProvider triggers "Slot default invoked outside of
render function" internally - not fixable from our side without framework
changes. Suppress via Vue warnHandler.
2026-03-28 16:20:23 +08:00
LIghtJUNction
495ca70ec5
fix(dashboard): replace remaining dense prop with density="compact"
...
Vuetify 4 deprecates `dense` prop on v-row and form fields.
2026-03-28 15:31:25 +08:00
LIghtJUNction
84c88db712
fix(dashboard): fix extraneous @update event listener in PlatformPage
...
@update was passed to AddNewPlatform but the component only emits
update:show, causing Vue warning about unrecognized event.
2026-03-28 15:27:54 +08:00
LIghtJUNction
d927f01da0
fix(dashboard): Vuetify 4 compatibility fixes
...
- Replace deprecated v-chip-text with span (PersonaForm)
- Replace deprecated v-tab-item with v-window-item (ExtensionPage, InstalledPluginsTab, MarketPluginsTab)
- Replace deprecated v-row dense with density="compact" (SessionManagementPage, InstalledPluginsTab)
- Add missing hasUnsavedChanges field to ConfigPage data()
- Add missing i18n key editPersona (en-US, zh-CN)
Fixes multiple Vue warnings about failed component resolution and deprecated Vuetify props.
2026-03-28 14:12:36 +08:00
LIghtJUNction
7a6cea3da1
fix(dashboard): remove Authorization header and withCredentials from SSE connections
...
SSE connections to /api/live-log are same-origin (VITE_API_BASE is empty
in production, resolves to relative /api path). The Authorization header
and withCredentials:true triggered CORS preflight (OPTIONS) requests,
but the SSE route only handles GET, causing the preflight to fail.
2026-03-28 12:27:52 +08:00
LIghtJUNction
1faeee3732
merge: pull latest master into dev
...
Resolved conflicts:
- openai_source.py: keep dev version with abort_signal filtering
- customizer.ts: keep dev version with viewMode functionality
- useSessions.ts: keep dev version with pendingSessionId handling
- platformUtils.js: keep dev version with correct tutorial links
- AddNewPlatform.vue: keep dev version with correct docs link
- FullLayout.vue: keep dev version with viewMode-based logic
- VerticalHeader.vue: keep dev version with viewMode-based logic
2026-03-28 12:14:10 +08:00
LIghtJUNction
bc01532e59
fix(provider): filter abort_signal from payloads to avoid JSON serialize error
...
`abort_signal` (asyncio.Event) is passed via **kwargs into payloads during
tool_call streaming, causing "Object of type Event is not JSON serializable"
when the OpenAI client tries to serialize the request body.
Regression test added: test_prepare_chat_payload_strips_non_json_serializable_kwargs
2026-03-28 01:15:21 +08:00
LIghtJUNction
335daa03c4
Merge branch 'Sjshi763/issue4409' into dev
...
Feature: persona export/import support (#4409 )
Conflicts resolved:
- dashboard/src/i18n/locales/en-US/features/persona.json: merged buttons (clone, addDialogPair, import)
- dashboard/src/i18n/locales/zh-CN/features/persona.json: merged buttons (clone, addDialogPair, import)
- dashboard/src/views/persona/PersonaCard.vue: merged emits (clone + export both preserved)
- dashboard/src/views/persona/PersonaManager.vue: merged template (import toolbar button + clone handler), merged methods (importPersona + clonePersona both mapped)
Also adds export error i18n key for both zh-CN and en-US locales.
2026-03-27 23:41:16 +08:00
LIghtJUNction
18bc37aaae
chore(dashboard): 将 views 目录剩余 :deep() 迁移到 ::v-deep()
2026-03-27 19:10:42 +08:00
LIghtJUNction
a8045851c4
fix(dashboard): 小修复和安全改进
...
- ProviderSourcesPanel 添加可选链 item.raw?.icon
- ChangelogDialog 和 useProviderSources 的 console.error 改为 console.warn
2026-03-27 19:10:26 +08:00
LIghtJUNction
20bd0c22b1
chore(dashboard): 将剩余 :deep() 迁移到 ::v-deep()
2026-03-27 19:10:17 +08:00
LIghtJUNction
47fc35fd6f
chore(dashboard): 将剩余 :deep() 迁移到 ::v-deep()
2026-03-27 19:10:01 +08:00
LIghtJUNction
eb7f3fec71
chore(dashboard): 更新 MDI 图标子集 (248 → 249 icons)
...
添加 mdi-share-variant 图标
2026-03-27 19:09:34 +08:00
LIghtJUNction
243ecaaf1b
fix(dashboard): 优先使用 localStorage 中的 apiBaseUrl
2026-03-27 19:09:27 +08:00
LIghtJUNction
0497b5fbb9
fix(dashboard): 迁移 router.beforeEach 到 Vue Router 4 返回值写法
2026-03-27 19:09:22 +08:00
LIghtJUNction
b25342303f
fix(dashboard): 迁移 Vue Router navigation guard 到返回值的写法
...
Vue Router 4 已弃用 next() 回调,改为直接返回值
2026-03-27 19:09:17 +08:00
LIghtJUNction
0301511b1c
fix(dashboard): 添加组件卸载后防止操作 DOM 的保护
...
- ConsoleDisplayer 添加 isUnmounted 标志
- ReadmeDialog 添加 btn.parentNode null 检查
2026-03-27 19:09:08 +08:00
LIghtJUNction
724e495ea9
i18n: 添加 updateAvailable 和 expiryOptions 翻译
2026-03-27 19:08:55 +08:00
LIghtJUNction
2b5f10e3cf
chore(dashboard): 将剩余 :deep() 迁移到 ::v-deep()
2026-03-27 19:08:47 +08:00
LIghtJUNction
62ec9c3004
fix(dashboard): MessageList 组件卸载后防止操作 DOM
...
- 添加 isUnmounted 标志
- 在 和生命周期钩子中检查该标志
2026-03-27 19:08:43 +08:00
LIghtJUNction
d7d2c9be17
chore(dashboard): 将 :deep() 迁移到 ::v-deep()
2026-03-27 19:08:34 +08:00
LIghtJUNction
0f8a1910d0
fix(dashboard): 组件卸载时关闭 SSE EventSource
...
- VerticalHeader 添加 onBeforeUnmount 钩子
- common store 添加 isUnmounted 标志防止卸载后继续重连
2026-03-27 19:08:29 +08:00
LIghtJUNction
2c2ad31d03
chore(dashboard): 将 Sass @import 迁移到 @use
...
Dart Sass 3.0.0 将移除 @import,迁移到 @use 以消除弃用警告
2026-03-27 19:08:05 +08:00
LIghtJUNction
390544e340
fix(dashboard): 重构 common store 为 Composition API 风格
...
- Options API → Composition API (ref 替代 state)
- 增加 isUnmounted 防止组件卸载后继续创建 SSE 连接
- 增加 TypeScript 类型注解
2026-03-27 19:07:44 +08:00
LIghtJUNction
6171abf02e
fix(dashboard): 修复 customizer store 调用方式和 theme API
...
- 静态导入 useCustomizerStore 替代动态导入
- useApiStore() 不再传入 pinia 实例
- 使用 theme.change() 替代 deprecated 的 theme.global.name.value
2026-03-27 19:07:38 +08:00
一袋米要扛幾樓
383df74e34
fix(chatui): refactor routing and layout to drive UI mode from URL and scope state to sessionStorage ( #6535 )
...
* 移除所有使用 localStorage 的路由,改为使用 sessionStorage
* 增加修正
* 增加修正
* 增加修正
* 增加修正
* 增加修正
* 回退修正 就這樣吧
* 小修正
2026-03-27 14:01:18 +08:00
SJ
8986d05309
fix(dashboard): update aiocqhttp tutorial links ( #7038 )
...
Co-authored-by: idiotsj <idiotsj@users.noreply.github.com >
2026-03-27 11:16:21 +08:00
LIghtJUNction
af59ab9534
merge: 合并 master 分支 (webui 改进和 attachment recovery)
...
- 采用 master 的 README 多语言版本和文档更新
- 采用 dev 版本号 (4.25.0) + master 的 Python 版本限制 (<3.14)
- 采用 master 的 _image_ref_to_data_url 图片处理实现
- 从 git 中移除 MDI 字体二进制文件,改由脚本生成
- 其他冲突均采用 master 版本
2026-03-27 00:27:03 +08:00