Commit Graph

97 Commits

Author SHA1 Message Date
Gustavo Trott
1eeff8d142
Merge pull request #21368 from GuiLeme/new-server-side-architecture
refactor (plugins): Read plugins configs from a manifest file instead of client settings
2024-10-14 17:20:52 -03:00
Guilherme Leme
a590d15f7c [new-server-side-architecture] - replace checksum algorithm of manifest.json to be sha256 and renamed javascriptEntrypointChecksum to javascriptEntrypointIntegrity 2024-10-10 15:49:16 -03:00
Guilherme Leme
f375d4d3aa [plugin-sdk-issue-121] - change naming for jsEntrypointchecksum 2024-10-09 17:40:41 -03:00
Guilherme Leme
04a5a9da9f [plugin-sdk-issue-121] - Added checksum logic to both the manifest and the js bundled plugin 2024-10-09 16:36:32 -03:00
Guilherme Leme
1ea964223b [new-server-side-architecture-plugins] - Created all the data flow of plugins from a URL parameter of manifest.json until the pluginLoader component of the client. 2024-10-04 11:16:25 -03:00
Arthurk12
9f9625f7c6 fix(plugins): race condition setting extensible areas
Fixes race condition happening when multiple plugins that add extensible
area elements are loaded by the client. The issue is caused by the state
update of the extensible area items set by plugins, based on previous
state without using a callback. Replaced direct state updates with the
appropriate callback pattern to ensure consistent state changes.
2024-09-26 17:59:33 -03:00
Anton Georgiev
f16eefade2
Merge pull request #21004 from GuiLeme/fix-dom-element-manipulation
fix(plugins): fix useUserCameraDomElement behavior and did some refactor
2024-09-10 14:18:47 -04:00
Anton Georgiev
a56ebfb2c8
Merge pull request #20934 from GuiLeme/data-channel-quick-fix
fix: fix useDataChannel subscribe events
2024-09-10 11:26:10 -04:00
Guilherme Leme
09f280f4d3 [fix-dom-element-manipulation] Changes in review 2024-09-10 08:46:27 -03:00
Guilherme Leme
bc6a6cbe9b [fix-dom-element-manipulation] Added new extensible area userCameraHelper 2024-08-22 10:51:00 -03:00
Guilherme Leme
137af4e421 [fix-dom-element-manipulation] fix user-camera-dom-element-manipulation hook, refactored several hooks and added onclick event in dropdown 2024-08-20 10:42:05 -03:00
prlanzarin
abd6f7fea1 fix: use logger convention in plugin startup logs
The plugin loader startup logs aren't following the logger convention,
which makes them hard to work with when post-processing logs.
The appended error message is also not useful since we're logging a
Event variant raw (which either outputs {} or nonsense like { isTrusted:
etc }).

