[PR #337] [MERGED] fix: 修复插件管理页面卡片重复渲染问题 #341

Closed
opened 2026-02-27 07:19:01 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/justlovemaki/AIClient-2-API/pull/337
Author: @lly835
Created: 2/25/2026
Status: Merged
Merged: 2/26/2026
Merged by: @justlovemaki

Base: mainHead: fix/plugin-list-duplicate-rendering


📝 Commits (1)

  • f44222b fix: clear plugin list container before rendering to prevent duplicate cards

📊 Changes

1 file changed (+2 additions, -0 deletions)

View changed files

📝 static/app/plugin-manager.js (+2 -0)

📄 Description

问题描述

插件管理页面(Plugins)中,插件卡片会重复显示。例如 ai-monitor、api-potluck、default-auth 等插件各出现两次。

根因分析

static/app/plugin-manager.js 中的 renderPluginsList() 函数在渲染插件卡片时,只通过 appendChild 向容器追加元素,但没有先清空容器

虽然 loadPlugins() 在调用 renderPluginsList() 之前会执行 listEl.innerHTML = "",但在以下场景中仍会导致重复:

  • 快速连续调用(初始化 + 组件加载完成事件触发)
  • togglePlugin 切换状态后重新加载列表

修复方案

renderPluginsList() 函数开头添加 listEl.innerHTML = "" 清空容器,确保每次渲染都是干净的,从根本上防止卡片重复。

改动范围

  • static/app/plugin-manager.jsrenderPluginsList() 函数增加一行清空逻辑

改动极小(+1 行),无副作用。


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/justlovemaki/AIClient-2-API/pull/337 **Author:** [@lly835](https://github.com/lly835) **Created:** 2/25/2026 **Status:** ✅ Merged **Merged:** 2/26/2026 **Merged by:** [@justlovemaki](https://github.com/justlovemaki) **Base:** `main` ← **Head:** `fix/plugin-list-duplicate-rendering` --- ### 📝 Commits (1) - [`f44222b`](https://github.com/justlovemaki/AIClient-2-API/commit/f44222bf612510a4c9b610df929fd5f75be9c547) fix: clear plugin list container before rendering to prevent duplicate cards ### 📊 Changes **1 file changed** (+2 additions, -0 deletions) <details> <summary>View changed files</summary> 📝 `static/app/plugin-manager.js` (+2 -0) </details> ### 📄 Description ## 问题描述 插件管理页面(Plugins)中,插件卡片会重复显示。例如 ai-monitor、api-potluck、default-auth 等插件各出现两次。 ## 根因分析 `static/app/plugin-manager.js` 中的 `renderPluginsList()` 函数在渲染插件卡片时,只通过 `appendChild` 向容器追加元素,但**没有先清空容器**。 虽然 `loadPlugins()` 在调用 `renderPluginsList()` 之前会执行 `listEl.innerHTML = ""`,但在以下场景中仍会导致重复: - 快速连续调用(初始化 + 组件加载完成事件触发) - `togglePlugin` 切换状态后重新加载列表 ## 修复方案 在 `renderPluginsList()` 函数开头添加 `listEl.innerHTML = ""` 清空容器,确保每次渲染都是干净的,从根本上防止卡片重复。 ## 改动范围 - `static/app/plugin-manager.js`:`renderPluginsList()` 函数增加一行清空逻辑 改动极小(+1 行),无副作用。 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem closed this issue 2026-02-27 07:19:02 +03:00
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/AIClient-2-API-justlovemaki#341
No description provided.