mirror of
https://github.com/directus/directus.git
synced 2026-04-25 03:00:53 -04:00
main
195 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
858892f73d |
Add a force option to schema apply to bypass hash check (#27136)
* added force option to schema apply * Update api/src/controllers/schema.ts Co-authored-by: judda <44623501+ComfortablyCoding@users.noreply.github.com> * Update .changeset/cute-rivers-mate.md Co-authored-by: judda <44623501+ComfortablyCoding@users.noreply.github.com> * cleanup * default to false * adjust error message * add test * add jsdoc * add new option to service type * Update cute-rivers-mate.md * Update cute-rivers-mate.md --------- Co-authored-by: judda <44623501+ComfortablyCoding@users.noreply.github.com> |
||
|
|
ab1f135e08 |
Release 11.17.3 (#27132)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> |
||
|
|
791f9b642d |
Revert "Improve configurability of health checks (#26987)" (#27131)
This reverts commit
|
||
|
|
e976510960 |
Fix api building with node_modules (#27067)
* start fixing building of api * fully migrate from typebox to zod * add changeset * fmt * cleanup * update lock |
||
|
|
41edb6c653 |
Improve configurability of health checks (#26987)
* suffix file health checks with machine id * add changeset * add ttl support for local cache * improve configurability of healthcheck and cache results * add cahngesets * restrict `/server/health` to authenticated users * tweaks * Ensure consistent bracket usage * Apply suggestion from @ComfortablyCoding * add notice for dropping cache/ratelimiter/ratelimiterglobal * move unauthenticated check to service * add bb tests * improve server health return type * Update shaggy-news-check.md * fix vendor db check * Update shaggy-news-check.md * Fix bb tests |
||
|
|
32d5650f4f |
Release 11.17.1 (#27007)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Alex Gaillard <alex@directus.io> |
||
|
|
dfb2db349f |
Release 11.17.0 (#26960)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> |
||
|
|
c1509b335c |
Fix revisions not using prepareDelta (#26867)
* track user pre suspended status * omit relational fields from revision data * sanitize data input in update * move relational sanitize to service * sanitize user payload on suspend * sanitize sensitive fields in flows * update prepareDelta type * add preparedelta coverage * sanitize updateMany when applicable * fix wrong collection being referenced * update item test util to support super options * add tests * Revert "update item test util to support super options" This reverts commit |
||
|
|
c565429918 |
Fix file renaming (#26946)
* enforce unique names and rename for changed names * simplify filename unique query * Correct comments * restrict update/delete to users own files * fix generated assets getting replaced - only rename prefix for generated assets - update extension if applicable * remove unused import * add repoint vs remove support * filename_disk should store resolved path * remove unused import * always delete generated assets * add rollback support * dont read as sudo * revert back to sudo service so read is not enforced * add default cast for env var * Improve comments for update storage disk * fix delete occurring for move * add explicit boolean cast * improve comments * account for location change * Update app/src/app-permissions.ts * transaction should be on a per file basis * account for folder to folder changes * rename FILES_SKIP_PRIMARY_ASSET to FILES_DELETE_ORIGINAL_ON_MOVE * remove storage change support * improve itemservice mock * add tests * add useEnv test util * fmt * add storage driver test-util * reduce regression chance * improve tests * permission check before throwing fordbidden * restrict filename_disk updates to one or batch * improve test coverage * do not process filename disk if bulk update with filename_disk * dont loop for non filename_disk changes * cleanup * removed merge artifacts from tests * format and fix tests * Fix import order * utilize mock driver and move fs tests to uploadOne * add changeset * prettier * fix tests * Fix folder tests --------- Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com> Co-authored-by: Alex Gaillard <alex@directus.io> |
||
|
|
fff7ce88f8 |
Add GraphQL resolver deduplication (#26949)
* don't duplicate health calls * Created some resolver deduplication helpers * update gql types * apply dedup helper to all system read resolvers * apply dedup helper to all items read resolvers * not a typo * add comment * changeset * prettier --------- Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com> |
||
|
|
754358d96c |
Update FilesService.uploadOne to support an optional storage parameter (#26882)
* refactor: make storage parameter optional in file uploads Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * build: updaate changeset * fix: use File that contain storage * refactor: centralize storage default in uploadOne * refactor: remove storage param * Apply suggestion from @ComfortablyCoding * Apply suggestion from @ComfortablyCoding * tests: add tests * refactor: apply formater * Apply suggestion from @ComfortablyCoding --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: judda <44623501+ComfortablyCoding@users.noreply.github.com> |
||
|
|
3c2efc1fb6 |
Improve build times using tsdown’s oxc-transform (#26604)
* start supporting isolatedDeclarations
* add errors and storage package
* add utils, and storage-driver-local
* fix rest of packages
* fix types/collab import
* hardcode "isolatedDeclarations": true in all configs for now
* Revert "hardcode "isolatedDeclarations": true in all configs for now"
This reverts commit
|
||
|
|
40ec421fdf |
Release 11.16.1 (#26871)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> |
||
|
|
d273af9e3c |
Release 11.16.0 (#26810)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> |
||
|
|
dfc8797d5f |
feat: optimize project synchronization (#26794)
* feat: optimize project synchronization * fix: optimize code * fix: optimize stats and code * fix: remove url / framework from projects sync * tests: add missing tests |
||
|
|
920d452f12 |
Support provider webhooks for deployment real-time updates (#26683)
* feat(deployment): support netlify feat(deployment): support netlify fix(): style, format and tests fix(netlify): filter by account slug chore(): remove the need for siteId in deploy logs wip * test(): mock listSitesForAccount * format * test(): fix with account_slug test * fix(): error handling + cancel deployment * fix(deployLogs): new implementation * chore: remove test data * fix: use currentColor svg * fix: fix some issues and improve code * fix: wait until the end of the logs when build is finished * refactor: format code * Update changeset * refactor: use tokenUrl as vercel does * fix tooltip placement * fix: provider change refresh * feat: implement webhook sync * feat: implement netlify webhook and refactor logic * feat: implement netlify webhook and refactor logic * refactor: clean up code * test: update netlify tests * build: add changeset * build: clean up changeset * refactor: clean up logs * refactor: optimize status code error * refactor: clean up code * fix: change list project limit to 100 * fix: fix tests * refactor: handle feedbacks * fix: flash issue from runs * refactor: avoid duplicated range schema * feat: add missing cmd save * fix: fix naming variable * refactor: move logic to service * refactor: optimize emitAction usage * refactor: use drivers pagination for projects * fix: fix pluralization * fix: fix timestamp duration * fix: fix dashboard i18n * fix: add missing netlify test * refactor: improve typing * refactor: add runs stats and fix some issues * fix: fix run build time issue * refactor: fix typing * Implement RBAC for deployment module (#26726) * refactor: implement RBAC for deployment * build: update build * fix: linter * refactor: clean up * fix: fix naming variable * Update app/src/modules/deployment/index.ts Co-authored-by: Hugo Torzuoli <torzuoli.hugo@gmail.com> * refactor: move logic to service * refactor: optimize emitAction usage * refactor: use drivers pagination for projects * fix: scope null accountability to name-sync write only * feat: restrict button actions and sections according to rights --------- Co-authored-by: Hugo Torzuoli <torzuoli.hugo@gmail.com> --------- Co-authored-by: Yasser Lahbibi <yasser.lahbibi@apenhet.com> Co-authored-by: Florian C. Wachmann <dev@formfcw.com> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: Alex Gaillard <alex@directus.io> Co-authored-by: Hugo Torzuoli <torzuoli.hugo@gmail.com> |
||
|
|
f0f0c605e3 |
Release 11.15.3 (#26663)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> |
||
|
|
7f6f6728d7 |
Release 11.15.2 (#26641)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> |
||
|
|
a55610a182 |
Add Netlify as a deployment provider (#26594)
* feat(deployment): support netlify feat(deployment): support netlify fix(): style, format and tests fix(netlify): filter by account slug chore(): remove the need for siteId in deploy logs wip * test(): mock listSitesForAccount * format * test(): fix with account_slug test * fix(): error handling + cancel deployment * fix(deployLogs): new implementation * chore: remove test data * fix: use currentColor svg * fix: fix some issues and improve code * fix: wait until the end of the logs when build is finished * refactor: format code * Update changeset * refactor: use tokenUrl as vercel does * fix tooltip placement * fix: provider change refresh --------- Co-authored-by: Gaetan SENN <gaetan.senn@gmail.com> Co-authored-by: Florian C. Wachmann <dev@formfcw.com> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> |
||
|
|
47c60716b5 |
Release 11.15.0 (#26590)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> |
||
|
|
d8bd5d42f2 |
Add deployment module with Vercel provider support (#26473)
* feat: add deployment migration * feat: add deployment and deployment projects collections with corresponding fields and relations * build: add changeset * feat: set type as unique * build: set type to unique * build: set type to unique * feat: add missing run tables * feat: add deployment module * fix: add missing run migration * refactor: remove local project * refactor: use provider instead of type * refactor: use provider instead of type * Add database schema for deployment module with encrypted credentials support * feat: add deployment migration * feat: add deployment and deployment projects collections with corresponding fields and relations * build: add changeset * feat: set type as unique * build: set type to unique * feat: add missing run tables * fix: add missing run migration * refactor: use provider instead of type * feat: add logs / runs routes * refactor: remove project name for realtime from vercel * feat: implement runs logs * fix: formater * refactor: clean up * feat: add vercel * build: mv types and add changeset * refactor: register drivers once * feat: add sdk implementation * refactor: fix lint * refactor: simplify runs status * build: update changeset * feat: clean up module * fix: fix merge * refactor: finalize implementation * build: add changeset * refactor: update cache logic and fix some issues * fix: fix missing file * refactor: merge changeset * fix: move project selection logic in service * refactor: removed dashboard stats * fix: use snake case for deploy input for consistency * refactor: avoid copy of req.body * refactor: apply concurrency limit of 5 to provider * refactor: remove extends of Item * fix: export deployment for extensions * fix: remove name from deployment project * fix: fix spinner padding injected from button class * fix: fix some feedbacks * fix: duration size and redirect after first provider configuration * Reorganize translation strings (#26533) * Reorganize translation strings * Remove artifact * fix: restore name from projects * fix: hide back button from settings if no projects * fix(dashboad): use inline for url * fix: refresh config value options on save * fix: extend Deployment methods * fix: export DeploymentConfig from types * fix: first check the resource access and improve error * refactor: batch updates * refactor: clean up code * refactor: optimize comments * feat: improve js docs errors * fix: check permission before connection test from provider * refactor: use front end user extraction * refactor: optimize code * fix: fix avoid composable inside computed * fix: fix i18n change * fix: use dynamic provider name * fix: remove unused class scope * fix: fix credentials read and move logic into service * feaet: display warning of team id change and add it to setup drawer * refactor: remove comments * refactor: handle feedback * fix: snake case refactoring * fix: fix clear cache variable * Update app/src/lang/translations/en-US.yaml Update i18n Co-authored-by: Alex Gaillard <alex@directus.io> * refactor: remove changeset * refactor: remove meta from sdk * fix: fix preview state * fix: remove meta type injection * refactor: change to pluralization * refactor: update logic * refactor: update changeset * fix: optimize switch case * fix: keep filter from query * refactor: use directError type * refactor: fix not used typing * refactor: add new error code utility function * refactor: add aria label for search input * Potential fix for pull request finding 'Useless assignment to local variable' Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com> * refactor: clean up unused import * fix: fix feedbacks * fix: fix switch case logic * fix: use mergeFilter util function * refactor: align with Judd preference * refactor: rename cache variable and add in missing files * refactor: clean up axios usage * fix: assign data.options from parseValue * refactor: update date of deployment migration file * fix: lint * fix: add missing package * build: run formatter * Fix stylint errors * deploy ← design updates (#26585) * use VBreadcrumb for VDrawer subtitle to match design * use form-row-gap between notice and form to match the design * style: enhance layout and styling for deployment settings page * use global back button instead of custom one * use PrivateViewHeaderBarActionButton instead of custom one * fix: use dynamic provider var for back link * use global back button instead of custom one * ensure consistent appearance of more-options button * use global back button instead of custom one * use PrivateViewHeaderBarActionButton instead of custom one * tests: add api side tests * fix: prevent chip from using parent font-weight * refactor: apply admin access middleware for deployment routes * tests: add cache tests * fix: fix loader alignment --------- Co-authored-by: Alex Gaillard <alex@directus.io> Co-authored-by: Alvaro Saburido <alvaro.saburido@gmail.com> Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com> Co-authored-by: Florian C. Wachmann <dev@formfcw.com> |
||
|
|
50b496f0a5 |
Collaborative Editing Implementation (〃 ̄︶ ̄)人( ̄︶ ̄〃) (#26172)
* Test save action broadcast * Fix formatting * fix frontend connecting multiple times * improve room inactivity logic * fix client clearing * fix update before focus * ignore changes to fields focused by other users * fix rejoining a room * fix singleton not rendering HeaderCollab * make collab work with ai * don't give out duplicate colors if not necessary. * fix giving out invalid colors * update disconnection logic to be instance based instead of client based * update timings * Remove unused imports * Update test to pass client.uid instead * Fix security of nested payload sanitization * Use prettier to format * Fix messenger race condition * Fix empty keys array invalidation * Fix mocks * Add collab and store tests * reuse verify permissions for sanitize payload * remove unused code * fix ai chat working with collab * fix cleaning clients that are in room but not in messenger * Fix wildcard access * Fix nested create without PK * Cleanup removed fn * Remove room * Add missing await * Patch unit tests * Merge async deepMapWithSchema and refactor sanitization * Fix usages and tests * Fix relational null updates treated as objects * Prevent unauthorized field unsets and relationship updates * Propagate item deletion * Simplify room lifecycle and add recovery * Update tests * Implement distributed cleanup and standardize env configuration * Cleanup and refactor to RoomManager * Address CodeQL warning * Add blackbox tests * Handle integer PK and handle invalid schema * add error messages to client * fix error types * Add basic deep relational tests * Patch tests and improve websocket transport * remove unused import * add frontend delete * improve error handling and fix item delete * clearn up room logic * update tests * Update blackbox tests * Use waitForMatchingMessage * Specify timeout for seeding * Improve tests * fix room tests * fix sanitize-payload and verify-permissions * update discard banner in app * Implicitly switch focus when updating * Try accounting for misordered messages * clean console * Fix build * fmt * fmt * fmt * Verify permissions before relational processing * Improve update clearing * Fix double join events * Fix disconnected icon when disabled * Handle error from getService * Pass collab context to overlay * Broadcast to all users to fix relational item not receiving update * Skip disabling interfaces with relational specials * Add shared discard and drawer refinements * sync item update notification * fix double save message in frontend * Add collab for users and files * fix join error showing on non existent items * Reset changes when last person leaves * don't focus on focused fields * fix headerCollab not showing with coll-template * Check if values has changed on update * fix page header hiding collab * Remove unused imports * Fix versioned propagation * Improve copy * Fix delete handler * Update collab tests * fmt * Update comments * fix making color tab persistent * only enable collab if needed * fix wrong collision on no changes * Validate changes on join and update * Update packages/utils/shared/generate-joi.ts Co-authored-by: judda <44623501+ComfortablyCoding@users.noreply.github.com> * Simplify permission tagging and add integration test * Test color propagation * Fix rerun constraint * Optional colors * cleanup code * Add namespace config and fix redlock * update room functions to use global memory * code cleanup * Add fields to discard * Fix messenger mock * fix m2m and m2a and initialChanges in frontend * Mock global rooms * update error types and improve verify permissions * add version permission check * Match message instead * Add missing await for version check * Ensure consistent error types and patch tests * Fix lint * Fix version perms check * Update mock and errors * Use fake timers * Improve collab disabling * Add leader based room closure * Optimize distributed messaging and implement non-blocking termination * Optimize with validateItemAccess Co-authored-by: judda <44623501+ComfortablyCoding@users.noreply.github.com> * Streamline field permissions check * Fix focus erroring * Try improve blackbox stability with waitForMatchingMessage * Improve numeric keys stability * Fallback to collection perms when sanitizing missing items * Add tests * Sanitize encrypt field special Co-authored-by: judda <44623501+ComfortablyCoding@users.noreply.github.com> * Fix double o2m edits not cleared in app * Reuse util * Clear relational detailed update syntax * Unify event sync to distributed bus * Catch unhandled promise rejections during test cleanup * Fix M2O null propagation by ensuring correct item context * Update api/src/websocket/handlers/collab/sanitize-payload.ts Co-authored-by: judda <44623501+ComfortablyCoding@users.noreply.github.com> * Consolidate watchers to resolve double join and race conditions * Allow metadata propagation in detailed relational updates * simplify discard message * early return on empty updateAll message * improve discard further * fix tests * Consolidate and optimize payload validation and sanitization * fix permission check on discard * fix collab connecting when it shouldn't * maybe fix room closure bug * Polish Co-authored-by: judda <44623501+ComfortablyCoding@users.noreply.github.com> * Check singleton create * Reconcile M2O objects * fix orphan clients cleanup * cleanup and fix code further * move deep-map-with-schema to shared * improve logs * fix leave message * cleanup singleton check * remove duplicate perm check * improve message handler singleton check * fix self refernced relation disconnects * fix frontend user name containing null * fix * in discard * fix leave counter * fix race condition on edits being updated before fieldUpdate gets called * separate ws sdk * move collab sdk inside use-collab * remove unused imports * move collab folder 1 level up * fix test * fix headerCollab when formFieldLabel is hidden * Cleanup discard message in app * Discard should check read and update perms * Rename to collaborative editing * Add to telemetry * Move getSchema in * Fix renaming * use newer sdk functions * Remove moved files * fix rejoining rooms * Optimize discard * Collab editing design fixes (#26528) * Update avatar border styling and adjust x-small size in v-avatar component to match title baseline * Refactor HeaderCollab component to use UserPopover for user avatars * Remove unused template for HeaderCollab and clean up overlay-item component by deleting the "Avatars" span * Remove unnecessary blank line in HeaderCollab component styling * Move HeaderCollab to action slot and self align center * Add v-avatar border color and width variables * Add font-size comment for v-avatar in HeaderCollab component * Update v-avatar border width to use theme variable instead of local variable * Apply minor styles fixes * Refactor HeaderCollab component template by repositioning icons and margin rules * Refactor HeaderCollab slot position in other files * Enhance form field label styles by adding flex-grow property and adjusting HeaderCollab margin for improved layout * Remove unnecessary margin styles from header-collab in item and overlay-item components * format * Remove unnecessary hide-current and x-small prop from HeaderCollab component * improve focus handling * refactor v-avatar component to use a single component tag for clickable and non-clickable states * fix: adjust sizes in HeaderCollab * feat: add type prop to HeaderCollab for flexible usage in header and field contexts * fix: adjust HeaderCollab styling for field context and improve layout in form-field-label * fix: update HeaderCollab instances to use 'avatars' class for improved styling * refactor: replace HeaderCollab with CollabAvatars component across multiple files for consistent collaboration user display * fix eslint --------- Co-authored-by: ian <licitdev@gmail.com> Co-authored-by: formfcw <dev@formfcw.com> * Rename blackbox for consistency * Handle empty buffers to prevent errors during race conditions or disconnects * Optimizations * Use debug instead of info * Cleanup on shutdown signal * Cleanup optimization * Add test and cleanup * Ensure sequential bus processing * Use isRelational util Co-authored-by: Florian C. Wachmann <dev@formfcw.com> * Fix import and accept DeepPartial * Wait for connection * fix too strict pk check * Improve bb flakiness * Unset should not acquire focus * Test sticky focus behavior * Update telemetry to include env accuracy * Use getter for reactivity * Ensure focus state initialization * Add composable tests * Await lock releasing * Update memory tests * Update translations * Add websockets_enabled to telemetry * Update changesets * Reduce LRU cache capacity to 2000 * Add missing await * Fix room cleanup * Fix non-existent items (null) skipping cache * Move zod to dependencies in @directus/types * Update lockfile * Fmt * Skip cache metadata calculation if invalidated Co-authored-by: judda <44623501+ComfortablyCoding@users.noreply.github.com> * Add reconnect param Co-authored-by: judda <44623501+ComfortablyCoding@users.noreply.github.com> * make relational disabled on focus again * only show 1st letter in CollabAvatars * fix: use collab typescript (#26549) * Refactor message handling in useCollab composable for type safety * Enhance type safety in useCollab composable by updating field definitions to use object syntax for nested fields * Add CollabUserInfo type for user data structure in useCollab composable * Update TODO links in useCollab to GH issue instead * Refactor field definitions in useCollab to use dot notation for nested avatar properties and keep types * Update field definitions in useCollab to utilize DirectusUser * Revert to object notation * fix sending leave message on item delete * Optimize client room lookup to check local node only (#26569) * Optimize client room lookup to check local node only * Update test * Update comment * Update wording Co-authored-by: Nitwel <mail@nitwel.de> --------- Co-authored-by: Nitwel <mail@nitwel.de> * update unknown user to use icon instead * code cleanup * Fix blackbox create policy naming * undo ai suggestion * improve jsdoc * fix jsdoc * fix again jsdoc * more fixidixi * make collab opt in by default * Update default enabled state to false * Enable collab for blackbox * Remove only sequential * Fix MSSQL default value Co-authored-by: judda <44623501+ComfortablyCoding@users.noreply.github.com> --------- Co-authored-by: ian <licitdev@gmail.com> Co-authored-by: judda <44623501+ComfortablyCoding@users.noreply.github.com> Co-authored-by: Alvaro Saburido <alvaro.saburido@gmail.com> Co-authored-by: formfcw <dev@formfcw.com> Co-authored-by: Alex Gaillard <alex@directus.io> |
||
|
|
8884e25f98 |
Add multi-provider AI support with Google and OpenAI-compatible providers. Extract shared AI types into new @directus/ai package. (#26481)
* feat: add multi-provider AI support * refactor: separate ai package * fixes based on AI review * Add provider options for open-ai-compatible to support things like reasoning * formatter * fix changeset maybe? * fix copilot feedback * Apply suggestion from @robluton Co-authored-by: Rob Luton <rob.luton@gmail.com> * fix: package version * fix: reuse existing types * fix tests --------- Co-authored-by: Rob Luton <rob.luton@gmail.com> |
||
|
|
2cb91fcc6a |
Release 11.14.1 (#26486)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> |
||
|
|
3fd2388de9 |
Add MCP settings to Settings type (#26469)
* fix: add MCP settings to Settings type * add changeset * did i get it? * Update version change for '@directus/types' * Update .changeset/slick-knives-turn.md Co-authored-by: judda <44623501+ComfortablyCoding@users.noreply.github.com> --------- Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com> Co-authored-by: judda <44623501+ComfortablyCoding@users.noreply.github.com> |
||
|
|
79cd1b57d9 |
Add ESLint rules to enforce consistent import order (#26445)
* add eslint-plugin-import and configure import sorting rules * apply `eslint . --fix` * disable import order rule for test files * enable import order rule for test files and disable it inline after mock imports * prettier * address failed tests by removing unused i18n mocks from test files * reorder import statement for createApp to address failed test * Remove disable/enable blocks * Resolve conflict with VSCode organize imports functionality (#26461) * Update to use default grouping and prevent adding newlines in between Co-authored-by: ian <licitdev@gmail.com> * apply eslint fix * run prettier --------- Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com> Co-authored-by: ian <licitdev@gmail.com> |
||
|
|
acf6d3d4ca |
Remove deprecated /webhooks route and related dead code (#26311)
* chore: remove deprecated /webhooks route code and related tests * build: add changeset * docs: add mobml to contributors list (CLA) * Remove WebhooksService * Remove other traces of webhooks * Update last mentions * Add migration to drop webhooks table completely * Add changeset * Clean up changesets * Remove translations * Remove webhooks from bb test tables --------- Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com> |
||
|
|
385d56c0cf |
Release 11.14.0 (#26352)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> |
||
|
|
274fc44340 |
📂 Add support for downloading multiple files and entire folder trees (#26006)
* add files and folder download functionallity * undo test * deduplicate file names and add permission checks * improve access handling * fix filesService accountability * fix app download * add changeset * use $t for script translation * add Folder type * prefer post for folder download * add translated download folder * rename admin filesService to sudo * rename file deduper to name deduper * add permissioned downloads and seperate zip for file/folder * update lock * default zipped name should be consistent * remove dead code * auto add extension for file name default * update changeset * update param naming for filesToZip * only retrieve required fields * Add faster dedupe lookup times * add scope to sudo service * files uses uuids, so ids should be strings * prefer folder name as root over generic folder- * update changeset * update default app side file/folder names * improve zip folder name format * improve mime guess for fallback filename * update package version * rename `getDateFormatted` to `getDateTimeFormatted` * do not limit file query to 100 * remove dead type * move folderName from zipFolders under metadata * Fix zip folder name * auto sanitize names * error if no files are in the tree * add any empty folders to the tree * rename tree to buildTree and add comment * add test utils * expose new methods to types * Improve test coverage * add comments * remove dead type from name-deduper * improve name-deduper tests * dont restrict folder depth in tree * remove unnecessary cast * inline storage mock * move mocked services to respective folder * improve folders buildTree tests * add comment for id restriction on child lookup * add limit check to buildTree * bring buildtree in zipfolder inline with other tests * Update legal-streets-wonder.md * Improve /assets/files/ error handling * cleanup * add sdk methods * Update legal-streets-wonder.md * correct key type in downloadFolderZip * free URL memory after download * rename type to output and improve return type --------- Co-authored-by: Alex Gaillard <alex@directus.io> Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com> |
||
|
|
d8d8a06c18 |
Add AI Chat sidebar ✨ (#26259)
* Install vue split panel
* Recreate private-view
* Persist size
* Setup headerbar
* Add collapse expand
* Add resize handle
* Remove tw cruft
* Hack in right sidebar
* Fix right sidebar expand/collapse
* Fix content spacing
* Tweak scrolling containers, fix header shadow
* Remove margins
* Make nav responsive
* Nav toggles, remove latency
* Finish basic responsiveness
* Bry/split panel tiny twak (#25967)
* really missed the e in that branch name
* all the small thi..buttons
---------
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
* Style expand button
* Tweak sizing of icons
* Reduce search input sizing
* Remove margin from children
* Tweak header bar layout
* Remove page icons
* Tweak responsive breakpoints
* Add support for icons
* Tweak spacing
* they're back but as props this time (#25987)
* Fix z-index
* Header Bar to V Drawer Header Bar (#25988)
* they're back but as props this time
* rename to v-drawer header
* refactor to match private-view-header-bar pattern
* remove small header and header shadow props on private view
* Drop small prop from v-drawer-header
* Remove primary action item
---------
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
* Added `directus_comments` and `directus_extensions` to websocket subscriptions (#25464)
* utilize system data for registering system module subscriptions
* add changeset
* update changeset wording
---------
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
Co-authored-by: Nitwel <mail@nitwel.de>
* Speed up dialogs a bit
* Add top padding in collections
* Re-add support for custom header border
* Slow down tooltips
* Responsiveness for header bar
* Recreate lockfile
* Add changeset
* Run formatter
* Fix linter warnings
* Add encryption support to special flags (#26096)
* Warn on secret values shorter than 32 bytes
* Warn on byte instead of string length
* Add encrypt/decrypt logic
* Add encrypt special flag support
* Rework encryption to use version envelope
* Format
* Pass accountability to payload service
* Return decrypted value to system calls
* Fix tampered test
* Add basic AI settings (#26097)
* Add ai settings
* Run formatter
* Add heading and notice
* Feat/refactor mcp (#26098)
* Refactor MCP into AI folder
* Run formatter
* Format translation
* Add dirname definitions
* Add ai/chat endpoint (#26104)
* Setup AI SDK endpoint
* Add tests
* Fix test quirks
* Implement tool support in chat endpoint (#26116)
* Add ai chat tool usage
* Gen in some tests
* Add json schema validation
* Update api/src/ai/chat/utils/chat-request-tool-to-ai-sdk-tool.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Refactor DRY
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Regen pnpmlock
* Update changeset to include themes pkg
* Feat/ai system prompt (#26124)
* Add system prompt setting
* Load middleware setting
* Add translatoins
* Allow passing systemprompt to createuimessages
* Pass system prompt from ai settings
* AI -> Add base layer AI UI components (#26115)
* components
* add ai sidebar to item route
* rough in ai model selector
* rough - ai-input
* mock message
* add reka-ui
* move to ai folder
* ai sdk vue
* model selector refactor
* shrink padding
* quick cleanup
* shorten model list
* install rest of ai sdk
* ai message parts
* refactor text area
* ai store
* update sidebar
* fix deps mismatch
* delete step
* update models to long form (again)
* refactor to pinia store
* remove tools stuff for now
* add openai reasoning detailed
* Update app/src/ai/components/ai-sidebar-detail.vue
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* fix whitespace
* fix em up
* make max width 600 px
* fix sidebar scroll
* fix packages
* fix reka-ui
* cleanup message list
* cleanup message
* cleanup margins and unused css vars
* start reasoning open and then close when done
* refactor message list animation
* add reasoning translations
* refactor out scss
* remove progress bar
* model selector
* ai sidebar detail
* fix styling of message text
* refactor out variants in favor of simple role basis
* fix extra space
* remove unneeded variant
* refactor side prop
* replace spread with backwards loop
* fixes 1
* Move reka to devDependencies
* Logical properties
* Run stylelint
* convert to rem
* back to pickles
* Clean up multi-line tracking
* Use transition variables
* Use lodash throttle
* Use v-bind for css var
* Use $t instead of usei18n
* computed
* textarea magic
* Only show models from configured providers
* message tool translation
* Use transition vars
* Use vars for transition
* fix dupe
* remove opacity
* refactor reasonign
* add back empty tools array
* Refactor AI model selector dropdown to use transitions instead of keyframe animations (#26122)
* Initial plan
* Refactor dropdown animation to use transitions instead of keyframes
Co-authored-by: rijkvanzanten <9141017+rijkvanzanten@users.noreply.github.com>
* Update app/src/ai/components/ai-model-selector.vue
* Update app/src/ai/components/ai-model-selector.vue
---------
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>
* fix animation
* refactor model selector to use vmenu
* New Crowdin updates (#25908)
* New translations en-us.yaml (Russian)
* New translations en-us.yaml (Russian)
* New translations en-us.yaml (Czech)
* New translations en-us.yaml (Russian)
* 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 (Persian)
* New translations en-us.yaml (Persian)
* New translations en-us.yaml (Korean)
* New translations en-us.yaml (Turkish)
* New translations en-us.yaml (French)
* New translations en-us.yaml (Turkish)
* New translations en-us.yaml (Turkish)
* New translations en-us.yaml (French)
* New translations en-us.yaml (French, Canada)
* Update source file en-US.yaml
* New translations en-us.yaml (Korean)
* Update source file en-US.yaml
* New translations en-us.yaml (Persian)
* New translations en-us.yaml (Persian)
* New translations en-us.yaml (Persian)
* Update source file en-US.yaml
* New translations en-us.yaml (Russian)
* New translations en-us.yaml (Czech)
* 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 (Danish)
* New translations en-us.yaml (German)
* New translations en-us.yaml (Greek)
* New translations en-us.yaml (Finnish)
* New translations en-us.yaml (Hebrew)
* 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 (Dutch)
* New translations en-us.yaml (Polish)
* New translations en-us.yaml (Portuguese)
* 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 (Azerbaijani)
* 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 (Persian)
* New translations en-us.yaml (Russian)
* New translations en-us.yaml (Czech)
* New translations en-us.yaml (Romanian)
* New translations en-us.yaml (French)
* New translations en-us.yaml (Spanish)
* New translations en-us.yaml (Afrikaans)
* New translations en-us.yaml (Arabic)
* New translations en-us.yaml (Bulgarian)
* New translations en-us.yaml (Catalan)
* New translations en-us.yaml (Danish)
* New translations en-us.yaml (German)
* New translations en-us.yaml (Greek)
* New translations en-us.yaml (Finnish)
* New translations en-us.yaml (Hebrew)
* 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 (Dutch)
* New translations en-us.yaml (Norwegian)
* New translations en-us.yaml (Polish)
* New translations en-us.yaml (Portuguese)
* New translations en-us.yaml (Slovak)
* New translations en-us.yaml (Slovenian)
* New translations en-us.yaml (Albanian)
* New translations en-us.yaml (Serbian (Cyrillic))
* 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 (Malay)
* 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)
* Update source file en-US.yaml
* Fix broken tests
---------
Co-authored-by: Alex Gaillard <alex@directus.io>
* Release 11.13.0 (#26114)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Update changeset to include themes pkg
* refactor message list scrolling
* Rerender based on parts hash
* Remove unused imports
* Allow more models
* cleanup tool markup
* cleanup more
* fix resizing
* Remove unused import
* Apply suggestion from @rijkvanzanten
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: rijkvanzanten <9141017+rijkvanzanten@users.noreply.github.com>
Co-authored-by: Alex Gaillard <alex@directus.io>
Co-authored-by: ian <licitdev@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Delete .github/CODEOWNERS
* Fix layout display dependant on item count request (#26045)
* Fix itemCount dep for item display
* add changeset
* Update app/src/layouts/cards/cards.vue
Co-authored-by: Alex Gaillard <alex@directus.io>
* Update app/src/layouts/tabular/tabular.vue
Co-authored-by: Alex Gaillard <alex@directus.io>
* add pagination skeleton loader
* only display skeleton if items are at least page limit
* Prefer 3 skeletons over 1
* fix skeleton loader tests
---------
Co-authored-by: Alex Gaillard <alex@directus.io>
* Add loading indicator when saving setup forms (#26130)
* Add loading indicator when saving
* Rename instance to project for consistency
* Add loading indicator when launching
* Rename remaining instances
* Add changeset
* Remove invalid label
* Remove accepted terms (#26135)
* Remove accepted_terms
* Add changeset
---------
Co-authored-by: Alex Gaillard <alex@directus.io>
* Add Error Handling (#26138)
* error handling
* retry vs regenerate
* Update app/src/ai/components/ai-conversation.vue
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update app/src/ai/stores/use-ai.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update app/src/ai/stores/use-ai.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update app/src/ai/components/ai-conversation.vue
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Add `defineTool` composable (#26140)
* Don't send system prompt if it's empty
* Remove unnecessary functions
* Support dynamic tool registratoin
* Create defineTool composable
* Define form tools
* Add tests
* Update app/src/components/v-form/v-form.vue
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update app/src/components/v-form/composables/use-input-schema.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update app/src/components/v-form/v-form.vue
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Add reset button (#26141)
* Tweak sidebar min size
* Move model selector out of chat input
* Tweak spacing
* Make it less button-y
* Reduce hackiness
* Add reset method
* Add section subheader
* Use reset
* Reduce sidebar detail padding
* Move ctx to bottom start
* AI -> Reasoning message cleanup (#26145)
* cleanup reasoning
* fix fontsize
* Only show reasoning summary once exists
---------
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
* AI -> Improve rendering of messages (#26144)
* cleanup message structure
* fix mounting / unmount using id instead of hash
* Tweak loading state
* Tweak delays
* Remove needless hash
---------
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
* AI -> Add logos for model selector (#26142)
* add logos to model selector
* refactor
* Update app/src/ai/components/logos/anthropic.vue
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update app/src/ai/components/logos/openai.vue
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* final answer
* swap claude logo
* Render divider in selector
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
* Tweak spacing
* AI -> Submit and Stop Button (#26150)
* wip
* refactor
* handle reasoning errors on stop
* hide messages without text
* still show reasoning if streaming but no text
* Update app/src/ai/stores/use-ai.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Redo the sidebar (#26149)
* [WIP] Remove info sidebar detail
* [WIP] Style new accordion
* Render ai sidebar detail at bottom
* Add expand animation
* Sidebar collapse/expand
* Various tweaks and fixes
* Fix transition states
* Fix active state on navigate
* Update app/src/modules/files/components/file-info-sidebar-detail.vue
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* AI -> Submit and Stop Button (#26150)
* wip
* refactor
* handle reasoning errors on stop
* hide messages without text
* still show reasoning if streaming but no text
* Update app/src/ai/stores/use-ai.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Re-add support for badge, fix other comments
* Fix z-indexing
* Persist ai chat active state
* Move aiChat active state to ai store
* Remove notes
* Remove bak
* fix revisions overflow
* Resolve comment
* Bump +1 boop
* Add units to rotate 0
* Remove unused placement prop
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Bryant Gillespie <bryant@hireclockwork.com>
* Fix font size of layout options
* Hack in empty state (#26151)
* Add support for local tool display names
* Fix server tools not being called
* Add tooltip
* Fix absolute positioned elements in scrolling container
* AI -> Cleanup Tool Messages (#26163)
* cleanup tool message part
* match text message padding
* drop content to 280px
* Fix horizontal overflw
* Update app/src/components/v-drawer.vue
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update app/src/views/private/components/sidebar-detail.vue
Co-authored-by: Bryant Gillespie <bryant@hireclockwork.com>
* Update app/src/components/v-drawer.vue
Co-authored-by: Bryant Gillespie <bryant@hireclockwork.com>
* Remove old file
* Update app/src/components/v-drawer.vue
Co-authored-by: Bryant Gillespie <bryant@hireclockwork.com>
* Re-add activity link
* Use hyphens for template ref
* No small
* Remove unused class
* Only show sections when sidebar open
* Only show notifications preview when bar is expanded
* Expand sidebar on activity click
* Please formatter, forgive my sins
* Fix duplicate attributes
* AI -> Chat Flow Improvements (#26185)
* store chat open in local storage for refreshes
* fix autoscrolling
* move input to store and fix submission with enter
* add meta j keyboard shortcut to open close ai chat
* measure no longer needed
* Fix button jumping on scroll
* Replace watcher with event hook
* Capture shortcut globally, add tooltip
---------
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
* fix items prompt for ai tools (#26183)
* Tweak scrolling behavior (#26211)
* AI -> Fix failed tool calls (#26179)
* add helper to ensure input in failed tool calls
* use helper -- don't validate the tools themselves
* fix reasoning message issues
* add test suite
* update chat controller tests
* thanks copilot
* Fix merge conflict whoopsies (#26214)
* AI → Limit context usage (#26202)
* Use : instead of / for model ids
* Refactor to use full model definition
* Calculate usage
* Remove pro
* Show context usage progress indicator
* Remove unused package
* Don't show context usage
* Limit messages we're sending
* Update app/src/ai/stores/use-ai.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update app/src/ai/stores/use-ai.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update app/src/ai/stores/use-ai.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Remove unused comment
* Update app/src/ai/stores/use-ai.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* fix schemas for dates
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: bryantgillespie <hey@bryantgillespie.com>
* AI -> Message Styling (#26198)
* store chat open in local storage for refreshes
* fix autoscrolling
* move input to store and fix submission with enter
* add meta j keyboard shortcut to open close ai chat
* measure no longer needed
* increase message gap
* cleanup message tool styling
* fix padding and scrollbar on chat
* refactor ai-message component to improve structure and styling; updated gap variable and added role prop to AiMessageText
* message styling
* add css animation on hover when not expanded
* fix height transition
* fix trailing space
* add todo list focus
* fix border radius for user messages
* fix duped
* remove unneeded watch
* fix import order
* animate text and icons only
* Update app/src/ai/components/parts/ai-message-tool.vue
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Tweak spacing for loading indicator
* Resolve translation comment
* Magic is magic
* Enough magic
* Remove unused stuff
* Resolve hardcoded reused msg height
* Run formatter
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
* Re-add notifications
* AI -> Persist session using local storage (#26199)
* persist current session
* Use sessionstorage instead
---------
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
* Run formatter
* Tie AI access to app access (#26251)
* Allow divider to overlap sticky headings in main (#26252)
* Some Fixes for Split Panel (#26254)
* use container queries for form
* wip
* back to percent
* unwrap preview
* fix type
* unneeded setter
* remove unneded function
* cleaner compueted
* its either 100 or 0
* Add changeset
* Run formatter
* Fix stylelint warning
* Fix API typing of sanitizeQuery
* AI → Refresh stores on system tool calls (#26253)
* Refresh schema on system tool calls
* Refactor relations store to setup
* Add item refresh to all layouts
* Add item refresh on detail view
* Refresh fields on collection changes
* AI → Re-enable notifications (#26250)
* Render notifications outside of sidebar
* Use absolute in split container
* Fix animation
* Render link to activity in notifications drawer
* Add AI Chat sidebar ✨ (#26261)
* Initial plan
* Refactor test to use typed mockNext instead of inline vi.fn() for RequestHandler calls
Co-authored-by: rijkvanzanten <9141017+rijkvanzanten@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: rijkvanzanten <9141017+rijkvanzanten@users.noreply.github.com>
* Happy now?
* Resolve test issue
* Make sure left/right panel close icons RTL
* Resolve test issues
* AI → Add soft-default for system prompt (#26268)
* Add soft-default for system prompt
* Update test to account for default value
* update system prompt
---------
Co-authored-by: bryantgillespie <hey@bryantgillespie.com>
Co-authored-by: Bryant Gillespie <bryant@hireclockwork.com>
* AI -> Tool Approval Functionality (#26265)
* Refactor to tool card for approvals and web search tool (later)
* update to ai sdk beta for tool approvals
* add settings menu
* adust padding for settings menu
* update store
* add approvals to chat request
* stronger types
* update controller
* update send automatically when
* run formatter
* Update app/src/ai/stores/use-ai.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update app/src/ai/stores/use-ai.ts
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* remove assets from translations for now
* refactor approval options
* tool card disabled
* add icons to map as well
* remove casting
* fix double scroll bar
* Apply suggestion from @Copilot
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Fix typing of stream call
* Add enter key for translate shortcut
* Translate keyboard shortcuts
* Remove keyboard shortcuts
* Use css vars
* Use translated tool names
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
* AI -> Hide when No Providers / Not Configured (#26269)
* add beta
* move header
* add no provider empty states
* translations
---------
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
* Nudge nudge
* I'm sorry.
* Update .changeset/small-doodles-join.md
Co-authored-by: Florian C. Wachmann <dev@formfcw.com>
* Update app/src/modules/settings/routes/flows/components/logs-sidebar-detail.vue
Co-authored-by: Florian C. Wachmann <dev@formfcw.com>
* Update app/src/views/private/private-view/components/private-view-resize-handle.vue
Co-authored-by: Florian C. Wachmann <dev@formfcw.com>
* Update app/src/views/private/components/layout-sidebar-detail.vue
Co-authored-by: Florian C. Wachmann <dev@formfcw.com>
* Update app/src/views/private/components/sidebar-detail.vue
Co-authored-by: Florian C. Wachmann <dev@formfcw.com>
* Update app/src/modules/settings/routes/marketplace/routes/registry/registry.vue
Co-authored-by: Florian C. Wachmann <dev@formfcw.com>
* Update app/src/modules/settings/routes/system-logs/logs.vue
Co-authored-by: Florian C. Wachmann <dev@formfcw.com>
* Update app/src/modules/settings/routes/system-logs/logs.vue
Co-authored-by: Florian C. Wachmann <dev@formfcw.com>
* Update app/src/interfaces/_system/system-owner/system-owner.vue
Co-authored-by: Florian C. Wachmann <dev@formfcw.com>
* Update app/src/views/private/components/skip-menu.vue
Co-authored-by: Florian C. Wachmann <dev@formfcw.com>
* Update app/src/views/private/private-view/components/private-view-main.vue
Co-authored-by: Florian C. Wachmann <dev@formfcw.com>
* Update app/src/components/v-form/composables/use-input-schema.ts
Co-authored-by: Florian C. Wachmann <dev@formfcw.com>
* Update app/src/components/v-form/composables/use-input-schema.ts
Co-authored-by: Florian C. Wachmann <dev@formfcw.com>
* Update app/src/views/private/private-view/components/private-view.vue
Co-authored-by: Florian C. Wachmann <dev@formfcw.com>
* Update app/src/ai/components/parts/ai-message-text.vue
Co-authored-by: Florian C. Wachmann <dev@formfcw.com>
* Update app/src/modules/visual/components/editing-layer.vue
Co-authored-by: Florian C. Wachmann <dev@formfcw.com>
* Update app/src/modules/visual/components/editing-layer.vue
Co-authored-by: Florian C. Wachmann <dev@formfcw.com>
* Update app/src/components/v-drawer-header.vue
Co-authored-by: Florian C. Wachmann <dev@formfcw.com>
* Update app/src/components/v-drawer-header.vue
Co-authored-by: Florian C. Wachmann <dev@formfcw.com>
* Update app/src/views/private/private-view/components/private-view-main.vue
Co-authored-by: Florian C. Wachmann <dev@formfcw.com>
* Update app/src/views/private/private-view/components/private-view-header-bar.vue
Co-authored-by: Florian C. Wachmann <dev@formfcw.com>
* Update app/src/views/private/components/notifications-drawer.vue
Co-authored-by: Florian C. Wachmann <dev@formfcw.com>
* Update app/src/modules/content/routes/item.vue
Co-authored-by: Florian C. Wachmann <dev@formfcw.com>
* search input: match header button height and refine styles with CSS variables (#26308)
* add BREAKPOINTS constant and update private-view-root.vue to demonstrate example usage (#26310)
* AI → Resolve review comments (#26290)
* Add a smidge of padding
* Add a pinch of flex
* Stir in the drawing spacing
* Re-add missing drawer close on mobile
* Fix z-index of header bar
* Tweak stacking order of search input
* Resolve shadow showing up on nav on mobile
* Only show tooltip when sidebar is closed
* Drop shortcut
* Nudge cancel button size and positioning
* Make drawer buttons smaller
* Fix input height in sidebar
* Drop unused dependency
* Change translation key
* Add in type label tweaks
* Tweak drawer title styling
* Stick header bar at 0
* Tweak skeleton loader
* Allow inline size to shrink
* Fix missing import
* Don't inherit attrs on private view
* Collapse right sidebar when making window small
* fix appearance
* Tweak sizing of right rail
* Don't deactivate on unmount
* Fix right sidebar alignment
* sidebar is closed and you try to open it by resizing while the preview split-panel is open
* Re-add non-editable
* Tweak revision styling
* 💅 f l o r i a n
* Refactor v-form ai usage to composable
* Tweak spacing
* Update import
* Rename description to llmDescription
* Use prop shorthands
* Don't use flow sidebar detail in translations
* Don't use unused prop
* Move vars to top
* Add comment
* Remove unused ref
* Drop navbar/sidebar from app store
* Revert version menu
* button type
* Remove fullscreen
* Use private view header bar actions
* Fix custom icons not scaling
* Remove unused css
* Use class instead of id
Don't you forget about the ˚₊‧꒰ა best practices ໒꒱ ‧₊˚
* Update input-hash component to conditionally set input type and autocomplete attributes based on masked state
* revert fields user change
* remove todos
* Update app/src/components/v-drawer-header.vue
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Pass direction to split panel
* Update split panel
* Revert "Rename description to llmDescription"
This reverts commit
|
||
|
|
278e7d9f4a |
Marketplace extension file synchronization (#26192)
* inintial sync logic update * fixed file removal * removed old checksum tests * make reloads blocking * fix deletion of folders * move status utils into the sync folder * extract logic out to a manager class * some uber basic tests for status utilities * over engineer it less * clean up some code * fix debug logs * prettier * fix status file deadlock * remove obsolete forceSync * WIP partial syncing * checking for existing remote folders isnt reliable * catch non existed folder error * re-introduce delete only escape * force sync on startup * clean up some code * extracting some utility functions * extract path creation and address some sanitization * resolve user provided data when installing * extracted some more utils for readability * updated status tests * added basic utility tests * fix tests hanging in an infinte loop * added tests for the file tracker * prettier * added changeset * attempted some sync.ts tests * removed debug lock clearing * fix supabase driver stat function for nested folders * normalize the remote paths to fix windows path separators * fixed cloudinary path normalization and fixes sub folder listing * fix updated list call tests * updated cloudinary tests * updated changeset * revert cloudinary changes * re-add normalization of windows paths * skip sync for the installing instance * fixed path joining tests --------- Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com> |
||
|
|
b5b80b78b8 |
Move fetchRolesTree,fetchGlobalAccess, fetchGlobalAccessForUser and fetchGlobalAccessForRoles to the public utility package (#26248)
* move ipinnetworks to utils package * extract fetchRolesTree to utils * extract fetchGlobalAccess to utils * add changeset * Fix tests * Fix tests again * Add support for withCache to use any params for memoization * add basic withCache tests * Simplify interfaces * Update relevent tests * Ensure no attempt to memoize not stringifiable data * Improve function comments * Update api/src/permissions/utils/with-cache.ts Co-authored-by: Brainslug <br41nslug@users.noreply.github.com> * Update api/src/permissions/utils/with-cache.ts Co-authored-by: Brainslug <br41nslug@users.noreply.github.com> * Update .changeset/silver-steaks-tease.md * Update packages/utils/node/fetch-roles-tree.ts --------- Co-authored-by: Brainslug <br41nslug@users.noreply.github.com> Co-authored-by: Alex Gaillard <alex@directus.io> |
||
|
|
15276cd55c |
Release 11.13.3 (#26225)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> |
||
|
|
b5aff1a1bd |
Fix aliases on GQL M2A filters (#26148)
* account for aliases in m2a replacement * move tests under their own describe * account for deep alias * add tests * add changeset |
||
|
|
ee30132778 |
Add support for CSV files export in UTF-8 encoding (Excel format) (#26177)
* feat: add utf8 csv support * build: add changeset |
||
|
|
f636050870 |
Release 11.13.1 (#26143)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> |
||
|
|
d0800c54ef |
Fix system owner interface behaving unexpectedly (#26132)
* fix system owner interface behaving unexpectedly * add changeset * Reset drawer value on close and clear setup org * Rename allowSave to isSaveAllowed --------- Co-authored-by: Alex Gaillard <alex@directus.io> |
||
|
|
79b0648d4f |
Release 11.13.0 (#26114)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> |
||
|
|
4ade8c6e4f |
Add comparison indicators for group interfaces (#26086)
* basic layout * styling * add metadata to version heading * rename version-promote-drawer to comparison-modal * styling and fields edited count * Select all checkbox * remove css no longer being used * add border below the version headers * rework css and class naming * extract header component * add checkbox to interfaces * only show checkboxes next to fields in the version * create a diff between version and main, as a version can include fields with values that match those on main * simplify diff * green and red color indicators * refactor to pass down object instead of several props * responsive styling * changeset * lint changes * remove redundant types and unneeded defaults * move computed vars and methods into composable * incorporate revisions into content comparison modal * get checkboxes to work with revisions * refactor * separate normalizer into its own util * refactor to use new normalizer * delta selector * consolidate and cleanup * simplify tests * add versions to selectableDeltas for consistency * more refactoring - normalize more data to allow the modal to get it from the same places * the latest tag should only show up if the base is showing the latest state of the current version * tests and small refactor * remove dead code from earlier refactor * fix bug with latest tag for version * use consistent terminology for comparison sides * cleanup * add translations * put toggleComparison inside comparison context object * remove data attrs * cleanup * copmarison-specific breakpoints * Update .changeset/free-trains-clap.md Co-authored-by: Florian C. Wachmann <dev@formfcw.com> * checkbox styles * loading state * change terminology for left and right sides * change revision revert to promote * remove legacy revisions code * use subdued foreground color for unchecked checkbox * Update app/src/modules/content/components/comparison-modal.vue Co-authored-by: Florian C. Wachmann <dev@formfcw.com> * Update app/src/modules/content/components/comparison-header.vue Co-authored-by: Florian C. Wachmann <dev@formfcw.com> * Update app/src/modules/content/components/comparison-header.vue Co-authored-by: Florian C. Wachmann <dev@formfcw.com> * Update app/src/modules/content/components/comparison-header.vue Co-authored-by: Florian C. Wachmann <dev@formfcw.com> * Update app/src/modules/content/components/comparison-header.vue Co-authored-by: Florian C. Wachmann <dev@formfcw.com> * Update app/src/modules/content/components/comparison-header.vue Co-authored-by: Florian C. Wachmann <dev@formfcw.com> * updates * updates * keep full width fields until 1330px * updates * more feedback updates * feedback updates * remove latest tag feature * change sides to base and incoming to avoid confusion with version comparison api response * adjust tests * style tweaks * change title of left side back to Main * use the term Latest in place of the date on left side of comparison * calculate updated fields for revisions list * label first revision in drawer as Latest * Show hidden fields in comparison view (#25878) Co-authored-by: Florian C. Wachmann <dev@formfcw.com> * Apply suggestions from code review Co-authored-by: Florian C. Wachmann <dev@formfcw.com> * Update app/src/modules/content/components/comparison-modal.vue Co-authored-by: Florian C. Wachmann <dev@formfcw.com> * use new translations * Refine comparison component styles and structure (#25897) * apply margin only to comparison checkbox * update comparison padding values according to the design * remove unnecessary wrapper from the title * simplify meta-content structure and remove dropdown class * ensure meta selection text always aligns left/start * add hover style for dropdown * adjust focus ring offset of dropdown button * adjust dropdown option styling * reuse delta option time and user extraction logic * simplify vertical divider * Use "Latest" instead of "Created" * fix issue causing field count differences * filter out read-only fields after api call * add debug button to help investigate any issues with the diff * do not allow fields that do not exist in the collection itself * fix tests * remove more legacy code * rename revisions-drawer-detail to revisions-sidebar-detail * Prevent empty fields when trying to promote a version that has not diverged from main * Refine comparison style (#25904) * simplify grid adjustments for comparison forms * improve field label responsiveness * add intermediate breakpoint for the column width * update header height according to design * fix responsiveness of comparison header * adjust padding for meta text in comparison header according to design * improve responsiveness and text-overflow for comparison header * remove extra flex-wrap property --------- Co-authored-by: Rob Luton <rob.luton@gmail.com> * change terminology from "udpated" to "differences" * do not allow click event on latest revision * do not include latest revision in comparison dropdown * Revision Updates (#25954) Co-authored-by: formfcw <dev@formfcw.com> * Apply suggestions from code review Co-authored-by: Florian C. Wachmann <dev@formfcw.com> * Revision diff bug fixes (#25969) * Apply suggestions from code review Co-authored-by: Florian C. Wachmann <dev@formfcw.com> * more updates from code review * deal with revisionId and versionId type mismatch * add translations * Apply suggestions from code review Co-authored-by: Florian C. Wachmann <dev@formfcw.com> * skip auto date fields * for revisions, use related values from main so the form is consistent * use correct endpoints for system collections * use new translation * fix type issue * ignore primary key fields and user-created and user-updated fields for comparisons * fix count issue between revision list and modal * skip primary key fields for version promotion * Comparison < Updates (#25991) * simplify props usage in revisions-date-group component * simplify field retrieval * make array merge customizer reusable * use existing isSystemCollection function and sort imports * streamline comparison logic and enhance readability * simplify currentVersion handling in comparison data normalization * * simplify revisions handling in comparison data normalization * * simplify versions handling in comparison data normalization * * simplify system collection check * replace getSystemCollectionEndpoint with existing getEndpoint function * simplify item endpoint retrieval in useRevisions and remove isSystemCollection check * remove unnecessary export keywords * remove unused ComparisonSide type and related constants * rename copyRelationalFieldsFromBaseToIncoming to copySpecialFieldsFromBaseToIncoming for clarity * remove comment * update css var for clarity * use formatTitle for version key for human-readable titles * improve footer responsiveness * simplify item fetching logic in useComparison (#25993) * Comparison < Updated Fields Indication (#26011) * add updated fields indication * update badge class for v-chip and adjust import order * update translation for revision messages for clarity * improve responsiveness of field label (#26015) * Comparison < fix merge bug (#26017) * fix merge bug * add tests * refactor: move getFieldsWithDifferences test into utils test file * refactor: rename mergeMissingMainItemKeysIntoRevision to mergeMainItemKeysIntoRevision * refactor buildRevisionComparison logic * Comparison < sidebar updates (#26042) * squash commit robl/sidebar-updates * (re-)use existing i18n key * remove unused isFirstGroup prop * remove unused computeDifferentFields function and lodash mergeWith import * refactor: move getItemEndpoint function into useComparison and restore import * refactor: remove unused mergeMainItemKeysIntoRevision function * refactor: remove unnecessary differentFields from revision data structure * improve field comparison logic and enhance revision handling * Comparison < Updates 27/1 (#26054) * drill down comparisonActive prop instead of recalculating * remove debug mode * Ensure NormalizedItem gets correct user for the base side * Refactor to use type PrimaryKey instead of `string | number` * refactor to require collection parameter * rename normalizeComparisonData to getNormalizedComparisonData for clarity * add mainVersionMeta to ComparisonData to get activity information of latest main * refactor user fetching logic for clarity * Comparison ← refactor, clean up and small fixes (#26063) * use a different tooltip for the updated badge when the field auto-populates * refactor: move data fetching logic to the modal component * refactor: remove comparison-utils and reorganize utility functions - Deleted the comparison-utils and moved relevant functions to new utility files and the use-comparison composable - Refactored use-comparison composable to utilize the utility functions - Added new field-utils for field-related checks (e.g., isPrimaryKey, isRelational) - Added new get-revision-fields utility to handle revision field filtering logic - Added new get-version-display-name utility for version display name formatting * refactor: move files comparison-header.vue, comparison-modal.vue, use-comparison.ts and use-comparison.test.ts to @/views/private/components/comparison * refactor: move type definitions to types.ts and update imports in use-comparison.ts * refactor: rename main to base and current to incoming * fix types by preventing renaming when newVersionKey is null * add comparisonIndicator prop for FormField and InterfaceConfig * update comparisonIndicator default value based on whether the field is a group * move comparison indicator classes/logic to v-form so that they can be applied to groups as well * refactor to reuse first visible field class logic * update condition to show label always in comparison mode * add background color for comparison track in base and incoming forms * add comparison indicator mixin and update styles * add comparison indicators for the group detail interface * ensure smooth animation of the accordion * add comparison indicators for the accordion interface * rename comparisonIndicator values to on | off | guide * refactor: rename track to guide * add changesets * update tests * add test cases for comparisonIndicator behavior in group fields * add tests for GroupDetail component comparison indicator behavior * refactor: rename comparisonIndicator to indicatorStyle with the values active | hidden | muted * add tests for GroupDetail component containing the edited class when having edits * fix type errors * remove unused comparisonType prop from comparison form components --------- Co-authored-by: Rob Luton <rob.luton@gmail.com> |
||
|
|
552d14f486 |
Add setup flow and license agreement banner 🧑⚖️ (#25983)
* add setup flow and drawer for editing owner * add popup on setup instance and cookie to dismiss * fix editing product owner * add env variable and organize code * small fix * don't generate creds when bootstrapping * fix types * cleanup * fmt * fix router test * insert project owner on migrate and move email regex into constants * improve editing experience * fix input password * add email validation to other forms * update setup, make form hide menu, persist usage and co. * fmt * Fix rename * Use boolean-ish name * change names and cleanup migrations * cleanup logger * add project id to owner report * fix building * Prefix usage translation keys * Update translations changes could be tidied up to reduce duplication depending on requirements * Tighten up gaps * Rename for consistency * add retries when sending fails * add utm-location prop * remove email regex and other fixes * fix ts * utilize same sendReport function * small tweaks * add form validation * cleanup * cleanup * temp commit * finish polishing * update pnpm-lock * fmt * small fixes * add changeset * improve owner interface, vue form and hopefuly last cleanups * emit changed value again * Update .changeset/quick-seals-add.md Co-authored-by: ian <licitdev@gmail.com> * Use past tense * Fix lint warnings * fix form field label and system owner product_updates * rename email to product_owner * fix rename email to project owner * fix tests * fix rename * fix app tests * Update api/src/controllers/server.ts Co-authored-by: ian <licitdev@gmail.com> --------- Co-authored-by: ian <licitdev@gmail.com> |
||
|
|
6312231c82 |
Add retention indexes (#25199)
* Added isSystemField helper
* Add some joi validation
* Fixed error list mapping
* merge edited system fields
* prettier
* updated merging logic
* Create rude-walls-add.md
* Removed silly unneeded merging logic
* Block creating a database record for system table
* removed obsolete filtering
* Added same check for graphql mutations
* fixed merge conflicts
* fixed incorrect collection usage in bulk update
* Add bb tests
* throw all errors for batch updates
* add early return/abort
* Fix graphql updateField
* return single error for graphql
* Adding system indexes to the system-data package
* Add system indexes to get-snapshot
* WIP adding indexes to schema diff
* WIP snapshot diffing system fields
* basic diffing
* WIP applying systemFields
* first working system field snapshot apply
* address some of the broken tests
* ran prettier
* ran eslint
* fixed remaining unit tests
* include snapshot type in bb test
* removed comment
* Add systemfields to cli output
* fixed bug in diffing
* fixed sorting systemFields
* simplified mapping
* removed temprorary index definition
* added diff validation
* fix validation strictness
* Add expected index definitions
* WIP index creation
* WIP index migration
* mssql enterprise concurrent constraint support
* Oracle concurrent indexes seem widely supported
* Added basic index fallback
* remove fallback for postgres
* Fix mysql index creation
* refactor create index function
* Side step knex for index creation
* support creating unique indexes concurrently
* fix unique index naming
* avoid knex for creating indexes and only alter column if something has changed
* remove failed optimization
* allow for unique indexes
* quick n dirty check for system collections
* explicit boolean casting
* add unique index test
* use zod instead of joi
* prettier
* undo scope creep
* undo unique scope creep
* passing down the concurrent toggle
* small cleanup
* added missing fallback
* prevent injection with bindings
* removed unused imports
* use old behavior as default
* add concurrent bb test
* Create warm-chefs-draw.md
* passthrough collection creation with fields
* update rest controllers
* Add concurrent option to graphql resolvers
* make sure old snapshots can be force applied
* fixed missed rename
* Update api/src/utils/get-snapshot-diff.ts
Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>
* Update api/src/utils/get-snapshot-diff.ts
Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com>
* updated gql error formatting
* Fix accidental diff duplication
* rename to FieldMutationOptions
* skip unneeded db call
* simplify mysql index fallback
* fixed boolean check
* EXPERIMENT test if we get the BB error back
* updated query param bool logic
* Revert "EXPERIMENT test if we get the BB error back"
This reverts commit
|
||
|
|
f133888fcd |
Add field-level searchable option to improve search performance (#25970)
* perf: use debounce + synchronize items and count queries with debounce * feat: add field-level searchable field + metadata * chore: accept CLA * chore: prettier * test: update schema-builder snapshots * test: fix failing tests * fix: use toBoolean for boolean field properties * refactor: add SEARCHABLE_TYPES as a const in @directus/constants * style: prettier * build: add changeset * build: add missing package --------- Co-authored-by: Gaetan SENN <gaetan.senn@gmail.com> |
||
|
|
d6c4e23f53 |
Add support for indexes on system fields to snapshots (#25127)
* Added isSystemField helper * Add some joi validation * Fixed error list mapping * merge edited system fields * prettier * updated merging logic * Create rude-walls-add.md * Removed silly unneeded merging logic * Block creating a database record for system table * removed obsolete filtering * Added same check for graphql mutations * fixed merge conflicts * fixed incorrect collection usage in bulk update * Add bb tests * throw all errors for batch updates * add early return/abort * Fix graphql updateField * return single error for graphql * Adding system indexes to the system-data package * Add system indexes to get-snapshot * WIP adding indexes to schema diff * WIP snapshot diffing system fields * basic diffing * WIP applying systemFields * first working system field snapshot apply * address some of the broken tests * ran prettier * ran eslint * fixed remaining unit tests * include snapshot type in bb test * removed comment * Add systemfields to cli output * fixed bug in diffing * fixed sorting systemFields * simplified mapping * removed temprorary index definition * added diff validation * fix validation strictness * allow for unique indexes * quick n dirty check for system collections * explicit boolean casting * add unique index test * use zod instead of joi * prettier * undo scope creep * undo unique scope creep * Create warm-chefs-draw.md * make sure old snapshots can be force applied * Update api/src/utils/get-snapshot-diff.ts Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com> * Update api/src/utils/get-snapshot-diff.ts Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com> * updated gql error formatting * Fix accidental diff duplication * fix merge errror * fix merge * updated changeset * format * fixed duplicate function * added test for missing systemfields in snapshot * prefer the "test" function over "it" * add tests for get-snapshot-diff * prettier * add tests for get-snapshot * removed unused imports * added sanitize schema tests * add validate-diff tests * added validate-snapshot tests * added tests to the system-data package * added tests for the system collections * add apply-diff tests * extra get-snapshot-diff tests * export apply functions for testing * add tests for the cli apply function * prettier --------- Co-authored-by: ian <licitdev@gmail.com> Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com> |
||
|
|
cacb71c8bd |
Add rate limiting options for sending emails (#25966)
* experiment mail queue * moved rate limiter to own file * defined env variables * shortened env var names * added a flow specific rate limiter * Update packages/env/src/constants/defaults.ts Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com> * Fix formatting * updated test * Update api/src/services/mail/rate-limiter.ts Co-authored-by: ian <licitdev@gmail.com> * updated name * updated getter pattern * added some error handling * removed obsolete variable regexes * prettier * move error handling to the rate limiter file * created new email limit error * commit suggestion * update error and export it * use proper error checking and use new error * fixed error catching * updated default msg * convert seconds to milliseconds * updated default msg * updated default msg * fixed bad copy paste * check for plural naming in the error * check for plural naming in the error * initial mail rate limiter tests * added test for the other rate limiter * prettier * added changeset * added missing packages * updated naming * prettier * added error tests --------- Co-authored-by: daedalus <44623501+ComfortablyCoding@users.noreply.github.com> Co-authored-by: ian <licitdev@gmail.com> |
||
|
|
50aad8f252 |
Remove non-relational types from RELATIONAL_TYPES constant (#25964)
Co-authored-by: ian <licitdev@gmail.com> |
||
|
|
17665bf348 |
Release 11.12.0 (#25850)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> |
||
|
|
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 |
||
|
|
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> |
||
|
|
f55913653b | Release 11.11.0 (#25765) | ||
|
|
ea31721914 |
Improve Content Versioning (#25437)
* 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
* update tests
* stupid mistake fix
* fix gql *_by_version
* Create great-experts-clap.md
* Revert "fix gql *_by_version"
This reverts commit
|