6444 Commits

Author SHA1 Message Date
ian
17665bf348 Release 11.12.0 (#25850)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2025-09-16 19:42:40 +00:00
Rijk van Zanten
06485ea934 New Crowdin updates (#25771)
* New translations en-us.yaml (Azerbaijani)

* New translations en-us.yaml (Dutch)

* New translations en-us.yaml (Hebrew)

* New translations en-us.yaml (Hebrew)

* New translations en-us.yaml (Arabic)

* New translations en-us.yaml (Lithuanian)

* New translations en-us.yaml (Portuguese)

* New translations en-us.yaml (Albanian)

* Update source file en-US.yaml

* New translations en-us.yaml (Dutch)

* New translations en-us.yaml (French)

* New translations en-us.yaml (Spanish)

* New translations en-us.yaml (Czech)

* New translations en-us.yaml (German)

* New translations en-us.yaml (Italian)

* New translations en-us.yaml (Georgian)

* New translations en-us.yaml (Korean)

* New translations en-us.yaml (Lithuanian)

* New translations en-us.yaml (Mongolian)

* New translations en-us.yaml (Russian)

* New translations en-us.yaml (Slovak)

* New translations en-us.yaml (Albanian)

* New translations en-us.yaml (Ukrainian)

* New translations en-us.yaml (Chinese Simplified)

* New translations en-us.yaml (Portuguese, Brazilian)

* New translations en-us.yaml (Persian)

* New translations en-us.yaml (Spanish, Chile)

* New translations en-us.yaml (Spanish, Mexico)

* New translations en-us.yaml (Marathi)

* New translations en-us.yaml (French, Canada)

* New translations en-us.yaml (Kurmanji (Kurdish))

* New translations en-us.yaml (Sorani (Kurdish))

* New translations en-us.yaml (Spanish, Latin America)

* Update source file en-US.yaml

* New translations en-us.yaml (Russian)

* New translations en-us.yaml (Portuguese, Brazilian)

* Update source file en-US.yaml

* New translations en-us.yaml (Dutch)

* New translations en-us.yaml (Romanian)

* New translations en-us.yaml (French)

* New translations en-us.yaml (Spanish)

* New translations en-us.yaml (Arabic)

* New translations en-us.yaml (Bulgarian)

* New translations en-us.yaml (Catalan)

* New translations en-us.yaml (Czech)

* New translations en-us.yaml (Danish)

* New translations en-us.yaml (German)

* New translations en-us.yaml (Finnish)

* New translations en-us.yaml (Hungarian)

* New translations en-us.yaml (Italian)

* New translations en-us.yaml (Japanese)

* New translations en-us.yaml (Georgian)

* New translations en-us.yaml (Korean)

* New translations en-us.yaml (Lithuanian)

* New translations en-us.yaml (Mongolian)

* New translations en-us.yaml (Polish)

* New translations en-us.yaml (Portuguese)

* New translations en-us.yaml (Russian)

* New translations en-us.yaml (Slovak)

* New translations en-us.yaml (Slovenian)

* New translations en-us.yaml (Albanian)

* New translations en-us.yaml (Swedish)

* New translations en-us.yaml (Turkish)

* New translations en-us.yaml (Ukrainian)

* New translations en-us.yaml (Chinese Simplified)

* New translations en-us.yaml (Chinese Traditional)

* New translations en-us.yaml (Vietnamese)

* New translations en-us.yaml (Icelandic)

* New translations en-us.yaml (Portuguese, Brazilian)

* New translations en-us.yaml (Indonesian)

* New translations en-us.yaml (Persian)

* New translations en-us.yaml (Spanish, Chile)

* New translations en-us.yaml (Spanish, Mexico)

* New translations en-us.yaml (Marathi)

* New translations en-us.yaml (Thai)

* New translations en-us.yaml (Croatian)

* New translations en-us.yaml (Estonian)

* New translations en-us.yaml (Hindi)

* New translations en-us.yaml (English, Canada)

* New translations en-us.yaml (English, United Kingdom)

* New translations en-us.yaml (French, Canada)

* New translations en-us.yaml (Esperanto)

* New translations en-us.yaml (Breton)

* New translations en-us.yaml (Bosnian)

* New translations en-us.yaml (Serbian (Latin))

* New translations en-us.yaml (Nepali)

* New translations en-us.yaml (Kurmanji (Kurdish))

* New translations en-us.yaml (Sorani (Kurdish))

* New translations en-us.yaml (Spanish, Latin America)

* Remove errors

* New translations en-us.yaml (Swedish)

---------

Co-authored-by: Alex Gaillard <alex@directus.io>
2025-09-16 17:24:54 +00:00
Alex Gaillard
d686fa7942 Remove marketplace beta chips on route and nav (#25845) 2025-09-16 10:59:55 -04:00
Alex Gaillard
9e62b0a1ad Add ai beta chips on route and nav (#25843) 2025-09-16 14:00:40 +00:00
Florian C. Wachmann
5bdf3e6ed1 Add cache-busting to image asset URLs in the studio (#25833)
* refactor getAssetUrl() util to enhance parameter handling for consistency

* add tests

* refactor: update getAssetUrl calls to use object parameter for isDownload option

* refactor: update getAssetUrl calls to use object parameter

* refactor and add modified date to the File Display asset URL

* refactor and add modified date to the Image Display asset URL

* refactor and add modified date to the User Display asset URL

* add cache buster to File Interface and update to use refactored getAssetUrl()

* add cache buster to User View and update to use refactored getAssetUrl()

* add cache buster to Comment Input and update to use refactored getAssetUrl()

* add cache buster to Comment Header and update to use refactored getAssetUrl()

* add cache buster to Module Bar Avatar and update to use refactored getAssetUrl()

* add cache buster to User Popover and update to use refactored getAssetUrl()

* make value prop optional in File component

* simplify getAssetUrl call in customLogoPath

* add optional modified_on field to Avatar type

* add changeset

* add avatar fields to user item query

* add modified_on field to user avatar in loadUsers API call

* add avatar.modified_on field to user fetch API call

* add modified_on field to user_created.avatar in useComments function to provide the field in <comment-item-header>

* add hydration for avatar.modified_on field in module-bar-avatar component

* add modified_on field to file query and update image thumbnail computed
2025-09-15 16:07:19 -04:00
daedalus
ca8bdff41f Add mcp support (#25578)
* init

* initial tool

* cleanup

* prefer server over mcpserver

* add admin tool check

* type defineTool

* update ping tool

* improve tool handling

* update tool definition

* rework typres and add initial tool

* add schema to input

* add schema to handler opts

* add system prompt

* rename defineTool types

* Update tool.ts

* handle zod errors

* return correct format

* fix tool list

* prefer names from tool definition

* continue items improv

* return zod as schema output

* pass data down from zod parse

* handle no input schema tool

* update response format

* add handler note

* Ensure collection exists before access

* prefer name in tool file

* remove redundant message

* fix type issue and typo

* sanitize query

* add singleton support

* add remaining item tool commands

* support validate schema

* remove single actions and deleteByQuery

* fix toarray import

* updated tool types

* add back missing rpc message import

* remove unnecessary input schema

* updated tool registration

* separate schema

* removed partial

* remove tool name prefix on schema

* file tool wip

* pass down correct collection for folders/files

* fix global list

* add base64 asset retrieval support

* enable files tool

* add multi tool result type support

* add schema tool

* add missing file schema to files tool

* add create singleton support

* fixed system tool missing inputSchema

* inputschema is not optional

* initial flows tools

* forgot to push the index

* fix closing the connection

* Update server.ts

* format

* revert

* inputSchema is not optional

* add notification handler

* fix tool handlers

* simplified express handler and fixed non-closing get requests from inspector

* add comment

* changed sse error code

* small tweaks

* auto sanitize query

* utilize relevant file/folder service over generic item

* prefer admin flag over explicit check

* add base description

* updated flows

* improve overview command

* dont include invalid field properties

* fix typings for schema overview

* add note to schema overview

* add schema overview interface choices

* reorg

* remove util and default opt out of mcp prevent delete

* fixed unreturned code paths

* fix service typing

* prevent delete should be opt in

* fix import

* fmt

* fix query

* added flows tool test

* added some tool util funcs for better testing

* return deleted keys on item delete

* add item tool tests

* Update items.test.ts

* fix delete for schema tool

* add schema tests

* export the transport class

* make handleRequest async

* await the handleREquest function

* reverted misleading async change

* Added awaiting to server tests

* added some files tests

* fmt

* fix mcp file test types

* move collection, field and relation to their own tools

* Add prompts

* enable trigger flow

* improve prompts

* test wip

* add prompts to build

* remove invalid args for schema tools

* finish collection and field tests

* finish relation tests

* add catalog for mcp sdk

* prefer zod builtin for json schema conversion

* Do not use custom types in json schema

* fix data extraction and validation process

* do not allow additional properties

* MCP -> Schema Tool and Prompt Updates (#25617)

* separate system prompt description and system prompt

* stop duplicating field names to save context

* fetch only collections list first - add keys to fetch detailed schema

* updated schema prompt

* add repeater support for schema tool

* add collection item dropdown support

* items prompt

* long form prompts (need to tighten and condense)

* simplified query schema

* fmt

* Improve typings

* add basic prompt support and add type file

* add query support

* Finalize prompt support

* remove outdata env values

* MCP settings page (#25687)

* Render MCP in all caps

* Bootstrap AI settings page

* Add migration for mcp settings

* Add translations for mcp settings

* Setup fields in system data

* Add more translations

* Add use-collection-validation composable

* Bootstrap mcp prompts validation interface

* Finish settings page

* Add changeset

* Run formatter and resolve stylelint warning

* remove changeset

---------

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>

* remove unnecessary object strict changes

* revert import ordering

* designate specific file per tool

* default delete to disabled

* account for empty messages

* remove custom type for relation item

* MCP -> Schema Tool -> Add support for relationships (#25693)

* rough in relations for schema detail

* Update schema.ts

---------

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>

* cleanup schemas

* MCP Settings -> Improvements (#25696)

* add sidebar component for consistency

* add the translations we can for mcp prompts schema

* fix icon for collection

* set proper order

* clean up interaction

* handle edge case where ai prompts collection is deleted but value still saved in settings

* Ignore AI settings in general settings (#25698)

* add system prompt override

* allow disabling system prompt

* add import from url option to files tool

* remove legacy type arg

* add url to result

* add url to flows

* add endpoint for read

* add url display to prompt

* add changeset

* fmt

* Do not utilize custom type in file import

* Improve appearance of v-notice components (in the MCP settings) (#25714)

* add indentContent prop to v-notice for improved alignment of slot content and change appearance of the button inside the v-notice

* add snapshot

* fix mcp system prompt note display

* Add dynamic mimetype and audio support

* Allow disabling mcp feature via env

* update changeset

* MCP -> Update Settings Labels and Notes (#25725)

* update copy for settings labels and descriptions

* add divider

* suggestions from mtkg team

* use success notice when validated

* update validation success msg

* add top notice

* just the endpoint and nothing but the endpoint

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>

* fix systemPrompt to system_prompt

---------

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>

* utilize flow service for definition and limit to manual flows

* remove unnecessary check

* fmt

* ensure json expected fields are json

* Update folder tests

* prefer test

* add asset tool tests

* improve mcp test typing for folder and asset

* update collection tests

* prefer plural tool naming

* update field tests

* remove create action for files

* update file tests

* update flow tests

* update item tests

* update operation tests

* update relation tests

* add system tests

* Update trigger flow tests

* reorg asset error test to error handling

* add admin accountability for relation tests

* update schema tests

* prefer test over it

* add admin check

* prefer aftereach for clear mock

* improve protocol error

* MCP -> Possible Relations Tool Fix (#25754)

* remove extra try catch and switch to zod v4 built in errors

* replace custom schemas

* replace schemas

* resolve typing and format

* prefer discriminate union for actions

---------

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>

* add json rpc error for invalid prompt

* prefer non protocol for tools and fix protocal errors for prompts

* promptsCollection should be optional

* fix server issues

* update server tests

* fix useCollectionValidation tests

* Remove remaining file create artifacts

* Remove custom types to allow proper validation

* restrict access to non public

* adjust schema tool to be non admin

* fix schema tool tests

* add non admin tool check in tests

* allow either field or data.field for relation create

* 405 to indicate no stream support

* ensure system accountability is not admin

* MCP Prompt Cleanup (#25745)

* asset-tool prompt

* trim files prompt

* remove tags example

* remove create from files prompt

* cleanup collection

* cleanup items

* add missing examples to operations

* add xml structure to improve comprehension

* flows and operations improvements

* remove create action from files tool

* fix query schema

* remove reused ref for OpenAI support

* update fields

* cleanup collections

* detailed field example

* cleanup folder

* update relations

* unconfuse folders and collection folders

---------

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>

* fmt

* FlowItemInputSchema should be partial

* Fix operation tool input schema

* Fix schema tool tests

* MCP -> Improve collections tool prompts (#25781)

* Fix collection <> folder issue

* improve system fields handling

* Add asset downscaling

* fmt

* Add tool title annotation and prefix name with `directus`

* Fix tests for updated naming

* improve asset tests

* Update title to correct location

* Improve `inputSchema` for LLM ingestion (#25789)

* do not use top level unions

* support multi field create

* update prompt

* support transaction al calls on fieldsService methods

* cleanup

---------

Co-authored-by: bryantgillespie <hey@bryantgillespie.com>

* update field tests

* fix relations prompt

* Do not skip internal collections as long as permissions allow

* Update api/src/services/server.ts

Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>

* Update app.ts

Co-Authored-By: Brainslug <br41nslug@users.noreply.github.com>

* whoops

* revert ws changes

---------

Co-authored-by: Brainslug <tim@brainslug.nl>
Co-authored-by: Bryant Gillespie <bryant@hireclockwork.com>
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
Co-authored-by: Florian C. Wachmann <dev@formfcw.com>
Co-authored-by: bryantgillespie <hey@bryantgillespie.com>
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
2025-09-15 22:02:40 +02:00
Nitwel
89cd877560 Fix USER_CREATED, USER_UPDATED, DATE_CREATED, and DATE_UPDATED values in content versioning (#25744)
* initial testing

* bypass accountability and fix error

* continue implementing new content versioning

* fix versionRaw and tweak post nulling

* fix circular references

* improve deep-map and add testing

* add blackbox tests

* add load tests

* update loadtests

* update testsuite

* update load-tests

* undo package.json change

* add way to run everything in parallel

* add github actions

* fix gh action

* improve logging and add wait

* update runners and fmt

* cleanup

* add deadlock tests

* fix deadlock tests for oracle and mssql

* cleanup

* shorten transaction duration

* add web preview option to load tests

* fix lockfile

* fix import for QueryOptions

* format

* use admin for versioned writes

* Fix workflow permissions warning

* move loadtests to separate branch

* fix admin on read

* fix another bug

* update pnpm lock

* fix gql read one

* fix requesting version in gql

* rename bypassAccountability to skipTracking

* not filter default value fields

* content versioning processing values properly

* fix prepareDelta

* continue trying out approaches for inserting user and date defaults

* first final iteration of cv defaulting

* update tests

* stupid mistake fix

* always use overwriteDefaults if present

* fix building and o2m

* map delta to include default values

* fix for promotion

* fix 2 small bugs

* fix promoting

* cleanup

* fmt

* fix and improve tests

* final tweaks

* Update pnpm-lock.yaml

* Apply suggestion from @ComfortablyCoding

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>

* Remove additional --- in changeset

---------

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>
Co-authored-by: ian <licitdev@gmail.com>
Co-authored-by: Alex Gaillard <alex@directus.io>
2025-09-15 14:32:14 -04:00
Ahmad Khan
46b5e8de22 Add description and primary key copy option to the policy page sidebar (#25755)
* Add PolicyInfoSidebarDetail component to display policy information

* improve en translation wording

* Update brave-swans-stand.md

* Remove unnecessary null assertion

---------

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>
2025-09-12 10:13:34 -04:00
Florian C. Wachmann
283f4e62ee Ensure custom validation messages are displayed in the drawer (#25786)
* refactor logic to display custom validation messages

* add tests

* add changeset

* use ValidationErrorWithDetails type
2025-09-12 08:32:43 -05:00
Rob Luton
beef548855 2FA Setup for OAuth Users (#25695)
* migration for requiring 2fa flow

* establish the flow

* update types and schemas

* hide require_2fa field from admin

* fix checkbox and endpoints

* working flow

* use existing tfa methods and endpoints instead of creating new ones

* send user to tfa setup if require2FA flag is truthy

* add translations

* Allow OAuth users to enter OTP on login page

* autofocus on OTP field to clarify flow

* adjust openid driver to handle OTP

* use OTP for selected provider

* add last provider to localStorage

* force oauth user to add email address before enabling 2FA

* allow user to cancel 2fa setup

* move redirect to oauth drivers so that it only happens on next login

* translations

* changeset

* should not allow user to cancel 2fa setup if being enforced by role

* refactor to allow tfa setup statuses instead of using a boolean

* send oauth users with role-based 2fa enforcement through the same setup flow as users requesting 2fa themselves

* remove field for tfa_status since it is not needed in the app

* fix state issue with user tfa status checkbox

* fix typescript complaint

* remove email requirement for oauth users

* go back to using boolean for setup status

* fix bool checks and force automatic logout

* replace changeset

* get password requirement from authenticated user instead of trusting the request

* Update api/src/controllers/users.ts

Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>

* Update api/src/services/tfa.ts

Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>

* deal with access to own provider field

Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>

* give update permissions to require_tfa_setup by default

* replace instaces of "default" with existing constants

* fix incorrect redirect url for oauth users with tfa enabled

* cleanup

* Update .changeset/twenty-sloths-wait.md

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>

* remove duplicate redirect and cookie handling

* add request and cancel tfa endpoints to sdk

* make OTP input appear under the specific provider used, and fix input transition animation

* discard changes prior to enabling 2fa

* change verbiage of 2fa notice

* Update app/src/composables/use-tfa-setup.ts

Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>

* Update app/src/composables/use-tfa-setup.ts

Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>

* Update .changeset/twenty-sloths-wait.md

Co-authored-by: ian <licitdev@gmail.com>

* change 2FA to TFA in var and method names

* another vestige of unused require_password argument

* remove request_tfa_setup db field in favor of local storage for users manually requesting 2fa

* Fix build

* Update .changeset/twenty-sloths-wait.md

Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>

* remove unused file

---------

Co-authored-by: Alex Gaillard <alex@directus.io>
Co-authored-by: ian <licitdev@gmail.com>
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>
2025-09-12 13:15:14 +02:00
Rob Luton
6562f8823a Ensure that M2M fields in the directus_files collection use the correct interface (#25602)
Co-authored-by: Florian C. Wachmann <dev@formfcw.com>
2025-09-04 15:17:45 +02:00
Rob Luton
99c0385be6 Fix custom interface localTypes bug (#25638) 2025-09-03 14:53:52 +02:00
Alex Gaillard
f55913653b Release 11.11.0 (#25765) 2025-08-27 18:04:33 +00:00
Rijk van Zanten
23bcd4ce0d New Crowdin updates (#25680)
* New translations en-us.yaml (Dutch)

* New translations en-us.yaml (Spanish)

* New translations en-us.yaml (Spanish, Mexico)

* New translations en-us.yaml (Hebrew)

* New translations en-us.yaml (Hebrew)

* Update source file en-US.yaml

* New translations en-us.yaml (Arabic)

* New translations en-us.yaml (Lithuanian)

* New translations en-us.yaml (Portuguese)

* New translations en-us.yaml (Albanian)

* New translations en-us.yaml (Spanish, Chile)

* New translations en-us.yaml (Spanish, Latin America)

* Fix translation errors

---------

Co-authored-by: Alex Gaillard <alex@directus.io>
2025-08-27 17:47:08 +00:00
Florian C. Wachmann
8346b6f0cd Fix focus trap in TinyMCE dialogs (#25746)
* fix focus trap issue in TinyMCE

* add changeset

---------

Co-authored-by: Alex Gaillard <alex@directus.io>
2025-08-26 18:58:11 +00:00
Rob Luton
8dba01ee21 Condition for clearing value of hidden field (#25646)
Co-authored-by: Florian C. Wachmann <dev@formfcw.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-22 19:07:08 +00:00
Abdallah Awwad
3bb18516bd Fix WYSIWYG Code Button State (#25741)
Co-authored-by: formfcw <dev@formfcw.com>
2025-08-22 12:40:32 +00:00
Abdallah Awwad
ac56d96f64 Add underline and pointer cursor styling for WYSIWYG links (#25739) 2025-08-22 14:17:41 +02:00
Ahmad Khan
443e305b1a Prevent timestamp fields from being marked as changed due to timezone mismatch (#25718) 2025-08-21 15:59:12 +02:00
Alex Gaillard
725ebd90a4 RTL: Fix context menu positioning (#25697)
Co-authored-by: Florian C. Wachmann <dev@formfcw.com>
2025-08-19 15:19:58 +02:00
Rob Luton
d5c789071a Fix save_and_create_new loading with original item state (#25660)
* fix race condition causing save_and_create_new to pass data to new form

* test save_and_create_new does not contain initial values

* add changeset
2025-08-18 16:47:40 -04:00
Rob Luton
230baab5d5 hide buttons when unique constraint (#25593)
Co-authored-by: Alex Gaillard <alex@directus.io>
2025-08-13 15:40:38 +00:00
Alex Gaillard
88e4143df9 Release 11.10.2 (#25679) 2025-08-12 15:50:04 -04:00
Florian C. Wachmann
e1cc04ab30 Fix focus trap issue in TinyMCE dialogs (#25678)
* fix focus trap issue in TinyMCE dialogs

* add changeset
2025-08-12 15:32:47 -04:00
Alex Gaillard
3a561ad801 Release 11.10.1 (#25669) 2025-08-11 18:50:25 +00:00
Rijk van Zanten
bc5cc79b70 New Crowdin updates (#25569)
* New translations en-us.yaml (Persian)

* New translations en-us.yaml (Persian)

* New translations en-us.yaml (Persian)

* New translations en-us.yaml (Korean)

* New translations en-us.yaml (Arabic)

* New translations en-us.yaml (Lithuanian)

* New translations en-us.yaml (Portuguese)

* New translations en-us.yaml (Albanian)

* Update source file en-US.yaml

* Update app/src/lang/translations/sq-AL.yaml

Co-authored-by: bito-code-review[bot] <188872107+bito-code-review[bot]@users.noreply.github.com>

* Update app/src/lang/translations/ar-SA.yaml

Co-authored-by: bito-code-review[bot] <188872107+bito-code-review[bot]@users.noreply.github.com>

* New translations en-us.yaml (Arabic)

* New translations en-us.yaml (Albanian)

* Update source file en-US.yaml

* Fix translation errors

---------

Co-authored-by: bito-code-review[bot] <188872107+bito-code-review[bot]@users.noreply.github.com>
Co-authored-by: Alex Gaillard <alex@directus.io>
2025-08-11 14:35:43 -04:00
Florian C. Wachmann
dfa0de252a fix alignment of flow resolve/reject buttons (#25668) 2025-08-11 11:33:32 -04:00
Rijk van Zanten
6650115dac Ensure that code editor is always LTR (#25641)
* Ensure that code editor is always LTR

* Add changeset

* Update app/src/interfaces/input-code/input-code.vue

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-11 10:47:44 -04:00
Alex Gaillard
00ce213d18 Fix module-bar drag direction for RTL vs LTR (#25659)
* Fix module-bar drag direction for RTL vs LTR

* Add changeset

* Fix RTL support for certain components (#25652)

* fix RTL support for loading spinner in v-button

* fix RTL support for v-resizeable

* fix RTL support for loading spinner in insights dashboard

* fix RTL support for skip menu

* add changeset

* Fix mysql wrongly reporting index as `true` in some cases (#25650)

* Match index statistics on table schema as well

* Add changeset

* Update app/src/components/v-resizeable.vue

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Fix bito's mistake

* Add test case

* Remove hallucinated table-header tests

---------

Co-authored-by: Florian C. Wachmann <dev@formfcw.com>
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-11 13:51:14 +00:00
ian
54f164c2b9 Add placeholders for error operation (#25664)
Co-authored-by: Florian C. Wachmann <dev@formfcw.com>
2025-08-11 11:05:42 +02:00
Florian C. Wachmann
294a3dd2b4 Fix RTL support for certain components (#25652)
* fix RTL support for loading spinner in v-button

* fix RTL support for v-resizeable

* fix RTL support for loading spinner in insights dashboard

* fix RTL support for skip menu

* add changeset
2025-08-08 11:51:04 -04:00
ian
61a222ca1b Add new error operation to Flows (#25558)
* Add error operation

* Update app/src/operations/error/index.ts

* Add changeset

* Past tense

---------

Co-authored-by: Alex Gaillard <alex@directus.io>
2025-08-08 11:36:04 -04:00
daedalus
d366dff0d9 add test case (#25648) 2025-08-07 16:38:51 -04:00
daedalus
cff621d4f6 Ensure user language is set on hydrate (#25647)
* ensure custom translations are set on hydrate

* small refactor :)

* add changeset

* Update afraid-toys-allow.md
2025-08-07 16:07:52 -04:00
Matthew Rumery
aa8addb2f1 fix: adjust transform for rtl on empty state (#25636) 2025-08-06 20:05:50 +00:00
Rijk van Zanten
d3c4fc6ce2 Always render theme-overrides LTR (#25633)
* Always render theme-overrides as ltr english

Fixes #25629

* Add changeset
2025-08-06 14:15:42 -04:00
Florian C. Wachmann
7804616215 Display labels for data fields in batch mode (#25619)
* display labels for data fields in batch mode

* add changeset

* add test
2025-08-06 13:09:13 -04:00
Rijk van Zanten
eb2fba1c37 Fix RTL table column resizing (#25631) 2025-08-06 12:45:50 -04:00
Gloria Rodríguez
425d228f22 Allow user select text (#25510)
Co-authored-by: Florian C. Wachmann <dev@formfcw.com>
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2025-08-06 10:19:16 +02:00
Rijk van Zanten
21f85040ea Run formatter (#25604) 2025-08-05 14:52:35 -04:00
Tim Butterfield
6c3e76f29b Raw group batch mode missing (#25600) 2025-08-05 13:26:58 +02:00
Rijk van Zanten
7d2310badd Finish dependency move (#25583)
* Dangerously update API deps

* Dangerously move app dependencies to pnpm-workspace

* Move all dependencies to catalog

* Sort catalog

* Pnpm update

* Use pnpm 10.14

* Update for zod breaking change

* Fix unhead breaking change

* Downgrade major api upgrades

* Downgrade app major upgrades

* Fix app tests

* Downgrade isolated-vm

* Add changeset

* Fix template in head

* Resolve unhead lang signature

* Downgrade unhead

* Downgrade keyv/redis

It uses a different redis lib under the hood which is incompatible

* Resolve import in test

* Update and move workspace root dependencies

* Update CSS for updated linter rules

* Oops

* Run formatter

* Update rule name

* Run prettier

* Move utils peer to catalog

* Add focus-trap dependency
2025-08-04 18:13:12 -04:00
Copilot
ad407d60c5 Fix code-interface crash when language is reset to null (#25595)
* Initial plan

* Fix code-interface null language handling - prevent .toLowerCase() error

Co-authored-by: rijkvanzanten <9141017+rijkvanzanten@users.noreply.github.com>

* Update tests to pass

* Add changeset

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: rijkvanzanten <9141017+rijkvanzanten@users.noreply.github.com>
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2025-08-04 15:45:26 -04:00
daedalus
2836948dab Update dependency form-data (#25579)
* update form-data

* update subdep form-data

* add changeset

* add form-data to catalog
2025-08-01 19:26:36 +02:00
Rijk van Zanten
3491af9de4 Make tests deterministic, remove @directus/random (#25575)
* Make tests deterministic by dropping random

* Remove random dep

* Drop random package

* Update pnpm lock

* Update app/src/composables/use-permissions/collection/lib/is-action-allowed.test.ts

---------

Co-authored-by: Alex Gaillard <alex@directus.io>
2025-07-31 17:16:40 -04:00
Matthew Rumery
17bf9be79e Add Services Type support for @directus/extensions (#25368)
* feat: add services type

* refactor: replace UserIntegrityCheckFlag from @directus/types

* refactor: replace AbstractServiceOptions from @directus/types

* refactor: replace MutationOptions from @directus/types

* refactor: replace ActionEventParams from @directus/types

* refactor: replace AbstractService from @directus/types

* refactor: replace Webhook from @directus/types

* refactor: replace Range, Stat, ReadOptions, & ChunkedUploadContent from @directus/types

* refactor: replace asset types from @directus/types

* refactor: replace LoginResult from @directus/types

* refactor: replace snapshot types from @directus/types

* refactor: replace Action & PayloadServiceProcessRelationResult from @directus/types

* refactor: replace ExportFormat from @directus/types

* refactor: replace database types from @directus/types

* feat: implement ExtensionsServices within @directus/extensions

* feat: replace QueryOptions from @directus/types

* fix: formatting issue

* fix: adjust extensions services type

* fix: generic type for each service

* fix: typescript errors for missing imports

* refactor: update ReadOptions & ChunkedUploadContext type exports to pull from @directus/types

* refactor: move DirectusError to @directus/types & add DirectusExtensionsError to @directus/types

* feat: add MailService, GraphQLService, SpecificationService, and move required exports to @directus/types

* refactor: move extension types to @directus/types

* refactor: move extension constants to @directus/constants

* refactor: adjust type imports for @directus/composables

* refactor: adjust imports for @directus/extensions-registry

* refactor: adjust import for @directus/errors

* refactor: adjust imports for @directus/themes

* refactor: adjust imports for @directus/extensions-sdk

* refactor: adjust imports for studio app

* feat: implement ExtensionService and migrate types to @directus/types

* fix: revert sdk type changes

* fix: reexport types moved from @directus/extensions to @directus/types

* fix: remove @directus/themes from @directus/extensions

* refactor: move AppField to fields file

* chore: remove @directus/themes from @directus/types

* chore: remove @directus/extensions from @directus/types

* fix: rebase issue with DirectusError generic

* chore: remove @directus/types from sdk

* fix: add missing exports to original packages

* fix: update getAppExtensionChunk return type

* chore: revert DirectusError changes

* chore: revert Collection fields key

* refactor: rename RawSchemaCollection to ApiCollection

* fix: add RawCollection from @directus/types

* fix: import GraphQLParams from @directus/types

* fix: formatting issue

* chore: add changeset

* chore: revert rename of ApiOutput

* Update .changeset/purple-crews-sink.md

* Update .changeset/purple-crews-sink.md

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>

* Update .changeset/purple-crews-sink.md

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>

* Update .changeset/purple-crews-sink.md

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>

* Update .changeset/purple-crews-sink.md

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>

* Update .changeset/purple-crews-sink.md

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>

* Update .changeset/purple-crews-sink.md

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>

* Update .changeset/purple-crews-sink.md

Co-authored-by: ian <licitdev@gmail.com>

* fix: rebase pnpm-lock error

---------

Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>
Co-authored-by: ian <licitdev@gmail.com>
Co-authored-by: Alex Gaillard <alex@directus.io>
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2025-07-31 12:54:50 -04:00
Alex Gaillard
e109a6f2d6 Release 11.10.0 (#25557) 2025-07-30 17:12:15 +00:00
Rijk van Zanten
1899ed9035 New Crowdin updates (#25398)
* New translations en-us.yaml (Spanish, Mexico)

* New translations en-us.yaml (Spanish)

* New translations en-us.yaml (Spanish, Mexico)

* New translations en-us.yaml (Russian)

* New translations en-us.yaml (Portuguese, Brazilian)

* New translations en-us.yaml (Arabic)

* New translations en-us.yaml (Lithuanian)

* New translations en-us.yaml (Portuguese)

* New translations en-us.yaml (Albanian)

* New translations en-us.yaml (Spanish, Chile)

* New translations en-us.yaml (Spanish, Latin America)

* Update source file en-US.yaml

* New translations en-us.yaml (Chinese Simplified)

* New translations en-us.yaml (French)

* New translations en-us.yaml (Spanish)

* New translations en-us.yaml (Arabic)

* New translations en-us.yaml (Spanish, Mexico)

* New translations en-us.yaml (Thai)

* New translations en-us.yaml (Russian)

* New translations en-us.yaml (Portuguese, Brazilian)

* New translations en-us.yaml (Romanian)

* New translations en-us.yaml (Bulgarian)

* New translations en-us.yaml (Catalan)

* New translations en-us.yaml (Czech)

* New translations en-us.yaml (Danish)

* New translations en-us.yaml (German)

* New translations en-us.yaml (Finnish)

* New translations en-us.yaml (Hungarian)

* New translations en-us.yaml (Italian)

* New translations en-us.yaml (Japanese)

* New translations en-us.yaml (Korean)

* New translations en-us.yaml (Lithuanian)

* New translations en-us.yaml (Mongolian)

* New translations en-us.yaml (Polish)

* New translations en-us.yaml (Slovak)

* New translations en-us.yaml (Slovenian)

* New translations en-us.yaml (Albanian)

* New translations en-us.yaml (Swedish)

* New translations en-us.yaml (Turkish)

* New translations en-us.yaml (Ukrainian)

* New translations en-us.yaml (Chinese Traditional)

* New translations en-us.yaml (Indonesian)

* New translations en-us.yaml (Persian)

* New translations en-us.yaml (Spanish, Chile)

* New translations en-us.yaml (Marathi)

* New translations en-us.yaml (Croatian)

* New translations en-us.yaml (English, Canada)

* New translations en-us.yaml (English, United Kingdom)

* New translations en-us.yaml (French, Canada)

* New translations en-us.yaml (Esperanto)

* New translations en-us.yaml (Bosnian)

* New translations en-us.yaml (Nepali)

* New translations en-us.yaml (Kurmanji (Kurdish))

* New translations en-us.yaml (Sorani (Kurdish))

* New translations en-us.yaml (Spanish, Latin America)

* Update source file en-US.yaml

* New translations en-us.yaml (Georgian)

* New translations en-us.yaml (Georgian)

* New translations en-us.yaml (Turkish)

* New translations en-us.yaml (Turkish)

* New translations en-us.yaml (Dutch)

* New translations en-us.yaml (Dutch)

* New translations en-us.yaml (Dutch)

* New translations en-us.yaml (Dutch)

* New translations en-us.yaml (Chinese Simplified)

* New translations en-us.yaml (Georgian)

* New translations en-us.yaml (Georgian)

* New translations en-us.yaml (Georgian)

* New translations en-us.yaml (Georgian)

* New translations en-us.yaml (Georgian)

* New translations en-us.yaml (Swedish)

* New translations en-us.yaml (Swedish)

* New translations en-us.yaml (Swedish)

* New translations en-us.yaml (Korean)

* New translations en-us.yaml (Korean)

* Update source file en-US.yaml

* New translations en-us.yaml (Afrikaans)

* New translations en-us.yaml (Azerbaijani)

* New translations en-us.yaml (Azerbaijani)

* Update source file en-US.yaml

* New translations en-us.yaml (Dutch)

* New translations en-us.yaml (Persian)

* Fix pt language string

* Fix lt placeholder

* Remove empty strings

* Update source file en-US.yaml

* New translations en-us.yaml (Arabic)

* New translations en-us.yaml (Lithuanian)

* New translations en-us.yaml (Portuguese)

* New translations en-us.yaml (Albanian)

* Fix translation errors

* Fix more translation errors

---------

Co-authored-by: Alex Gaillard <alex@directus.io>
2025-07-30 12:55:51 -04:00
Florian C. Wachmann
ef37bf6409 Fix bug with invalid input in v-input (#25548) 2025-07-30 17:09:12 +02:00
Rob Luton
6ede974204 fix issue of icons getting cutoff (#25555) 2025-07-30 13:35:30 +00:00