Commit Graph

2143 Commits

Author SHA1 Message Date
Daniel Biegler
062c8f23f6 Add focal point support for images (#20768)
* add visual feedback for invalid value

* add focal point MVP

* Revert "add visual feedback for invalid value"

This reverts commit 1df1868342.

Accidently committed some local testing stuff. Pls disregard! :)

* fix wrong cropping

* fix text for new cropping, import correct type

* fix saving

* place initial focal point to saved value or center, display different cancel text

* split up tooltips

* honor rotations & flips when saving focal point

* apply custom cropper styles for focal mode

* Create loud-crews-fix.md

* add test and only crop when covering with fixed dimensions to preserve default behaviour

* linter gods pls forgive me

* replace json field with two int fields

* add focal point to sdk

* fix transformation for the two new db columns

* update test for new columns, add new tests

* wip: saving now differentiates between only img data and focal point and only enable saving if there are changes

but this is not optimal. would be better to check beforehand if we can collapse
to requests to one. Now its bad because
one request might succeed and the other fails.

* refactor image editor change persistence

now we save it in one request!

* Update loud-crews-fix.md

* add `focal_point_x` and `focal_point_y` to possible asset transformations

* fix assigning localdragmode upon cropper init

* reuse fetched fields in type

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

* update file type

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

* update changeset

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

* improve type for `ASSET_TRANSFORM_QUERY_KEYS`

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

* Apply suggestions from code review

Trying out the batch change feature from github for the first time. Lets see.

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

* rename `persistChanges` to `saveImage`

