Commit Graph

1106 Commits

Author SHA1 Message Date
Pascal Jufer
05d901a3dd Support adding additional notices to release notes via changesets (#18726)
* Support adding additional info to release notes via changesets

* Update test

* Simplify regex since summary is already trimmed by changesets

* Simplify again, split up into new util & add test

* Add comment to regex

* Enhancements

- Better terms: Use "notice" instead of "info"
- Support placing notice everywhere in the summary
- Enhance format of notices in release notes

* Print notices under 'Potential Breaking Changes'

* Update tests

* Update format

* Fix new lines & improve tests

---------

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2023-05-30 12:43:08 -04:00
Pascal Jufer
ef9aa341c3 Enhance version comparison in the update notifier (#18748)
* Enhance version comparasion in the update notifier

* Create twelve-ghosts-juggle.md
2023-05-26 18:06:15 -04:00
rijkvanzanten
619d1f5726 v10.2.1 2023-05-26 14:21:39 -04:00
rijkvanzanten
ca73cc976e v10.2.0 2023-05-26 13:17:06 -04:00
Brainslug
f96dcc361f Translation string performance (#18097)
* broken migration

* fixed migration

* created new endpoints for translation strings

* updated to use core endpoint

* bad attempts at making the endpoints sensible

* merge changes

* implemented translation strings service

* re-integrating app logic part 1

* re-integrating app logic part 2

* fixed bad lodash import

* re-integrating app logic part 3

* removed obsolete tests

* make the linter happy

* Create tender-trees-buy.md

* added option to search-input

* implementing search

* fixed resizing and sidebar

* Fix linting

* Remove unused translations update into project settings

* Fix missing translations

* Require read permissions for app access

* Fetch translation strings only when authenticated

* Fix project default language not used when user has default language

* Remove commented line

* Rename variable as content has been changed

* Make the current user check more specific

* Remove translation_string from Settings type

* Remove settings reference in docs

* Update changeset

* Rename migration file to ensure date order

* Rename collection, route, service, controller

* Rename migration

* Adjust collection in settings route

* Fix translations service

* Use new `shouldClearCache` util

* Drop translation_strings column in migration

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

* Added basic api docs

* updated dictionary

* updated dictionary

* Update app/src/interfaces/_system/system-input-translated-string/input-translated-string.vue

Co-authored-by: Nicola Krumschmidt <nicola.krumschmidt@freenet.de>

* Update app/src/modules/settings/routes/translation-strings/collection.vue

Co-authored-by: Nicola Krumschmidt <nicola.krumschmidt@freenet.de>

* extracted getCurrentLanguage utility

* Use regular collections/items

* Use regular controller

* Fix item view

* Set correct system field config for translations

* Tweaks

* Use UUID

* Finish placeholders

* Use drawer-item

* Add create to the store

* Remove composables

* Add new placeholder

* Fix saving behavior

* Remove previous take

* Rename migration after merge of live preview

* Generate uuid when migrating

* Remove unused showFilter

* Fix linting

* Fix type warnings

* Not needed as settings no longer contain translation_strings

* Remove leftover blank line

* Update getCurrentLanguage with server default and use in hydrate

* Shift getCurrentLanguage to lang folder to be alongside setLanguage

* add elipsis to placeholder

* Remove slug from key, so you can use dots etc in the key

* updated translation value to be type text again

* Rehydrate fields for updated translation values

* Add tooltip

* updated documentation

* enforce key/language uniqueness in the TranslationService

* updated error message

* updated docs menu item to "custom translations"

* Dynamically fetch translation keys for input-translated-string interface

* use get current language in refresh

* Update docs/reference/system/translations.md

* Update docs/reference/system/translations.md

* Update .changeset/tender-trees-buy.md

* Fetch translation keys when new key is created

* Update api/src/services/translations.ts

* Remove translation_strings remnant

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

* mark key, language and value as required

* correctly mark fields as required

* Catch duplicate key error when creating from input

* Translate translations :-)

* Update tender-trees-buy.md

---------

Co-authored-by: ian <licitdev@gmail.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Nicola Krumschmidt <nicola.krumschmidt@freenet.de>
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2023-05-26 12:35:44 -04:00
Pascal Jufer
bce32d90a7 Implement update notifier in directus package (#18738)
* Include update notifier in `directus`

* Don't bundle

* Move updateCheck function to `update-check` package

* Create kind-shoes-jam.md

* Update kind-shoes-jam.md

* Remove wrong dep
2023-05-26 09:55:23 -04:00
Pascal Jufer
4683227272 Update openapi3-ts to v4 (#18722)
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
2023-05-25 17:36:32 +02:00
Nitwel
ed8b0e0394 Live preview (#17794)
* Add split view to the private view

* add more functionality to split view

* change text

* add simple size settings

* finish basic live preview feature

* add reload functionality

* update pnpm-lock

* update to newer design

* remove console.log

* Fix height of main content

* update design

* finishing fixes

* run linter

* finishing cleanup

* rebuild lock file

* lint fix

* hide preview for collections without preview urls

* fix refresh and eslint error

* use v-text-overflow for preview url

* use bottom placement for consistency

because other buttons such as Open in New Window and Refresh shows their tooltip at the bottom.

* tiny code tweak with early return

* remove fun parts and change divider color

* fix preview for singletons

* slightly improve the refresh button feedback

* hide zoom in fullscreen/desktop view

it is disabled in fullcreen, but some users may think they can click it, so I've opted to hide it instead. Especially since switching from mobile to desktop mode always resets it to 100%.

* tiny early return tweak

* opt to fix v-select disabled state cursor

* reverse zoom scaling order

* prevent preview going out of bounds when zoomed

* fix dragging when pointer enters iframe

* reinstate previous code tweak

* regenerate lock file

* use lockfile from main

* Dear linter...

* chore: add live preview to sidebar

* docs: add frontmatter

* docs: add intro

* docs: before you start

* docs: live preview in directus

* docs: draft mode in nextjs

* docs: fetch with draft mode

* docs: preview content in directus

* docs: next steps

* docs: update

* docs: updates

* docs: add live preview to collections

* docs: add live preview to item

* docs: updates

* docs: update

* chore: updates to the nextjs guide

* chore: updates to collections

* chore: updates to items

* Nuxt 3 guide

* Small Next guide fixes

* Added tips

* Spellcheck fixes

* Rework resizement

* Move debounce to private-view

* Update Nuxt 3 guides - styling and sentence clarity.

* add refreshLivePreview custom property to window

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

* remove remaining "window as any" typecasts

* Show 'grab-bar' only if wrapper is in viewport

* toggle preview instead of split in mobile view

* tweak to unwrap nested IF conditions

* do not change preview button icon when enabled

* hide grab-bar in mobile

* check main content width instead of window width

* Fix save-and-stay not updating preview url

* Update refresh button function call

* Add frame loader to prevent flashing

* Prevent scrollbar flashing when toggling splitview

* lift specific logic from v-resizable to private-view

This piece of logic was meant only for the content area and shouldn't affect every v-resizable usages

* use v-show instead of v-if to hide main content

v-resizable has an internalWidth that should not be reset when user resize the left navigation bar, as well as the form shouldn't be re-rendered

* check target to hide the grab-bar in toggle mode

as we're only hiding the target rather than disabling the wrapper, we had to check whether the target is visible as well to determine whether to show the grab-bar

* Fix zoom behaviour & remove leftovers

* remove wrapperIsVisible check

in favor of only relying on targetIsVisible check

* Revert "Add frame loader to prevent flashing"

This reverts commit e4c2d3d4bd.

* Final tweaks

- Enhance frame zoom
- Min width for frame
- Hide main content based on overall size
  (ensure it works for all browser sizes)
- Various enhancements & fixes

* Update migration date

* Create rare-bananas-melt.md

* Better naming for remaining width var

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

---------

Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Esther Agbaje <folasadeagbaje@gmail.com>
Co-authored-by: Kevin Lewis <kvn@lws.io>
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
Co-authored-by: ian <licitdev@gmail.com>
2023-05-25 16:29:12 +02:00
Azri Kahar
946d874ef3 align SDK's MIT license with other MIT licenses (#18683) 2023-05-22 11:20:39 +00:00
Pascal Jufer
42a4b9c9a6 Publicize @directus/release-notes-generator (#18670)
* Publicize `@directus/release-notes-generator`

* Update packages/release-notes-generator/package.json

* Use node types for v18

* Add additional info to readme

* Add license
2023-05-22 19:17:00 +08:00
Pascal Jufer
ef65b16b18 Correct initial version for new packages (#18671) 2023-05-19 18:58:08 -04:00
Pascal Jufer
7ecda9b2fa Clean-up package.json files (#18663)
* Remove publishConfig from all packages

* Remove invalid version field

* Move @directus/composables to devDependencies in app

* Resort all package.json files

* Align meta fields

---------

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2023-05-19 17:54:10 -04:00
Rijk van Zanten
243fa71b12 New functions for @directus/random (#18668)
* Add array randomizer

* Add sequence randomizer

* Add barebones readme

* Rename randomIntBetween -> randomInteger

* Finish couple new randomizer functions

* Add basic tsdoc

* Add changeset

* Downgrade types/node
2023-05-19 17:21:39 -04:00
Brainslug
85c664f985 fixed incorrectly mocked endpoint (#18661)
* fixed incorrectly mocked endpoint

* Create olive-toys-fail.md
2023-05-19 13:08:10 -04:00
Pascal Jufer
617d4807f6 Align deps in SDK with other packages (#18660) 2023-05-19 13:07:24 -04:00
Rijk van Zanten
c7d0cd0c74 Move tsconfig package to monorepo (#18659)
* Move tsconfig package to monorepo

* Use local reference to tsconfig
2023-05-19 12:30:45 -04:00
Pascal Jufer
e904927065 Update Vue to 3.3.4 to satisfy '@vue/test-utils' (#18658) 2023-05-19 12:18:55 -04:00
Pascal Jufer
2e647d80e6 Patch Tuesday 🐸 (#18643)
* Update `directus-monorepo` deps

* Update `@directus/api` deps

* Update `@directus/app` deps

* Update `@directus/composables` deps

* Update `create-directus-extension` deps

* Update `@directus/exceptions` deps

* Update `@directus/data` deps

* Update `@directus/data-driver-postgres` deps

* Update `@directus/extensions-sdk` deps

* Update `@directus/pressure` deps

* Update `@directus/random` deps

* Update `@directus/release-notes-generator` deps

* Update `@directus/storage` deps

* Update `@directus/storage-driver-azure` deps

* Update `@directus/storage-driver-cloudinary` deps

* Update `@directus/storage-driver-gcs` deps

* Update `@directus/storage-driver-local` deps

* Update `@directus/storage-driver-s3` deps

* Update `@directus/types` deps

* Update `@directus/update-check` deps

* Update `@directus/utils` deps

* Update `docs` deps

* Update `tests-blackbox` deps

* Bump pnpm to 8.5.1

* Bump build-push-action in release workflow to v4

* Assign new spy instances before each test

See https://github.com/vitest-dev/vitest/pull/3386

* Create clean-needles-nail.md

* Remove leftover 'beforeAll' imports

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

---------

Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2023-05-19 10:48:21 -04:00
Brainslug
2016afab72 Move SDK to monorepo (#18647)
* Adding the JS SDK to the core repo

* Create tough-crews-shout.md

* cleaning up some files

* Removed generated files

* updated tests to vitest

* migrating to vitest

* updated api mocking

* updated api mocking for tfa

* updated comments and fields tests

* updated the rest of the handler tests

* updated the rest of the tests

* fix build output

* update license year

* moved package to packages/sdk

* updated package lock

* Move vitest config to 'vitest.config.ts'

As we have it in the api (since no vite only vitest)

* Sort package.json file

As we did for the other packages

* remove argon2 dependency

---------

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2023-05-19 10:39:25 -04:00
Pascal Jufer
a708ec79d8 Redact additional keys in logs of Flows (#18534)
* Redact additional keys in logs of Flows

* Create moody-poems-pump.md

* Move REDACTED_TEXT to constants package & update tests

* Revert "Move REDACTED_TEXT to constants package & update tests"

This reverts commit 0f5b227253.

* Update redacted value in blackbox test

* Use own redact implementation

* Move REDACTED_TEXT to constants package

* Replace outdated comment

* Fix misleading return type

Since values might change (redacted), output isn't necessarily the same type anymore
2023-05-19 09:41:04 -04:00
Jan Arends
6e17d96496 Add types for new abstract query (#18555)
* add basic types for data

* add changelog

* fixes

* more types, docs and file name change

* added examples

* tweak the naming

* Collaboratively cleanup types

* Cleanup some things I forgot to commit

* adjust comments

* fix grammar

* add some examples in docs

* added negation for conditions

* more docs

* add interface for modifier

* include modifiers and and more docs

* Start tweaking comments

* Rename to @TODO

---------

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2023-05-17 14:43:46 -04:00
rijkvanzanten
fa8c914978 v10.1.1 2023-05-16 14:03:02 -04:00
Pascal Jufer
b3f57f6ac2 Clean-up release-notes-generator (#18568)
* Clean-up release-notes-generator

* Remove leftover version check & more overt file names

* Explicit return types

* Add simple test for markdown generation

* Rework a bit

* Final tweaks

* Enhance comments

---------

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2023-05-16 13:59:39 -04:00
Brainslug
7c88406c5b Add sidebar shadow for kanban layout (#18539) 2023-05-16 16:54:26 +02:00
Pascal Jufer
94c925c9a4 Fix default values for interfaces & display (#18611)
* Fix default values for interfaces & display

* Create nine-walls-sing.md

* Update .changeset/nine-walls-sing.md

---------

Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>
2023-05-16 20:04:01 +08:00
Pascal Jufer
b3cf23acff Show options for list & map interfaces again (#18603)
* Fix options for list & map interfaces

* Create short-boxes-rescue.md

* Outsource Vue component check to utils

* No need for explicit comparation

* Depend on `typeof` instead of `instanceof` to check Vue comp

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

* make linter happy

---------

Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
Co-authored-by: Brainslug <tim@brainslug.nl>
2023-05-16 12:19:04 +02:00
Pascal Jufer
d119f5d501 Update to Vue 3.3 (#18588)
* Update to Vue 3.3

* Create fresh-hotels-mate.md

* Update eslint-plugin-vue

* Replace rollup-plugin-vue with @vitejs/plugin-vue
2023-05-15 14:19:12 -04:00
Abdón Rodríguez
33368287f6 Add axios as a dependency to @directus/composables (#18589) 2023-05-13 17:40:29 -04:00
Pascal Jufer
9ccb875d4b Small release notes generator corrections (#18566)
* Prefix version in title with 'v'

* Let GitHub detect users
2023-05-11 17:32:56 -04:00
rijkvanzanten
703c5d9c69 v10.1.0 2023-05-11 17:22:00 -04:00
Pascal Jufer
7d72d5545b Add release notes generator for changeset (#18564)
* Add release notes generator for changeset

* Fix ref / user logic

* Enhance logic again

* Extend from shared ESM tsconfig

* Rename to @directus/release-notes-generator

* Make versions title a constant

* Rename function

* Filter out 'directus' package

* Final final

* Reset new pressure & random packages

---------

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2023-05-11 17:20:05 -04:00
Hannes Küttner
1a4d4b8b78 Fix useCustomSelectionMultiple #18553 (#18554)
* Fix `useCustomSelectionMultiple` when modifying a previously unselected custom value

* Add changeset
2023-05-11 12:51:12 -04:00
ian
d16c389698 Stub tests for data packages (#18549) 2023-05-11 17:47:49 +08:00
Rijk van Zanten
93e5421425 Setup boilerplate for data (#18541)
* Setup boilerplate for data

* Update readme

* Fix directory link
2023-05-10 14:30:53 -04:00
Rijk van Zanten
20912f1645 Revert "Use vitest run instead of --watch=false (#18540)" (#18542)
This reverts commit 97f0af669e.
2023-05-10 13:33:28 -04:00
Rijk van Zanten
97f0af669e Use vitest run instead of --watch=false (#18540) 2023-05-10 13:24:30 -04:00
Rijk van Zanten
50e2c4220d Standardize TSConfig use (#18538)
* Use tsconfig.prod.json in packages

* Use prod tsconfig in api

* Install node types in storage
2023-05-10 13:22:30 -04:00
Rijk van Zanten
60dacef955 Fix license/version for new packages (#18536) 2023-05-10 12:49:01 -04:00
Rijk van Zanten
b56fc107a5 Add Pressure-based rate limiter (#17873)
* Start setting up @directus/pressure

* Build pressure middleware

* Add basic readme

* Install @directus/pressure

* Fix this binding

* Experiment

* Add defaults util

* Cleanup

* Fix export

* Use directus defaults

* Start tests

* Add random-utils package

* Finish testing for monitor

* Add prod deployment

* Stop building test files in prod

* My favorite

* Integrate pressure handler

* Add decent defaults

* Add retry header + custom error support

* Clean-up merge conflict & sort imports

* Fix build

* Remove default value for retry after

* Verify sampleInterval value

* ran eslint

* updated package lock

* updated vitest

* Create slimy-zebras-jam.md

* Added basic docs for config options

* updated pnpm lock and changeset

* Update & align new packages

* Update .changeset/slimy-zebras-jam.md

---------

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
Co-authored-by: Brainslug <tim@brainslug.nl>
2023-05-10 14:17:53 +00:00
Rijk van Zanten
776682fc06 TS Errors part 5 (#18507)
* Datetime interface

* Couple more errors

* list/

* Map

* Presentation links

* Select dropdown

* Select multiple

* Select radio

* Translations

* Calendar layout

* Cards layout

* Map layout
2023-05-05 16:10:21 -04:00
Azri Kahar
f08a54c32f Fix app hydration for users with null language (#18493) 2023-05-05 07:55:50 +02:00
Brainslug
4d1d0e61dd Updated vitest (#18483)
* updated vitest to 0.31.0

* Create late-tables-call.md
2023-05-04 11:29:54 -04:00
Nicola Krumschmidt
1f49d9528f Remove unused storage dependency from utils package (#18480) 2023-05-04 10:14:02 -04:00
Nicola Krumschmidt
1d7eec9795 Mark shared packages as side effects free (#18365)
* Mark the constant and utils packages as side effects free

* Add changeset

* mark composables as side effect free

* mark exceptions package as side effects free

* updated changeset

---------

Co-authored-by: Brainslug <tim@brainslug.nl>
2023-05-03 14:26:52 +02:00
Nicola Krumschmidt
80bcc35af3 Add support for building API extensions to ESM (#18351)
* Remove language check from extension build command

* Add getFileExt util

* Add support for building API extensions to ESM

* Build new extensions to ESM by default

* Update config file docs to be in ESM

* Add changeset

* Fix extension test

* Replace nested ternary expression

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

* Li(n)t

---------

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
2023-05-02 14:45:25 -04:00
Jan Arends
8b8858da9a Support multipart/form-data to apply schema diffs (#18321)
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2023-05-02 10:24:46 +00:00
Brainslug
87f2edc735 Prevent nested ternary expressions (#18376)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2023-05-01 19:07:40 +00:00
Nicola Krumschmidt
3ff71cc34a Silence prefer builtins and circular dependency warnings when building extensions (#18366)
* Silence prefer builtins warning

* Silence circular dependency warning if only external files are involved

* Add changeset
2023-04-28 15:07:51 -04:00
Nicola Krumschmidt
76ae228c53 Make readme file name casing consistent (#18367) 2023-04-28 15:05:39 -04:00
Nicola Krumschmidt
e60c6cff5f Remove extension config import workaround (#18349)
* Remove extension config import workaround

* Add changeset

---------

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2023-04-27 17:20:55 -04:00