Make the plugin "loaded" and "error" logs adhere to logger conventions.
In the future, the error log could use some tuning - there's no useful
info about root cause here.
2024-08-15 15:54:06 +00:00
Guilherme Leme
cd8b6861a7 [data-channel-quick-fix] quick-fix for use-data-channel subscribe events 2024-08-14 13:54:22 -03:00
Arthur B. Grossi
d2132484b4
feat(plugins): server command send chat message (#20781)
* feat(plugins): add chat server command and chat message type `plugin`

This commit adds the required code for the plugins SDK's chat server
command `CHAT_SEND_MESSAGE`, which allows plugins to send chat
messages. Messages sent by plugins are identified by the message
type `plugin` and belong to the user (senderID) of the client that
sent it. Plugin messages are not displayed by the client itself because
these messages are meant to be custom-rendered by plugins, typically by
the plugin that sent them.

* feat(plugins): add message metadata

Plugin name and plugin custom metadata are stored in message's metadata,
so plugins need it to identify messages when applying custom render.

* feat(chat): removes specific code for plugin messages

Removes specific akka messages, handlers and routes for plugin messages
and adds metadata parameter in `GroupChatMsgFromUser`.

* feat(chat): adds option parameter to mutation

Adds optional parameter `metadata` to the already existing mutation
`chatSendMessage` and use this mutation for plugin chat server command.

* feat(chat): rendering of plugin messages

This commit implements the correct rendering of plugin messages, which
is:
- Plugin messages with metadata attribute `custom` set to true are not
  rendered by the client, and are meant to be custom-rendered by
  plugins.
- Plugin messages with metadata attribute `custom` set to false are
  rendered by the client as being sent by the user that triggered it.

* Update sdk version to v0.0.56

* update sdk version to v0.0.57
2024-08-07 15:59:30 -04:00
Guilherme Leme
6f35d4d366 [video-control-plugin-sdk] created extensible-are screenshare helper and refactored buttons rendering for screenshare 2024-07-31 14:47:54 -03:00
Guilherme Leme
da62c1068e [video-control-plugin-sdk] created useUserCameraDomElement as a dom element manipulation hook 2024-07-31 14:44:55 -03:00
germanocaumo
b885b5790f
feat(plugins): add open and close presentation area command support (#20635) 2024-07-19 08:52:23 -04:00
Lucas
bdfde2befd
feat(plugin): Verify plugin integrity with 'checksum' option (#20693)
* feat(plugin): Verify plugin integrity with 'checksum' option

* fix(types): Add optional checksum type definition in PluginConfig
2024-07-15 16:34:14 -04:00
Guilherme Pereira Leme
ccb2e74bc1
feat(plugin): Added sendGenericDataForLearningAnalyticsDashboard for plugins (#20628)
* [data-channel-analytics-options]  - Added data-channel analytics and record options and added a parameter options for the useDataChannel function

* Update bigbluebutton-html5/public/locales/en.json

Co-authored-by: Gustavo Trott <gustavo@trott.com.br>

* [data-channel-analytics-options] -created new sendDataAnalytics for plugin and change presentation toolbar button

* [data-channel-analytics-options]  - QUICK FIX

* [update-data-channel-function] - fix action metadata

* [data-channel-analytics-options] - changes in review

* [data-channel-analytics-options]  - changes in review

* [captionLocale] - Changes in review

* [data-channel-analytics-options]  - update SDK

* [data-channel-analytics-options]  Changes in review

* [data-channel-analytics-options] - changes in review

* [data-channel-analytics-options] - changes in review

* [data-channel-analytics-options] - changes in review

* Refactor learning dashboard json structure with genericData

* fix typo

* [data-channel-analytics-options] - changes according to new json structure

* changes in review

---------

Co-authored-by: Anton Georgiev <antobinary@users.noreply.github.com>
Co-authored-by: Gustavo Trott <gustavo@trott.com.br>
2024-07-05 16:49:45 -03:00
Guilherme Pereira Leme
dcb28bec41
[fix-data-channel-and-generic-content] - fix data-channel and generic content when update of the sidekick area happens fast enough and there is still one there yet (#20567) 2024-06-24 08:56:27 -03:00
Guilherme Leme
1d9b28133e [update-data-channel-function] - change sender to creator naming in data-channel 2024-06-18 17:46:17 -03:00
Guilherme Leme
8a04c8a4aa Merge remote-tracking branch 'upstream/v3.0.x-release' into update-data-channel-function 2024-06-18 13:42:34 -03:00
Gustavo Trott
a27cd6cdb2
Merge pull request #20518 from GuiLeme/plugin-server-commands
feat(plugins): new server-command for typed-captions plugin
2024-06-18 13:33:16 -03:00
germanocaumo
bba9dfccb5
feat(plugin): add open and close sidekick container command support (#20452) 2024-06-18 11:06:22 -03:00
Guilherme Leme
41eb2c34e3 [update-data-channel-function] - merge upstream 2024-06-18 10:25:02 -03:00
Guilherme Leme
8db3a6be80 [plugin-server-commands] - added server-command caption save and add a captionLocale 2024-06-18 09:20:35 -03:00
Arthurk12
8186a0bd71 review: fix last parts that were not following naming pattern 2024-06-14 13:48:25 -03:00
Arthurk12
95d823951f feat(generic-component): rename to generic content and add type
Renames the generic component to generic content and adds the first
type, called 'main'. This commit is a preparation to allow generic
content from plugins to have types.
2024-06-10 19:36:45 -03:00
Guilherme Leme
322a04b845 resolve conflicts 2024-06-10 17:41:06 -03:00
Guilherme Leme
ba74a41fd2 [update-data-channel-function] - (WIP) Initial work 2024-06-10 11:32:48 -03:00
Tainan Felipe
3bc40df230
Add: useDeduplicatedSubscription hook (#20376)
* Add: useDeduplicatedSubscription hook

* Fix: TS error

* Add: components using useDeduplicatedSubscription

* Change: Move to useDeduplicatedSubscription

* Change: unsubscribe logic to own useEffect

* Change: remove file import over package

* Fix: TS errors

* Fix: private chat not loading

* Change: revert changes on queries

* Fix: eslint error

* Remove: html-webpack-plugin package

* Fix: external video

* Add: comment about the stringToHash function

* Fix: video player showing tools over presentation
2024-06-04 10:40:54 -03:00
Ramón Souza
7514066fc3
fix: Client can't load in certain cases (#20336)
* move settings

* remove meteor cache files
2024-05-29 09:26:11 -04:00
Guilherme Leme
7b81148972 [change-data-channel-return] - Changed data-channel payloadJson to be a json instead of a string 2024-05-22 17:34:43 -03:00
Guilherme Leme
bc6b007f5a [plugin-sdk-readme-logger-ui-data] - fix intl ui-data-hook and fix warning of data-channel 2024-05-01 16:57:08 -03:00
Guilherme Leme
0142ef7f81 [useCurrentMeeting] - created useMeeting hook 2024-04-25 16:19:44 -03:00
Guilherme Pereira Leme
cfbeb92cd7
feat(plugins) - refactor format of receiving data for data-channels (#19997) 2024-04-23 18:17:32 -03:00
Guilherme Pereira Leme
f26efdeac9
Fix: useCurrentUser hook for plugins (#19822) 2024-03-28 15:21:00 -03:00
Guilherme Pereira Leme
b3be26fd86
feat(plugin): adds layout presentation area pile and refactors setters (#19876)
* [change-layout-logic-for-presentation-area]

* [change-layout-logic-for-presentation-area] fix lint and tsc errors

* [change-layout-logic-for-presentation-area] - add types

* [add-layout-support-for-pile-in-plugin] - layout changes and setter refactor

* [add-layout-support-for-pile-in-plugin] - update sdk
2024-03-27 19:00:37 -03:00
Guilherme Pereira Leme
41bb140dc5
feat: change way of rendering contents in presentation area to a pile-based logic. (#19854) 2024-03-25 18:13:57 -03:00
Guilherme Pereira Leme
21a0e3a325
fix(plugin): Fix generic component and add ui-data for current layout (#19710)
* [plugin-sdk-fix-generic-component-add-event] - Fixed generic component and add ui-data current_layout

* [plugin-sdk-fix-generic-component-add-event] - type check for isMuted function

* [fix-external-video-get-volume] - upgrade sdk
2024-03-11 22:01:01 -03:00
João Victor
3bd1017e1f Merge branch 'v3.0.x-release' into patched-usr-list-curr-user 2024-03-07 14:12:22 -03:00
André Castro
58a0efe708
Migrate auth and settings to graphQL (#19507) 2024-03-06 14:28:18 -03:00
João Victor
0ff49cc215 improvement: use patched subscriptions for both user list and current user 2024-03-06 11:31:39 -03:00
Guilherme Pereira Leme
d7e2d400d6
fix: decrease total number of subscriptions for some hooks (#19653) 2024-02-21 16:50:46 -03:00
Guilherme Pereira Leme
c6391b3986
feat(plugin): add generic component to extensible areas list and layout.set to uiCommands (#19582)
* [plugin-sdk-generic-component] - generic component extensible area and ui command layout set

* [plugin-generic-component] -  update sdk

* [plugin-generic-component] -  fix lint errors

* [plugin-generic-component] - fix problem warned by CI tests
2024-02-19 07:59:45 -03:00
Guilherme Pereira Leme
c5d6183f3e
feat(plugin): delete and reset features to data-channel (#19503)
* [plugin-sdk-data-channel-with-delete] - refactor data channel to add delete and reset features

* [plugin-sdk-data-channel-with-delete] - bumping version and fix lint errors
2024-01-30 18:38:09 -03:00
Guilherme Pereira Leme
ecb3350a9f
feat(plugins): create useTalkingIndicator and set for external video volume (#19447)
* [plugin-sdk-talking-indicator-and-external-video] - create new data consumption hook and ui command

* [plugin-sdk-talking-indicator-and-external-video] bump SDK version

* [plugin-sdk-talking-indicator-and-external-video] - resolve tsc issues

* [plugin-sdk-talking-indicator-and-external-video] - resolve tsc issues

* [plugin-sdk-talking-indicator-and-external-video] - resolve lint errors
2024-01-30 18:37:29 -03:00
Tainan Felipe
b524f0b9fb
Fix: chat loading only one page per time (#19511) 2024-01-29 14:04:04 -03:00
Guilherme Pereira Leme
c8bea83de8
feat(plugin): refactor name of general exensible areas interface (#19467)
* [plugin-sdk-issue-62] - refactor general extensible area interface

* [plugin-sdk-issue-62] - refactor last components and bump SDK version
2024-01-23 17:34:50 -03:00
Guilherme Pereira Leme
b23bea041c
feat(plugin): Implemented first dom element manipulation - chat message (#19420)
* [plugin-sdk-refactor-2] - refactored some filenames and enums.

* [plugin-sdk-issue-28] - Implemented dom element manipulation

* [plugin-sdk-issue-28] - bump plugin-sdk version
2024-01-16 14:02:12 -03:00