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

✨(website) dashboard lives on the website #2135

Merged
merged 18 commits into from
Apr 6, 2023

Conversation

AntoLC
Copy link
Contributor

@AntoLC AntoLC commented Mar 13, 2023

Purpose

Integrate the dashboard live on the website.

Proposal

Description...

  • ✨(website) dashboard lives on the website
  • 🏷️(frontend) change the jwt type to a more generic one
  • 📱(frontend) make the box title of the video info bar responsive
  • 📱(lib-video) add tab panel to teacher live video on mobile
  • 📱(frontend) adapt LTI and packages with the new breakpoints

Warning review 🚩

The code touch the student part as well, I advise you to have a look on the student side (LTI) to see if everything looks ok:

  • Player
  • Chat
  • Viewers
  • Title box
  • With small screen as well

@AntoLC AntoLC changed the base branch from master to feature/anthony/website/live-video/create March 13, 2023 15:52
@AntoLC AntoLC self-assigned this Mar 13, 2023
@AntoLC AntoLC added feature Frontend Site Linked to the marsha site labels Mar 13, 2023
@AntoLC AntoLC force-pushed the feature/anthony/website/live-video/update branch from 47f6483 to 31ca1e6 Compare March 16, 2023 09:56
@AntoLC AntoLC force-pushed the feature/anthony/website/live-video/create branch from 7d71493 to 0e88aa6 Compare March 17, 2023 11:30
@AntoLC AntoLC marked this pull request as draft March 17, 2023 11:31
@AntoLC AntoLC force-pushed the feature/anthony/website/live-video/create branch from 0e88aa6 to e09f7e9 Compare March 17, 2023 16:52
@AntoLC AntoLC force-pushed the feature/anthony/website/live-video/update branch from 1d26033 to 03bae59 Compare March 17, 2023 16:53
@AntoLC AntoLC force-pushed the feature/anthony/website/live-video/create branch 2 times, most recently from 483c2ae to 0e8f0a7 Compare March 22, 2023 13:04
@AntoLC AntoLC force-pushed the feature/anthony/website/live-video/update branch from 03bae59 to de8c5dc Compare March 22, 2023 15:59

const checkLtiToken = (jwt: DecodedJwtLTI) => {
return !!(
!jwt.roles.includes('none') &&
Copy link
Contributor Author

@AntoLC AntoLC Mar 22, 2023

Choose a reason for hiding this comment

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

@lunika, do you think it is the correct way to check it?

@AntoLC AntoLC force-pushed the feature/anthony/website/live-video/update branch 6 times, most recently from e8abf11 to 11d98e1 Compare March 23, 2023 16:08
@AntoLC AntoLC force-pushed the feature/anthony/website/live-video/update branch from 11d98e1 to c0b7e06 Compare March 23, 2023 16:23
@AntoLC AntoLC force-pushed the feature/anthony/website/live-video/create branch from 0e8f0a7 to 1bc9937 Compare April 3, 2023 11:55
Base automatically changed from feature/anthony/website/live-video/create to master April 3, 2023 12:13
@AntoLC AntoLC force-pushed the feature/anthony/website/live-video/update branch 6 times, most recently from a74daa0 to 3d7cc59 Compare April 4, 2023 12:04
@AntoLC AntoLC force-pushed the feature/anthony/website/live-video/update branch from 54a6420 to 5257280 Compare April 6, 2023 08:06
AntoLC and others added 15 commits April 6, 2023 10:07
Integrate the dashboard live on the website.
Some occurences were still using state.jwt instead of state.getJwt().
This commit fixes this.
Some messages were not used inside components. We removed them.
The jwt type was specific to the lti token. We had to change it
to a more generic one to be able to use it with different tokens,
with the web token in this case.
We had to get some permissions directly from the ressources instead of
the jwt, because the jwt didn't have everytime the informations depend
the token type.
The box title had responsive problems on smaller screens.
This commit fixes this issue by making the box title more responsive.
Fix: The title was not displayed and editable on mobile.
Feature: Make a tab panel to switch between the chat, the live
 and the viewers list.
In standalone_site we had more breakpoints available than in LTI,
it created some issues with the live dashboard layout.
This commit adapts the LTI and the packages with the new breakpoints
and fix the layout issues.
A mock to the video option api call was missing in
the VideoWidgetProvider test.
This commit adds it.
A mock to https://marsha.education/live.m3u8 was triggered in
the pollForLive test (Unmatched GET to https://marsha.education/live.m3u8)
but not capture by fetchMock because of "jest.runOnlyPendingTimers();"
This commit fixes that.
On the standalone site we must manage chat connection and disconnection
otherwise the converse client connects one to a xmpp room and never
disconnects. So when you navigate between several webinars you are still
seeing the same chat. First we must force chat disconnection when the
LiveUpdate component is unmounted, we force the user to logout and to
destroy the existing session. Then, the chat history must be reset to
not see messages between webinars when a user navigate.
On the standalone site, when a user leaves a webinar and disconnects
from the chat, the useParticipantsStore zustand store is not cleanup and
the current user is not removed in it. To fix this issue, we save the
converse user jid in the same store and remove the participant from this
store using this converse user jid.
Divers style fixes and improvements for the live video.
 - Modal not high enough
 - Icon surperposition issue
 - Button suport sharing
We changed the route url from /lives to /webinars
to be more consistent with the rest of the application.
The box title had responsive problems on smaller screens.
This commit fixes this issue by making the box title more responsive.
To avoid to import unecessary React in every tsx files,
we add it in the testSetup file.
@AntoLC AntoLC force-pushed the feature/anthony/website/live-video/update branch from 5257280 to b20cb36 Compare April 6, 2023 08:08
@AntoLC AntoLC enabled auto-merge (rebase) April 6, 2023 08:08
This file is almost the same for all packages.
We can mutualize it in marsha-config.
Forgot to remove the rollup config when I removed the rollup build.
Add @babel/preset-react to automatically add react to the jsx files
during the transpilation process.
@AntoLC AntoLC force-pushed the feature/anthony/website/live-video/update branch from b20cb36 to 6639888 Compare April 6, 2023 08:33
@AntoLC AntoLC merged commit e85d97f into master Apr 6, 2023
@AntoLC AntoLC deleted the feature/anthony/website/live-video/update branch April 6, 2023 08:45
lunika added a commit that referenced this pull request Apr 19, 2023
Added

- standalone website:
  - Integrate VOD dashboard (#2086)
  - List the lives in the contents section (#2104)
  - Live session model
  - Livesession backend rewrite
  - Add sentry
  - Create a live from the website (#2134)
  - Integrate webinar dashboard (#2135)
- Add a License Manager widget for LTI VOD view
- Add a title to the classroom file dropzone
- Add can_edit property on a serialized video
- Add an attribute to consumer site to deactivate resources in LTI select
- live transpilation on lib-video (#2150)
- live transpilation on lib-classroom (#2157)
- live transpilation on lib-markdown (#2160)
- live transpilation on lib-components (#2161)
- live transpilation on lib-tests (#2163)
- live transpilation on lib-common (#2164)
- Add a widget provider for the classroom creation form
- Allow delete playlist resources
  - FileDepository
  - Classroom
  - Document
  - Markdown
- Allow delete playlist
- add routes related URL:
  - thumbnails
  - timed_text_track
  - shared_live_media
- Add classroom widgets :
  - InfoBar
  - Description
  - Scheduling
  - Invite links
  - Support sharing
  - Recordings
- Add classroom invite link for an instructor
- Add a "Tools & Applications" widget for classrooms

Changed

- Update live sessions API to use nested video ID route
- Move generic widget components from lib-video to lib-components
- Make video dashboard collapsed by default
- improve the dropdown languages positionning in the dashboard (#2138)
- Make video dashboard visible by default, and collapsed when using the
  Moodle atto plugin
- Update live_session api to use mixin to prevent url crafting
- standalone website:
  - put the creating ressource form submit button disabled when the
    form is invalid (#2175)

Fixed

- redirect to error page when VOD is deleted
- Manage disconnection when multiple tabs were open on standalone site
- synchronisation between pages for the VOD description widget
- tooltip position on the website context dashboard (#2136)
- thumbnail not reset correctly on the video player (#2137)
- display title / description when a classroom is not scheduled and not started
- correctly fetch transcript content in TranscriptReader
- remove unused 'initiate-live' permissions
- increase debounce time in classroom description widget
- remove id3 tags upload when live channel is not ready
- add an invitation link for moderators in a launched classroom if available
lunika added a commit that referenced this pull request Apr 19, 2023
Added

- standalone website:
  - Integrate VOD dashboard (#2086)
  - List the lives in the contents section (#2104)
  - Live session model
  - Livesession backend rewrite
  - Add sentry
  - Create a live from the website (#2134)
  - Integrate webinar dashboard (#2135)
- Add a License Manager widget for LTI VOD view
- Add a title to the classroom file dropzone
- Add can_edit property on a serialized video
- Add an attribute to consumer site to deactivate resources in LTI select
- live transpilation on lib-video (#2150)
- live transpilation on lib-classroom (#2157)
- live transpilation on lib-markdown (#2160)
- live transpilation on lib-components (#2161)
- live transpilation on lib-tests (#2163)
- live transpilation on lib-common (#2164)
- Add a widget provider for the classroom creation form
- Allow delete playlist resources
  - FileDepository
  - Classroom
  - Document
  - Markdown
- Allow delete playlist
- add routes related URL:
  - thumbnails
  - timed_text_track
  - shared_live_media
- Add classroom widgets :
  - InfoBar
  - Description
  - Scheduling
  - Invite links
  - Support sharing
  - Recordings
- Add classroom invite link for an instructor
- Add a "Tools & Applications" widget for classrooms

Changed

- Update live sessions API to use nested video ID route
- Move generic widget components from lib-video to lib-components
- Make video dashboard collapsed by default
- improve the dropdown languages positionning in the dashboard (#2138)
- Make video dashboard visible by default, and collapsed when using the
  Moodle atto plugin
- Update live_session api to use mixin to prevent url crafting
- standalone website:
  - put the creating ressource form submit button disabled when the
    form is invalid (#2175)

Fixed

- redirect to error page when VOD is deleted
- Manage disconnection when multiple tabs were open on standalone site
- synchronisation between pages for the VOD description widget
- tooltip position on the website context dashboard (#2136)
- thumbnail not reset correctly on the video player (#2137)
- display title / description when a classroom is not scheduled and not started
- correctly fetch transcript content in TranscriptReader
- remove unused 'initiate-live' permissions
- increase debounce time in classroom description widget
- remove id3 tags upload when live channel is not ready
- add an invitation link for moderators in a launched classroom if available
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants