Commit Graph

87 Commits

Author SHA1 Message Date
Gustavo Trott
1cda716da5
Add websocket_idle_timeout_seconds config for idle WebSocket cleanup (#21493) 2024-10-23 12:19:01 -03:00
Gustavo Trott
301e2998ae
fix (gql-middleware): Fix memory leaks (#21479) 2024-10-18 20:04:21 -03:00
Gustavo Trott
e70f18be6b
Merge branch 'v3.0.x-release' into clone-user-session 2024-09-26 13:32:22 -03:00
Gustavo Trott
eda341aab5 Increase Pekko message timeout for the /userInfo endpoint to prevent timeouts when fetching user information. During high load or cold starts, establishing connections between actors can exceed 2 seconds. This change avoids such issues by extending the timeout.
Also added more details to middleware logs to clarify reasons for user authorization failures, making debugging easier.
2024-09-25 10:05:29 -03:00
Gustavo Trott
394f01bf9f resolve conflicts 2024-09-24 10:07:46 -03:00
Gustavo Trott
cccd2d78c7
Refactor the logger to add more context like meetingId, userId and sessionToken. (#21188)
For DEBUG logs it also includes the file/line and function of the caller.
2024-09-18 08:48:36 -04:00
Gustavo Trott
4ea48b3333 This update allows duplicating a user session via the getJoinUrl endpoint. The generated link will create a new sessionToken while retaining the same userId. This setup enables two devices be represented as a single user on the user list, making it particularly useful for scenarios like transferring a session from a computer to a mobile device.
Additionally, the mobile app can use this feature to render the whiteboard inside an iframe with the same `userId`.

By setting the parameter `revokePreviousSession=true`, a new `sessionToken` will be generated, and the previous session will be revoked when the new device connects. This is useful for transferring a session to another device and automatically closing the previous session.
2024-09-04 21:22:49 -03:00
Gustavo Trott
30d24651c6
Merge pull request #21033 from gustavotrott/middleware-handle-userLeave
fix (gql-middleware): Prevents resending all subscriptions when a user leaves a meeting
2024-08-30 10:03:24 -03:00
Gustavo Trott
e1407149b9
refactor (build/gql-middleware): Introduce config as a yml file (#20992)
* Introduce Gql-Middleware config as a yml file

* use path /usr/share/bbb-graphql-middleware/ instead of /usr/local/bigbluebutton/bbb-graphql-middleware

* remove /etc/default/bbb-graphql-middleware file
2024-08-29 17:40:52 -04:00
Gustavo Trott
5f2b45c0e4 remove unnecessary logs 2024-08-28 16:34:28 -03:00
Gustavo Trott
24603b24bd avoid retransmitting subscriptions when user lost permission 2024-08-27 11:28:08 -03:00
Gustavo Trott
09cc37feef
refactor (gql-middleware): Code improvements and new Prometheus metrics (#20896) 2024-08-19 10:58:14 -03:00
Gustavo Trott
1e32ee794e several refactors 2024-08-08 16:50:41 -03:00
Gustavo Trott
d445713f5d Introduce Prometheus metrics to bbb-gql-middleware 2024-08-08 11:28:46 -03:00
Gustavo Trott
8e70891083 Implements max of Graphql connections (global and per user) 2024-08-06 15:07:52 -03:00
Gustavo Trott
25bc81ea1b remove comments 2024-07-10 18:53:14 -03:00
Gustavo Trott
2c2d595212 Big refactor on Graphql authentication 2024-07-10 18:30:01 -03:00
Gustavo Trott
872cb7ceff fix bug when retransmitting streaming subscription 2024-07-08 14:17:08 -03:00
Gustavo Trott
3c71aab4bc
refactor (gql-middlware): Refactored code to simplify channel handling and remove unnecessary routines (#20640)
* Refactor gql-middleware channels and remove dedicated channel to establish init connection

* remove unnecessary routin to wait mutations to complete before invalidate Hasura connection
2024-07-05 13:35:08 -03:00
Gustavo Trott
134b207f94
refactor: Remove Hasura database-updates and move them to Gql-Actions (#20634) 2024-07-04 17:00:06 -03:00
Gustavo Trott
fb7f0b45be
fix middleware logging bytes (#20624) 2024-07-02 15:35:15 -03:00
Gustavo Trott
ccbbfa91d1
fix wrong trace log (#20615) 2024-06-30 21:26:02 -03:00
Gustavo Trott
f5c9650f24
refactor: Add TRACE logs for graphql-actions (#20614) 2024-06-30 15:34:22 -03:00
Gustavo Trott
3fadedda69
middleware: Better validation on check authorization (#20597) 2024-06-28 16:53:11 -03:00
Gustavo Trott
7350947839 fix wrong merging of uint32 2024-06-25 12:55:41 -03:00
Gustavo Trott
630ed89b48 remove comments 2024-06-25 10:31:10 -03:00
Gustavo Trott
ede7a2dd25 Bunch of improvements for messages parsing 2024-06-25 10:27:44 -03:00
Gustavo Trott
6fdf95bda9 Avoid msg GraphqlConnectionClosed when unnecessary 2024-06-19 16:41:15 -03:00
Gustavo Trott
656e29e7eb
Refactor middleware to get user info from akka-apps api (#20491) 2024-06-14 13:43:05 -03:00
Gustavo Trott
5fe51380e3
Introduces env var BBB_GRAPHQL_MIDDLEWARE_RAW_DATA_CACHE_STORAGE_MODE (#20429) 2024-06-06 13:54:40 -03:00
Gustavo Trott
1a33adaca4
Add env var BBB_GRAPHQL_MIDDLEWARE_DENIED_SUBSCRIPTIONS (#20428) 2024-06-06 13:49:58 -03:00
Gustavo Trott
a70aab091f
Fix wait group once now only two routines are created 2024-06-03 16:02:28 -03:00
Gustavo Trott
fd3071c28a
Refactor (gql-middleware): Introduces clientSessionUUID and validations (error handling) (#20353) 2024-05-29 17:43:17 -03:00
Tainan Felipe
1aab2f5f29
Change: Change websocket lib to graphql-ws (#20282) 2024-05-22 15:51:12 -03:00
Gustavo Trott
b88854835c
Handling Validations and Error Reporting in bbb-graphql-actions (was in Hasura) (#20308) 2024-05-21 16:11:17 -03:00
Gustavo Trott
a0dc3d7bd1 fix: send msg along with the return of mutations 2024-05-07 08:32:26 -03:00
Gustavo Trott
afccd6af32 improve code 2024-05-02 11:06:37 -03:00
Gustavo Trott
4fc3b2419c Graphql-middleware itself will handle mutations and forward to Graphql-actions 2024-05-02 10:45:32 -03:00
Gustavo Trott
e505978017
refactor (graphql-middleware): Significantly reduces the size of the Json Patch (#19974) 2024-04-09 14:37:57 -03:00
Gustavo Trott
43ca140b89
Add option for graphql-middleware to restrict subscriptions (for tests purpose) (#19969) 2024-04-08 14:15:15 -03:00
Gustavo Trott
551e452a49
graphql-middleware: Implements a cache-system for JsonPatch (#19964) 2024-04-06 11:43:36 -03:00
Gustavo Trott
0d0778c82c Fix wrongs logs in middleware activities overview 2024-04-03 12:26:16 -03:00
Gustavo Trott
1df56b6331 Add condition ActivitiesOverviewEnabled 2024-04-02 10:07:44 -03:00
Gustavo Trott
2e06573cb4 Remove unused code 2024-04-02 10:05:30 -03:00
Gustavo Trott
c072d39c0f Disable activities overview logs by default 2024-04-02 10:04:38 -03:00
Gustavo Trott
552fc312b0 Track data received for each subscription 2024-03-31 21:00:28 -03:00
Gustavo Trott
775ff31882 Improve logs and add BBB_GRAPHQL_MIDDLEWARE_JSON_PATCH_DISABLED env var 2024-03-28 17:17:13 -03:00
Gustavo Trott
612b40234b Add periodic activities overview log for Middleware 2024-03-28 11:26:56 -03:00
Gustavo Trott
6fca6c26eb Increase read size to 10mb 2024-03-27 15:29:38 -03:00
Gustavo Trott
305628285a Fix an error while reading annotations 2024-03-27 12:52:26 -03:00