3414 Commits

Author SHA1 Message Date
Alex Gaillard
e109a6f2d6 Release 11.10.0 (#25557) 2025-07-30 17:12:15 +00:00
Rijk van Zanten
fffe988275 Upgrade dependencies and add tests to @directus/composables (#25545)
* Update dependencies and move to catalog

* Add use-collection test

* Add 100% test coverage for use-collection

* Add tests for use-custom-selection

* Add tests for use-custom-selection

* Update workspace packages

* Make tests work with vitest 3

* Gen use-element-size tests

* Gen tests for use-filter-fields

* Gen tests for use-groupable

* Run formatter

* Run formatter some more

* Match node type to engine in package.json

* Gen tests for use-layout

* Gen tests for useSizeClass

* Gen tests for use-sync

* Add deprecation warning to useSync

* Gen tests for use-system

* Run formatter

* Update types for node type update

* Run formatter

* Add changeset
2025-07-29 16:43:47 -04:00
Rijk van Zanten
4f94a26b56 Add native support for RTL direction (#25494)
* Setup language_direction user setting

* Add option translations

* Add rtl const

* Return dir from getCurrentLanguage

* Set htmlAttrs for lang / dir

* Update tests, fix fallback

* Add test:watch script

* Add rtl transform in icon file

* Make sure the progress bar animates rtl

Devil's in the details

* Make sure sidebar animates correctly on smaller screens

* Care too much about the details

* Fix directionality on slider

* Fix drawer transitions

* Arrow alignment in settings

* Stacked drawers effect

* Full screen navigation

* Revert menu alignment

* Fix nudging on smoke click

* Add changeset

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

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

* Format

* Format rebased work

* One more formatting quirk

* Update app/src/lang/translations/en-US.yaml

Co-authored-by: Florian C. Wachmann <dev@formfcw.com>

* Update .changeset/giant-cloths-play.md

Co-authored-by: Florian C. Wachmann <dev@formfcw.com>

* Add translation

* Remove importants

* Improve typing in get-current-language

* Update app/src/views/private/private-view.vue

Co-authored-by: Florian C. Wachmann <dev@formfcw.com>

* Update app/src/views/private/private-view.vue

Co-authored-by: Florian C. Wachmann <dev@formfcw.com>

* Fix tooltip directions

* Refactor user store to setup script

* Add language/dir to userStore

* Replace getCurrentLanguage w/ userStore

* Make html attrs reactive

* Rename language_direction to text_direction

* Appease the robot overlords

* Add text-direction to user type

* Make text-direction not nullable

* Fix arrow alignment

* fix top tooltips

* run formatter

* mirror directional icons

* Fix positioning for rtl

* Fix flow attachments

* Replace magic number with const

* Start refactoring arrows business logic

No way to properly write unit tests for these bits otherwise. Increases the surface of this PR quite a bit, but feels like a necessary evil...

* Move minMaxPoint to separate file

* Move is-point-in-panel out

* Move generateCorner to separate file

* Update docs

* Move range function out

* Move find-best-position to separate file

* Move get-points to separate file

* Move generate-path out of main fn

* Move create-line to separate file

* Rewrite docblock

* Add tests for generate arrows

* Make sure icons are only mirrored in rtl

* Add RTL for flow arrows

* Run formatter

* Remove extraneous setLanguage calls

* Fix mocks

* Fix generate test

* Fix review notes

* Fix pinia test stubbing

* Fix test runner and add coverage for rtl

* Mock global pinia in v-info test

* Remove unused imports

* Remove unused type

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Florian C. Wachmann <dev@formfcw.com>
2025-07-28 13:59:32 -04:00
Nitwel
217520ffde Add support for bundling with Rolldown and improve app extensions loading by streaming from disk (#25317)
* stream app extensions from the filesystem instead of storing them in the heap

* cleanup

* temp commit

* fmt and cleanup

* rename import and remove rollup

* fix lock file

* add EXTENSIONS_ROLLDOWN to switch between roll-up/down

* add comment

* fmt

* Update .changeset/violet-sloths-shine.md

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

* Update api/package.json

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

---------

Co-authored-by: ian <licitdev@gmail.com>
2025-07-23 13:20:24 -04:00
Hugues BUREAU
c254ff6a62 Add authenticate hook to WebSockets (#25344)
* feat: add websocket.authenticate filter

* docs: add websocket.authenticate to filters list

* chore: add 8byr0 to contributors

* feat: emit websocket.authenticate hook for all modes

* prefer accountabilityoverrides over ip

* default accountability to generated default

* add changeset

* Remove old doc changes

* Remove extra space

* requested changes

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

* rework emitter mock

---------

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
2025-07-22 11:30:10 -04:00
Rijk van Zanten
e72483fb76 Add Codecov upload on test CI (#25470)
* Add consistent test:coverage scripts

* Add missing coverage deps

* Submit to codecov

* Update .github/workflows/check.yml

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

* Add codecov config

* Run formatter, remove branches

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-07-17 16:29:02 -04:00
Rijk van Zanten
2edbea9386 Move common dependencies to catalog (#25467)
* Update pnpm to v10

* Update package.json

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

* Allow builds

* Move common dependencies to catalog

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-15 14:40:28 -04:00
José Varela
4c20947871 Fix: Import CSV with nested dot notation does not work (#25454)
* Allow nested relations in CSV headers

* Add changeset
2025-07-15 16:08:21 +02:00
Nitwel
0e5440ce92 Fix replacing process.env.NODE_ENV on backend extensions (#25180)
* fix replacing process.env.NODE_ENV on backend extensions

* use actual process.env['NODE_ENV']

* default to production to make it less of a breaking change

* Update shiny-eagles-stare.md

---------

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>
2025-07-11 09:54:22 -04:00
Nitwel
f65f63c660 Exclude database-only tables from snapshots (#25271)
* fix snapshots including untracked collections

* update changeset to major

* Update .changeset/slick-seas-learn.md

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

---------

Co-authored-by: ian <licitdev@gmail.com>
Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>
2025-07-10 11:56:26 -04:00
Alex Gaillard
be48429caa Merge pull request #25359 from that1matt/fix-typescript-errors-api
Fix TypeScript errors in `/api` folder
2025-07-10 11:52:42 -04:00
amos
b1ea1408f2 Remove duplicate logic in readAll of fields (#25184)
* fix(fields): avoid redundant iterations in readAll by using map

* remove duplicate code

* Update pnpm-lock.yaml

* Update pnpm-lock.yaml

---------

Co-authored-by: Nitwel <mail@nitwel.de>
Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>
2025-07-10 11:38:03 -04:00
Nitwel
a4cff08d6f Fix parsing functions in aliases (#25139)
* fix parsing functions in aliases

* fix building

* fix tests

---------

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>
2025-07-10 11:36:20 -04:00
Matthew Rumery
c00e1e5c39 Merge branch 'main' into fix-typescript-errors-api 2025-07-09 10:48:33 -06:00
ian
46564d7a00 Release 11.9.3 (#25426) 2025-07-09 11:11:46 +00:00
Brainslug
d9c67ab22f Fix manual flows trigger (#25406)
* treat all IDs as string for comparison

* Create orange-rules-train.md

* Update .changeset/orange-rules-train.md

---------

Co-authored-by: ian <licitdev@gmail.com>
2025-07-09 18:22:31 +08:00
Brainslug
d84dcc36f7 Merge commit from fork
* sanitize filename_disk

* removed comments

* using default uuid instead

* make sure we clean up temp files on database error

* rethrow original error

* move ops to single var
2025-07-09 18:20:53 +08:00
Matthew Rumery
6f90464416 Merge branch 'main' into fix-typescript-errors-api 2025-07-01 10:23:58 -06:00
Alex Gaillard
7532b2b8fc Release 11.9.2 (#25388) 2025-07-01 15:16:35 +00:00
Matthew Rumery
cc962b68f2 Merge branch 'main' into fix-typescript-errors-api 2025-07-01 09:06:02 -06:00
Joshua Bemenderfer
45a3534aba Fix requireSelection check for manual trigger flows (#25386)
* Add missing `requireSelection` check. Fixes #25385

Should resolve the 403 error on manual flows with no selection.

* add `requireSelection` check before key permission check

* Fix type error

* add changeset

* Update famous-drinks-stare.md

* Adjust permission check to be based on targetKeys

* Ensure at least one targetKey exists before permission check

---------

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>
2025-07-01 16:45:44 +02:00
Matthew Rumery
04cd23ae28 Merge branch 'main' into fix-typescript-errors-api 2025-06-30 13:25:13 -06:00
Alex Gaillard
3f4e6df99c Release 11.9.1 (#25382) 2025-06-30 16:32:50 +00:00
Matthew Rumery
65316ea184 fix: typescript errors in api 2025-06-25 14:15:06 -06:00
Alex Gaillard
b8a47c621a Release 11.9.0 (#25358) 2025-06-25 17:58:44 +00:00
ian
52ab5078fb Remove unnecessary redacting of env for log operation (#25356) 2025-06-26 00:42:23 +08:00
Brainslug
22be460c76 Fix manual flows to only trigger with appropriate permissions (#25354)
* fix manual flows only being triggered with appropiate permissions

* update changeset

* check for access to the ids

* also check required keys

* small tweaks

* ran prettier

* Update .changeset/seven-flies-exist.md

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

* Format imports

---------

Co-authored-by: Nitwel <mail@nitwel.de>
Co-authored-by: ian <licitdev@gmail.com>
Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>
2025-06-25 23:43:16 +08:00
Brainslug
859f664f56 Improve redaction in Flows' Log to Console operation (#25355)
* Add log-to-console redaction

* added sensitive user keys for redaction

* Added changeset

* Update .changeset/tame-ears-doubt.md

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

---------

Co-authored-by: ian <licitdev@gmail.com>
2025-06-25 23:22:28 +08:00
Brainslug
e74f3e4e92 Update info.version in the OpenAPI specs (#25353)
* Removed incorrect open api spec version

* added unique hashed version

* Added changeset

* ran prettier

* Changes

---------

Co-authored-by: ian <licitdev@gmail.com>
2025-06-25 22:53:59 +08:00
daedalus
2dfff7232d Fix existing numeric_precision, numeric_scale and max_length not respected on schema changes (#25346)
* Respect existing max_length for string fields

* Respect existing numeric_scale/numeric_precision for float/decimal fields

* add changeset
2025-06-24 17:29:46 +02:00
Nitwel
0e532648e0 Added backlink query param (#25284)
* Added backlink query param

* add to sdk

* fmt

* fix and add more tests

* fmt

* Add check for boolean just in case

Query params should be strings, adding check since type is unknown

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

* Ensure no duplication

* small fix

* Create shaggy-bears-begin.md

* Update .changeset/shaggy-bears-begin.md

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

---------

Co-authored-by: ian <licitdev@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-06-23 10:12:45 -04:00
Nitwel
2a4ada9ebb Fix skipping marketplace for local extensions (#25323)
* fix skipping marketplace for local extensions

* fmt

* fix!!😊

* 
2025-06-20 16:30:07 -04:00
smgrol
e0d1dca723 Add support for non array group claims (#25173)
* Set array type for groupClaimName

* Change if statement

* Update contributors.yml

* Fix prettier

* Update groups type of openid and oauth2 drivers

* Update contributors.yml

* simplify groups check further with ternary

* Do not log debug iof no rolemapping

* add changeset

* fmt

---------

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>
2025-06-20 10:43:11 -04:00
Nitwel
3961dc0593 Add key/value information to db errors (#25112)
* Add key/value infomation to db errors

* make key/value error info consistent across DBs

* fmt and fix tests

* fix errors and clean up code

* fix tests

* fmt and fix tests

* fix linter...

* fix tests

* jeezz that formatter and linter.....

* fix fields in pg error

* rename key to value

* Update .changeset/sour-lands-sniff.md

---------

Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>
2025-06-19 18:43:07 -04:00
Rijk van Zanten
556f36fb42 Add anonymous project id to telemetry (#25300)
* Install uuid

* Add project id on migrate/install

* Include project id in telemetry

* Add changeset

* Fix snapshot

* Use migration timestamp for project_id UUID generation

Updated the migration to use the timestamp from 'directus_migrations' as the msecs value when generating the project_id UUID.

* Fix formatting

* Add into types and sdk

* update changeset

---------

Co-authored-by: ian <licitdev@gmail.com>
Co-authored-by: Connor Winston <connor@winston.guru>
Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>
2025-06-19 14:48:59 -04:00
daedalus
97f09abe3e Add AUTH_.+_ISSUER_DISCOVERY_MUST_SUCCEED and AUTH_.+_CLIENT_HTTP env variables to the openid provider (#25002)
* attempt to re-create client if preload failed

* allow for client failure exit

* allow for client http option overrides

* add changeset

* Show "Service Unavailable" if provider is not available on sso button

---------

Co-authored-by: Nitwel <mail@nitwel.de>
2025-06-19 15:22:54 +02:00
Nitwel
80f21ac9c9 Fix translating m2a filters on GQL only when applicable (#24830)
* fix translating filters on GQL only when applicable

* fmt

* fmt

* fmt

* fix merge

* cleanup code and update test schema

* cleanup

* fmt

* fmt

* fix gql schema gen for m2a

* Debug

* fix replacing on _and

* remove console.log

* fix ts error

* fmt

* add changeset

---------

Co-authored-by: ian <licitdev@gmail.com>
Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>
2025-06-18 17:18:14 -04:00
ian
0246dee321 Fix license banner migration (#25318) 2025-06-19 01:44:10 +08:00
Jonas
219b6649d2 Fix logging of invalid url in isUrlAllowed (#25235)
* fix logging of invalid url in isUrlAllowed

The logger just logged the URL that is checked instead of the URL that we try to parse.

* sign Contributor License Agreement

* Create slimy-peas-pump.md

---------

Co-authored-by: ian <licitdev@gmail.com>
2025-06-18 10:25:59 +08:00
Alex Gaillard
c85234cff5 Add BSL License Banner (#25299)
* Build out license-banner component

* Implement display logic

* Add migration

* Mobile styles and add correct links

* Add dynamic color support for license SVG

* Add UTM links

* Changes from design review

* Copy changes and styles to fit

* Add changeset

* Add all packages to changeset

* Improve translation interpolation to allow for accurate translations

* Combine license_banner_seen and license_banner_disabled to accepted_terms and rename env var

* Format

* Capitalize translation

* Fix formatting error

* Use nbsp character instead of interpolation (#25308)

Co-authored-by: Alex Gaillard <alex@directus.io>

---------

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2025-06-17 21:46:39 +00:00
José Varela
80f1c0b0de Api: Fix Marketplace extension ID (#25304)
* Fix Marketplace extension ID

* Add changeset

* cleanup

* fmt

---------

Co-authored-by: Nitwel <mail@nitwel.de>
2025-06-17 14:48:14 +02:00
Nitwel
feb35d356f Fix permissions for shares for non-admin users (#25229)
* fix permissions for shares for non-admin users

* fix imports

* fix tests
2025-06-16 20:10:44 +02:00
Nitwel
8271718520 Replace mapValuesDeep with deepMap (#25216)
* fix cohersion of values only in rest

* fix tests

* Update late-pans-draw.md

* default back to keep old behavior

* fmt

* combined mapValuesDeep into deepMap and cleaned function up.

* ran formatter

* Update .changeset/fine-boats-brush.md

---------

Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
Co-authored-by: Brainslug <tim@brainslug.nl>
Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>
2025-06-16 12:32:45 -04:00
Alex Gaillard
ccf2f3d38f Release v11.8.0 (#25252) 2025-05-28 13:29:21 -04:00
Brainslug
283e9ee9c2 Bump samlify to v2.10.0 (#25251)
* Bump samlify to v2.10.0

* Create early-fans-heal.md
2025-05-28 16:06:32 +00:00
Nitwel
ede208a0bd Add README to ast logic (#25135) 2025-05-28 15:45:03 +02:00
Nitwel
0d756701c3 add redirect to login page for OpenID SSO error (#25237) 2025-05-26 15:55:21 +02:00
Nitwel
856b95083b Fix cache skipping for getSchema (#25204)
* fix cache skipping for getSchema

* add last bypass

* fmt

* Refactor to bypassCache param in readAll

* consider collection param

* fmt

* Add blackbox test

---------

Co-authored-by: ian <licitdev@gmail.com>
2025-05-23 09:20:06 +08:00
Nitwel
8c1f0a428d Fix coercion of values only for rest (#25207)
* fix cohersion of values only in rest

* fix tests

* Update late-pans-draw.md

* default back to keep old behavior

* fmt

* slight test cleanup

* test name
2025-05-22 16:32:33 +02:00
daedalus
376d279fd6 Add ip, userAgent and origin for ws activity (#25114)
* add `getIpFromReq` for `IncomingMessage`

* support `ip`,`userAgent` and `origin` for ws connection

* add changeset

* rename `getIPFromReq` to `getIPFromWSReq`

* utilize getIPFromReq

* improve `accountabilityOverrides` typing

* remove additional type defs

* simplify getIPFromReq to work with IncomingMessage always

* add tests

* update tests

* remove unnecessary ip property on req

* construct req in tests uniformly

* add express supported trust values

* improve testing to cover all `IP_PROXY_TRUST` values

* Update api/src/utils/get-ip-from-req.ts

* Enforce types instead of reassign to ensure type

* Update api/src/utils/get-ip-from-req.ts

* Add feature parity with express note

* Add more notes

* Update api/src/websocket/controllers/base.ts

Co-authored-by: Nitwel <mail@nitwel.de>

* Update api/src/websocket/controllers/base.ts

Co-authored-by: Nitwel <mail@nitwel.de>

* Remove accountability type change

---------

Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
Co-authored-by: Nitwel <mail@nitwel.de>
2025-05-21 13:48:06 +02:00