Commit Graph
1102 Commits
Author SHA1 Message Date
junjun 2ce3fc71ef refactor: optimize code 2026-09-20 17:50:45 +08:00
ulleo 21961e2d03 feat(i18n): add Thai (th-TH) language support
Frontend:
- Add frontend/src/i18n/th-TH.json (913 keys, full parity with zh-CN)
- Register th-TH in i18n entry with native element-plus-secondary Thai locale
- Add Thai option to language selectors, legacy th_TH alias mapping,
  and browser locale detection (th* -> th-TH)
- Add common.thai label to all existing locale files

Backend:
- Add backend/locales/th-TH.json (177 keys)
- Accept th-TH in language whitelist, schema regex, and MCP question
- Map th* to Thai language name in LLM prompt language selection
- Apply question language to guess-question prompt template
2026-09-20 17:05:35 +08:00
fit2cloud-chenywandClaude Code 11b491e628 fix(datasource): allow advanced assistant to access host datasource APIs
Co-Authored-By: Claude Code <[email protected]>
2026-09-20 16:15:15 +08:00
xuwei-fit2cloud 518403e2b4 fix(db): avoid detached datasource in SQL Server pool creator (#1330) 2026-09-20 11:14:24 +08:00
xuwei-fit2cloud 3074c4ed2f Bump version from 1.10.1 to 1.10.2 2026-09-17 16:17:48 +08:00
xuwei-fit2cloud 93e530733c fix: round integer values during Excel and CSV import (#1365) 2026-09-17 15:46:25 +08:00
junjun 35e7e00592 fix: Cross-Workspace Data-Source Schema Disclosure and Modification (Incomplete IDOR Remediation) 2026-09-17 15:23:43 +08:00
xuwei-fit2cloud 26818963a6 fix(datasource): retain explicitly referenced tables during schema selection 2026-09-17 14:51:41 +08:00
junjun 97d29a4d42 fix: Cross-Workspace Data-Source Schema Disclosure and Modification (Incomplete IDOR Remediation) 2026-09-17 12:17:53 +08:00
carfeii fccdd29421 Add per-user ownership check to dashboard load/update/delete
Dashboard resource endpoints (load_resource, update_resource,
update_canvas, delete_resource) fetched a core_dashboard row by id
alone, with no check that the caller created it. The only gating
decorator verified workspace membership, not per-user ownership, so
any authenticated workspace member could read, rename, or delete any
other member's dashboard by id. list_resource already filters by
create_by, showing dashboards are meant to be private per creator;
this adds the same check to the other four code paths.
2026-09-17 10:21:18 +08:00
kris tan 65110d6791 test(datasource): cover Hive partition field discovery
Add eight regression cases for partition metadata, duplicate fields, blank names, valid hash-prefixed columns, empty results, and extra driver columns. Execute the production get_fields and ColumnSchema definitions with a mocked Hive cursor.

Validation: python -m pytest backend/tests -q (11 passed).
2026-09-15 16:09:52 +08:00
kris tan 67601e6494 fix(datasource): filter Hive partition metadata from table fields
Ignore blank names and DESCRIBE metadata headers. Retain partition columns once in their original order, preserve valid hash-prefixed column names, and keep support for extra driver columns.

Refs dataease/SQLBot#1250.
2026-09-15 16:09:52 +08:00
ulleo 0b5588b5bf feat: add system param: SAMPLE_DATA_ENABLED 2026-09-15 11:46:16 +08:00
ulleo bc3403b8ff feat: implement LLM keyword extraction and fusion scoring for table matching
- add log
2026-09-15 10:49:12 +08:00
ulleo e37105316b feat: implement LLM keyword extraction and fusion scoring for table matching
- add log
2026-09-15 10:20:38 +08:00
ulleo e685a749c6 feat: implement LLM keyword extraction and fusion scoring for table matching
- improve table matching
2026-09-14 18:52:15 +08:00
ulleo 3fd6fa867d feat: implement LLM keyword extraction and fusion scoring for table matching
- Add extract_keywords() to LLMService with conversation context support,
  using process_stream + start_log/end_log for logging consistency
- Add expand_with_terminology() to expand keywords with synonym matching
- Add fusion scoring in calc_table_embedding(): α * vec_score + (1-α) * keyword_score
- Add calc_keyword_score() with multi-level matching:
  table name exact (1.0), comment exact (0.9), comment substring (0.7),
  table name partial (0.25-0.5), field comment exact (0.5),
  field comment substring (0.4), field name partial (0.3)
- Scoring considers keyword coverage rate to differentiate tables
  with different numbers of matched keywords
- Extracted keywords persisted to ChatRecord for reuse across endpoints
- get_terminology_template() supports comma-separated keyword input
  with per-keyword matching for higher precision
- Add TABLE_EMBEDDING_ALPHA and TABLE_EMBEDDING_KEYWORD_ENABLED config
2026-09-14 17:51:45 +08:00
fit2cloud-chenyw aac200aef5 fix(X-Pack): Assistant API call timeout issue #1288 2026-09-14 14:39:17 +08:00
junjun 8424dcbf92 refactor: Optimizing Excel header fields with too long prompts #1364 2026-09-14 10:40:52 +08:00
master_lin 5d60284499 test(datasource): cover SQLAlchemy pool disposal 2026-09-14 10:32:05 +08:00
master_lin b744ca6c28 fix(datasource): dispose SQLAlchemy engine when removing pool 2026-09-14 10:32:05 +08:00
junjun ba9aa5db66 fix: Oracle timeout #1360 2026-09-11 14:13:28 +08:00
wangjiahao 3f68b618ef fix: Authenticated IDOR in Dashboard update endpoints allows cross-user Dashboard modification 2026-09-09 16:36:19 +08:00
wangjiahao 1bc83867e5 fix: Cross-Workspace Recommended-Problem Read and Overwrite (IDOR) 2026-09-09 16:26:39 +08:00
wangjiahao 33c87b61a4 fix: Authenticated IDOR in Dashboard update endpoints allows cross-user Dashboard modification 2026-09-09 14:11:08 +08:00
fit2cloud-chenyw 900eb2d28e perf: Internationalization (i18n) for In‑line Error Prompts 2026-09-09 11:07:36 +08:00
fit2cloud-chenyw 4ee923c968 Add config to hide default passwords or force password change at first login #1355 2026-09-02 16:41:01 +08:00
junjun c1d333e62d fix: Cross-Workspace Data-Source Schema Disclosure and Modification (Incomplete IDOR Remediation) 2026-08-31 11:09:23 +08:00
fit2cloud-chenywandClaude bbfc4cc8f5 fix(Security): Host header injection auth bypass and forged admin embedded token (CNVD)
- TokenMiddleware/ResponseMiddleware/audit logger use scope['path']
  instead of request.url.path for whitelist checks: a crafted Host
  header (e.g. x/api/v1/mcp) was concatenated into Starlette's URL
  and made protected routes match the /mcp* whitelist entry
- validateEmbedded rejects admin accounts and non-type-4 apps, so a
  self-signed token with account=admin can no longer impersonate the
  administrator
- Add HostValidationMiddleware rejecting malformed Host headers at the
  outermost layer (defense in depth)
- Add regression tests for host validation, whitelist matching and
  source-level guards

Co-Authored-By: Claude <[email protected]>
2026-08-31 11:05:05 +08:00
ulleo cc8a7546e9 chron: update X-Pack version 2026-08-28 18:25:37 +08:00
ulleo 6518701913 fix: Prevent Authorization Bypass Through User-Controlled Key problem (CWE-639) 2026-08-28 18:22:35 +08:00
ulleo 66a1b33ac4 fix: prevent path traversal in Excel upload (CWE-22) 2026-08-28 17:51:27 +08:00
fit2cloud-chenyw 49a50e3bce fix: Cross-Workspace Assistant Modification and Deletion (IDOR) 2026-08-28 15:37:45 +08:00
junjun 273171b8d1 fix: Kingbase SQL inject 2026-08-27 15:04:39 +08:00
ulleo 1fdc28b6fd improve: Support similarity sorting across account, name, and email fields 2026-08-26 21:08:43 +08:00
ulleo a2d1a9d423 improve: Support similarity sorting across account, name, and email fields 2026-08-26 11:13:23 +08:00
ulleo b99f140300 improve: Sort search results by account similarity 2026-08-26 10:52:24 +08:00
xuwei-fit2cloud 53bedcc555 update version to 1.10.1 2026-08-24 18:36:56 +08:00
ulleo ed19e8997e fix: i18n 2026-08-24 14:08:09 +08:00
junjun bfe3fc4dc9 fix: The number of columns returned by Hive DESCRIBE does not match the ColumnSchema constructor #1210 2026-08-20 14:17:11 +08:00
junjun 7a32b139f7 feat: Hive datasource supports LDAP authentication #1209 2026-08-20 11:26:46 +08:00
junjun d31e6a0277 feat: Hive datasource supports LDAP authentication 2026-08-20 10:05:49 +08:00
junjun d33e42004c feat: MCP support model 2026-08-19 10:20:40 +08:00
junjun 2a86aa926c feat: MCP support model 2026-08-18 17:02:43 +08:00
junjun 150b98c930 feat: MCP support model 2026-08-18 16:20:53 +08:00
junjun 743750305d feat: MCP support model 2026-08-18 15:43:28 +08:00
junjun 0c885d5a67 build: lock fastapi version 2026-08-12 18:15:59 +08:00
ulleo 7c40afb436 fix: 将模板文件中的繁体字转换为简体字
#1319
2026-08-12 17:36:27 +08:00
ulleo b1f9257a15 chore: update version 2026-08-11 18:25:29 +08:00
ulleo a2a7591d0f feat: switch search filters from OR to AND logic 2026-08-11 18:22:44 +08:00