Skip to content

feat(tracing): configure Agent tracing and link workflow runs to traces - #44186

Merged
lyzno1 merged 40 commits into
codex/agent-tracing-backendfrom
codex/agent-tracing-configuration
Oct 22, 2026
Merged

lyzno1 merged 40 commits into
codex/agent-tracing-backendfrom
codex/agent-tracing-configuration

Conversation

@lyzno1

@lyzno1 lyzno1 commented Oct 16, 2026 •

Copy link
Copy Markdown
Member

Summary

Adds shared tracing configuration to Agent monitoring, caller-Workflow inheritance summaries, and execution-specific trace links using backend-reported delivery state. Builds on #44144.

  • Keep deployment availability independent of provider selection and application policy. Allow anonymous Phoenix, correct Tencent APM endpoint guidance and service-name validation, and preserve the Weave brand in Chinese.
  • Disable autocomplete on the shared tracing form and its 11 sensitive credential fields across 10 providers. Preserve visible text input, server-masked config values, and save/retry behavior.
  • Resolve standalone Agent traces by message ID and Workflow-origin Agent logs by caller app and node execution ID. Connect Workflow test-run results and node panels to the actual run. Historical destinations come from the backend response.
  • Preserve task IDs from thought-only streams and ignore empty ID updates. Await Agent stop requests before disconnecting; rejected stops keep the stream active and can be retried. Persist safe message-level failures through SSE/HTTP errors and history reload without replacing partial answers or exposing raw provider errors.

Refs DIFY-2975, DIFY-2983, DIFY-2984, DIFY-2985, DIFY-2995, DIFY-2996, DIFY-2997, DIFY-2998, DIFY-3000, DIFY-3002, DIFY-3003.

State and ownership

Server configuration and delivery state remain in generated Console queries. Form drafts remain local to the dialog session. Chat owns the current execution identity and transport lifecycle; a successful stop request does not synthesize a cancelled backend or tracing state. Shared query keys continue to isolate resources, runs, and messages.

Validation

  • 363 tests passed across 25 targeted files: provider forms, deployment/inheritance summaries, Agent preview/history and stop behavior, real SSE/HTTP error routing, Agent log ownership, Workflow preview and execution trace presentation, and existing shared Chat behavior.
  • vp run -w check passed: formatting, lint, TypeScript, and non-code ESLint. Existing repository warnings remain; the changed-file check reported no warnings or errors.
  • Credential follow-up: 107 tests passed across provider configuration, App tracing, and Agent monitoring, including visible textbox semantics, autocomplete policy, save payloads, and masked reloads.
  • Stop-test CI repair: await asynchronous React act scopes and match the existing silent error-ownership contract. All checks including Codecov passed on 9d33a92; subsequent commits run their own checks.
  • Tencent and Phoenix constraints were checked against current official documentation.

Remaining acceptance

This PR is not merged. Live ten-provider configuration/export/deep-link verification remains tracked by DIFY-2986 and the related frontend issues. Local tests do not establish real-provider delivery, anonymous Phoenix connectivity, or backend cancellation of a live long-running tool invocation. Those acceptance items remain explicit in Linear; they are not claimed complete by this update.

The credential form requests autocomplete="off"; browsers and password managers may override this policy. The reported saved-profile suggestion has not been independently reproduced, so component tests do not certify its absence in every browser.

System features integration

Deployment availability now reads the required agent_tracing_api_collection_enabled boolean from the existing public /system-features contract through systemFeaturesQueryOptions() at all four consumers. The authenticated /features contract no longer owns this field. This includes frontend commit 678b016, replayed as ecca767 on the updated backend layer.

The shared Infinity cache policy is unchanged: a failed refresh retains the last successful value, while an initial failure without successful data remains unknown. App/provider permissions and collection-gate semantics are unchanged.

After rebasing both layers onto main 507313a: 268 frontend tests across 25 files, the complete static check, and the vinext production build passed locally (Node 24.21.0, Vitest 5.0.5). Workflow Tool drilldowns and external Agent trace identity remain covered. Backend tracing/boundary/migration validation passed 1102 tests. Remote checks run on the new heads; this does not claim live gate=false, low-permission, or ten-provider acceptance.

Review follow-up

Commit c572316 fixes three frontend review findings: pending Agent stop requests are scoped to an execution generation; provider selection uses the shared radio-group primitives with independent configuration and view actions; and the configured tracing entry retains a localized purpose, provider, and status name.

Validation: 252 tests passed across six related files, including a two-execution stop race that fails against the previous implementation, provider arrow-key selection, and enabled/disabled accessible names. The complete repository static check passed. These checks do not claim real-provider export or live deployment acceptance.

Provider focus follow-up (6f6fb59): policy saves make the radio group read-only instead of natively disabling the focused radio. Chromium regression coverage verifies focus during a deferred save, navigation without additional writes while read-only, and continued selection after saving; it fails against the previous implementation. 59 related unit tests and the full static check also passed.

@lyzno1
lyzno1 added this pull request to stack #44187 October 16, 2026 03:12
@ghfind-review ghfind-review Bot added the review: top ghfind author score; see https://ghfind.com label Oct 16, 2026
@github-actions github-actions Bot added size:XXL This PR changes 1000+ lines, ignoring generated files. web This relates to changes on the web. and removed size:XXL This PR changes 1000+ lines, ignoring generated files. labels Oct 16, 2026
@codecov

codecov Bot commented Oct 16, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 98.41040% with 11 lines in your changes missing coverage. Please review.
✅ Project coverage is 88.59%. Comparing base (8c81740) to head (392ecc6).

Files with missing lines Patch % Lines
web/app/components/app/tracing/config-popup.tsx 97.22% 2 Missing ⚠️
...app/components/workflow/run/external-trace-row.tsx 95.45% 2 Missing ⚠️
web/app/components/workflow/run/meta.tsx 94.11% 2 Missing ⚠️
web/app/components/app/tracing/capabilities.ts 87.50% 1 Missing ⚠️
...p/components/app/tracing/provider-capabilities.tsx 96.42% 1 Missing ⚠️
.../agent-detail/monitoring/tracing-configuration.tsx 80.00% 1 Missing ⚠️
web/service/base.ts 66.66% 1 Missing ⚠️
web/service/console/query-policies.ts 96.77% 1 Missing ⚠️
Additional details and impacted files
@@                       Coverage Diff                        @@
##           codex/agent-tracing-backend   #44186       +/-   ##
================================================================
- Coverage                        88.98%   88.59%    -0.39%     
================================================================
  Files                             5606     3605     -2001     
  Lines                           337328   136765   -200563     
  Branches                         67379    46065    -21314     
================================================================
- Hits                            300171   121172   -178999     
+ Misses                           31906    15593    -16313     
+ Partials                          5251        0     -5251     
Flag Coverage Δ
api ?
cli ?
dify-ui 91.67% <ø> (ø)
web 88.55% <98.41%> (+0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@github-actions github-actions Bot added the size:XXL This PR changes 1000+ lines, ignoring generated files. label Oct 16, 2026
@github-actions

github-actions Bot commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Vinext bundle analysis

JS gzip: 🟠 +25.26 KiB (+0.27%) · CSS gzip: 🟠 +24 B (+<0.01%)

All client output Base gzip → Merge gzip Gzip change
JS 9445.72 KiB → 9470.98 KiB 🟠 +25.26 KiB (+0.27%)
CSS 332.27 KiB → 332.29 KiB 🟠 +24 B (+<0.01%)

Entry changes: 🟠 167 increased · 🟢 5 decreased (gzip).

Largest entry changes

Top 5 by absolute gzip delta. Static dependencies overlap; do not sum entries.

Source entry Base gzip → Merge gzip Gzip change
app/(commonLayout)/app/(appDetailLayout)/[appId]/overview/view.tsx 735.49 KiB → 758.53 KiB 🟠 +23.04 KiB (+3.13%)
app/components/explore/installed-app/index.tsx 1005.92 KiB → 1009.78 KiB 🟠 +3.87 KiB (+0.38%)
app/components/share/text-generation/index.tsx 997.44 KiB → 1001.28 KiB 🟠 +3.84 KiB (+0.39%)
app/components/workflow/nodes/agent-v2/panel.tsx 1664.96 KiB → 1668.26 KiB 🟠 +3.30 KiB (+0.20%)
app/(shareLayout)/chatbot/[token]/page.tsx 1017.61 KiB → 1020.05 KiB 🟠 +2.44 KiB (+0.24%)
Top 20 of 172 changed entries (full paths and raw sizes)
Source entry Base gzip → Merge gzip Gzip change Raw change
dynamic-entry: app/(commonLayout)/app/(appDetailLayout)/[appId]/overview/view.tsx 735.49 KiB → 758.53 KiB 🟠 +23.04 KiB (+3.13%) 🟠 +57.69 KiB (+2.39%)
dynamic-entry: app/components/explore/installed-app/index.tsx 1005.92 KiB → 1009.78 KiB 🟠 +3.87 KiB (+0.38%) 🟠 +13.78 KiB (+0.43%)
dynamic-entry: app/components/share/text-generation/index.tsx 997.44 KiB → 1001.28 KiB 🟠 +3.84 KiB (+0.39%) 🟠 +13.73 KiB (+0.43%)
dynamic-entry: app/components/workflow/nodes/agent-v2/panel.tsx 1664.96 KiB → 1668.26 KiB 🟠 +3.30 KiB (+0.20%) 🟠 +12.13 KiB (+0.22%)
dynamic-entry: app/(shareLayout)/chatbot/[token]/page.tsx 1017.61 KiB → 1020.05 KiB 🟠 +2.44 KiB (+0.24%) 🟠 +11.51 KiB (+0.36%)
dynamic-entry: app/components/explore/try-app/app/index.tsx 1046.72 KiB → 1049.16 KiB 🟠 +2.44 KiB (+0.23%) 🟠 +11.51 KiB (+0.35%)
dynamic-entry: app/components/explore/try-app/index.tsx 1347.27 KiB → 1349.69 KiB 🟠 +2.42 KiB (+0.18%) 🟠 +11.58 KiB (+0.26%)
dynamic-entry: app/(shareLayout)/agent/[token]/page.tsx 1025.55 KiB → 1027.96 KiB 🟠 +2.42 KiB (+0.24%) 🟠 +11.50 KiB (+0.35%)
dynamic-entry: app/components/base/chat/chat-with-history/index.tsx 1020.37 KiB → 1022.79 KiB 🟠 +2.42 KiB (+0.24%) 🟠 +11.50 KiB (+0.36%)
dynamic-entry: app/(shareLayout)/chat/[token]/page.tsx 1022.97 KiB → 1025.38 KiB 🟠 +2.41 KiB (+0.24%) 🟠 +11.50 KiB (+0.36%)
dynamic-entry: app/(shareLayout)/environment/chat/[token]/page.tsx 1022.97 KiB → 1025.38 KiB 🟠 +2.41 KiB (+0.24%) 🟠 +11.50 KiB (+0.36%)
dynamic-entry: app/components/app/configuration/index.tsx 1394.42 KiB → 1396.78 KiB 🟠 +2.35 KiB (+0.17%) 🟠 +11.53 KiB (+0.25%)
dynamic-entry: app/components/workflow/panel/record.tsx 1376.45 KiB → 1378.42 KiB 🟠 +1.97 KiB (+0.14%) 🟠 +7.33 KiB (+0.16%)
dynamic-entry: app/components/workflow-app/index.tsx 1478.36 KiB → 1480.33 KiB 🟠 +1.97 KiB (+0.13%) 🟠 +7.29 KiB (+0.15%)
dynamic-entry: app/components/workflow/panel/workflow-preview.tsx 1383.27 KiB → 1385.23 KiB 🟠 +1.96 KiB (+0.14%) 🟠 +7.38 KiB (+0.16%)
dynamic-entry: app/components/workflow/nodes/http/panel.tsx 1387.16 KiB → 1389.11 KiB 🟠 +1.94 KiB (+0.14%) 🟠 +7.21 KiB (+0.16%)
dynamic-entry: app/components/rag-pipeline/components/panel/test-run/index.tsx 1378.13 KiB → 1380.08 KiB 🟠 +1.94 KiB (+0.14%) 🟠 +7.21 KiB (+0.16%)
dynamic-entry: app/components/workflow/nodes/trigger-schedule/panel.tsx 1386.04 KiB → 1387.99 KiB 🟠 +1.94 KiB (+0.14%) 🟠 +7.21 KiB (+0.16%)
dynamic-entry: app/components/workflow/panel/chat-variable-panel/index.tsx 1380.83 KiB → 1382.77 KiB 🟠 +1.94 KiB (+0.14%) 🟠 +7.21 KiB (+0.16%)
dynamic-entry: app/components/workflow/header/header-in-view-history.tsx 1374.05 KiB → 1375.99 KiB 🟠 +1.94 KiB (+0.14%) 🟠 +7.21 KiB (+0.16%)
📦 0 package attribution changes (uncompressed modules)

Showing 0 of 0, ordered by absolute module-size delta.

Package Base Merge Δ
No package attribution changes — — —
Measurement details and build revisions

Base: 8c817401929d2221b1af4b8be5d8e0ac26431b12 · Merge: 81c1aafdbdb361d6fc07b490669ebd7a11822dc2
Vinext: 1.2.1 → 1.2.1; Rolldown: 1.2.14 → 1.2.14

Raw JS change: 🟠 +91.77 KiB (+0.28%) · Raw CSS change: 🟠 +285 B (+0.02%)

🟠 Increase · 🟢 Decrease · ⚪ Unchanged. Colors indicate direction, not a performance budget verdict. Percentages use the base size.

Entries follow only static edges in the official Rolldown chunk graph, deduplicating shared files. Dynamic entries are measured when loaded; they are not page first-load metrics. Entry totals overlap and must not be summed.
Package attribution sums module sizes reported by Rolldown, not compressed emitted bytes. Gzip totals are measured per emitted file. This is Vinext output, not Next.js/Turbopack output.
Report only: increases do not fail this check. Missing or incompatible analysis data does.

Download base/merge snapshots and official Rolldown analysis reports.

Comparison: event base SHA vs the tested merge commit at GITHUB_SHA (PR or merge queue).

@lyzno1
lyzno1 force-pushed the codex/agent-tracing-configuration branch from b12e5f8 to 581dc97 Compare October 16, 2026 03:59
@lyzno1
lyzno1 force-pushed the codex/agent-tracing-configuration branch 5 times, most recently from 447c1dc to 11fcd57 Compare October 16, 2026 08:00
@lyzno1 lyzno1 changed the title feat: configure Agent tracing from monitoring feat(tracing): configure Agent tracing and link workflow runs to traces Oct 16, 2026
@lyzno1
lyzno1 force-pushed the codex/agent-tracing-configuration branch 3 times, most recently from 8904b3e to 8e6e267 Compare October 16, 2026 12:29
@github-actions github-actions Bot added the e2e End-to-end tests and E2E test infrastructure. label Oct 16, 2026
@lyzno1
lyzno1 force-pushed the codex/agent-tracing-configuration branch from 7d2606a to f4d9e91 Compare October 16, 2026 15:45
@github-actions github-actions Bot removed the e2e End-to-end tests and E2E test infrastructure. label Oct 16, 2026
@lyzno1
lyzno1 force-pushed the codex/agent-tracing-configuration branch from f4d9e91 to 44728be Compare October 17, 2026 02:06

@Stream29 Stream29 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please address the Agent v2 runtime-type mismatch noted inline.

@lyzno1
lyzno1 force-pushed the codex/agent-tracing-configuration branch 2 times, most recently from e67fca4 to 489ed80 Compare October 17, 2026 07:53
lyzno1 and others added 16 commits October 21, 2026 21:43
…d server

- Remove call-history resets that Vitest 5 already performs and toast mocks
  the tracing flow never reaches.
- Seed tracing status through the mocked server instead of writing the
  query cache.
- Fold duplicate capability, description and disclosure checks into the
  cases that already own them, and drop an Escape case that only exercised
  the test's own dialog.
Show the deployment gate independently of provider selection and application policy. Allow anonymous Phoenix, correct Tencent guidance and validation, and preserve the Weave brand.

Refs DIFY-2995, DIFY-3000, DIFY-2998, DIFY-3002
…races

Use Agent message identities for standalone traces and caller app/node execution identities for Workflow-origin logs. Thread the test run identity into result and node tracing panels, with behavior coverage across real log owners.

Refs DIFY-2985
Keep task IDs from thought events until the next send. Await Agent stop requests before disconnecting, retain the stream on failure, and prevent duplicate requests. Preserve SSE error identity and render safe failures alongside partial output and restored history.

Refs DIFY-2996, DIFY-2997
Mask sensitive inputs while preserving server-masked values and native form submission. Cover provider credential attributes and App/Agent save and retry behavior.

Refs DIFY-3003
Limit the credential change to disabling autocomplete. Keep the existing text input behavior and assert the autocomplete policy through accessible textbox queries.

Refs DIFY-3003
Preserve workflow-tool drilldowns and external trace propagation; remove duplicate resource identity and fixture fields introduced by rebasing. Keep transport tests scoped to their existing SSE boundary.

Refs DIFY-2995
Scope pending stops to their execution generation, use a radio group for provider selection, and name the configured tracing entry with its purpose, provider, and status.

Refs DIFY-2975, DIFY-2997
Use group-level readOnly during policy mutations and cover pending-save keyboard navigation in Chromium.

Refs DIFY-2975
@lyzno1
lyzno1 force-pushed the codex/agent-tracing-configuration branch from 0d3f1ff to 392ecc6 Compare October 21, 2026 13:43
@lyzno1
lyzno1 enabled stacked auto-merge October 22, 2026 02:00
@lyzno1
lyzno1 added this pull request to the merge queue Oct 22, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue because a pull request earlier in the stack was removed Oct 22, 2026
@lyzno1
lyzno1 added this pull request to the merge queue Oct 22, 2026
Merged via the queue into main with commit 42bde2e Oct 22, 2026
83 of 85 checks passed
@lyzno1
lyzno1 deleted the codex/agent-tracing-configuration branch October 22, 2026 02:17
Awhitter added a commit to Awhitter/dify that referenced this pull request Oct 25, 2026
* feat(agent): stream Agent V2 text output in plain runs (langgenius#43986)

Co-authored-by: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>

* refactor(api): read provider configuration cache rows via pydantic (langgenius#44055)

* refactor(web): use Select for the Studio app type filter (langgenius#44070)

* refactor(web): model app settings with form primitives (langgenius#44073)

* fix(dify-ui): show destructive colors on keyboard focus (langgenius#44079)

* ci: require TypeBase for new models (langgenius#44087)

Co-authored-by: Codex <codex@openai.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* ci: enable Ruff E721 (langgenius#44096)

Co-authored-by: Codex <codex@openai.com>

* ci: enable Ruff SIM210 (langgenius#44095)

Co-authored-by: Codex <codex@openai.com>

* fix(web): align API key dialog lifecycle and copy behavior (langgenius#44077)

* test(dify-ui): wait for time picker visibility before axe scan (langgenius#44105)

* ci: enable Ruff B006 (langgenius#44099)

Co-authored-by: Codex <codex@openai.com>

* ci: enable Ruff FURB152 (langgenius#44091)

Co-authored-by: Codex <codex@openai.com>

* ci: enable Ruff E711 (langgenius#44088)

Co-authored-by: Codex <codex@openai.com>

* fix(knowledge): only batch-enable segments whose indexing completed (langgenius#44017)

* fix(nodejs-client): preserve SSE field value whitespace (langgenius#44083)

* fix(api): stage hit-testing query log with flush instead of committing caller session (langgenius#44084)

* fix(dify-agent): treat a confirmed-missing Home Snapshot as a success on Enterprise delete (langgenius#44085)

Co-authored-by: D41910 <d41910@users.noreply.github.com>

* fix(nodejs-client): override default headers case-insensitively (langgenius#44090)

* fix(nodejs-client): allow empty keyword filters in list APIs (langgenius#44097)

* fix(nodejs-client): replace stale user fields in native upload forms (langgenius#44120)

* fix(api): accept MCP protocol version 2025-11-25 (langgenius#44066)

* fix(api): compare datasource credentials as JSON on MySQL (langgenius#44039)

* fix(structured_output): skip reasoning JSON when selecting output (langgenius#44005)

Co-authored-by: crazywoola <427733928@qq.com>

* ci: enable Ruff E722 (langgenius#44098)

Co-authored-by: Codex <codex@openai.com>

* ci: enable Ruff UP032 (langgenius#44092)

Co-authored-by: Codex <codex@openai.com>

* ci: enable Ruff B905 (langgenius#44094)

Co-authored-by: Codex <codex@openai.com>

* ci: enable Ruff SIM113 (langgenius#44102)

Co-authored-by: Codex <codex@openai.com>

* fix(deps): upgrade Next.js to 16.4.1 for October security fixes (langgenius#44127)

* docs: record overlay ownership and focus lessons (langgenius#44126)

* refactor(workflow): use route identity and Console Query for webhook URLs (langgenius#44135)

* refactor(workflow): own preview chat requests with Console Query (langgenius#44136)

* perf(rag): reduce knowledge retrieval post-processing overhead (langgenius#43665)

* fix(api): fix typos in logger warning and docstrings (langgenius#44134)

* refactor(api): enable strict typing for enterprise telemetry exporter tests (langgenius#44138)

* refactor(api): enable strict typing for prompt transform tests (langgenius#44139)

* ci: enable Ruff TID252 (langgenius#44108)

Co-authored-by: Codex <codex@openai.com>

* ci: enable Ruff B026 (langgenius#44100)

Co-authored-by: Codex <codex@openai.com>

* ci: enable Ruff SIM103 (langgenius#44110)

Co-authored-by: Codex <codex@openai.com>

* ci: enable Ruff FURB113 (langgenius#44109)

Co-authored-by: Codex <codex@openai.com>

* refactor(tools): remove redundant nested cast in MCP tool (langgenius#44132)

* refactor(api): use Pydantic to validate crawl cache key (langgenius#44131)

* fix(mcp): collect all tool discovery pages (langgenius#43842)

* fix(deps): override fflate to 0.7.5 for CVE-2026-45820 (langgenius#44148)

* refactor(web): let layouts own viewport height instead of root h-full chain (langgenius#44143)

* refactor(web): centralize AppIcon data and Avatar rendering (langgenius#44149)

* fix(agent): fail closed on Landlock errors and require local tokens (langgenius#44152)

* chore(deps): bump mako from 1.3.12 to 1.4.2 in /api (langgenius#43607)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump multidict from 6.7.0 to 6.9.1 in /api (langgenius#43610)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump fsspec from 2026.3.0 to 2026.6.0 in /dify-agent (langgenius#43606)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump oauthlib from 3.3.1 to 4.0.0 in /api (langgenius#43257)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump pydantic-ai-slim from 2.31.0 to 2.53.0 in /api (langgenius#43725)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* ci: enable Ruff E712 (langgenius#44114)

Co-authored-by: Codex <codex@openai.com>

* refactor: migrate app tracing queries and harden monitoring configuration (langgenius#44150)

* ci: enable Ruff SIM108 (langgenius#44113)

Co-authored-by: Codex <codex@openai.com>

* refactor(api): remove redundant casts in tencent trace unit tests (langgenius#44158)

* fix(api): preserve timestamp ties in message pagination (langgenius#44023)

Co-authored-by: mac <mac@macdeMacBook-Pro.local>

* fix(web): keep the value selector of a Code node input when regenerating code (langgenius#44075)

* fix(e2e): share sandbox auth token across managed runtimes (langgenius#44164)

* chore: remove KnowledgeFS and New Knowledge from main (langgenius#44163)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* ci: enable Ruff SIM105 (langgenius#44112)

Co-authored-by: Codex <codex@openai.com>

* refactor(web): retire the app detail store in favour of the query cache (langgenius#44166)

* fix(api): let a removed active member sign in with a re-invite (langgenius#43667)

Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>
Co-authored-by: Stream <Stream_2@qq.com>

* refactor(web): clarify App modes and scope workflow editor resources (langgenius#44171)

* chore: mark generated files as linguist-generated (langgenius#44180)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* feat(api): let agents build, configure and ship Dify apps over openapi (langgenius#43067)

* ci: enable Ruff B007 (langgenius#44107)

Co-authored-by: Codex <codex@openai.com>

* ci: enable Ruff F821 (langgenius#44101)

Co-authored-by: Codex <codex@openai.com>

* ci: enable Ruff UP007 (langgenius#44106)

Co-authored-by: Codex <codex@openai.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* ci: enable Ruff N806 (langgenius#44116)

Co-authored-by: Codex <codex@openai.com>

* fix: accumulate workflow elapsed time across resumptions (langgenius#44161)

* refactor(web): migrate handwritten console API calls to the generated oRPC contract (langgenius#44169)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* chore(deps): bump unstructured from 0.24.0 to 0.24.1 in /dify-agent (langgenius#44189)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix(web): normalize collapsible indicator rotation (langgenius#44193)

* fix(workflow): generate template-compatible snippet node IDs (langgenius#43838)

* fix(api): return protocol errors for unsupported MCP requests (langgenius#44197)

* fix(api): align hosted moderation provider validation (langgenius#44200)

* feat(api): add inner API for enterprise admin app list and detail (langgenius#44044)

Co-authored-by: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* fix(dify-ui): let portal order stack overlays so nested modals block clicks (langgenius#44214)

* fix(nodejs-client): collect workflow text_chunk and apply message_replace in toText (langgenius#44177)

* fix(rag): preserve newlines in recursive character fallback (langgenius#44179)

* refactor(web): remove unnecessary type assertions with a migration-only tsslint rule (langgenius#44219)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* refactor: remove redundant TypeScript type aliases (langgenius#44225)

* refactor(web): replace straightforward explicit any types (langgenius#44228)

* refactor(dify-ui): give AlertDialog a header part and design defaults (langgenius#44223)

Co-authored-by: Claude <noreply@anthropic.com>

* refactor(web): remove unnecessary use prefixes (langgenius#44231)

* fix(web): clear Storybook and file preview lint suppressions (langgenius#44233)

* refactor(web): replace explicit any in test fixtures and mocks (langgenius#44235)

* refactor(dify-ui): compose dialogs from the Design Kit anatomy (langgenius#44221)

* refactor(web): exercise real frontend behavior in tests (langgenius#44243)

* chore(web): prefer vinext for frontend development (langgenius#44246)

* chore(contracts): upgrade @hey-api/openapi-ts to 0.99.0 (langgenius#44247)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* refactor(dify-ui): scroll dialog bodies and give AlertDialog a body (langgenius#44248)

Signed-off-by: yyh <yuanyouhuilyz@gmail.com>
Co-authored-by: Stephen Zhou <hi@hyoban.cc>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(web): align app and agent export feedback (langgenius#44251)

* refactor(web): migrate Notion page preview to Console Query (langgenius#44252)

* test(web): include untested sources in coverage (langgenius#44254)

* test(web): replace low-value suites with behavioral coverage (langgenius#44260)

* fix(api): preserve published triggers on draft sync (langgenius#44068)

Co-authored-by: mac <mac@macdeMacBook-Pro.local>

* fix: don't stringify list values for union-typed MCP tool parameters (langgenius#44182)

Co-authored-by: Stream <Stream_2@qq.com>

* fix(cli): observe SSE read failures while consumers process events (langgenius#43943)

Co-authored-by: huyengiang101086-spec <270684046+huyengiang101086-spec@users.noreply.github.com>

* fix(skills): preserve PPTX presentation slide order (langgenius#43893)

Co-authored-by: LimbC-C <329404569+LimbC-C@users.noreply.github.com>

* fix(dify): retry failed archive deletion instead of reporting success (langgenius#44061)

Co-authored-by: Stream <Stream_2@qq.com>

* refactor(api): enable strict typing for tasks unit tests (langgenius#44255)

* refactor(api): enable strict typing for easy UI app config manager tests (langgenius#44244)

* test(web): consolidate suites around real feature behavior (langgenius#44274)

* fix(web): separate app dialog group and control labels (langgenius#44261)

Co-authored-by: Stephen Zhou <38493346+hyoban@users.noreply.github.com>

* fix(ops): bind tracing service accounts to the app workspace (langgenius#44208)

* refactor(api): enable strict typing for libs unit tests (langgenius#44276)

* refactor(ui): clarify dialog header close button anatomy (langgenius#44283)

* fix(plugins): align provider overlays and background update feedback (langgenius#44284)

* fix(web): merge parallel tool results into their own agent thoughts (langgenius#43843)

Co-authored-by: Stream <Stream_2@qq.com>

* test(web): exercise real workflow canvas controls and note actions (langgenius#44287)

* test(web): cover node context menu clicks and drop hooks-store facade mocks (langgenius#44288)

* fix(web): label the Notion page search field (langgenius#44290)

* ci: enable Ruff B903 (langgenius#44117)

Co-authored-by: Codex <codex@openai.com>

* refactor(web): migrate Mermaid diagrams to Pele (langgenius#44293)

* fix(tests): satisfy Ruff B903 for hit-test fake (langgenius#44299)

Co-authored-by: mac <mac@macdeMacBook-Pro.local>

* refactor(api): enable strict typing for configs unit tests (langgenius#44294)

Co-authored-by: Asuka Minato <i@asukaminato.eu.org>

* refactor(api): bring vector store provider sources under type checking (langgenius#44237)

Co-authored-by: Asuka Minato <i@asukaminato.eu.org>

* ci: enable Ruff PT011 (langgenius#44122)

Co-authored-by: Codex <codex@openai.com>

* ci: enable Ruff E402 (langgenius#44123)

Co-authored-by: Codex <codex@openai.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* refactor: migrate Dataset to TypeBase (langgenius#40817)

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Codex <codex@openai.com>

* ci: enable Ruff F841 (langgenius#44115)

Co-authored-by: Codex <codex@openai.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* fix: honor RTF Unicode fallback lengths in skill attachments (langgenius#43789)

Co-authored-by: LimbC-C <329404569+LimbC-C@users.noreply.github.com>

* chore(deps): bump patch and minor pnpm catalog dependencies (langgenius#44319)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* chore(deps): drop unused postcss-selector-parser overrides (langgenius#43292)

* fix: preserve DOCX paragraph text in skill attachments (langgenius#43718)

Co-authored-by: LimbC-C <329404569+LimbC-C@users.noreply.github.com>

* feat(cli): let agents build Dify apps with difyctl and an embedded skill (langgenius#43819)

* refactor(api): enable strict typing for easy UI dataset and prompt template tests (langgenius#44320)

* fix(api): require a Tencent vector database name and type-check the provider (langgenius#44325)

* fix(web): open command menu instantly with a lighter backdrop (langgenius#44330)

* fix(cli): serialize token file updates (langgenius#44329)

Co-authored-by: mac <mac@macdeMacBook-Pro.local>

* fix(web): parse destructured and multi-line main signatures in Code node (langgenius#44046)

Co-authored-by: Stream <Stream_2@qq.com>

* refactor(web): simplify Mermaid preview layout and interactions (langgenius#44335)

* fix(web): stabilize Logs loading and conversation dialogs (langgenius#44338)

* fix(web): improve app access point accessibility (langgenius#44220)

Co-authored-by: lyzno1 <92089059+lyzno1@users.noreply.github.com>

* fix(vdb): restore TiDB on Qdrant full-text query filtering (langgenius#44339)

* fix(web): remove redundant plugin permission success toast (langgenius#44342)

* fix(web): handle default model form submission feedback (langgenius#44345)

* fix(web): save the shown timezone on new schedule trigger nodes (langgenius#43532)

* test(web): exercise variable assignment with real workflow stores (langgenius#44349)

* fix(api): initialize default LLMs during onboarding (langgenius#44350)

* fix: replace str(e) with generic messages in error responses (langgenius#43049)

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* ci: enable Ruff B904 (langgenius#44121)

Co-authored-by: Codex <codex@openai.com>
Co-authored-by: hjlarry <hjlarry@163.com>

* refactor(api): enable strict typing for tool encryption tests (langgenius#44348)

* refactor(api): enable strict typing for data source auth tests (langgenius#44347)

* refactor(workflow): adopt Graphon 0.8 execution orchestration (langgenius#40277)

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* test(web): verify canvas updates and debounced variable edits (langgenius#44361)

* refactor(api): enable strict typing for file fetcher, common controller and app factory tests (langgenius#44379)

* refactor(api): enable strict typing for unstructured extractor tests (langgenius#44380)

* fix(vdb): balance multi-keyword Qdrant results (langgenius#44352)

Co-authored-by: mac <mac@macdeMacBook-Pro.local>

* fix(cli): accept BOM-prefixed JSON input (langgenius#44386)

Co-authored-by: mac <mac@macdeMacBook-Pro.local>

* chore(deps): bump aiohttp from 3.14.3 to 3.14.4 in /api (langgenius#44387)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Yunlu Wen <yunlu.wen@dify.ai>

* refactor(api): enable strict typing for remaining libs unit tests (langgenius#44388)

* refactor(api): enable strict typing for storage unit tests (langgenius#44389)

* feat: add reusable network access group APIs (langgenius#41025)

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: CodingOnStar <hanxujiang@dify.com>
Co-authored-by: hjlarry <hjlarry@163.com>
Co-authored-by: yyh <92089059+lyzno1@users.noreply.github.com>
Co-authored-by: yyh <yuanyouhuilyz@gmail.com>

* feat: confirm clearing default models and refresh values on open (langgenius#44354)

Co-authored-by: yyh <yuanyouhuilyz@gmail.com>

* fix(cli): change local YAML files only through a locked update (langgenius#44375)

* chore(i18n): sync translations with en-US (langgenius#44397)

Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>

* fix: retain model selector focus after clearing defaults (langgenius#44399)

* fix(dataset): batch segment and document cleanup with retries (langgenius#38519)

Co-authored-by: hjlarry <hjlarry@163.com>

* test(web): exercise workflow actions against real stores (langgenius#44381)

* fix(web): upgrade TanStack Hotkeys and isolate search commands (langgenius#44401)

* fix(web): parse Python Code node parameters with commas (langgenius#44337)

Co-authored-by: mac <mac@macdeMacBook-Pro.local>

* refactor(tooling): centralize lint and format maintenance (langgenius#44404)

* refactor(web): unify app metadata forms and dialog ownership (langgenius#44405)

* refactor(tooling): migrate remaining sources to TypeScript (langgenius#44410)

* fix(web): improve app deploy accessibility (langgenius#44378)

Co-authored-by: yyh <yuanyouhuilyz@gmail.com>

* fix(e2e): seed workspace defaults and refresh post-merge filters (langgenius#44412)

* chore: add frontend code owner backups and refresh coverage (langgenius#44413)

* fix(agent): finalize run as failed when run_started cannot be appended (langgenius#43959)

* refactor(web): use generated oRPC query keys (langgenius#44415)

* fix: keep archive deletion loading until completion (langgenius#44203)

* refactor(web): remove redundant annotation list success toasts (langgenius#44031)

* fix(web): apply log annotations to the displayed branch (langgenius#43238)

* feat: optimize access token ui (langgenius#44422)

* fix(agent): use Redis 6.0-compatible event replay (langgenius#44420)

* test(api): isolate Celery initialization app state (langgenius#44433)

* refactor(web): migrate console API helpers to generated contracts (langgenius#44430)

* refactor(web): query installation bootstrap status (langgenius#44382)

* fix(workflow): track human input forms by execution identity (langgenius#42819)

* refactor(api): enable strict typing for rate limit test fixtures (langgenius#44391)

* refactor(api): enable strict typing for core helper tests (langgenius#44390)

* chore(web): guard handwritten requests with native lint rules (langgenius#44436)

* fix(nodejs-client): reject streamed API errors in toText (langgenius#44199)

Co-authored-by: Stream <Stream_2@qq.com>

* fix(cli): load PowerShell module in rate-limit test (langgenius#44439)

* fix(api): write built-in document metadata in a single format (langgenius#44218)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Stream <Stream_2@qq.com>

* feat(workflow): execute workflow tools as nested containers (langgenius#42820)

Co-authored-by: WH-2099 <wh2099@pm.me>

* feat(workflow): expose authorized nested tool traces (langgenius#42821)

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>

* feat(workflow): add nested tool trace drilldown (langgenius#42822)

* fix(tracing): exclude called tool internals from external exports (langgenius#42823)

* chore(web): replace deprecated third-party APIs (langgenius#44466)

* fix(plugin): pin daemon dispatches to package identifiers (langgenius#44396)

* fix(web): enforce schema depth limits through nested arrays (langgenius#44295)

* feat: network access group add rbac check (langgenius#44464)

* fix(api): validate builtin tool credentials outside the create lock (langgenius#44371)

Co-authored-by: Stream <Stream_2@qq.com>

* fix(trigger): stop leaking internal exception text from webhook 500 responses (langgenius#44395)

Co-authored-by: Stream <Stream_2@qq.com>

* fix(web): preserve Studio list filters across navigation (langgenius#44429)

Co-authored-by: Stream <Stream_2@qq.com>

* test(web): wait for goto-anything focus (langgenius#44454)

Co-authored-by: mac <mac@macdeMacBook-Pro.local>

* test(web): exercise workflow configuration and controls with real stores (langgenius#44471)

* test(web): exercise workflow controls and access points through real owners (langgenius#44423)

* fix(agent): attribute nested tool activity to its source (langgenius#42824)

* fix(cli): respect cancellation during device authorization retries (langgenius#44315)

Co-authored-by: huyengiang101086-spec <270684046+huyengiang101086-spec@users.noreply.github.com>

* feat(cli): send a folder as one part per file (langgenius#44356)

Co-authored-by: yunlu.wen <yunlu.wen@dify.ai>

* fix(web): handle autofilled Web App login credentials (langgenius#44474)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* fix(api): handle non-object JSON auth error bodies (langgenius#44470)

* refactor: migrate agent models to TypeBase (langgenius#40816)

Co-authored-by: Codex <codex@openai.com>

* refactor(api): type-check vector store provider unit tests (langgenius#44458)

* refactor(api): enable strict typing for utils unit tests (langgenius#44331)

* test(web): replace node action mocks with real canvas behavior (langgenius#44495)

* fix(web): enforce focus style ownership and simplify invite recipients (langgenius#44504)

* fix: improve customization settings accessibility (langgenius#44492)

* fix(web): label workspace default model selectors (langgenius#44500)

* refactor(ui): split toast stories and align app toaster naming (langgenius#44510)

* chore(weaviate): bump bundled Weaviate to 1.39.13 (CVE-2026-111943) (langgenius#44508)

* chore: bump Node.js runtime to 24.22.1 (langgenius#44511)

* feat(tracing): export Agent app and Workflow Agent execution trees (langgenius#44144)

Co-authored-by: yyh <yuanyouhuilyz@gmail.com>

* feat(tracing): configure Agent tracing and link workflow runs to traces (langgenius#44186)

Co-authored-by: Yansong Zhang <916125788@qq.com>

* fix(web): make document metadata panel scrollable (langgenius#43621)

* test: split Build exit scenarios to reduce timeout flakiness (langgenius#44519)

* chore(web): improve Billing settings accessibility (langgenius#44487)

Co-authored-by: yyh <92089059+lyzno1@users.noreply.github.com>

* fix(deps): upgrade certifi and pillow (langgenius#44524)

* refactor(api): detach console app trigger management (langgenius#44457)

* refactor(web): highlight markdown code blocks with @pierre/highlights (langgenius#44522)

* fix(api): enforce cloud app quotas on DSL imports (langgenius#44525)

* perf(api): skip saved prompts when loading chat history (langgenius#44521)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

* chore: improve Members settings accessibility (langgenius#44484)

* fix(web): preserve inline agent layout and clarify configure ownership (langgenius#44534)

Co-authored-by: hjlarry <hjlarry@163.com>

* fix: improve archived logs accessibility (langgenius#44535)

Co-authored-by: yyh <yuanyouhuilyz@gmail.com>

* fix: improve Preferences accessibility (langgenius#44539)

* fix: improve IP Policies accessibility (langgenius#44548)

* fix: preserve knowledge sidebar when adding files (langgenius#44552)

* fix: improve sort control accessibility and type safety (langgenius#44564)

* chore: type-check with tsrs (langgenius#44562)

* fix(api): stop leaking Redis result connections from fire-and-forget groups (langgenius#44551)

Co-authored-by: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>

* fix(api): upgrade NLTK to 3.10.4 (langgenius#44581)

* feat(agent): edit config prompts through the sandbox CLI (langgenius#44561)

* chore: port Document to TypeBase (langgenius#36084)

Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Codex <codex@openai.com>

* feat: KnowledgeFS and New Knowledge (langgenius#44165)

Co-authored-by: Jyong <76649700+JohnJyong@users.noreply.github.com>
Co-authored-by: hjlarry <hjlarry@163.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: zhaohao1004 <zhaohao1004@gmail.com>
Co-authored-by: yyh <yuanyouhuilyz@gmail.com>
Co-authored-by: FFXN <lizy@dify.ai>

* refactor: migrate CustomizedSnippet to TypeBase (langgenius#40818)

Co-authored-by: Codex <codex@openai.com>

* fix(php-sdk): preserve custom API base URL paths (langgenius#44569)

* fix(api): combine UTF-16 surrogate pairs in RTF extraction (langgenius#44565)

Co-authored-by: jayachandra2003 <jayachandravennam.jc@email.com>

* chore(i18n): sync translations with en-US (langgenius#44566)

Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>

* refactor(ui): align floating positioning with Base UI (langgenius#44588)

* chore(i18n): sync translations with en-US (langgenius#44595)

Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>

* chore(deps): bump certifi from 2026.4.22 to 2026.10.19 in /dify-agent (langgenius#44462)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix(web): avoid redundant document enable success toast (langgenius#44594)

* test(web): replace workflow owner doubles with real canvas behavior (langgenius#44590)

* chore(release): prepare version 1.18.0 (langgenius#44546)

* Exclude generated Vercel deployment cache from source checks

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: yyh <yuanyouhuilyz@gmail.com>
Co-authored-by: Yunlu Wen <yunlu.wen@dify.ai>
Co-authored-by: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: gongfpp <1360187968@qq.com>
Co-authored-by: yyh <92089059+lyzno1@users.noreply.github.com>
Co-authored-by: Asuka Minato <i@asukaminato.eu.org>
Co-authored-by: Codex <codex@openai.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: D41910 <158550716+D41910@users.noreply.github.com>
Co-authored-by: D41910 <d41910@users.noreply.github.com>
Co-authored-by: leilei3167 <imleilei123@gmail.com>
Co-authored-by: 非法操作 <hjlarry@163.com>
Co-authored-by: Shreyansh Jain <shreyanshjain646@gmail.com>
Co-authored-by: crazywoola <427733928@qq.com>
Co-authored-by: 呆萌闷油瓶 <253605712@qq.com>
Co-authored-by: Power <26699525@qq.com>
Co-authored-by: Eddy ZHANG <eddy.zhang24@gmail.com>
Co-authored-by: Lokesh Chauhan <lokesh0186@gmail.com>
Co-authored-by: Xiyuan Chen <52963600+GareArc@users.noreply.github.com>
Co-authored-by: 盐粒 Yanli <yanli@dify.ai>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Azusa010 <m3171470760@gmail.com>
Co-authored-by: mika <spacexstarship01@outlook.com>
Co-authored-by: mac <mac@macdeMacBook-Pro.local>
Co-authored-by: Yueliup <127648758+Yueliup@users.noreply.github.com>
Co-authored-by: Stephen Zhou <hi@hyoban.cc>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Matt Van Horn <mvanhorn@users.noreply.github.com>
Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>
Co-authored-by: Stream <Stream_2@qq.com>
Co-authored-by: 林玮 (Jade Lin) <linw1995@icloud.com>
Co-authored-by: xjh <87483213+xiajiahang@users.noreply.github.com>
Co-authored-by: Temitope Kadri <147322025+TemitopeKadri@users.noreply.github.com>
Co-authored-by: lorenzozane <w2898683706@gmail.com>
Co-authored-by: Yann Roberto <165009858+shoyann@users.noreply.github.com>
Co-authored-by: David Allada <davidanilallada@gmail.com>
Co-authored-by: huyengiang101086-spec <huyengiang101086@gmail.com>
Co-authored-by: huyengiang101086-spec <270684046+huyengiang101086-spec@users.noreply.github.com>
Co-authored-by: LimbC-C <limbcc2333@gmail.com>
Co-authored-by: LimbC-C <329404569+LimbC-C@users.noreply.github.com>
Co-authored-by: CRYPTONIKAV <29835619+CRYPTONIKAV@users.noreply.github.com>
Co-authored-by: Stephen Zhou <38493346+hyoban@users.noreply.github.com>
Co-authored-by: Liu Ziming <liuziming.lzm@alibaba-inc.com>
Co-authored-by: Metehan Biçer <metehanbicer006@gmail.com>
Co-authored-by: mechmaster20 <srujan.gowni@iitgn.ac.in>
Co-authored-by: Denis Ermakov <ide404@gmail.com>
Co-authored-by: Wu Tianwei <30284043+WTW0313@users.noreply.github.com>
Co-authored-by: Juhyuk choi <246447183+JHC56@users.noreply.github.com>
Co-authored-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: zyssyz123 <916125788@qq.com>
Co-authored-by: CodingOnStar <hanxujiang@dify.com>
Co-authored-by: yyh <yuanyouhuilyz@gmail.com>
Co-authored-by: Joel <iamjoel007@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Alexey Shabalin <a.shabalin@gmail.com>
Co-authored-by: Codada <108800975+Redestiny@users.noreply.github.com>
Co-authored-by: wangxiaolei <fatelei@gmail.com>
Co-authored-by: 青阳寻雪 <142769065+lulalalual@users.noreply.github.com>
Co-authored-by: Tianyu Cai <cai18633758993@gmail.com>
Co-authored-by: WH-2099 <wh2099@pm.me>
Co-authored-by: Miyar <14232275+gakugaku@users.noreply.github.com>
Co-authored-by: xhdnoah <40939515+xhdnoah@users.noreply.github.com>
Co-authored-by: Duda Nogueira <dudanogueira@gmail.com>
Co-authored-by: zhsama <torvalds@linux.do>
Co-authored-by: Mesrop Harutyunyan <104313591+mesrop2008@users.noreply.github.com>
Co-authored-by: Takuya <83127305+Takuya-ops@users.noreply.github.com>
Co-authored-by: Jyong <76649700+JohnJyong@users.noreply.github.com>
Co-authored-by: zhaohao1004 <zhaohao1004@gmail.com>
Co-authored-by: FFXN <lizy@dify.ai>
Co-authored-by: Winoren <158550716+Winoren@users.noreply.github.com>
Co-authored-by: Jaya Chandra Vennam <149901816+jayachandra2003@users.noreply.github.com>
Co-authored-by: jayachandra2003 <jayachandravennam.jc@email.com>
Co-authored-by: ZengLiangliang <zll21377105@126.com>
Co-authored-by: Alec Whitters <alecwhitters@Alecs-MacBook-Pro-26.local>
wch243294382 added a commit to wch243294382/dify that referenced this pull request Oct 26, 2026
…ceRow + onOpenLog log modal)

Re-apply the per-message AgentLogModal wiring on top of the tracing footer
(langgenius#44186) and rewrite the log-modal test to the new withConsoleResponses
behavioral test style (langgenius#44260).
wch243294382 added a commit to wch243294382/dify that referenced this pull request Oct 26, 2026
…footer

Re-apply onOpenLog + AgentLogModal wiring after merging upstream main:/ncoexists with ExternalTraceRow (langgenius#44186); log-modal test rewritten for the
withConsoleResponses style (langgenius#44260).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

review: top ghfind author score; see https://ghfind.com size:XXL This PR changes 1000+ lines, ignoring generated files. web This relates to changes on the web.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants