mirror of
https://github.com/AstrBotDevs/AstrBot
synced 2026-07-16 01:40:15 +08:00
* feat(plugin): add pages field to plugin list API response Include discovered page names for each plugin in the /api/plugin/get response, so the frontend can determine whether a plugin has a WebUI without an extra detail request. * feat(webui): add direct WebUI access button on plugin cards - Add "open-webui" button on plugin cards when plugin has pages - Navigate to plugin's first page directly from the card - Adjust PluginPagePage iframe height for better UX - Add i18n labels (zh-CN/en-US/ru-RU) * perf(plugin): use asyncio.gather for concurrent page discovery Replace sequential await loop with concurrent processing to avoid blocking on disk I/O when discovering plugin pages. * fix(webui): disable open plugin UI button when plugin is deactivated Prevent navigation to a disabled plugin's WebUI page which would result in an error. * test: update plugin API tests to match pages field in list response - test_plugin_get_excludes_scanned_pages: expect pages field now present - test_plugins: use name-based lookup instead of exact count assertion --------- Co-authored-by: lxfight <lxfight@192.168.5.50>