mirror of
https://github.com/directus/directus.git
synced 2026-04-25 03:00:53 -04:00
v10.11.0
7 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
c893b9fa65 |
Add public registration (#22125)
* WIP: add new register dummy-route * fix notice on register route * WIP register form * WIP: registering ui and controller for testing * fix lint ordering problem * wip: users service * add migration, initial style for fields in settings * redo how emails will be filtered * WIP add filter in the register handler * conditionally render register link depending on settings * WIP: add email validation * wip add email sending * make clicking the email link work * rm console log * update controller * dont send emails for existing emails * add translation * only show register link when unauthenticated * add different redirects * only allow selecting non-admin roles * redirect to users page * update translation * move logic from controller to usersservice * rm remnant of logic from controller * add stall time to registration * update translation * rm comments * rm unused var * add changeset * update translation for success * remove sso related stuff from registration * also allow setting first and last name * update error check * add @directus/errors to app * replace error strings with enum * rename to public_registration * rename to public_registration_verify_email * add notes to fields * add types package to changeset * dont stall if no work is being done * allow null-role and resending of reg. email * add public registration env vars, rm RATE_LIMITER_GLOBAL_STORE RATE_LIMITER_GLOBAL_STORE wasnt being used. Lets just stick to RATE_LIMITER_STORE for all rate limiters. TODO: also remove from docs! * use ratelimiter for registration, use stall time env var * add registration limiter docs, rm global store variable from docs * update changeset * add ignore-notice Co-authored-by: Hannes Küttner <4376726+hanneskuettner@users.noreply.github.com> * use and document new `EMAIL_VERIFICATION_TOKEN_TTL`, also doc `REGISTER_STALL_TIME` * change variable name Co-authored-by: ian <licitdev@gmail.com> * apply variable rename to usage * change backticks to single quote Co-authored-by: ian <licitdev@gmail.com> * inline variables * add fields to server info, update types - The other ratelimiters also expose points and duration, done - Add `public_registration_verify_email` so that we can render different success messages * tiny wording tweak of registration mail * add new user status 'unverified' and check for it * add unverified status translation * decouple email verification and validation * enable register rate limiter by default and up its config * add autocomplete=new-password on the registration form * added sdk functions * add gql query for new fields * added register api reference * updated verify sdk function name * added reference block for email verify endpoint * updated reference examples * WIP: add gql resolvers * add ratelimiter to mutation * remove ratelimiter registration point+duration info * rm points and duration from gql * Update docs/reference/system/users.md Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch> --------- Co-authored-by: Hannes Küttner <4376726+hanneskuettner@users.noreply.github.com> Co-authored-by: ian <licitdev@gmail.com> Co-authored-by: Brainslug <tim@brainslug.nl> Co-authored-by: Brainslug <br41nslug@users.noreply.github.com> Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch> |
||
|
|
537d7f1e36 |
Revert "Consolidate content versioning (#22227)" (#22412)
This reverts commit
|
||
|
|
5a258dd406 |
Consolidate content versioning (#22227)
* Add migration * Use the new delta field * Add cast-json flag * Fix typing * Fetch existing deltas if version created during migration * Add changeset * Add version delta field into sdk schema |
||
|
|
7f14e387ed |
Fix 15553 remove webhooks (1/2) (#21808)
* add deprecation notice to webhooks I dont like how the "Flows"-Link is not a real router-link so it reloads the page but we could sort this out later in the PR * add feature flag store * make links reactive * add depreaction to webhook item route too * better progressive deprecation, update translation * fix batch deletion of webhooks * remove batch editing (it doesnt work), remove irrelevant now code * add changeset * add up migration * improve upon migration * disallow creation of new webhooks * remove create action * remove isvisible field no longer used * remove feature flags store no longer needed * rm featureflag store remnants * hide webhook fields from migration * update comment * change width of notice * rm button for creating webhooks * add changeset * Update api/src/database/migrations/20240311A-deprecate-webhooks.ts Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch> * Update api/src/controllers/webhooks.ts Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch> * prettier * add changeset for system data * update changesets * remove top padding * update deprecation notice Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch> * remove ability to patch webhooks and relevant snippets from its item route * rm bottom padding since v-form has its own * remove Flows created by the up-migration * only add run-script if needed * filter whitespace values out * deprecate webhooks on service level * fix tests for webhooksservice * reuse deprecation error * add deprecation and update test for updateBatch * update changeset * remove webhook initialization and handling * remove check for POST people could use raw values for PATCH, SEARCH, etc. * Filter empty collections in migration * skip run script for GET requests --------- 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> |
||
|
|
7bea23b7f5 |
Add the ability to configure the error, bug and feature URLs (#21174)
* add report url fields * update field template to be agnostic * add changeset * various fixes * rename handler to load path level * add translations * updated docs * fix tests * add placeholder support for system-display-template * refactor project to report and move to their own settings section * example urls should be more concrete Co-Authored-By: Pascal Jufer <5363448+paescuj@users.noreply.github.com> * move hardcoded default report urls to constants Co-Authored-By: Pascal Jufer <5363448+paescuj@users.noreply.github.com> * Make nav reactive, so URL changes are immediate * change order of report urls * change icon to feedback * move composable to top level * remove ref, use from prop * Update .changeset/tender-timers-develop.md Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch> * rm select_a_collection_or_tree_fields translation key --------- Co-authored-by: Pascal Jufer <5363448+paescuj@users.noreply.github.com> Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch> Co-authored-by: Daniel Biegler <DanielBiegler@users.noreply.github.com> |
||
|
|
82b23a57d4 |
Add the Directus Marketplace (#21674)
* Add support for MIGRATIONS_PATH (#20627) * Deprecate "local" extension types (#20624) * No longer resolve local non-package extensions * Remove local extensions from watcher * Install fs-extra for app dev * Replace usage of get-extensions * Rename create functions to match behavior * Drop extensions prefix from cli create * Drop name requirement from cli add * Drop extensions name regex checks * Don't rely on regex for extension identification * Add changeset * Fix build for @directus/extensions * Don't ensure nested dirs * Load npm dependency by name prefix * Throw more helpful error when pkg json is missing * Fix dependency loading paths * Only load local extensions if extensions path exists * Fix merge conflict * Remove unused fs-extra * Only sync extensions if location is defined * `extensions` -> `localExtensions` * Fix resolving of package extensions - consistent usage of term "package extensions" - enhance error messages * Fix syncing extension from storage * Revert-revert change from #20627 --------- Co-authored-by: ian <licitdev@gmail.com> Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch> * Add back `MIGRATIONS_PATH` to `@directus/env` (#21053) * Setup browse endpoint for browsing Directus extensions (#21033) * Rename tag directus-custom to directus-extension * Devil's in the details * [WIP] Start on search lib * Setup extensions-registry package * Update pnpm lock * Move registry search fn to new package * Squash bugs * Remove unused deps * Remove unused dep in `extensions` * Add tests for validate-limit * Finish test coverage * Remove unused constant * Add back lodash-es 😇 * Install extensions-registry * Add default keywords * Expose registry endpoint in rest api * Add describe module * Reinstal pnpm * Drop reliance on author field The problem is that there's no requirement for it to be a valid(ated) user. Publisher is the only field we can rely on being an existing NPM user. * Update convertSearchResult test after author change * Format * Allow anything after the route To support packages with scopes * Add test for describe * Add more tests * Throw unprocessablecontenterror instead of error * Install errors pkg * Finish test coverage * Don't require description * Don't wrap individual keywords * Run formatter * Add changeset * Update packages/extensions-registry/src/modules/search/utils/validate-text.ts Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch> * Return sandbox information * Drop support for directus-custom keyword * Set type to null for multiple tags * Restart api for new registry * Add version utility * Add out-of-date error * Add assertion for api versions * Finish new list method * Add describe * Use updated registry functions * Fix controller usage * Return output in data flag to be consistent * Add tests for the describe module * Add tests for list module * Finish tests for extensions-registry package * Remove vscode shenanigans --------- Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch> * Project Forum: Browse UX (#21276) * Render marketplace route in-app * Update api list integration * Add support for limit/offset in list * Boilerplate route for drawer * Render extension readme in drawer * Render extension detail as separate page * Setup markup for extension banner * Render readme with markdown styling * Boilerplate metadata block * Use v-list for extension metadata metrics * Render compatibility metric * Show downloads and publish date * Refactor to individual files * Fix missing import * Add size metric * Show author on metadat * Show verified badge * Finish metadata * Run formatter * Style forum detail banner (#21290) * Style banner contents * Add background art * Add banner styles to default dark mode theme * Undo base style change to avoid conflict * Add beta chip badge to settings nav (#21296) * Add layout styling for detail page (#21297) * Render metadata as grid if size allows * Finish layout for detail page * Fix alignment of count * Fix search-input active state * Finalize forum header * Add marketplace banner * Style registry filter * Change v-list-item height to min-height Allows rows for forum registry to grow * Finalize styling for extension list item * Finalize styling for registry * Don't rely on format util * Forum account detail page (#21299) * Add support for author describe endpoint * Boilerplate author page * Add author endpoint * Update naming to account * Render github name on registry list * Render user's name + avatar on detail * Load account data on account page * Restructure module * Render account banner on account page * Render account metadata * Finish account detail page * Run formatter * Add sidebar info detail sections * install extensions from registry (#21070) * added an endpoint to install extensions from registries * add changeset * Revert format/lint scripts * Update pnpm-lock * Remove unused dependency * Add download module to extensions-registry abstraction * Download from extension registry instead of direct npm * Throw on error * Install based on version ID rather than name * Install based on ID in body Allows us to extend it in the future if need be * Download to tmp path instead of extensions * Save to extensions manager flattened * Use const for package folder name * Run more in try/catch to avoid server exit * Remove changeset * Undo docs updates We'll do all docs in a single PR :) --------- Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch> Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com> * Manage extensions by directus_extensions primary key instead of npm package name (#21300) * Add marketplace migration * Include bundle info * Rename name to folder * Store name as folder * [WIP] Change name to ID * Update API to use UUIDs for extensions * Update app to use extensions id * Run formatter * Add changeset * Update generate-app-entrypoint to use updated format * Fix graphql usage * Format * Add forum uninstall endpoint (#21301) * Bootstrap uninstall * Finish uninstall endpoint * Use shared extensions store state for managing extensions in settings (#21317) * Use extensionsstore for extensions management * Use shared store for extensions state and modification * Remove unused emit * Adds install/uninstall GUI elements for project forum (#21319) * Use warning color for incompatible * Styling tweaks * Transition optional background color * Add keys for installing * Add install button to extension detail * Finish install button * Add uninstall option to extensions item * Empty local cached extensions on start * Add (hopefully) temporary hack to await reload * Add install / uninstall buttons * Update lockfile * Fix bundle entries not rendering properly * Clean up spinner styling * Properly wait for reload to be done * Run formatter * Fix registry name * Fix local extension loading * Render location/company in byline * Rearchitect metadata to unstyled listitems * Add max-width to page container * Only allow admins to install/uninstall extensions * Remove unused link * Disable eslint for map use * Run formatter * Add no-results indicator (#21389) * Add no-results indicator * add error state as well * Standardize trailing slash * Standardize pk check * Resolve unnecessary check * Move all deps to dev deps in app * Optimize exec order * Pull data from top level package * Redesign filter bar * Reset page count on filter change * Use default padding on top of page Feels weird now, but there's a theme-update coming that'll make this make sense :) * Show first/last in pagination * Auto-format package name * Use updated registry api return names * Add sorting by total downloads * Add sparkline for downloads * Add a bit of padding * Finalize sparkline styling * Run formatterg * Add sandbox flag in list call * Add MARKETPLACE_TRUST env var * Set sandbox requirement on download * Render list item badge * Fix padding * Show license in gui * Add support for multiple maintainers * Add activity tracking for install * Make incompatibility notice friendlier * Tweak margin of sparkline * Update default CSP headers to include github content * Make extension readme selectable * Consistent icon, add tooltips * Reduce size of install button * Run formatter * Render readme anchors with target blank * Add min width to v-select components * Fix background on search input * Reduce padding on marketplace pages * Fix showing no results * Be consistent * Render type filter menu in full height * Clean up compatibility notice * Hide count result when search count is 0 * Use v-show instead * Bump no results notice down a bit * Cleanup size of install buttons * Use buttons for install / author * Fix sparkline rendering * Add better loading state for extension detail page * Add spinners * Render proper error message in case readme is missing * Use heart logo for marketplace * Add image border shadow * Add loading banner on account page * Show reload warning as persistent notification * Only show one notification * Update snapshot * Add padding to verified icon * Base extensions id on package id, show installed badge * Sync pagination / search / filter with URL Special shoutout to Tim * Next max ext (#21541) * Add limit exceeded error * Add limit exceeded translation * Add extensions_limit env var * Load extensions limit in app * Don't allow installing unknown versions * Don't require installed flag * Return bundled entries in describe * Update chip to match style * Prevent install on limit reached * Run formatter * Fix bundle loading * Resolve npm extensions by package manifest (#21478) * Merge main into next (#21669) * Clean-up deps * Don't export type (as long as not used anywhere) * Update semver to latest * Relax compatibility notice * Use more suitable icon for version * Re-render download charts on color-scheme change * Link extensions to marketplace --------- Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com> Co-authored-by: ian <licitdev@gmail.com> Co-authored-by: Mahendra Kumar <22556323+mahendraHegde@users.noreply.github.com> |
||
|
|
2c4883ae42 |
Filter system collections based on the system property (#21197)
Co-authored-by: Jan Arends <jan.arends@mailbox.org> Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch> |