* Add docs for focal points (#20959)

* Add user guide

* Added to API Reference

* Prettier

* Spellchecker

* default null

Co-authored-by: Daniel Biegler <DanielBiegler@users.noreply.github.com>

* from -> around

Co-authored-by: Daniel Biegler <DanielBiegler@users.noreply.github.com>

* from -> around

---------

Co-authored-by: Daniel Biegler <DanielBiegler@users.noreply.github.com>

* add changeset for docs

* run prettier lets goooooooo

* move & show focal point fields and add divider

---------

Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Kevin Lewis <kvn@lws.io>
2024-01-22 18:35:06 +01:00
Pascal Jufer
1f4253432c Optimize extension auto-reloading (#21111)
Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>
2024-01-22 16:07:07 +00:00
daedalus
b39964eda2 Do not queue any extension reloads if a reload job is pending (#20849)
Co-authored-by: Brainslug <tim@brainslug.nl>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2024-01-17 11:59:46 +00:00
Pascal Jufer
3610a8dbc3 Maintain snapshot order (#21076) 2024-01-14 15:10:33 +01:00
Pascal Jufer
215c045184 Drop supertest in api (#21071) 2024-01-13 18:23:43 +01:00
Pascal Jufer
a6e2712e09 Use official abbreviation of Exif (#21030) 2024-01-10 14:42:40 +01:00
Mahendra Kumar
23da25321b fix(api): use payload updated with filter event for O2M processing (#20926)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2024-01-10 12:47:04 +00:00
ian
4a3a65cfde Add support for IP ranges and CIDR notations (#20971)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2024-01-09 00:44:09 +01:00
Rijk van Zanten
2c18b543d2 Move environment variable handling to new @directus/env package (#20985)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2024-01-07 04:35:58 +01:00
Rijk van Zanten
0b0db0f449 Deprecate Messenger in favor of shared Bus (#20862)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2024-01-06 23:49:38 +00:00
Pascal Jufer
a70ebc5aa7 Align extensions update endpoint (#20986)
* Align extensions update endpoint

* Add changeset

* Ensure meta is an object
2024-01-06 19:54:30 +01:00
daedalus
97dc0e2a20 Allow updating custom fields for directus_extensions (#20982)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2024-01-05 22:01:25 +01:00
Pascal Jufer
c9292fdd13 Various small codebase clean-ups (#20977) 2024-01-05 18:53:44 +01:00
daedalus
b189fd4594 Add enable/disable support for bundle type extensions (#20940)
* Add enable/disable support for bundle type extensions

* added changeset

* Update app/src/modules/settings/routes/extensions/components/extension-item.vue

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

* add docs

* bundle with app extensions should display reload on prod

* use early returns for toggle logic

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

* add enable/disable all for partially enabled

* refresh message should work for enable and disable all

* Clearer tooltip for app extensions in dev

---------

Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2024-01-05 13:03:24 +01:00
José Varela
815e110f73 Api: Do not suspend user if rate limiter store is unreachable (#20958)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2024-01-04 16:41:37 +00:00
Mahendra Kumar
40b25bc81b fix(api) treat bigInt as string all across the system (#20888)
* fix(api) treat bigInt as string all across the system

* add changeset

* use bigint notations to declare last constant

* Update .changeset/small-poems-deny.md

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

* moved constants to root context

---------

Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Brainslug <tim@brainslug.nl>
2024-01-04 13:14:10 +01:00
dependabot[bot]
d09586d4c7 Bump ws from 8.15.1 to 8.16.0 (#20905)
* Bump ws from 8.15.1 to 8.16.0

Bumps [ws](https://github.com/websockets/ws) from 8.15.1 to 8.16.0.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/8.15.1...8.16.0)

---
updated-dependencies:
- dependency-name: ws
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Disable new autoPong feature

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2024-01-03 10:08:56 +00:00
daedalus
5738589d60 Fix adding a new role on user update (#20913)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2023-12-30 00:28:21 +00:00
Pascal Jufer
0d1fd7c77e Remove obsolete temporary theme field permission (#20920) 2023-12-29 11:46:30 +01:00
daedalus
7e6f96f56b Remove admin only restriction for extension read operations (#20914)
* respect users permissions for list/get extensions

* add changeset
2023-12-29 00:22:25 +01:00
daedalus
99ea01aa74 Enable theme overrides permissions to be set on a per role basis (#20899) 2023-12-27 18:58:47 +01:00
Brainslug
60ea729957 Fix invite email error (#20891)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2023-12-27 11:33:26 +00:00
Rijk van Zanten
2b9056cc80 Refactor default import logger with useLogger (#20872)
* useLogger

* Rework to useLogger and no globals

* Only export useLogger / createLogger

* Temp remove logger tests

* Refactor logger

* Refactor logger

* Refactor logger

* Refactor logger use

* Fix tests

* Fix logger usage in bootstrap

* Run formatter

* Remove logger tests

Feels drastic, but I'm about to rewrite them into @directus/logger :)

* Fix log operation test
2023-12-26 11:38:38 -05:00
Yasser Lahbibi
7eb22a4f23 feat(ws): register hooks for versioning (#20865)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2023-12-26 15:18:09 +00:00
Mahendra Kumar
d24e0f03f0 fix(api): bigInt auto increment not being reset in postgres (#20867)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2023-12-26 15:20:43 +01:00
Mahendra Kumar
128a47aff5 fix(graphql):handle nested originalError inside the GraphQLError.originalError in processError method (#20873)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2023-12-26 14:32:27 +01:00
Mahendra Kumar
e826f0fb2a fix(api): dont allow setting nullable for primary key while updating a field (#20874)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2023-12-26 11:52:21 +00:00
Rijk van Zanten
2c4be084c8 Replace default imports with useEnv (#20863)
* Use useEnv instead of default import

* Don't export default

* Update tests to mock useEnv

* Fix env usages

* Fix test issues

* replace setEnv use

* Fix various tests

* Fix more tests

* Fix more tests

* Fix get-cache-headers tests

* Fix sanitize-query test

* Fix logger tests

* Fix heartbeat tests

* Remove borked integration test

* Fix more tests

* Finish fixing tests
2023-12-24 11:56:06 -05:00
Connor Winston
89e7333a2d Change Schema Snapshot Sort Ordering of Fields/Relations (#20704)
Co-authored-by: Connor <12714889+ConnorSimply@users.noreply.github.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2023-12-22 00:03:30 +01:00
daedalus
b32f826aec Fix unique name check for extension locations and extensions within bundles (#20785)
Co-authored-by: Pascal Jufer <5363448+paescuj@users.noreply.github.com>
Co-authored-by: Bryant Gillespie <23302570+bryantgillespie@users.noreply.github.com>
2023-12-21 22:44:05 +01:00
daedalus
ba8bf3a586 Validate custom primary key field on create (#20839)
* ensure custom primaryKey is valid before creating item

* add changeset

---------

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2023-12-21 15:40:51 -05:00
Rijk van Zanten
c222511f1f Update telemetry (#20825)
* Setup shared redis abstraction

* Install directus/memory

* Add mini useEnv util for test mocking purposes

* Export missing class from directus/memory

* Update readme to include kv

* Uninstall memory

* Setup telemetry lib

* Reduce concurrency

* Finalize reporting

* Add tests for send-report

* Add tests for init

* Add tests for tracker

* Add tests for get-item-count

* Add test for wait time

* Add test for get-user-count

* Add test for get-user-item-count

* Fix type issue

* Throw error on non-ok fetch

* Init telemetry on server startup

* Tweak submission logic

* Fix tests, submit version

* Update config-options reference

* Cool kids don't use + in large numbers

* Add changesets

* Update docs/self-hosted/config-options.md

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

* Use vi stubGlobal

* Update api/src/env.ts

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

* Unstub as well

* Mock telemetry start in app test

* Update api/src/telemetry/types/report.ts

Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>

* Fix default value in env

* Use toBoolean for env var casting

* Don't rely on knex as

Apparently it doesn't work reliably with count()

* Update api/src/telemetry/lib/init-telemetry.ts

Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>

* Use getDatabaseClient for consistent clients

* Rename ingress->url

* Send my apologies to the formatting bot

* Fix version

---------

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>
2023-12-21 14:08:42 -05:00
Rijk van Zanten
545d392e93 Deprecate utils/package.js in favor of directus/version (#20840)
* Deprecate utils/package.js in favor of directus/version

* Add changeset

* Drop version console log

* Make info reactive

* Fix import order

* Update directus/version.js

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

* Fix tests

---------

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2023-12-21 13:53:22 -05:00
Brainslug
a8ef790ea2 Merge pull request from GHSA-qw9g-7549-7wg5
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2023-12-20 18:32:35 -05:00
Brainslug
c3211fcab6 added version to the API 2023-12-20 17:57:43 -05:00
Pascal Jufer
0534cc9407 Fix & enhance 'schema apply' output (#20816) 2023-12-20 16:21:36 +01:00
Nassan Paul
dc997d2dfc fix(#19386): fix cli schema apply display colors (#20792)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2023-12-20 14:50:31 +01:00
Azri Kahar
a706292c55 Enable no-constant-binary-expression eslint rule (#20812)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2023-12-20 13:24:02 +00:00
Pascal Jufer
98532788d5 Selective Patch Tuesday 🐸 (#20796) 2023-12-20 00:26:15 +01:00
Brainslug
b576c6e5e0 Fixes enabling/disabling extensions (#20677)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2023-12-15 17:41:16 +00:00
Wasim Thoufiq
12643385db Fix BigInt primary key routing (#20744)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2023-12-14 17:13:47 +00:00
daedalus
f2728506d2 public_favicon should be a system relation (#20724) 2023-12-12 21:12:48 +01:00
Pascal Jufer
5e72ea1b08 Patch Tuesday 🐸 (#20714) 2023-12-12 04:36:50 +01:00
Pascal Jufer
36c08e2265 Remove flaky api storage test (#20701) 2023-12-11 16:13:37 +01:00
Pascal Jufer
81c9156508 Update Vitest to v1 (#20694) 2023-12-10 19:49:45 +01:00
Brainslug
6671f1c603 GraphQL Content Versions (#20499)
* WIP alternative gql approach for versions

* incorrect schema type

* finally got something working

* ran prettier

* prettier

* prettier

* limited _by_version to items scope

* removed debug comments and logs

* fixed singleton versions

* updated docs

* Added breaking change notice

* undid unneed change

* prettier

* Create six-trees-cry.md

* Update api/src/services/graphql/index.ts

Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>

---------

Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>
2023-12-07 21:35:27 +08:00
Pascal Jufer
a5215d674b Update TypeScript to 5.3.2 (#20571) 2023-11-29 13:54:56 +01:00
Brainslug
abf0cba75d Fixed GraphQL SDL Error (#20535)
* Fixed missing accountability

* Add changeset

---------

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2023-11-27 10:23:05 -05:00
Azri Kahar
a11fb2b59d Allow configuration to prevent server startup when an extension fails to load (#20495)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2023-11-23 16:37:57 +00:00
Brainslug
e05d9240de GQL directus_permissions ID nullable (#20511) 2023-11-23 14:18:19 +01:00