Jyong
79116d8c4b
feat(knowledge-fs): scope dataset API keys by knowledge base type
...
Legacy knowledge bases (`datasets`) and KnowledgeFS spaces
(`knowledge_fs_control_spaces`) live in different tables, so a dataset API
key binding could only ever name a legacy dataset and the KnowledgeFS service
API never consulted bindings at all: a key scoped to specific knowledge bases
still reached every KnowledgeFS space in the workspace.
- Bindings carry a `resource_type` (`dataset` | `knowledge_fs_space`) and a
nullable `control_space_id` (migration 9a4e7d1c2b60, existing rows stay
`dataset`), with a CHECK that exactly one id column matches the type.
- `dataset_api_key_service` exposes the key scope by kind, validates and
binds KnowledgeFS spaces (tenant-owned, not deleting/deleted), and cleans up
keys scoped only to a space when its deletion is requested. The orphan-key
cleanup is now NULL-safe so a space binding keeps a key alive.
- Legacy dataset routes only honour `dataset` bindings; the KnowledgeFS
authorization service only honours `knowledge_fs_space` bindings and raises
a scope error that the service API maps to 403 (unknown keys stay 401).
- Console key creation accepts `knowledge_space_ids`; list/create responses
return them next to `dataset_ids`.
- The web scope picker lists KnowledgeFS spaces alongside legacy datasets
when KnowledgeFS is enabled and submits the ids by kind; the scope column
counts both.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015zw5G5SX3HmVfnZof6YWAc
2026-09-03 05:59:39 -04:00
Stephen Zhou
3611a93a3a
Merge remote-tracking branch 'origin/deploy/konwledge' into deploy/konwledge
...
# Conflicts:
# api/tests/unit_tests/services/test_knowledge_fs_initial_source_reliability.py
2026-09-03 16:57:14 +08:00
Stephen Zhou
42cb6519ea
Merge remote-tracking branch 'origin/main' into deploy/konwledge
2026-09-03 16:32:30 +08:00
Byron.wang
b015aa416f
refactor(api): extract account login service and consolidate adapters ( #41184 )
2026-09-03 06:20:21 +00:00
非法操作
ba1d5ba172
refactor(api): centralize remote file handling ( #41627 )
2026-09-03 06:00:13 +00:00
非法操作
69484a07e1
refactor(console): inject file service ( #41603 )
2026-09-03 04:42:30 +00:00
Eddy ZHANG
95a6a14ed5
refactor(console,web): dep-inject query params with @model_validate ( #41646 )
2026-09-03 01:50:22 +00:00
Byron.wang
be7d11ca1d
refactor(api): extract forgot password application service ( #41111 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-09-03 01:38:59 +00:00
Stephen Zhou
45bee40955
Merge remote-tracking branch 'origin/main' into deploy/konwledge
...
# Conflicts:
# api/controllers/console/datasets/datasets.py
# api/tests/unit_tests/controllers/console/datasets/test_datasets.py
2026-09-02 21:56:53 +08:00
YungLe
3cd1fc098c
feat: allow knowledge base API keys to be scoped to a single dataset ( #37569 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-09-02 10:30:42 +00:00
非法操作
59ee8878f9
refactor(api): require active workspace in request context ( #41280 )
2026-09-02 06:54:47 +00:00
FFXN
b55ec59d37
fix(knowledge-fs): handle source selection mismatch and improve error handling, make source selection replacement durable.
2026-09-02 12:56:37 +08:00
Stephen Zhou
cd7e1be7cb
Merge remote-tracking branch 'origin/main' into deploy/konwledge
...
# Conflicts:
# api/services/feature_service.py
# api/tests/unit_tests/controllers/console/workspace/test_members.py
# api/tests/unit_tests/core/workflow/nodes/agent_v2/test_validators.py
# api/tests/unit_tests/services/test_system_feature_service_knowledge_fs.py
# pnpm-lock.yaml
2026-09-02 10:31:10 +08:00
Xiyuan Chen
93dae7d8a0
fix(rbac): let agent.manage operate every agent page ( #41583 )
...
Co-authored-by: yunlu.wen <yunlu.wen@dify.ai>
2026-09-02 01:45:42 +00:00
Byron.wang
c4ea406586
refactor(api): decouple system features and web adapters ( #40772 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-09-01 11:50:52 +00:00
Keith
566b8857dd
refactor(models): remove legacy db.session property wrappers on Dataset ( #41569 )
2026-09-01 06:28:24 +00:00
Eddy ZHANG
1977355dd1
refactor(console): dep-inject model provider payloads with @model_validate ( #41539 )
2026-09-01 04:24:45 +00:00
Joel
5cbc42cd38
chore: Revert "feat: use app.acl.access_point_manage to control access point page access" ( #41563 )
2026-09-01 03:46:03 +00:00
Stephen Zhou
ecd41aed3f
Merge remote-tracking branch 'origin/main' into deploy/konwledge
2026-09-01 09:45:49 +08:00
Jyong
4f3a2952d6
perf(knowledge-fs): harden cross-format document ingestion
2026-08-31 07:48:35 -04:00
Byron.wang
d25e2b51fc
refactor(api): decouple onboarding and notification services ( #40759 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: hjlarry <hjlarry@163.com>
2026-08-31 04:37:07 +00:00
Byron.wang
9e07c2dac6
refactor(api): extract email registration application service ( #41108 )
...
Co-authored-by: hjlarry <hjlarry@163.com>
2026-08-31 03:22:01 +00:00
wangxiaolei
6a00c23e49
feat: use app.acl.access_point_manage to control access point page access ( #41462 )
...
Co-authored-by: twwu <twwu@dify.ai>
2026-08-31 03:05:19 +00:00
zyssyz123
ad86351cc1
fix(agent): reject incompatible session snapshots ( #41447 )
2026-08-31 02:26:07 +00:00
Eddy ZHANG
6130f081e0
refactor(console): dep-inject account payloads with @model_validate ( #41500 )
2026-08-31 00:52:10 +00:00
FFXN
949549b9b1
feat(knowledge-fs): enhance source update payload with selection and sync policy validation
2026-08-30 23:58:27 +08:00
FFXN
52df787444
feat(knowledge-fs): support source config updates and deferred sync
...
- allow updating mutable source configuration fields
- enqueue sync after active business configuration changes
- pause scheduled sync while a source is disabled
- preserve and rebind sync policies across source version updates
- support website, online document, and online drive sources
2026-08-30 22:10:12 +08:00
Weike Zhang
02f9b3ca7c
refactor: pass db.session explicitly in instruction_modify_workflow ( #37403 ) ( #40827 )
2026-08-30 00:48:00 +00:00
jjj-n
09054169c4
refactor(models): pass session into Workflow accessors ( #41464 )
2026-08-29 14:28:15 +00:00
lin
1264d29a4f
chore: remove unnecessary type conversions ( #41454 )
2026-08-29 07:04:18 +00:00
Terminator666666
f8dd276e2c
refactor(controllers/console): dep-inject workflow payloads with @model_validate ( #41244 )
...
Co-authored-by: Terminator666666 <Terminator666666@users.noreply.github.com>
2026-08-28 14:49:46 +00:00
yyh
78c85ae7c1
fix(agent): add roster publication status contract ( #41435 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-08-28 08:50:30 +00:00
Stephen Zhou
9098955a77
Merge remote-tracking branch 'origin/main' into deploy/konwledge
...
# Conflicts:
# api/tests/unit_tests/controllers/console/test_knowledge_fs_proxy.py
# api/tests/unit_tests/services/test_knowledge_fs_proxy.py
# web/app/components/workflow-app/hooks/use-available-nodes-meta-data.ts
2026-08-28 14:50:39 +08:00
wangxiaolei
05b00574aa
chore: add permission check back ( #41369 )
2026-08-27 07:45:50 +00:00
Jyong
12adc39383
fix(knowledge-fs): preserve spreadsheet image placement
2026-08-27 03:01:57 -04:00
wangxiaolei
6a1b23935f
chore: remove permission check ( #41349 )
2026-08-27 05:29:38 +00:00
非法操作
bf54dd7814
refactor(api): remove unused workflow archived logs endpoint ( #41345 )
2026-08-27 03:48:57 +00:00
非法操作
a9319c86ee
refactor(api): extract workflow run archive application service ( #41253 )
2026-08-27 02:41:43 +00:00
非法操作
5a6191b96b
refactor(api): extract workflow statistic query service ( #41271 )
2026-08-27 02:41:02 +00:00
非法操作
32981687dd
refactor: remove unused workflow run export endpoint ( #41335 )
2026-08-27 02:38:27 +00:00
Stephen Zhou
30ed0907f3
Merge remote-tracking branch 'origin/main' into deploy/konwledge
...
# Conflicts:
# api/controllers/console/app/site.py
# api/controllers/console/datasets/datasets.py
# api/core/plugin/backwards_invocation/model.py
# api/core/rag/rerank/rerank_model.py
# api/tests/test_containers_integration_tests/controllers/console/auth/test_oauth_server.py
# api/tests/unit_tests/core/plugin/test_backwards_invocation_model.py
# api/tests/unit_tests/tasks/test_batch_clean_document_task.py
# packages/contracts/generated/api/service/orpc.gen.ts
# web/app/components/datasets/rename-modal/index.tsx
# web/app/components/header/account-setting/model-provider-page/model-selector/popup-layout.tsx
# web/features/tag-management/components/tag-search-content.tsx
2026-08-27 10:06:48 +08:00
Pranav Agarwal
0d05eae517
fix(api): enforce RBAC permission on agent composer GET endpoint ( #41324 ) ( #41325 )
2026-08-26 20:09:25 +00:00
FFXN
18155535cf
refactor(knowledge_fs): replace credential service with dataset API key authorization. Remove the API token feature at the space level for knowledgeFs.
2026-08-26 15:40:18 +08:00
Byron.wang
30e6069851
refactor(api): thin OAuth controllers and extract application services ( #40692 )
2026-08-26 07:33:37 +00:00
Wu Tianwei
73dd8739ef
feat: optimize resource access config logic ( #41164 )
...
Co-authored-by: fatelei <fatelei@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-08-26 07:18:57 +00:00
林玮 (Jade Lin)
f5aaa50a30
fix(auth): normalize Gmail registration emails ( #41249 )
2026-08-26 07:14:27 +00:00
lei_lei
119e6af2a9
fix(api): honor DELETE JSON body in model_validate ( #41288 )
2026-08-26 06:38:13 +00:00
非法操作
c563528a2d
refactor(api): standardize compliance downloads ( #41057 )
2026-08-26 06:32:13 +00:00
非法操作
c4ace15afd
refactor(api): extract console app site command boundary ( #41216 )
2026-08-26 06:31:06 +00:00
ccl125
d5a8ace1c4
fix(rag-pipeline): mark credential-free datasources as authorized ( #39772 )
...
Co-authored-by: ccl125 <ccl125@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: FFXN <31929997+FFXN@users.noreply.github.com>
2026-08-26 05:44:10 +00:00