Commit Graph

75 Commits

Author SHA1 Message Date
Pedro Beschorner Marin
e4a98f3680 fix(closed captions): fetch padId on dictation update
BigBlueButton v2.3 uses an instance prefix while generating padIds. Closed
captions was missing this information when updating pad's content for dictation
mode.
2021-05-16 10:45:17 -03:00
Pedro Beschorner Marin
d65c19c60b fix(closed captions): avoid meetingId from credentials
This interaction occurs between Etherpad and Meteor.
2021-05-16 10:08:24 -03:00
Joao Siebel
79c9cd33f2 Merge remote-tracking branch 'upstream/develop' into add-try-catch-on-methods 2021-05-10 12:03:58 -03:00
Joao Siebel
a42d4a9f5d Add try/catch on captions methods 2021-05-04 14:34:31 -03:00
Tainan Felipe
20d934a953 Add filter by meetingId in server queries 2021-05-03 09:49:33 -03:00
Ramon Souza
d5d1c86c70 remove unused imports 2021-04-20 09:12:22 -03:00
Anton Georgiev
ff45cccd66 Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into apr1-merge 2021-04-01 18:11:13 +00:00
Pedro Beschorner Marin
1aa7685dcc Refactor Etherpad API calls
Isolate most Pad related functions and secure shared notes and closed
captions creation to only when there is a reachable Etherpad server
configured.
2021-03-29 18:35:33 -03:00
Pedro Beschorner Marin
0c4cf0135d Handle pad's events and Meteor's instances
Since Meteor was split in multiple process and events started to be
filtered by instances, all Etherpad's Redis events were being discarded.

Etherpad has a Redis' publisher plugin that is unaware of BigBlueButton's
existence. All the communication between them is kept simple with minimal
of internal data exchange. The concept of distincts subscribers at Meteor's
side broke part of this simplicity and, now, Etherpad has to know which
instance must receive it's messages. To provide such information I decided
to include Meteor's instance as part of the pad's id. Should look like:

 - [instanceId]padId for the shared notes
 - [instanceId]padId_cc_(locale) for the closed captions

With those changes the pad id generation made at the recording scripts had to
be re-done because there is no instance id available. Pad id is now recorded at
akka-apps and queried while archiving the shared notes.
2021-03-23 18:03:50 -03:00
Anton Georgiev
228bad03d5 Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into march4-merge 2021-03-04 21:25:47 +00:00
Pedro Beschorner Marin
09b39a8d63 Add extra pad validation
Associate pads with meetings so session validation is restricted to the
meeting's valid session tokens.

Meteor will dispatch new redis events on shared notes and closed captions
pads creation. This event will go through apps and reach web to populate
a new meeting's pad collection that contains all valid pad id's for that
session. Nginx will use this collection to check if the user's session token
belongs to the pad's authorized users.

Besides these modifications, an extra change will be needed at notes.nginx.
Location /pad/p/ needs to change it's auth_request:

from /bigbluebutton/connection/checkAuthorization;
to /bigbluebutton/connection/validatePad;
2021-02-10 13:37:04 -03:00
Pedro Beschorner Marin
c0a7f9cd92 Replace FNV32a pad's id generator with salted SHA1
When managing Etherpad's pads, Meteor makes API calls to initiate the closed captions
and shared notes modules. The pad id was being mapped to a shorter id than the meeting
id because of a Etherpad lenght limitation.

Changed to something less guessable.
2021-02-09 12:59:59 -03:00
Ramon Souza
39b63368e2 Fixes #11116 2021-01-19 17:16:29 -03:00
Anton Georgiev
244a239810 Merge branch 'v2.2.x-release' of github.com:bigbluebutton/bigbluebutton into 2020-12-01-merge 2020-12-01 20:02:50 +00:00
Joao Siebel
77d493792f Prevent a case where voiceUser collection was being clean for entire server 2020-11-30 17:01:41 -03:00
Anton Georgiev
f34826718d include instanceId in resources url 2020-11-30 16:09:35 +00:00
Joao Siebel
ccda3b3a34 WIP remove callback from update methods 2020-11-26 13:23:57 -03:00
Joao Siebel
11f1a1ac47 Merge remote-tracking branch 'upstream/v2.2.x-release' into remove-callbacks 2020-11-25 10:54:18 -03:00
Joao Siebel
a244fc1acf WIP remove callback from remove operations 2020-11-24 17:44:13 -03:00
Anton Georgiev
3faabd1821 Merge 2.2.29 and 2.2.30 into 2.3.x 2020-11-24 15:13:09 +00:00
Anton Georgiev
21644a1a43 Remove string interpolation for server debug and verbose logs 2020-11-23 14:35:59 -05:00
Joao Siebel
4be9bc4c94 Adjust publishers to use auth-token-validation collection 2020-09-01 13:31:11 -03:00
KDSBrowne
6915a028e3 use extractCredentials to get meeting id 2020-04-30 13:46:30 +00:00
KDSBrowne
957e5e3d30 fix captions from dictation not working 2020-04-30 13:15:21 +00:00
Anton Georgiev
a8f4827af8 utilize Meteor connection id instead of trusting client side meetingId, userId 2020-02-06 15:48:16 -05:00
Pedro Beschorner Marin
9e057b9a78 Refactoring closed captions speech recognizer 2019-06-21 17:52:54 -03:00
Pedro Beschorner Marin
a5f7579816 Encoding at URL creation 2019-06-21 14:56:12 -03:00
KDSBrowne
cd9cb596d2 add new lines to VR caption entries 2019-06-18 21:12:20 +00:00
KDSBrowne
c36f25c748 add enableDictation prop in settings.yml / bug fixes 2019-06-18 14:36:22 +00:00
KDSBrowne
f45564de1a Merge branch 'master' of https://github.com/bigbluebutton/bigbluebutton into 0TF-SpeechRecognition-captions 2019-06-14 14:42:47 +00:00
KDSBrowne
127f4ac19e hook up speech recognition to Etherpad captions editor 2019-06-14 02:18:36 +00:00
Pedro Beschorner Marin
c4ac5ef7c9 Shared notes unread indicator 2019-05-31 20:02:33 +00:00
Anton Georgiev
6adc608fd0 closed captions linting part3 2019-05-29 14:31:27 +00:00
Pedro Beschorner Marin
741122df96 Closed captions cleanup 2019-05-23 11:51:01 -03:00
Pedro Beschorner Marin
84b750ebb7 Adapted HTML5 captions to use the recording backend 2019-05-22 18:33:20 -03:00
Pedro Beschorner Marin
34b39a2b0a Closed captions prototype in a big commit 2019-05-22 18:33:20 -03:00
Anton Georgiev
31acde212f reduce log noise for common benign events 2019-03-08 16:00:16 +00:00
Anton Georgiev
afa1a64e79 improve format of callbacks on collection document removal 2018-12-14 20:19:10 +00:00
João Francisco Siebel
016efcc0eb Remove ACL from client side. close #6138 2018-11-05 17:30:37 -02:00
Tainan Felipe
a5ddb4bd17 rename function of skipFlashDirectEvent to processForHTML5ServerOnly 2018-04-13 16:26:58 -03:00
Tainan Felipe
d9f90943ee Skip direct messages of flash client 2018-04-12 13:25:54 -03:00
Oleksandr Zhurbenko
2de02c4f8d Linting 2018-01-07 16:25:56 -08:00
Oleksandr Zhurbenko
4af6d30f6a Switched from the broken 4commerce:env-settings package to native Meteor.settings 2018-01-07 16:24:05 -08:00
Oleksandr Zhurbenko
430ddc0d3b Removing unnecessary 2x from the collections, publishers, subscriptions and logs 2017-10-12 12:07:02 -07:00
Oleksandr Zhurbenko
1ec0c11fe4 Permissions fix 2017-10-11 19:01:07 -07:00
Oleksandr Zhurbenko
015ca3d719 Changed imports and removed 'initializeCursor.js' since it's not needed 2017-10-11 19:00:28 -07:00
Oleksandr Zhurbenko
337f53e72b Moved files up to api/ 2017-10-11 18:09:35 -07:00
Klaus Klein
c627deca36 Move api to api/1.1 2017-06-19 08:57:32 -03:00
Oswaldo Acauan
e6412275a6 Linter auto fix 2017-06-02 19:25:02 +00:00
KDSBrowne
df76d33cba set files permission to 644 2017-05-16 09:22:59 -07:00