{"push_id":3110622710,"size":18,"distinct_size":18,"ref":"refs/heads/issue-356-360-embed-player","head":"11e6224bd7411bd45d89155f75cd8eb81a83522e","before":"cde58d130c5a46e3d0cb2418c1e00b973257c497","commits":[{"sha":"fef44684dec96f919fc0b6ae17ad6b5411d38e4c","author":{"name":"Rich Wareham","email":"2ec959b9e6c3ef2a285763652301ba04db79cd79@cam.ac.uk"},"message":"FIXME: compose: add GTAG_ID for development\n\nAdd configuration to the development for Google.","distinct":true,"url":"https://api.github.com/repos/rjw57/sms-webapp/commits/fef44684dec96f919fc0b6ae17ad6b5411d38e4c"},{"sha":"10ebcd7d2f450e8bbfe1be8afbf07dc1c610e7a2","author":{"name":"Rich Wareham","email":"2ec959b9e6c3ef2a285763652301ba04db79cd79@cam.ac.uk"},"message":"frontend: add @types/jwplayer package\n\nAdd a set of type descriptions for the JWPlayer JS API.","distinct":true,"url":"https://api.github.com/repos/rjw57/sms-webapp/commits/10ebcd7d2f450e8bbfe1be8afbf07dc1c610e7a2"},{"sha":"e087e915d2fa0ff26a1df95fb795c31a376d7f5c","author":{"name":"Rich Wareham","email":"2ec959b9e6c3ef2a285763652301ba04db79cd79@cam.ac.uk"},"message":"frontend: add @types/classnames\n\nThe classnames package is provided by Material UI to make forming class\nnames a little easier when they depend on values. We use it later in our\nvarious new UI components which are written in typescript and so we need\nto make sure the type definitions are present.","distinct":true,"url":"https://api.github.com/repos/rjw57/sms-webapp/commits/e087e915d2fa0ff26a1df95fb795c31a376d7f5c"},{"sha":"256f75faab85258e27df1588434383871eae0387","author":{"name":"Rich Wareham","email":"2ec959b9e6c3ef2a285763652301ba04db79cd79@cam.ac.uk"},"message":"frontend: package-lock.json update","distinct":true,"url":"https://api.github.com/repos/rjw57/sms-webapp/commits/256f75faab85258e27df1588434383871eae0387"},{"sha":"b12114456881667045f4455e297ebec9152476c7","author":{"name":"Rich Wareham","email":"2ec959b9e6c3ef2a285763652301ba04db79cd79@cam.ac.uk"},"message":"mediaplatform_jwp: add new function to retrieve player library URL\n\nAdd a new function which can be used to retrieve a URL for a JWP player.\nlibrary. This can then be used in views which need a JWP player.","distinct":true,"url":"https://api.github.com/repos/rjw57/sms-webapp/commits/b12114456881667045f4455e297ebec9152476c7"},{"sha":"cd2632506e1be7b5d4b9ac511ec650b66e4b814c","author":{"name":"Rich Wareham","email":"2ec959b9e6c3ef2a285763652301ba04db79cd79@cam.ac.uk"},"message":"ui: add view which redirects to JWPlayer library\n\nThe JWPlayer library URL is signed and so, annoyingly, needs to be\ncomputed each time within the backend. Add a redirect view which will\nalways redirect /lib/player/js to the correct URL for the configured\nJWPlayer.","distinct":true,"url":"https://api.github.com/repos/rjw57/sms-webapp/commits/cd2632506e1be7b5d4b9ac511ec650b66e4b814c"},{"sha":"3c6050536e2f8b4d9caf710ad1650f60af5140e1","author":{"name":"Rich Wareham","email":"2ec959b9e6c3ef2a285763652301ba04db79cd79@cam.ac.uk"},"message":"frontend: add getJWPlayerStatic (REWORD)","distinct":true,"url":"https://api.github.com/repos/rjw57/sms-webapp/commits/3c6050536e2f8b4d9caf710ad1650f60af5140e1"},{"sha":"6b049e49e26a84a03b463ff1df728090f665bf9e","author":{"name":"Rich Wareham","email":"2ec959b9e6c3ef2a285763652301ba04db79cd79@cam.ac.uk"},"message":"frontend: new component EmbedMessageDialog","distinct":true,"url":"https://api.github.com/repos/rjw57/sms-webapp/commits/6b049e49e26a84a03b463ff1df728090f665bf9e"},{"sha":"4e10d7a6714b15eb1a36edf070709779356b19d0","author":{"name":"Rich Wareham","email":"2ec959b9e6c3ef2a285763652301ba04db79cd79@cam.ac.uk"},"message":"frontend: new provider JWPlayerProvider","distinct":true,"url":"https://api.github.com/repos/rjw57/sms-webapp/commits/4e10d7a6714b15eb1a36edf070709779356b19d0"},{"sha":"e260b3698db28da30dcf8132b7402f05b5fbd4cd","author":{"name":"Rich Wareham","email":"2ec959b9e6c3ef2a285763652301ba04db79cd79@cam.ac.uk"},"message":"frontend: new component: ResponsiveJWPlayerPlayer","distinct":true,"url":"https://api.github.com/repos/rjw57/sms-webapp/commits/e260b3698db28da30dcf8132b7402f05b5fbd4cd"},{"sha":"1bd3d0e2c2c2533fe35fd1f8cc21e046d0c1e550","author":{"name":"Rich Wareham","email":"2ec959b9e6c3ef2a285763652301ba04db79cd79@cam.ac.uk"},"message":"add Generic config provider","distinct":true,"url":"https://api.github.com/repos/rjw57/sms-webapp/commits/1bd3d0e2c2c2533fe35fd1f8cc21e046d0c1e550"},{"sha":"9154d0fa9ec272141776baae297a892c7b712c27","author":{"name":"Rich Wareham","email":"2ec959b9e6c3ef2a285763652301ba04db79cd79@cam.ac.uk"},"message":"move embed view out of API and into UI\n\nThe embed view is essentially UI and so should live in the UI module.\nThis is doubly true in that it will soon be used to embed playlists as\nwell as individual media items.\n\nOriginally, #360 specified that HLS/DASH should be enabled and the\nJWPlayer player be configured to support it. It turns out that the\nplayer can already directly consume media and playlist JSON responses\nfrom the JWP delivery API and extract the HLS streams from it so we make\nuse of that instead.\n\nWe remove the embed view from the API and the related templates and\ncustom 404 pages. We then add a new endpoint to the UI application which\ncan retrieve the configuration which needs to be passed to the player.\n\nIn order to support playlists going forward, the JWP configuration\nendpoint can return multiple JWP delivery API URLs which are combined in\nthe frontend into a single playlist.\n\nThe embed view is re-written to be part of the UI frontend proper and\nretrieves the JWP configuration from the custom endpoint client-side.\n\nThe new embed view has no 404 page. Instead we render a friendly error\nresponse to the user if there is a problem fetching the JWP\nconfiguration and encourage them to sign in.\n\nCloses #360","distinct":true,"url":"https://api.github.com/repos/rjw57/sms-webapp/commits/9154d0fa9ec272141776baae297a892c7b712c27"},{"sha":"b497b89ec0afb5aceb34760864ba80acbb68690a","author":{"name":"Rich Wareham","email":"2ec959b9e6c3ef2a285763652301ba04db79cd79@cam.ac.uk"},"message":"ui: add Playlist configuration view","distinct":true,"url":"https://api.github.com/repos/rjw57/sms-webapp/commits/b497b89ec0afb5aceb34760864ba80acbb68690a"},{"sha":"1f771535a3bd35b07fd997eafb67594a481b4e57","author":{"name":"Rich Wareham","email":"2ec959b9e6c3ef2a285763652301ba04db79cd79@cam.ac.uk"},"message":"frontend: add JWPlayerPlaylistProvider","distinct":true,"url":"https://api.github.com/repos/rjw57/sms-webapp/commits/1f771535a3bd35b07fd997eafb67594a481b4e57"},{"sha":"c1dafddc6b716159861ce5b0054f84bfedf6e240","author":{"name":"Rich Wareham","email":"2ec959b9e6c3ef2a285763652301ba04db79cd79@cam.ac.uk"},"message":"frotnent: add support for UI playlist configuration API","distinct":true,"url":"https://api.github.com/repos/rjw57/sms-webapp/commits/c1dafddc6b716159861ce5b0054f84bfedf6e240"},{"sha":"27d26c3479ae521c22dc012c7c48a8d8b145fb76","author":{"name":"Rich Wareham","email":"2ec959b9e6c3ef2a285763652301ba04db79cd79@cam.ac.uk"},"message":"frontend: add PlaylistJWPConfigurationProvider","distinct":true,"url":"https://api.github.com/repos/rjw57/sms-webapp/commits/27d26c3479ae521c22dc012c7c48a8d8b145fb76"},{"sha":"d188af0ded53e19549580e90d36b044dba5e6e0a","author":{"name":"Rich Wareham","email":"2ec959b9e6c3ef2a285763652301ba04db79cd79@cam.ac.uk"},"message":"frontend: add PlaylistEmbedPage","distinct":true,"url":"https://api.github.com/repos/rjw57/sms-webapp/commits/d188af0ded53e19549580e90d36b044dba5e6e0a"},{"sha":"11e6224bd7411bd45d89155f75cd8eb81a83522e","author":{"name":"Rich Wareham","email":"2ec959b9e6c3ef2a285763652301ba04db79cd79@cam.ac.uk"},"message":"ui: url: add embed view for playlist","distinct":true,"url":"https://api.github.com/repos/rjw57/sms-webapp/commits/11e6224bd7411bd45d89155f75cd8eb81a83522e"}]}
{"actor":{"display_login":"rjw57"}}