Repository navigation
🐛 Fix(AIDP): backport source inspection and pagination fixes to v2.8.1 - #4239
Merged
Merged
Conversation
Backport the final changes from PR #4213 without unrelated develop commits. Preserve the v2.8.1 Workbench-only activity scope and maintain one consolidated change record.
cj2026-bit
requested review from
Dallas98,
WMC001,
YehongPan,
hhhhsc701 and
jeffwu-1999
as code owners
October 28, 2026 01:43
YehongPan
added a commit
that referenced
this pull request
Oct 31, 2026
* version file v2.8.1 * 🐛 Bugfix: 修复个人信息栏 API 秘钥复制结果带掩码星号的问题 (#4198) (#4240) 个人信息栏的展示与复制此前共用同一个 access_key,而数据库层已无条件掩码, 导致权限层虽判定 can_copy=True,复制出的仍是 nexent****11bb 形式的掩码值。 - token_db.list_tokens_by_user 新增 mask 开关(默认仍掩码),权限层显式取存储明文 - 权限层拆分展示值与可复制值:access_key 保持角色语义,新增 masked_access_key 供展示 - 统一复用 mask_access_key,create_token 同步返回 masked_access_key - 前端展示用 masked_access_key、复制用 access_key,两者不再耦合 验证:test_token_db 27 passed、test_user_management_service 93 passed、 test_user_management_app 76 passed;活集群 ADMIN 可复制完整 key、USER/VIEWER 仍为掩码。 * fix(aidp): backport source performance and catalog pagination to v2.8.1 (#4239) Backport the final changes from PR #4213 without unrelated develop commits. Preserve the v2.8.1 Workbench-only activity scope and maintain one consolidated change record. * v2.8.2 * v2.8.3 Start the v2.8.3 hotfix line from the v2.8.2 release so follow-up bug fixes can be collected before the version is handed back to main. * feat(frontend): group MCP tools and unify description hover previews (#4261) (cherry picked from commit 1c52331) * fix(sql): 修复代理组内权限值的迁移脚本 (#4260) * feat(frontend): separate homepage branding from browser tabs (#4255) (#4262) * feat(frontend): separate homepage branding from browser tabs Add optional localized homepage titles and independent logo uploads with system-logo fallback. Keep blank homepage titles empty and preserve legacy branding fields and upload aliases. Keep browser tabs on system branding with a blank initial title and transparent favicon until the system logo loads. Remove competing metadata to prevent login and navigation resets. Keep homepage logos at a fixed size, clip the collapsed sidebar, and shift images right by 4px. Validate with 33 component tests, 22 Node tests, formatting and copyright checks. Formal D4 execution remains blocked by the missing isolated test-home; full asset validation also has an existing missing ConversationResumeBranch UT reference. * fix(frontend): initialize homepage title and adjust logo spacing Default unconfigured localized homepage titles to Nexent while preserving legacy titles and explicitly cleared values across restarts. Seed the built-in locale defaults and move the homepage logo 2px left. Add six startup regression variants and update branding test traceability. Validation: 33 component tests and 28 Node tests passed; formal runtime verification remains blocked by the missing isolated test-home. * fix(frontend): clarify application and navigation branding labels Use application logo/name and navigation logo/title in Chinese and English UI copy. Keep display-location annotations and explain application branding usage and navigation logo fallback. Preserve existing implementation names, translation keys, stored settings and API contracts. Update accessible-name test selectors and traceability. Validation: 5 component tests, source-only TypeScript, formatting and copyright checks passed; existing formal runtime blockers remain. * fix(frontend): show branding locations in hover hints Move parenthesized display locations into small help buttons beside application and navigation branding labels. Support hover and keyboard focus while preserving usage text and existing configuration identifiers. Validate with 8 component tests, source-only TypeScript, lint, formatting and copyright checks. Capture real browser evidence outside Git; existing formal runtime prerequisites remain unavailable. --------- (cherry picked from commit 556cdbe) Co-authored-by: JeffWu <45140512+jeffwu-1999@users.noreply.github.com> * fix(agent): deduplicate execution history and add output compaction and recall (#4264) * chore: bootstrap action history compaction review * fix(agent): deduplicate execution history and add cached summary recall * fix(agent): bound recalled output by remaining context * fix(agent): expose history reader and load committed execution records * test: align stream regression fixtures with execution history * ci: sync unit workflow from develop without merging branch * fix(agent): clarify runtime result ownership and align UT dependencies * fix(ci): isolate test index and complete history regression coverage * fix(agent): preserve host history reader, failure masking and standalone compaction * fix(agent): retain fallback instructions before execution contract * fix(context): retain legacy tool names and argument records * 🐛 Bugfix: Forward-compatible streaming response for the northbound Chat API (#4271) * feat(a2a): 将A2A代理调用超时时间调整为15分钟并统一配置 (#4265) * feat(a2a): 将A2A代理调用超时时间调整为15分钟并统一配置 * ci(workflows): sync pipeline configs from develop Port auto-unit-test.yml, nexent-daily-full-test.yml and sdk_publish.yml from origin/develop to pick up runner label parameterization, uv managed Python setup, Codecov CLI cache verification, e2e runner for daily full test, and pip-based build for SDK publish. Co-authored-by: Trae <noreply@trae.ai> Generated-by: GLM-5.3-Flash * build(deps): 同步 backend/sdk pyproject.toml 与 origin/develop 一致 - backend/pyproject.toml: CPU 索引定义、index-by-name 与索引策略、 本地 SDK 路径映射、data-process 的 nexent[data_process,performance]、 test 的 nexent[dev]、pytest 与 pytest-asyncio 版本约束 - sdk/pyproject.toml: 配套 uv 索引配置、pytest 固定 9.1.1、 unstructured[all-docs] 固定 0.18.14、移除旧的 999.0.0 依赖覆盖 Co-authored-by: Trae <noreply@trae.ai> Generated-by: glm-5.3-flash * fix(test): 稳定化 docker 端口分配失败用例,兼容容器化 runner test_start_container_find_port_failure 依赖 _is_running_in_docker() 返回 False 才会执行到 find_free_port;在容器化 runner 上该检测为 True,用例走了容器内分支导致断言失败。显式 patch 该检测为 False, 并补齐文件缺失的版权头。 * Chore(deploy): 调整 Dockerfile 中 sdk 复制和安装的顺序 为了让 uv sync 能通过 [tool.uv.sources] 正确解析本地 sdk,提前复制 sdk 目录;同时将 sdk 的性能 extras 安装移至后续步骤,避免依赖解析冲突。 --------- Co-authored-by: Trae <noreply@trae.ai> * chore: remove local workspace files committed by mistake The merge commit 12cca86 used 'git add -A' and swept local-only artifacts into the tree: agent workspace data (.workbuddy), local Elasticsearch/Redis runtime dirs, local deliverables, scratch commit message files, release-note drafts, a local compose override, and two local-only e2e case folders that no remote branch carries. Remove them from the index (files stay on disk) and ignore them in .gitignore so future merges cannot pick them up again. * fix(backend): finish the A2A timeout migration onto refactored paths Three leftovers from the merge still imported from the pre-refactor modules and broke CI collection: - backend/infrastructure/http/a2a.py imported the A2A timeout constant from consts.const; switch it to contracts.constants.environment. - test_a2a_http_client.py did the same in two places. - test_execution_result_read_db.py imported database.conversation_db; switch it to management.db.conversation.repository. Also collapse the A2A_AGENT_INVOCATION_TIMEOUT_SECONDS assignment in contracts/constants/environment.py to a single physical line: the contracts architecture test requires one assignment per line for both constant files. Verified locally: a2a client/relation/ssl suites 48 passed when run per file (the 12 cross-file failures reproduce on the develop baseline too and are a pre-existing isolation issue, not from this change); execution-result-read-db and contracts architecture suites pass. * fix(test): give the background stream mock an observer The merged _stream_agent_chunks attaches its run-local execution history to agent_run_info.observer before iterating run chunks. The real AgentRunInfo always carries an observer, but the background-stream test built its SimpleNamespace without one, so every case failed with AttributeError. Add a Mock observer to the fixture. --------- Co-authored-by: MoeexT <yuwancumian666@outlook.com> Co-authored-by: cj2026-bit <647646783@qq.com> Co-authored-by: chase <byzhangxin11@126.com> Co-authored-by: xuyaqi <xuyaqist@gmail.com> Co-authored-by: charmingchi1 <71816192+charmingchi1@users.noreply.github.com> Co-authored-by: bernard1234 <840646206@qq.com> Co-authored-by: Jason Wang <56037774+JasonW404@users.noreply.github.com> Co-authored-by: panyehong <91180085+YehongPan@users.noreply.github.com> Co-authored-by: Trae <noreply@trae.ai>
YehongPan
added a commit
that referenced
this pull request
Nov 3, 2026
* version file v2.8.1 * 🐛 Bugfix: 修复个人信息栏 API 秘钥复制结果带掩码星号的问题 (#4198) (#4240) 个人信息栏的展示与复制此前共用同一个 access_key,而数据库层已无条件掩码, 导致权限层虽判定 can_copy=True,复制出的仍是 nexent****11bb 形式的掩码值。 - token_db.list_tokens_by_user 新增 mask 开关(默认仍掩码),权限层显式取存储明文 - 权限层拆分展示值与可复制值:access_key 保持角色语义,新增 masked_access_key 供展示 - 统一复用 mask_access_key,create_token 同步返回 masked_access_key - 前端展示用 masked_access_key、复制用 access_key,两者不再耦合 验证:test_token_db 27 passed、test_user_management_service 93 passed、 test_user_management_app 76 passed;活集群 ADMIN 可复制完整 key、USER/VIEWER 仍为掩码。 * fix(aidp): backport source performance and catalog pagination to v2.8.1 (#4239) Backport the final changes from PR #4213 without unrelated develop commits. Preserve the v2.8.1 Workbench-only activity scope and maintain one consolidated change record. * v2.8.2 * v2.8.3 Start the v2.8.3 hotfix line from the v2.8.2 release so follow-up bug fixes can be collected before the version is handed back to main. * feat(frontend): group MCP tools and unify description hover previews (#4261) (cherry picked from commit 1c52331) * fix(sql): 修复代理组内权限值的迁移脚本 (#4260) * feat(frontend): separate homepage branding from browser tabs (#4255) (#4262) * feat(frontend): separate homepage branding from browser tabs Add optional localized homepage titles and independent logo uploads with system-logo fallback. Keep blank homepage titles empty and preserve legacy branding fields and upload aliases. Keep browser tabs on system branding with a blank initial title and transparent favicon until the system logo loads. Remove competing metadata to prevent login and navigation resets. Keep homepage logos at a fixed size, clip the collapsed sidebar, and shift images right by 4px. Validate with 33 component tests, 22 Node tests, formatting and copyright checks. Formal D4 execution remains blocked by the missing isolated test-home; full asset validation also has an existing missing ConversationResumeBranch UT reference. * fix(frontend): initialize homepage title and adjust logo spacing Default unconfigured localized homepage titles to Nexent while preserving legacy titles and explicitly cleared values across restarts. Seed the built-in locale defaults and move the homepage logo 2px left. Add six startup regression variants and update branding test traceability. Validation: 33 component tests and 28 Node tests passed; formal runtime verification remains blocked by the missing isolated test-home. * fix(frontend): clarify application and navigation branding labels Use application logo/name and navigation logo/title in Chinese and English UI copy. Keep display-location annotations and explain application branding usage and navigation logo fallback. Preserve existing implementation names, translation keys, stored settings and API contracts. Update accessible-name test selectors and traceability. Validation: 5 component tests, source-only TypeScript, formatting and copyright checks passed; existing formal runtime blockers remain. * fix(frontend): show branding locations in hover hints Move parenthesized display locations into small help buttons beside application and navigation branding labels. Support hover and keyboard focus while preserving usage text and existing configuration identifiers. Validate with 8 component tests, source-only TypeScript, lint, formatting and copyright checks. Capture real browser evidence outside Git; existing formal runtime prerequisites remain unavailable. --------- (cherry picked from commit 556cdbe) Co-authored-by: JeffWu <45140512+jeffwu-1999@users.noreply.github.com> * fix(agent): deduplicate execution history and add output compaction and recall (#4264) * chore: bootstrap action history compaction review * fix(agent): deduplicate execution history and add cached summary recall * fix(agent): bound recalled output by remaining context * fix(agent): expose history reader and load committed execution records * test: align stream regression fixtures with execution history * ci: sync unit workflow from develop without merging branch * fix(agent): clarify runtime result ownership and align UT dependencies * fix(ci): isolate test index and complete history regression coverage * fix(agent): preserve host history reader, failure masking and standalone compaction * fix(agent): retain fallback instructions before execution contract * fix(context): retain legacy tool names and argument records * 🐛 Bugfix: Forward-compatible streaming response for the northbound Chat API (#4271) * feat(a2a): 将A2A代理调用超时时间调整为15分钟并统一配置 (#4265) * feat(a2a): 将A2A代理调用超时时间调整为15分钟并统一配置 * ci(workflows): sync pipeline configs from develop Port auto-unit-test.yml, nexent-daily-full-test.yml and sdk_publish.yml from origin/develop to pick up runner label parameterization, uv managed Python setup, Codecov CLI cache verification, e2e runner for daily full test, and pip-based build for SDK publish. Co-authored-by: Trae <noreply@trae.ai> Generated-by: GLM-5.3-Flash * build(deps): 同步 backend/sdk pyproject.toml 与 origin/develop 一致 - backend/pyproject.toml: CPU 索引定义、index-by-name 与索引策略、 本地 SDK 路径映射、data-process 的 nexent[data_process,performance]、 test 的 nexent[dev]、pytest 与 pytest-asyncio 版本约束 - sdk/pyproject.toml: 配套 uv 索引配置、pytest 固定 9.1.1、 unstructured[all-docs] 固定 0.18.14、移除旧的 999.0.0 依赖覆盖 Co-authored-by: Trae <noreply@trae.ai> Generated-by: glm-5.3-flash * fix(test): 稳定化 docker 端口分配失败用例,兼容容器化 runner test_start_container_find_port_failure 依赖 _is_running_in_docker() 返回 False 才会执行到 find_free_port;在容器化 runner 上该检测为 True,用例走了容器内分支导致断言失败。显式 patch 该检测为 False, 并补齐文件缺失的版权头。 * Chore(deploy): 调整 Dockerfile 中 sdk 复制和安装的顺序 为了让 uv sync 能通过 [tool.uv.sources] 正确解析本地 sdk,提前复制 sdk 目录;同时将 sdk 的性能 extras 安装移至后续步骤,避免依赖解析冲突。 --------- Co-authored-by: Trae <noreply@trae.ai> * fix(deploy): export offline images for the selected platform (#4277) * fix(sql): backport automation migration simplification to v2.8.4 (#4283) * Revert 4277 dev/fix offline image export platform (#4287) * Revert "fix(deploy): export offline images for the selected platform (#4277)" This reverts commit 6d619c7. * 指定执行器版本 --------- Co-authored-by: MoeexT <yuwancumian666@outlook.com> Co-authored-by: cj2026-bit <647646783@qq.com> Co-authored-by: chase <byzhangxin11@126.com> Co-authored-by: xuyaqi <xuyaqist@gmail.com> Co-authored-by: charmingchi1 <71816192+charmingchi1@users.noreply.github.com> Co-authored-by: bernard1234 <840646206@qq.com> Co-authored-by: Jason Wang <56037774+JasonW404@users.noreply.github.com> Co-authored-by: panyehong <91180085+YehongPan@users.noreply.github.com> Co-authored-by: Trae <noreply@trae.ai> Co-authored-by: hhhhsc701 <56435672+hhhhsc701@users.noreply.github.com> Co-authored-by: DongJiBao2001 <120021235+DongJiBao2001@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Chat source inspection stalls when repeated retrievals accumulate hundreds of results. Metadata layout measurements, eager detail rendering and repeated source derivation add work, while the panel mounts every card. AIDP catalog pages default to 10 records and leave incomplete four-column rows.
Fix
Backport the final changes from #4213 onto the
v2.8.1tag (30c5168452440dcf66c6785e1f478f9d2b4d3f4d) formain.Head:
513cb6264e38ae45f0f03fb2566142c3619ec62c. Both source and target branches are inModelEngine-Group/nexent.Verification
CHAT-AGENT-DETAIL-20261026references the absentfrontend/tests/workbench/ConversationResumeBranch.test.tsx. This hotfix does not add a UT or change that unrelated record to suppress the error.VERSIONupdate; this branch does not change VERSION.Warm foreground measurements on the deployed hotfix:
These are input-to-two-animation-frame approximations in development mode, not production SLOs. Earlier near-integral-second scheduling samples are retained separately. Foreground observation still includes long tasks (maximum 301 ms); the measurements do not establish that every page performance issue is resolved.