fix: 纳入上游权限、Redis Streams、Agent 与 Web LTS 修复 - #36
Merged
Conversation
…s GET endpoint (langgenius#41079) (langgenius#41080) (cherry picked from commit 07119e3)
(cherry picked from commit a5e284e)
(cherry picked from commit 602a646)
…ius#41022) (cherry picked from commit 785ca4b)
…anggenius#40964) Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: QuantumGhost <obelisk.reg+git@gmail.com> (cherry picked from commit 9d8dacd)
…traceback (langgenius#41068) (cherry picked from commit 23150c2)
…ggenius#40921) Co-authored-by: gegemeimingzi <gegemeimingzi@users.noreply.github.com> (cherry picked from commit 7d5c68c)
(cherry picked from commit 5550ec8)
(cherry picked from commit b02072b)
(cherry picked from commit 2daa69c)
(cherry picked from commit 63acefa)
(cherry picked from commit 394b433)
…icsearch-ja adapter (langgenius#40400) Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> (cherry picked from commit 385e866)
) Port popover positioner/popup hardening, tour recovery prompt focus fix and help-menu trigger ref passthrough. Adapted to fork: skipped hunks that depend on upstream-only refactors (langgenius#40396 dynamic titles, langgenius#40646 help-menu IconButton migration) covering account-setting dialog chrome, integrations modal and main-nav spec scaffolding. (cherry picked from commit faca558)
…GET endpoint (langgenius#41041) Adapted to fork test layout: appended DatasourceAuth coverage to the existing credential permission contract test instead of the upstream hunk context. (cherry picked from commit 43e59d3)
Port the Binding file download deadline chain (API client 240s, dify-agent shell command 210s) across api/, dify-agent/ and dify-agent-runtime/. Adapted to fork: fork's command runner predates upstream langgenius#39997 stdio mode, so binding_files.py keeps its call signature; docker env contract test rewritten for the fork's compose template layout. (cherry picked from commit 0ca9931)
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.
Summary
按 fork 的选择性 LTS 规则,纳入官方
upstream/main最近 7 天窗口中已经完成 diff 审查、适合当前维护线的安全、权限、数据完整性、可靠性、自托管兼容和窄范围 Web 修复。审计窗口为
2026-08-16 00:00:00 +0800至upstream/main@e18310e52e,first-parent 共 169 个提交。本 PR 不是整体同步 upstream;相对main包含 20 个 upstream source fix commits,另有 3 个 fork 侧 review/test follow-up commits。纳入的 upstream fixes(20 commits)
安全与权限
#41079/#41080:data source integrates GET 补齐 admin + RBAC 权限。#40897:保护 plugin endpoint listings。#40989:强制 dataset document ownership。#41022:RBAC 启用时修正 dataset permission 检查逻辑。#40893:间接资源访问强制 app scope;测试按 fork 当前上下文适配。#41041:datasource credential GET 补齐 edit + RBAC 权限;测试冲突按 fork 结构适配。#40944/#40945:Tool OAuth custom client GET 补齐 admin/owner 与 workspaceCREDENTIAL_MANAGE权限。API、数据与可观测性可靠性
#40964:修复 Redis Streams 丢失workflow_started事件。#41068:给会丢失 traceback 的logger.warning补exc_info=True。#40947:workflow logstore 时间戳归一化为 naive UTC。#39129:chat pipeline 错误事件补发MESSAGE_TRACEtask。#40400:Elasticsearch-JA adapter 增加document_idkeyword mapping,并修正VectorType。Web / UI 窄范围修复
#40921:修复移动端登录页内容溢出。#40994:删除 Agent 后正确重定向。#40846:多模态引导高度自适应内容。#41002:明确 Agent 删除后果提示。#41009:移除 billing 中误导性的税务担保文案。#40852:Agent 模式建议模型改为deepseek-v4-flash。#41060:修复 Safari 裁切 tour recovery prompt;因 fork 未引入 upstreamIconButton迁移链,在现有 help-menu 结构上适配triggerRef并补回归测试。Agent / Binding file
#41027:对齐 Binding file 上传超时。fork 当前仍是 pre-stdio runtime,因此按现有 config surface 适配,没有提前引入#41021 -> #39997 -> #41023的 shellctl/runtime 链。Fork review follow-ups(3 commits)
docker/envs/core-services/api.env.example与dify-agent.env.example,不再由 Composeenvironment覆盖用户的 service-specificenv_file设置。#40893测试适配遗漏的nullcontextimport;该遗漏由全量 changed API unit tests 捕获。7 天窗口闭合分类
#40945权限修复已补入本 PR保留为独立 intake 的 11 项
#39136:Qwen/vLLM system message 合并置首;会改变所有 provider 的 message 语义,需要真实 provider smoke 后独立决定。#40935:恢复 metrics;24 文件且混入 enterprise telemetry,需先确认 fork 的真实 metrics 消费方。#40872、#40876、#40896、#40937、#40972,必须按依赖整体 replay,不能零散 cherry-pick。#40888:Agent 删除生命周期;会改变外部 Workflow dangling reference 语义,需要单独确认兼容策略。#41021、#39997、#41023;未来应从当前main依 upstream 顺序重放,再重新适配#41027。补充等价判断:
#40962是 upstream 空提交,生产权限语义已由 fork 的#40900覆盖;#40977与#40980已存在于main,不计入本 PR 的 20 个 source commits。Migration / compatibility note
#40400修改 Elasticsearch-JA index mapping;既有索引不会自动获得document_idkeyword mapping,需重建或按运维方案迁移索引后才会完全生效。Verification
API
537 passed。make type-check:Pyrefly + mypy 通过,1675个 source files 无错误。make check:全 API Ruff 通过。476 valid、0 mismatch;2 个既有 refactorable 均不在本 PR。9 kept、0 broken。dify-agent / runtime
761 passed,1 个 warning。make -C dify-agent check:通过。basedpyright --level error:0 errors, 0 warnings, 0 notes。58 errors,均在未修改的 examples/core tools/knowledge/runtime test stubs,当前改动文件未出现在错误列表。dify-agent-runtime:go test ./...与go vet ./...通过。Web / Dify UI
187 passed。4 passed。.next/types/validator.ts中environment-tabs/layout.ts缺defaultexport 的缓存错误阻塞。0missing keys。vp check完全通过。Git / CI boundary
git diff --check origin/main...HEAD:通过。main当前没有 branch protection、ruleset 或 required review/check gate。Delivery boundary
本 PR 完成 source、local verification、commit/PR/merge gate;没有执行生产/HFS 部署、数据库/索引迁移、真实 provider/runtime smoke 或业务 UAT,这些不能由本地测试和 GitHub merge 推导。