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
Rijk van Zanten
c310afa846
Rely on npm Workspaces for module resolving ( #4656 )
...
* Move devDeps to API
* Move app to npm workspaces
* Tweaks / add lockfiles
* Add locks, fix devdeps across packages
* Move eslint config rootlevel
* Use eslint fix for vue files instead of vue-cli-service
* Add global prettier format option
* Create lockfiles for all packages
* Replace husky with simple-git-hooks
2021-03-24 16:01:49 -04:00
rijkvanzanten
aa15da7c65
v9.0.0-rc.51
2021-03-16 15:56:56 -04:00
rijkvanzanten
42507ae52f
v9.0.0-rc.50
2021-03-12 18:32:20 -05:00
rijkvanzanten
b17f3e0911
v9.0.0-rc.49
2021-03-11 18:57:25 -05:00
rijkvanzanten
3803333025
v9.0.0-rc.48
2021-03-11 07:42:15 -05:00
rijkvanzanten
71bf628955
v9.0.0-rc.47
2021-03-11 07:38:26 -05:00
rijkvanzanten
33f36d2485
v9.0.0-rc.46
2021-03-10 17:39:31 -05:00
rijkvanzanten
87ed604f18
v9.0.0-rc.45
2021-03-05 18:03:27 -05:00
rijkvanzanten
8aedc29aa1
v9.0.0-rc.44
2021-02-26 17:32:48 -05:00
rijkvanzanten
64b012bccc
Revert "Link devDependencies"
...
This reverts commit 63ec4b8e60 .
2021-02-24 19:03:26 -05:00
rijkvanzanten
63ec4b8e60
Link devDependencies
2021-02-24 18:27:01 -05:00
rijkvanzanten
42ab1cce49
v9.0.0-rc.43
2021-02-23 17:18:22 -05:00
rijkvanzanten
055ebcb69b
v9.0.0-rc.42
2021-02-19 17:22:06 -05:00
rijkvanzanten
8d1bd064c6
v9.0.0-rc.41
2021-02-18 17:14:22 -05:00
rijkvanzanten
fbf72b32ac
v9.0.0-rc.40
2021-02-16 20:44:55 -05:00
rijkvanzanten
b6837b24cb
v9.0.0-rc.39
2021-02-16 18:37:45 -05:00
rijkvanzanten
b3d0e2bcea
v9.0.0-rc.38
2021-02-16 12:05:34 -05:00
rijkvanzanten
e3fabe22a4
v9.0.0-rc.37
2021-02-12 18:23:59 -05:00
rijkvanzanten
998c0fd148
v9.0.0-rc.36
2021-02-11 18:16:56 -05:00
rijkvanzanten
9ec8f0d973
v9.0.0-rc.35
2021-02-11 13:23:59 -05:00
rijkvanzanten
83b4ff1b43
Fix my locked package
2021-02-05 19:09:04 -05:00
rijkvanzanten
db278a02b1
Add another missing dep
2021-02-05 19:05:41 -05:00
rijkvanzanten
262b59c44d
Add missing dependency
2021-02-05 19:01:56 -05:00
Rijk van Zanten
817ccf3620
Overhaul docs ( #3951 )
...
* Add Quickstart Guide
* Update installation
* Remove unused files
* Update support/backing
* Tweaks in concepts
* Setup file structure for API reference 2.0
* Setup page layout for reference
* Add clean-urls plugin
* getting started updates
* Finish authentication rest
* getting started updates
* Render stylus in 2 spaces
* Various
* Various
* Finish activity docs
* Add collections reference
* Add extension reference
* concepts updates
* Fields/tweaks
* Add files doc
* Add revisions
* concepts docs
* More api reference
* Finish rest api reference (finally)
* initial concepts
* More things
* Add assets api ref
* Move sections from file to assets
* Add environment variables
* contributing docs
* Add field transforms page
* Left align table headers
* concept links
* Add API config
* Fix mobile nav
* Add migrating a project
* doc link fixes
Co-authored-by: Ben Haynes <ben@rngr.org >
2021-02-05 18:51:54 -05:00
Rijk van Zanten
5450de0351
Update Docs ( #3905 )
...
* Allow formatted value display for numbers
* Move the docs website into monorepo
* Fix build
* Tweak docs build setup
* Fix tips, pull in images
* Add syntax highlighting to docs
* Restructure nav, add divider
* Fix tips formatting
* Add prettier config
* Add editorconfig
2021-02-02 11:55:04 -05:00
rijkvanzanten
b2263e614a
v9.0.0-rc.34
2021-01-29 17:14:12 -05:00
rijkvanzanten
91cb0cc58f
v9.0.0-rc.33
2021-01-28 17:54:19 -05:00
rijkvanzanten
a7cd02a5a6
v9.0.0-rc.32
2021-01-25 18:10:01 -05:00
rijkvanzanten
39de4591b6
v9.0.0-rc.31
2021-01-21 14:53:30 -05:00
rijkvanzanten
c9c764d242
v9.0.0-rc.30
2021-01-15 17:33:35 -05:00
rijkvanzanten
53c0164ca1
v9.0.0-rc.29
2021-01-15 11:54:50 -05:00
rijkvanzanten
9666cf44fe
v9.0.0-rc.28
2020-12-31 15:45:47 -05:00
rijkvanzanten
225efcf50c
v9.0.0-rc.27
2020-12-28 15:26:01 -05:00
rijkvanzanten
bb8bdc9f20
v9.0.0-rc.26
2020-12-21 16:37:37 -05:00
rijkvanzanten
7fad80417d
v9.0.0-rc.25
2020-12-21 15:54:55 -05:00
rijkvanzanten
637c7a32ef
v9.0.0-rc.24
2020-12-16 18:44:53 -05:00
rijkvanzanten
f45b42efec
v9.0.0-rc.23
2020-12-11 18:20:32 -05:00
rijkvanzanten
4dc8d7e742
v9.0.0-rc.22
2020-12-09 08:35:17 -05:00
rijkvanzanten
203f3f7bbb
v9.0.0-rc.21
2020-12-08 18:37:41 -05:00
rijkvanzanten
5bcb004ca6
v9.0.0-rc.20
2020-12-03 13:23:00 -05:00
rijkvanzanten
8c5db5d927
Update docs docs docs
2020-12-02 12:28:37 -05:00
rijkvanzanten
d7b74e3473
v9.0.0-rc.19
2020-11-27 21:01:35 -05:00
rijkvanzanten
8272786315
v9.0.0-rc.18
2020-11-25 16:40:39 -05:00
rijkvanzanten
56028c4136
v9.0.0-rc.17
2020-11-20 15:31:31 -05:00
rijkvanzanten
c2057c2680
v9.0.0-rc.16
2020-11-20 15:26:25 -05:00
rijkvanzanten
290d272b54
v9.0.0-rc.15
2020-11-18 21:09:22 -05:00
rijkvanzanten
71ab1dc2da
Update specs
2020-11-18 09:39:39 -05:00
rijkvanzanten
07dd583060
Fix package resolution
...
Ref #882
2020-11-05 10:33:39 -05:00
rijkvanzanten
0cbdcace62
v9.0.0-rc.7
2020-11-05 09:47:49 -05:00