fix(webui): add changelog button and author display to plugin card view#6695
fix(webui): add changelog button and author display to plugin card view#6695Yaohua-Leo wants to merge 5 commits intoAstrBotDevs:masterfrom
Conversation
- Fix AstrBotDevs#6661: Streaming tool_call arguments lost when OpenAI-compatible proxy omits index field - Gemini and some proxies (e.g. Continue) don't include index field in tool_call deltas - Add default index=0 when missing to prevent ChatCompletionStreamState.handle_chunk() from rejecting chunks Fixes AstrBotDevs#6661
- Use enumerate() to assign correct index based on list position - Iterate over all choices (not just the first) for completeness - Addresses review feedback from sourcery-ai and gemini-code-assist
…ckname Fix AstrBotDevs#6657 - Telegram 暱稱與用戶 ID 問題 Previously, plugins used the Telegram username as the user's nickname, which was inconsistent with the actual display name. Now uses the priority order: full_name > first_name > username > Unknown This ensures plugins can properly match users by their numeric ID instead of relying on username, and the agent can address users by their actual display name.
Addresses review feedback from sourcery-ai to ensure robustness against provider-specific schema quirks during streaming.
Fix AstrBotDevs#6639 - 新版本 AstrBot 中无法自由查看插件的更新日志 Changes: - Add changelog button (mdi-update) to ExtensionCard actions bar - Add author display below plugin description in card view - Add i18n translations for viewChangelog button (EN/ZH/RU)
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request introduces several key improvements across the application. For the web user interface, it enhances the plugin card view by adding a dedicated button to access plugin changelogs and displaying the author's name, along with necessary internationalization updates. On the backend, it includes a fix for Telegram message sender name resolution to ensure more accurate display names and a critical fix for OpenAI API integrations to prevent data loss when streaming tool call arguments from certain proxies that may omit the 'index' field. Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. Footnotes
|
There was a problem hiding this comment.
Hey - I've left some high level feedback:
- The new
test-fix.shandpr-body*.txtfiles look like one-off tooling/PR artifacts; consider removing them from the repo or moving them into an appropriate dev/CI directory if they are meant to be kept. - In
test-fix.sh, theapply_index_fixhelper always assignsindex = 0, which doesn’t match the production logic inopenai_source.py(which usesenumerate); aligning the test logic with the real implementation would make the check more accurate and less confusing.
Prompt for AI Agents
Please address the comments from this code review:
## Overall Comments
- The new `test-fix.sh` and `pr-body*.txt` files look like one-off tooling/PR artifacts; consider removing them from the repo or moving them into an appropriate dev/CI directory if they are meant to be kept.
- In `test-fix.sh`, the `apply_index_fix` helper always assigns `index = 0`, which doesn’t match the production logic in `openai_source.py` (which uses `enumerate`); aligning the test logic with the real implementation would make the check more accurate and less confusing.Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
There was a problem hiding this comment.
Code Review
This pull request effectively addresses the reported issues by reintroducing the changelog button and author display to the plugin card view in the web UI. Additionally, it includes a crucial fix for the missing 'index' field in tool_call deltas, ensuring better compatibility with various OpenAI-compatible proxies like Gemini. The changes to Telegram's sender name prioritization are also a welcome improvement for user experience. All implemented changes align with the problem descriptions and solutions outlined in the pull request body.
Summary
Fix #6639 - 新版本 AstrBot 中无法自由查看插件的更新日志
Problem
After the 4.18.x plugin page optimization, two features were lost in the card view:
Solution
Changes Made
ExtensionCard.vue - Added changelog button to card actions bar:
mdi-updateiconviewChangelogevent (already implemented in parent)ExtensionCard.vue - Added author display:
i18n translations - Added
viewChangelogkey:en-US: "Changelog"zh-CN: "更新日志"ru-RU: "Журнал изменений"Testing
The fix was verified by checking:
Summary by Sourcery
Restore missing plugin metadata in the web UI and fix tool call and sender metadata handling in backend providers.
New Features:
Bug Fixes:
Enhancements:
Chores: