qinglong
885929f3ff
Fix proxy/projects pages: error handling when API unavailable
...
- proxy: .catch() shows 'service not ready' instead of stuck loading
- projects: shows 'engine not ready' on API error
- Both: show 'no items' placeholder instead of blank
2026-06-11 12:47:39 +08:00
qinglong
a1dd401efc
Fix theme toggle: move init to app.js, remove duplicate script
...
- Theme initialized BEFORE page render (no flash)
- toggleTheme() now in app.js global scope
- Proxy page rewritten with btn-filled MD3 class
2026-06-11 12:46:33 +08:00
qinglong
c4e2783120
WebUI: MD3 projects/proxy pages, sidebar links, CSS animations
...
- Add projects + proxy nav items to sidebar
- Rewrite projects.html with MD3 cards + tabs + mgmt-cards
- Rewrite proxy.html with MD3 form + mgmt-cards
- CSS: button ripple, card elevation, page fade, tab slide, input glow, nav dot, status pulse, log entry fade, shimmer, scrollbar, badge bounce, card hover mouse-glow (428 lines)
2026-06-11 12:12:03 +08:00
AskaEth
b37cbf076c
WebUI: MD3 2026 redesign + light/dark theme toggle
...
- Rewrite CSS with full MD3 color tokens + elevation + shape system
- Add light theme with data-theme="light"
- Theme toggle button in top bar (persists to localStorage)
- 268 lines CSS, covers login/shell/dashboard/plugins/projects/proxy
2026-06-11 11:53:32 +08:00
AskaEth
7dc87d9f3a
Fix WebSocket log URL: extract base path instead of page path
2026-06-10 21:29:43 +08:00
AskaEth
e52f7f3566
Phase 3: PluginWebMixin SDK + web plugin control panels
...
- New: sdk/plugin_web.py (PluginWebMixin: web pages, API routes, SSE)
- New: services/web_panel/routes/plugin_web.py (3 endpoints)
- New: plugins/example_plugin/dashboard.html (counter + SSE demo)
- Updated: example_plugin uses PluginWebMixin
- Tests: 28/28 passing
2026-06-10 20:54:11 +08:00
AskaEth
c680fea8e0
Phase 2: ProxyService reverse proxy (HTTP+WebSocket forwarding)
...
- New: services/proxy_service.py (path->URL mapping)
- New: services/web_panel/routes/proxy.py (3 REST endpoints)
- New: static/web_panel/pages/proxy.html (WebUI)
- Tests: 28/28 passing
2026-06-10 20:47:17 +08:00
AskaEth
8dbf628dd6
Phase 1: ProjectEngine + PyEnvManager + project management WebUI
...
- New: services/project_engine.py (async subprocess manager)
- New: services/pyenv_manager.py (Python version + venv + git clone)
- New: services/web_panel/routes/projects.py (5 REST endpoints)
- New: static/web_panel/pages/projects.html (WebUI)
- Tests: 28/28 passing, API verified (GET /api/projects)
- Docs: Phase1_Progress.md (local)
2026-06-10 20:41:24 +08:00
AskaEth
e6875f0b4b
Initial commit: SenSu Alpha 0.2.0
...
- 13-service async plugin framework
- Textual TUI with CLI fallback
- Plugin hot-reload + permission system
- Web management panel (aiohttp)
- Bridge-based inter-module communication
- 10 regression tests
Fixes applied:
- PBKDF2-SHA256 auth (was plain SHA256)
- Auth bypass removed (was allow-all on fail)
- Bare excepts replaced with logged errors
- CatFramework/DreamSu -> SenSu naming unified
- ServiceManager: health checks + startup_order
- Env var credentials (SENSU_ADMIN_PASSWORD etc)
2026-06-10 12:28:05 +08:00