mattermost-plugin-jitsi icon indicating copy to clipboard operation
mattermost-plugin-jitsi copied to clipboard

[GH-183] Add jaas support

Open raghavaggarwal2308 opened this issue 2 years ago • 22 comments

Summary

Most of the code here is from #185 . The person who created this PR was not responding to the review comments for a while. So, we recreated the same PR with the review comments fixed.

The review comments fixed are-

  1. Added i18n translation to texts in Jitsi plugin system console settings.
  2. Updated UI of system console to clarify the type of Jitsi server user will be using
  3. An error occurred when we were using the locally-generated private key to sign the JWT token for JaaS. That error is also fixed in this PR.

Screenshots

  1. Updated UI currently

  2. Updated description to clarify how to generate a private key Screenshot from 2022-07-11 18-34-53

Ticket

Fixes #183 (JWT Configuration with JaaS)

raghavaggarwal2308 avatar Jul 11 '22 13:07 raghavaggarwal2308

Codecov Report

Base: 45.47% // Head: 36.69% // Decreases project coverage by -8.78% :warning:

Coverage data is based on head (9966780) compared to base (f52f77e). Patch coverage: 7.33% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #219      +/-   ##
==========================================
- Coverage   45.47%   36.69%   -8.79%     
==========================================
  Files           7        7              
  Lines         873     1101     +228     
==========================================
+ Hits          397      404       +7     
- Misses        451      669     +218     
- Partials       25       28       +3     
Impacted Files Coverage Δ
server/api.go 0.00% <0.00%> (ø)
server/configuration.go 13.23% <0.00%> (-3.44%) :arrow_down:
server/manifest.go 100.00% <ø> (ø)
server/plugin.go 44.57% <11.73%> (-17.21%) :arrow_down:
server/command.go 60.49% <20.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

codecov-commenter avatar Jul 12 '22 17:07 codecov-commenter

@mickmister review fixes fixed

Kshitij-Katiyar avatar Sep 12 '22 13:09 Kshitij-Katiyar

@mickmister Gentle reminder for re-review

raghavaggarwal2308 avatar Sep 16 '22 20:09 raghavaggarwal2308

@mickmister Gentle reminder for re-review

raghavaggarwal2308 avatar Sep 19 '22 12:09 raghavaggarwal2308

@mickmister gentle reminder for re-review

raghavaggarwal2308 avatar Nov 25 '22 09:11 raghavaggarwal2308

@mickmister Gentle reminder for re-review

raghavaggarwal2308 avatar Nov 30 '22 13:11 raghavaggarwal2308

@raghavaggarwal2308 @Kshitij-Katiyar I added some more comments on some existing threads. Please let me know your thoughts :+1:

mickmister avatar Dec 01 '22 21:12 mickmister

@mickmister replied to some existing threads.

Kshitij-Katiyar avatar Dec 22 '22 07:12 Kshitij-Katiyar

I continued the conversation on some existing threads

Which treads? Can you link them here?

VincentSC avatar Jan 02 '23 09:01 VincentSC

@mickmister This new commit mainly has 2 changes:-

  1. I removed the store and reducers which we have created for Jaas individually.
  2. The load config API was getting called when the mattermost page gets rendered but that API has a check auth which checks whether the user is logged in or not and if the user is not logged it will return the "Unauthorised" error and the redux state in the frontend will not get updated. So I created a dummy component that will get mounted on the user log in and call the API and update the states.

Kshitij-Katiyar avatar Jan 12 '23 07:01 Kshitij-Katiyar

Small remark: README.md needs an update too. But preferably as a follow-up PR, since this PR has been delayed for years already...

VincentSC avatar Feb 08 '23 11:02 VincentSC

For who wants to test, see https://github.com/mattermost/mattermost-plugin-jitsi/issues/206 how to build. Use the gh pr checkout 219 to checkout this PR.

I'll be testing it out the coming weeks. I think it needs some more documentation, but that should not be obstructing for this PR

VincentSC avatar Feb 13 '23 22:02 VincentSC

Problems we found till now (everybody in EU):

  • doesn't handle high DPI very well. In some moments some UI elements were off-screen
  • for some users the video would freeze
  • audio and video were slightly out-of-sync
  • video would turn blurry once in a while

I think all of these problems can be seen as different problem from this PR, except maybe the first. We have not tested with Jitsi's public server.

VincentSC avatar Feb 14 '23 15:02 VincentSC

@mickmister @VincentSC This PR has been on hold for a while. Should we assign this for QA review?

doesn't handle high DPI very well. In some moments some UI elements were off-screen

I am not sure if this is something we can handle as we are just sending a payload to an external Jitsi API. Can we create a separate issue for this if this is not concerning? So, this PR can be merged as it has been delayed a lot already.

raghavaggarwal2308 avatar Dec 26 '23 10:12 raghavaggarwal2308

@mickmister @VincentSC This PR has been on hold for a while. Should we assign this for QA review?

As the plugin has many problems (it does not build, as the dependencies are very outdated), I have not managed to test it yet. Even my comment of https://github.com/mattermost/mattermost-plugin-jitsi/issues/206#issuecomment-1428737754 is now outdated...

Suggestion for order of fixes:

  • update dependencies (so we can close #206)
  • 8x8 support (this PR, rebased)
  • UI glitches (of later concern, needs new issue as suggested)

VincentSC avatar Dec 27 '23 11:12 VincentSC

Can this be rebased against https://github.com/mattermost/mattermost-plugin-jitsi/pull/237 ? Simply because that PR builds, and this one doesn't.

VincentSC avatar Jan 15 '24 14:01 VincentSC

@raghavaggarwal2308 Can you please update your branch with master to so it includes https://github.com/mattermost/mattermost-plugin-jitsi/pull/237?

mickmister avatar Jan 16 '24 23:01 mickmister

It has been merged into master, I just saw.

VincentSC avatar Jan 17 '24 06:01 VincentSC

@mickmister @VincentSC Updated

raghavaggarwal2308 avatar Jan 17 '24 11:01 raghavaggarwal2308

It seems to be working for me (after fixing above issues)

Snektron avatar Jan 17 '24 14:01 Snektron

We tested for a few weeks. One big problem: every reconnect adds another MAU (Monthly Active User). So it becomes more a pay-per-use or a pay-per-connection instead of a pay-per-user. :(

Got this as a reply from 8x8:

Regarding the MAU count, you can check our docs here, so in short we store a deviceId on the local storage of the browser when a user joins a meeting, if the user clears the cookies, switches browser or device it will join with a different deviceId thus it will be counted as an extra MAU.

VincentSC avatar Feb 02 '24 14:02 VincentSC

Hi @VincentSC, thanks for reporting this.

every reconnect adds another MAU (Monthly Active User).

Do you happen to have any suggestions on how we might solve this on our end? I'm not 100% sure what is meant by "reconnect" here

mickmister avatar Feb 06 '24 01:02 mickmister