Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(external videos): back end improvements #12504

Merged
merged 6 commits into from Jun 4, 2021

Conversation

pedrobmarin
Copy link
Collaborator

@pedrobmarin pedrobmarin commented Jun 2, 2021

Cherry picked some improvements we've been doing to the external videos feature.

  • Give external videos it's own MongoDB collection. Similar on how is made for recording props.
  • Add rights management at akka-apps and removes it from Meteor.
  • Move to akka-apps the control on when to stop and close the feature: presenter change/leave and screenshare start.

Kudos to @frankemax and @Arthurk12

frankemax and others added 6 commits June 2, 2021 12:50
Refactor the external videos collection, moving the logic and functionalities
outside of /imports/api/meetings to a new location in /external-videos/server/modifiers
in order to decrease the coupling between the functionalities, favoring
the maintenance.
Checks permission of start, stop and update external video messages
and only broadcast it if the sender is presenter (unless it's system
messages).
Revoked extra frontend permission checks and removed dependency from
external video stop Meteor's system call.
Move all external video's system stop control events to akka-apps:
- on presenter change
- on presenter leave
- on screenshare start
A media state may have more than 2 states. Moving this property back to
integer so it can be extended.
@antobinary antobinary added this to the Release 2.3 milestone Jun 2, 2021
@pedrobmarin pedrobmarin changed the base branch from v2.3.x-release to develop June 3, 2021 16:23
@pedrobmarin pedrobmarin changed the base branch from develop to v2.3.x-release June 3, 2021 16:24
@pedrobmarin pedrobmarin changed the base branch from v2.3.x-release to develop June 3, 2021 17:17
@pedrobmarin pedrobmarin marked this pull request as ready for review June 3, 2021 17:17
@antobinary antobinary self-requested a review June 4, 2021 19:23

const externalVideoUrl = body.externalVideoUrl;
const user = Users.findOne({ meetingId: meetingId, userId: userId })
const { userId } = header;
Copy link
Member

@antobinary antobinary Jun 4, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't check if userId and externalVideoUrl are strings neither here nor in akka-apps, we just start using them (unless I am missing to read some spot)

check(meetingId, String);
check(userId, String);
check(requesterUserId, String);
check(externalVideoUrl, String);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We check here but not on startExternalVideo. Is this sufficient?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We pushed those checks to the modifier but the userId is missing, indeed.

Copy link
Member

@antobinary antobinary left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested locally and it worked well.
The check for string on share vs on consuming the url looks odd but it's still checked. We may tweak things in future.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants