ian
097a3d6395
Fix seeding on blackbox tests for existing db ( #25129 )
...
* Fix seeding on blackbox tests for existing db
* add rimraf
* Run formatter
* Add changeset
* Try trigger workflow
---------
Co-authored-by: Nitwel <mail@nitwel.de >
2025-05-14 16:00:57 +08:00
ian
9b36374b36
Patch blackbox tests for v11 ( #24281 )
...
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch >
2025-01-20 11:56:51 +00:00
Pascal Jufer
e8d96d4706
Update TypeScript to 5.6.2 ( #23741 )
2024-09-26 10:00:39 +02:00
Pascal Jufer
53b3c1fa00
Fix remaining blackbox test issues ( #22759 )
...
* Fix remaining blackbox test issues
* Temporary activation of blackbox tests (sqlite)
* Enable hanging-process reporter for now
* Revert "Enable hanging-process reporter for now"
This reverts commit ce490ba229 .
* Fix hanging by cleaning up sequential list
Also prevent this issue in future by logging invalid files in list
* Switch remaining tests to `getPort`
To get random, available ports
* Revert "Temporary activation of blackbox tests (sqlite)"
This reverts commit a8687a095a .
2024-06-18 17:37:20 +08:00
Pascal Jufer
cd67543f05
Run fields CRUD blackbox test sequentially ( #22750 )
2024-06-13 15:41:36 +00:00
Pascal Jufer
df44649f94
Start splitting blackbox tests ( #21078 )
2024-01-14 19:34:23 +01:00
Pascal Jufer
9412ee5096
Split up server startup in cache purge test ( #20773 )
2023-12-17 23:22:34 +01:00
Pascal Jufer
0529b19537
Fix check for bootstrap success in blackbox test ( #20695 )
2023-12-10 20:51:30 +01:00
Pascal Jufer
81c9156508
Update Vitest to v1 ( #20694 )
2023-12-10 19:49:45 +01:00
Pascal Jufer
ba7fac402e
Update Prettier v3.1.0 ( #20481 )
2023-11-20 16:23:22 +01:00
Pascal Jufer
f4fb28ad7c
Simplify sequential list in blackbox tests ( #20403 )
...
* Simplify sequential list in blackbox tests
* Sneak in little type fix
2023-11-12 11:42:57 +01:00
Pascal Jufer
1ec1f98431
Bye-bye, Jest ( #19886 )
...
* Bye-bye, Jest
* Clean-up non-null assertions for PORT
* Test all vendors
* Consistent file names
* Try with MSSQL 2022
* Revert "Try with MSSQL 2022"
This reverts commit da807c6ec8 .
* Try to run on Windows for better MSSQL perf
* Worth a try (hopefully runs MSSQL faster this way)
* Start docker services via bash
* Quick attempt with local installation of MSSQL
* Test with MSSQL 2019
* Back to ubuntu-latest for other tests
* Add typecheck cmd
* Revert "Test all vendors"
This reverts commit d6fbdd76c9 .
* Use TS for Vitest config file
* Simplify vendors typecasting
---------
Co-authored-by: ian <licitdev@gmail.com >
2023-10-04 14:53:36 -04:00
Brainslug
cfddabd9ee
Integrating Websockets in Directus 🕸️ 🧦 ( #14737 )
...
* added emitter context
* partial items tests
* updated items handler tests
* fixed test after merge
* forgot the event context
* fixed auth message parsing for graphql subscriptions
* fixed type strictness
* fixed graphql subscription bug
* bumped websocket dependencies
* touched up some dangling code
* updated itemsservice usage
* disabled overkill logs
* double checked environment type processing
* fixed missed capitalization
* fixed subscription payloads
* Added explicit string type casting
* removed obsolete "trimUpper" utility
* using the parseJSON utility consistently
* pinned dependencies
* parse environment variables
* fixed pnpm-lock
* GraphQL Subscriptions for all events
* fixed typo
* added event data to the graphql definition
* fix payload for delete events
* Added optional chaining for type to prevent fatal crashes on invalid messages
* fix failing on getting type from undefined
* Update api/src/websocket/exceptions.ts
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com >
* Add proper ZodError handling
* added the zod-validation-error parser
* allow disabling the rate limiter
* Update api/src/websocket/controllers/base.ts
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com >
* updated starting logs
* fixed email/password expiration logic
* added tests for getMessageType
* simplified message parsing and dropped capitalization
* updated authenticate test
* switched to lower cased message.type to prevent spreading "toUpperCase" around
* cleaned up debug logs
* cast enabled config to boolean
* Update api/src/websocket/controllers/rest.ts
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com >
* Update api/src/websocket/handlers/subscribe.ts
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com >
* Update api/src/websocket/handlers/subscribe.ts
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com >
* Update api/src/websocket/handlers/items.ts
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com >
* Update api/src/websocket/controllers/base.ts
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com >
* Update api/src/websocket/handlers/heartbeat.ts
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com >
* Suggested fixes by Azri
* removed redundant try-catch
* fixed authentication timeout
added returning the refresh token when authenticating
* updated pnpm lock after merge
* Fixed authentication modes for GraphQL according to best practices
* implement useFakeTimers in heartbeat unit test
* implement useFakeTimers in items unit test
* Update api/src/services/server.ts
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com >
* removed obsolete authentication.verbose toggle
* added email flag to message validation
* switched to ternary for consistency
* moved getSchema out of for loop
* added singleton logic to items handler
* close the socket after failed auth for non-public connections
* disabled system collections for rest subscriptions
* re-ran pnpm i
* allow for multiple subscripitions in the memory messenger
* - fixed system collection subscriptions
- abstracted hook message bus
- fixed graphql horizontal scaling
* remove logic from root context for tests
* fix reading created item
* fix linter
* typo and extra safe guard suggested by azri
* prevent setting long timeouts in favor of a shared interval
* prevent unsubscribing all existing subscriptions when omitting "uid"
* - extracted getService utility
- block system collections mutation in the items handler
- implemented the correct services for system collections
* allow numeric uid's to be used
* fixed the types for numeric uid's to be used
* added missing await's
* fixed type imports after merge
* removed unused imports
* Update api/src/websocket/controllers/hooks.ts
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com >
* Update api/src/websocket/controllers/hooks.ts
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com >
* Update api/src/messenger.ts
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com >
* improved error for graphql subscriptions
* fixed TS Modernization conflicts
* fixed TS Modernization conflicts
* fixed conflicts after merge
* removed unused name property
* abstracxted environment configuration
* respond to ping messages when heartbeat disabled
* something something merge
* moved toBoolean to it's own util file
* replaced old socket naming
* removed old exception
* fixed typo
* Update api/src/env.ts
Co-authored-by: ian <licitdev@gmail.com >
* Update api/src/websocket/handlers/heartbeat.test.ts
Co-authored-by: ian <licitdev@gmail.com >
* Update api/src/websocket/handlers/heartbeat.ts
Co-authored-by: ian <licitdev@gmail.com >
* Update api/src/services/server.ts
Co-authored-by: ian <licitdev@gmail.com >
* fixed for linter
* add server_info_websocket in graphql
* Add base REST websocket tests
* do merge things
* fixing things
* fixed failing unit test
* Update dependencies
* Move tests
* Update lockfile
* Use new paths when spawning
* return websockets to opt-in
* Enable websockets for tests
* Test with ephemeral access token
* no camelcasing gql subscriptions
* use underscore for gql event
* Remove unused import
* Add base GraphQL subscription tests
* Fix accidental comment
* Add some relational tests
* Organize imports
Using VS Code's default organize import
* Run ESlint formatting
* One more opinionated formatting change
* Formatting
* Fix message sequence not in order
* Remove relational batch update tests
* Test horizontal scaling
* using toboolean util for server_info
* removed unneeded type cast
* found the gql request type
* extra usage of the toBoolean util
* merge the authentication middleware and get-account-for-token util
* updated utility test
* fixed middleware unit test
* Add return
* Remove user filtering and close conns
* Fix reused accountability
* fixed failing util test
* added subscription unit tests
* added missing mock
* trigger workflow
* Revert "trigger workflow"
This reverts commit 4f544b0c1b .
* Trigger testing for all vendors
* add unsubscription confirmation
* Wait for unsubscription confirmation
* Fix incorrect sending of unsubscription confirmation
* updated ubsubscribe logic
* Update count for unsubscription message
* Fix sequence for UUID pktype in MSSQL
* Increase auth timeout
* Add start index when getting messages
* Fix subscription retrieval and cast uid to string
* Remove nested ternary
* Revert "Increase auth timeout"
This reverts commit 10707409c4 .
* Terminate connection instead of close
* fixed merge
* re-added missing packages after merge resolve
* fixed type imports
* Create lazy-cows-happen.md
Added changeset
* Minor bump for "directus" package as well
* fixed "strict" auth mode for graphql subscriptions
* removed nested ternary
* Add websocket tests to sequential flow
* Disable pressure limiter for blackbox tests
* fix merge
* WebSockets Documentation (#18254 )
* Small repsonsive styling fix on Card
* REST getting started guide
* Authentication guide
* REST subscription guides
* JS Chat guide
* Sidebar websocket guides section
* Added config options
* Respoinding to brainslug's review
* Fixed incorrect header on guides/rt/subs
* Fixed spellchecker
* Correct full code example on guides/rt/chat/js
* Fixed JS chat tut
* Order of steps in js chat guide updated for easier following-along
* Realtime chat Vue Guide
* feat: create react.js file
* feat: add set up for directus project
* docs: create react boilder plate
* docs: initialize connection
* docs: set up submission methods
* docs: establish websocket connection
* docs: subscribe to messages
* docs: create new messages
* docs: display new messages
* docs: display historical messages
* docs: next steps
* docs: full code sample
* docs: clean up
* docs: add name to contributors
* docs: add react card
* docs: updates to react chat
* Added live poll result guide
* docs: intro
* docs: before you begin
* docs: install packages
* docs: authenticate connection
* docs: query and mutation
* docs: utilize hooks
* docs: subscribe to changes
* docs: create helper functions
* docs: display messages
* docs: summary
* docs: full sample code
* chore: add card for webscockets with graphql
* docs: intro
* docs: subscribe to changes
* docs: handling changes
* docs: crud operations
* docs: unsubscribing from changes
* docs: updates
* chore: add card
* chore: updates to graphql docs
* chore: updates to getting started
* chore: updates to subscription
* chore: updates to real chat guide
* Added WebSockets Operations Guide
* Consistent titles
* Contributors component for docs
* Triggering Netlify
* Add operations to sidebar
* Fix operations link
* Small formatting changes
* Clarity around property values
* Removed unused values in Contributors component
* Prompt for default choice
* Tabs & lowercase doctypes
* Semicolons
* Event overwerites -> event listeners
* Spacing
* Flipped order of websockets guide to match GQL
---------
Co-authored-by: Esther Agbaje <folasadeagbaje@gmail.com >
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com >
* fixed typo
* removed unused import
* added tests for "to-boolean" and "exceptions"
* added websocket service tests
* quote environment variable to satisfy dictionary
* GraphQL Subscriptions update (#18804 )
* updated graphql subscription structure
* updated graphql examples
* Create hungry-points-rescue.md
* using `key` instead of `ID` on the toplevel
* removed changeset
* fixed the graphql type after the rename to `key`
* retrun data null for delete events to prevent non-nullable gql error
* updated missed ID reference in the docs
* updated missed ID reference in the docs
* renamed "payload" to "data" in the REST Subscription response
* fixed missed reference to payload
* added optional event filter for REST subscriptions
* updated docs for event filter
* Update docs/guides/real-time/subscriptions/websockets.md
Co-authored-by: ian <licitdev@gmail.com >
---------
Co-authored-by: ian <licitdev@gmail.com >
* added messenger unit test
* always send subscription confirmation
* Add event to subscription options
* Update tests
* Add tests for event filtering
* Revert testing for all vendors
* Remove obsolete console comment
* Update comment
* Correct event in JS WS guide
* Fix collection name to match name used in subscription
* Fix collection name in other guides
* Fix diffs in doc & enhance chart example
* Complete sentence in GraphQL guide
* Small update to config description
---------
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com >
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com >
Co-authored-by: ian <licitdev@gmail.com >
Co-authored-by: Nitwel <mail@nitwel.de >
Co-authored-by: Kevin Lewis <kvn@lws.io >
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch >
Co-authored-by: Esther Agbaje <folasadeagbaje@gmail.com >
2023-06-08 18:54:50 +00:00
ian
80cca54d18
Enable caching for requests from data studio ( #18484 )
...
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com >
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch >
2023-05-25 08:37:54 +02:00
Nicola Krumschmidt
60be3c2b40
Add synchronization across horizontally scaled instances to schedule flows and hooks ( #18584 )
...
* Add synchronization to schedule flows and hooks
Fixes #15052
* Add changeset
* Add test
* Add to sequential list
* Fix spelling in changeset
---------
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch >
Co-authored-by: ian <licitdev@gmail.com >
2023-05-24 17:16:42 -04:00
Brainslug
110413e473
clear item cache when permissions change ( #18526 )
...
* clear item cache when permissions change
* Create slow-timers-fold.md
* Add tests
---------
Co-authored-by: ian <licitdev@gmail.com >
2023-05-12 01:18:40 +08:00
Rijk van Zanten
44b4863788
Require curly brackets in if statements when they're multi-line ( #18387 )
...
* Enable Curly rule
* Fix curly misuse
2023-05-02 16:02:43 -04:00
ian
69061c1284
Add Cache option for Flows webhook trigger ( #18277 )
...
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com >
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com >
Co-authored-by: Nicola Krumschmidt <nicola.krumschmidt@freenet.de >
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch >
2023-05-02 15:17:07 +00:00
Rijk van Zanten
c48309ab68
Last eslint tweak ( #18198 )
...
* Should be there now
* Format
2023-04-14 17:40:50 -04:00
rijkvanzanten
37658802b7
One more
2023-04-14 17:30:56 -04:00
Rijk van Zanten
bdb1a919e2
White space rules ( #18197 )
...
* White space rules
* Auto-fix whitespace linter warnings
2023-04-14 17:21:56 -04:00
Pascal Jufer
15b91dee34
Blackbox tests restructuring ( #18122 )
...
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com >
Co-authored-by: ian <licitdev@gmail.com >
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com >
2023-04-11 18:28:37 +02:00