Sean Yesmunt
f2d83cbf9d
fetch ads provider for all homepage videos (but still only show ads for unauth users)
2021-04-26 16:38:33 -04:00
Max Kotlan
1279a6eaaf
Fixed and cleaned up Hotkeys. Fixed overlapping lbry hotkeys with browser hotkeys
2021-04-19 13:34:10 -04:00
Sean Yesmunt
e08b71774c
pre-roll ads
2021-04-12 12:55:06 -04:00
infinite-persistence
fb839b92ef
Only apply Staked Levels to Comments (allow it in Posts)
...
Blocking videos and images was too limiting, plus the system was intended to block spammy comments in the first place.
2021-04-09 11:27:07 -04:00
DispatchCommit
954966abbb
fix linting errors
2021-03-21 20:36:50 -04:00
r0ckinn
6b8554517c
also add keybinds for volume
2021-03-21 20:36:50 -04:00
r0ckinn
6b3dce0450
improve keyboard shortcuts
2021-03-21 20:36:50 -04:00
infinite-persistence
c7d7bef1d7
vjs: Narrow down changes to just playback rate
...
## Changes
- Restore original code for how Volume and Mute is restored.
- Playback rate will be only change that gets "re-restored" in "loadedmetadata".
2021-03-15 15:03:15 -04:00
infiinte-persistence
83912627de
vjs: Fix 'Video-setting persistence broken'
...
## Issue
5513: Video-setting persistence broken
## Notes
- Per videojs recommendation, the setting-restoration should be done after the video has been loaded, so the action was moved to `loadedmetadata`. This fixed the volume slider problem, and should have fixed the playbackRate too.
- For playbackRate, there is another special case where it gets reset to 1 (refer to comments in code).
2021-03-15 15:03:15 -04:00
infiinte-persistence
09c1cfeb8f
vjs: Fix 'Video showing previous audio clip's thumbnail instead'
...
## Issue
5450: Video showing previous audio clip's thumbnail instead
## Notes
`createVideoPlayerDOM` depends on `isAudio`
2021-03-15 15:03:15 -04:00
infiinte-persistence
9ce6ecc923
Lint fixes
...
I just wanted to make the lint fixes in a separate commit to make the diff's for the next commit clearer.
2021-03-15 15:03:15 -04:00
infinite-persistence
0d850742f5
Disable video previews in Comments and Post if author is below a certain level.
2021-03-12 10:38:16 -05:00
Sean Yesmunt
7702477e71
better posts styling
2021-03-11 14:12:59 -05:00
DispatchCommit
1f3035b2f9
remove console.log for linter
2021-03-09 16:04:40 -05:00
DispatchCommit
d47b6eae0c
Track duration for initial video fetch time
...
this may help identify degraded services and poor user experience.
2021-03-09 16:04:40 -05:00
DispatchCommit
db2e1aafb1
rename getHls to getVhs
...
adds deprecation warning and allows for backwards compatibility
2021-03-09 15:31:29 -05:00
DispatchCommit
d6aa72ed94
hls options is deprecated. Use vhs instead.
...
Fixes this video.js warning:
VIDEOJS: WARN: Using hls options is deprecated. Use vhs instead.
2021-03-09 15:31:29 -05:00
infinite-persistence
af8b683308
videojs: Localize + add shortcut tooltip
...
## Issue
Partially closes 3041: Display/hint what keyboard shortcuts are available in videos
(minus the "all shortcuts" overlay -- saving that for another day)
2021-03-08 14:13:56 -05:00
infinite-persistence
05383701af
Restore video loading circle
...
## Issue
5554: Video: loading circle sometimes does not appear until 2nd click
## What's happening
videojs behavior:
(a) A `src` change makes the Play button re-appear.
(b) An `onPlay` (or `play()`) makes the button go away.
Due to the `m3u8` header async fetch (i.e. return is potentially delayed), the initial `onPlay` (which cleared the button) that happened after user clicked Play gets negated by a potentially-delayed `src` change.
# Changes
- Manually hide the play button that is induced by the change in `src`. In the fetch-delay scenario mentioned above, the player continues to be in a 'playing' state anyway.
- But don't hide the button if paused externally (e.g. browser-level)
Restore video loading circle
2021-03-08 13:28:25 -05:00
DispatchCommit
1d12fc8102
hide quality selector by default
2021-03-08 12:08:12 -05:00
DispatchCommit
9be8a3036c
Move videojs sass file
...
Looking at a few other files hoping to understand the convention for components, I moved the videojs.scss file to where all CSS related files appear to be in the project.
2021-03-05 16:51:45 -05:00
DispatchCommit
46f58c63c8
Pull styling out out into it's own file
...
Also restores the CSS for vjs-overlay which I commented out previously for *some* reason (but I don't know why, and it doesn't seem to make a difference whether I comment it out or not)
2021-03-05 16:51:45 -05:00
DispatchCommit
d21a4fe8ab
Remove intermediate accent-color sass var
...
Replaced with direct usage of `var(--color-primary);`
2021-03-05 16:51:45 -05:00
DispatchCommit
3fb0ac80ae
Prevent user from highlight selecting UI
2021-03-05 16:51:45 -05:00
DispatchCommit
5a6743a4ce
Bring in the initial styling
2021-03-05 16:51:45 -05:00
togekk1
232841ef5e
Open ZoomableImage viewer when clicking on the image
2021-02-19 14:05:51 -05:00
togekk1
00017e241e
Revert "Open the actual image when clicking on the image viewer"
...
This reverts commit 6a99947ac2d3fada59438d818599af6b68dcebd8.
2021-02-19 14:05:51 -05:00
togekk1
6144b08cf9
Open the actual image when clicking on the image viewer
2021-02-19 14:05:51 -05:00
Sean Yesmunt
0a8d43e932
lint
2021-02-18 14:11:10 -05:00
DispatchCommit
d5d97fe6e7
cleanup plugin code
2021-02-18 14:11:10 -05:00
DispatchCommit
0fff2542b7
Add custom quality selector plugin
...
Adds custom video.js hls quality selector plugin
This allows the quality selector plugin to stay active and listen for source changes on the player to prevent the need to recreate the player when switching between MP4's and M3U8's
2021-02-18 14:11:10 -05:00
infiinte-persistence
d26d76fc70
Theater: hide button when not needed
...
## Issues
5349: Remove theater mode button from player in comments
5519: Theatre mode button doesn't do anything in full screen mode [Odysse/LBRY desktop app]
## Notes
5349: Wanted to hide for 'markdown' as well, but it seems useful for 'markdown' (to clear the screen from Related), so I did not include it.
2021-02-17 17:56:10 -05:00
Sean Yesmunt
8c21ec30e8
prevent caching on streaming url requests
...
Fixes an issue where the browser still thought a file wasn't transcoded because it was serving the cached response
2021-01-27 14:27:27 -05:00
Sean Yesmunt
99d7487bc2
fix quality selector not showing up
2021-01-27 14:27:27 -05:00
DispatchCommit
9a395a0284
remove leftover console log
2021-01-27 12:50:40 -05:00
DispatchCommit
d6e5df540e
remove unused player
reference
2021-01-27 12:50:40 -05:00
DispatchCommit
3d38739be1
adds vjs player reference to component state
2021-01-27 12:50:40 -05:00
infiinte-persistence
1f48dab312
Remove unnecessary 'reload' at the return statement.
...
We no longer need to re-render the whole thing..
2021-01-27 12:50:40 -05:00
infiinte-persistence
84bba58d64
Update broken 'Retry' button after videojs refactoring.
2021-01-27 12:50:40 -05:00
Dispatch
4cf9a455bc
add autoplay logic for embedded player ( #5399 )
...
Add autoplay logic when player is embedded.
Adds new `autoplay` prop to `VideoJs` component for specifying autoplay value.
2021-01-27 08:49:30 -05:00
DispatchCommit
52f883be4e
fix linting errors
2021-01-26 11:00:41 -05:00
DispatchCommit
ee28648852
remove console.log statements
2021-01-26 11:00:41 -05:00
DispatchCommit
d8564cda5a
hack-y solution to losing player context
...
use a global window variable to store the reference to the current video.js instance.
2021-01-26 11:00:41 -05:00
DispatchCommit
68ae2d571f
only react to source prop updates
2021-01-26 11:00:41 -05:00
DispatchCommit
7c8383f2dc
attempt to persist a single video.js instance
...
Continually recreating video.js instance on render is bad.
Instead, persist a single instance, and simply update the source and poster on the existing instance.
2021-01-26 11:00:41 -05:00
infiinte-persistence
855d13e735
Add "t" as shortcut for Theather Mode
2021-01-25 10:38:25 -05:00
DispatchCommit
bb3354581a
fix overrideNative option for vjs
...
resolves https://github.com/lbryio/lbry-desktop/issues/5323
2021-01-20 21:49:08 -05:00
Sean Yesmunt
21cbb64001
Revert "Add Chromecast support on Google Chrome."
...
This reverts commit 65ce47a7d1
.
2021-01-20 15:14:00 -05:00
Sean Yesmunt
c166060f0d
Revert "Pass the title and channel name to Chromecast."
...
This reverts commit bb828385d0
.
2021-01-20 15:14:00 -05:00
infiinte-persistence
bb828385d0
Pass the title and channel name to Chromecast.
...
I'm a bit wary of adding props to this component due to the 'dispose' call, but I think 'source' and 'claim' will update together, so it shouldn't be an issue?
2021-01-19 10:29:28 -05:00
infiinte-persistence
65ce47a7d1
Add Chromecast support on Google Chrome.
2021-01-19 10:29:28 -05:00
infiinte-persistence
95b4f89e50
Make 'playback rate' persistent
...
## Issue
5308: Ability to choose default play speed and theatre mode or regular playback size
## Comments
Initially, I used the local storage, as per 'muted' and 'volume' -- I thought that would be appropriate.
Later, I saw that Theater Mode is already using Client Settings, so I re-did everything to match that.
Also, there is an accompanying commit in lbyr-redux.
2021-01-19 10:16:46 -05:00
Sean Yesmunt
80a7cbe16f
add quality selector to transcoded videos
2021-01-15 10:34:41 -05:00
Sean Yesmunt
d43c4d053e
add video theater mode button
2021-01-08 08:27:41 -07:00
Sean Yesmunt
eb398c419a
turn it back on but ✨ head ✨
2021-01-06 23:03:23 -05:00
Sean Yesmunt
d92f6d3e18
comment out redirect handling for transcoded streams
2021-01-06 18:40:38 -05:00
Sean Yesmunt
2436c3eb70
add extra check for video source response
2021-01-04 15:19:54 -05:00
Sean Yesmunt
f59cdb1929
fix for hls support
2021-01-04 15:04:36 -05:00
Sean Yesmunt
a8cb4d7d57
update videojs import to include http-streaming module
...
so we can support hls streams
2020-12-28 13:44:38 -05:00
infiinte-persistence
49abbecbd7
mobile-ui: Fix missing chromecast button in Android-Chrome
...
## Issue:
5119 "Video: Mobile UI + overlay for keyboard shortcut feedback" was disabled because the feature broke the chromecast button in Android Chrome
2020-12-21 12:15:45 -05:00
infiinte-persistence
4a4247180f
Revert "comment out mobileUI function until chromecast bug is fixed"
...
This reverts commit d8c4ff62cb
.
2020-12-21 12:15:45 -05:00
infiinte-persistence
897128a168
Restore "Handle timestamp in Markdown."
...
This reverts the revertion in:
- 85f8965d44
.
- d3f0e471e5
.
2020-12-18 11:35:47 -05:00
Sean Yesmunt
d8c4ff62cb
comment out mobileUI function until chromecast bug is fixed
2020-12-15 17:03:32 -05:00
Sean Yesmunt
0d4659472b
remove old ads code and disable videojs mobile plugin
2020-12-15 14:10:57 -05:00
Sean Yesmunt
85f8965d44
Revert "Handle timestamp in Markdown."
...
This reverts commit 3f1913e5f4
.
2020-12-14 22:31:18 -05:00
infiinte-persistence
3f1913e5f4
Handle timestamp in Markdown.
...
The videojs player is exposed through the 'window' object.
2020-12-14 12:12:50 -05:00
infinite-persistence
04fbde49ec
Video: Mobile UI + overlay for keyboard shortcut feedback ( #5119 )
...
Co-authored-by: import <>
2020-12-14 11:40:59 -05:00
zeppi
b736444306
player started event (embedded)
2020-11-30 14:52:05 -05:00
infiinte-persistence
28e7fec338
videojs: Add shortcuts for Playback-Rate
...
">" (shift + .) = Speed Up
"<" (shift + ,) = Speed Down
2020-11-23 13:12:22 -05:00
infiinte-persistence
18debf51cd
FloatingPlayer: fix unusable volume slider in fp-mode
...
4913: Can't slide volume slider in pop out mode
I first tried to handle this at the floating player level, but it was impossible to hack there due to how 'react-draggable' works (it already moved the window before the "move" handler is called, so we can't do much).
Fix by overriding the dragging behavior of the videojs' VolumeBar class by not propagating the event further. It is odd that videojs didn't already do this, since it's SeekBar does stop the propagation.
2020-11-16 10:38:29 -05:00
Sean Yesmunt
c21fef5b24
new ads provider
2020-11-05 12:21:32 -05:00
Sean Yesmunt
fd5cde08c3
add back video player on adstest pagegaa
2020-11-04 12:00:31 -05:00
Sean Yesmunt
cb50b8a9bc
Revert "Improve IOS inline experience"
...
This reverts commit 9b38ba6c02
.
2020-11-02 17:15:02 -05:00
Sean Yesmunt
e6016538b4
add ads script to head for test
2020-11-02 12:01:58 -05:00
Sean Yesmunt
52eb4de7a9
add adstest page to test player ads
2020-10-30 00:20:42 -04:00
Thomas Zarebczan
9b38ba6c02
Improve IOS inline experience
...
Also puts back the video js player which has rate support - but it's hidden on smaller devices...maybe someone can fix later on.
2020-10-29 17:02:40 -04:00
Sean Yesmunt
295b8cf2e1
refactor floatingUri to allow inline players in comments/markdown
2020-10-21 15:29:29 -04:00
Sean Yesmunt
1f2fabe81b
Use sentence case for all card titles
2020-09-29 17:12:32 -04:00
Sean Yesmunt
bba539f846
Revert "Revert "add logging of player point of presence""
...
This reverts commit 4067e1ffd8
.
2020-09-09 14:55:16 -04:00
Sean Yesmunt
4067e1ffd8
Revert "add logging of player point of presence"
...
This reverts commit fb142f7699
.
2020-09-09 14:40:43 -04:00
Jeremy Kauffman
fb142f7699
add logging of player point of presence
2020-09-09 10:48:15 -04:00
Sean Yesmunt
2f995be794
use new buffer analytics api
2020-08-07 22:54:29 -04:00
jessop
d9bf72a351
all settings constants come from redux
...
sync settings
backout nav cases and anon preference key
more robust backout header
put notificationSettings under backout bar
review changes
2020-07-27 11:53:14 -04:00
infiinte-persistence
8e7604ec33
Video: Consolidate showTapButton() into a single call since the functionality is mutually exclusive.
2020-07-15 16:10:10 -04:00
infiinte-persistence
7bef092013
Add option to retry video stream on failure
...
## Issue
Closes 4475 Option to retry video stream on failure
2020-07-15 16:10:10 -04:00
infiinte-persistence
115c456318
Video: Stop loading circle when there's an error.
2020-07-15 16:10:10 -04:00
infiinte-persistence
5e51016602
VideoJSOptions: Remove duplicate poster
declaration
2020-07-15 16:10:10 -04:00
infiinte-persistence
833bceeacc
Fix unmuted state lost or reverted when playing a new video.
...
## Issue
Fixes 4460 `unmuted state lost / reverted`
1. Play a video.
2. Press mute.
3. Drag the volume bar to unmute.
4. Play a new video --> the video starts muted.
## Fix
The `volumechange` handler was comparing against stale variables, so there are times where the state was not saved. Just save both `muted` and `volume` without additional gating (the gating is probably unnecessary in the first place, since we are in a onChange function).
2020-07-07 09:28:04 -04:00
infiinte-persistence
d01c20394e
Fix "muted=false + volume=0" case.
...
We need to handle two types of "mute":
- Volume icon is pressed to mute.
- Volume slider moved to 0%.
2020-06-16 17:14:22 -04:00
infiinte-persistence
662778c47b
Use 'process.env.NODE_ENV' instead of 'electron-is-dev' for spewing debug logs.
2020-06-16 17:14:22 -04:00
infiinte-persistence
a20ea08ac7
Show "unmute" option on videos automatically muted by browser.
...
Implementation:
- The code is placed in <VideoJs> instead of <VideoViewer> as we need to control the video itself. It's more self-contained here, rather than trying to pass refs around between parent and child.
- useState cannot be used as it will cause a re-render when the hint it clicked and dismissed. The DOM is used to hide the button.
2020-06-16 17:14:22 -04:00
Sean Yesmunt
2066205b8f
add user + rewards redux code from lbryinc
2020-06-16 09:56:32 -04:00
jessop
e3c2919373
rename lbrytv to web
...
language and API consts
improve customization
custom homepages
get config from .env.default
custom title and logo
small changes
add pinned item to sidebar
rebase?
2020-05-25 17:21:02 -04:00
Sean Yesmunt
74dc6f4469
use nativeControls for ios devices
2020-05-25 10:36:17 -04:00
Sean Yesmunt
21f9fc7b31
Revert "Make sure native controls appear on touch devices Closes #4150 "
...
This reverts commit 88f4329d34
.
2020-05-22 10:30:56 -04:00
Jeffrey Fisher
88f4329d34
Make sure native controls appear on touch devices
...
Closes #4150
2020-05-21 13:28:34 -04:00
Sean Yesmunt
c2abcf110c
Paid content on lbry.tv ( #4197 )
2020-05-21 11:38:28 -04:00
Jeffrey Fisher
394fad5754
Clear media position if video has played to the end.
...
Closes #4174
2020-05-15 09:51:18 -04:00
btzr-io
c19d04f83e
fix comic-book content-type detection
...
always show viewer: fix #4141
minor improvements for loading indicator
2020-05-13 10:18:36 -04:00
btzr-io
036cf734c6
prevent state updates after component unmounted
2020-05-13 10:18:36 -04:00
Baltazar Gomez
c8f21025d1
initial web support
2020-05-13 10:18:36 -04:00
Baltazar Gomez
1992e78c2e
update comicbook viewer
...
- convert to functional component
- use hooks to load stream
2020-05-13 10:18:36 -04:00
Sean Yesmunt
ff429117cd
make sure player callback has access to latest desktop start time
2020-05-05 16:47:27 -04:00
Sean Yesmunt
96d9e24a4b
fix time to start analytics for desktop and fix rewards link
2020-05-05 14:04:52 -04:00
Sean Yesmunt
db51789e07
pass time in ms to analytics for view apis
2020-05-05 10:09:53 -04:00
Jeffrey Fisher
7ea9c1c199
Only save media position on pause or dispose, not every timeupdate, for performance reasons.
2020-05-01 10:14:29 -04:00
Jeffrey Fisher
c1f74aba2e
Save media position in video viewer
...
Closes #2775
2020-05-01 10:14:29 -04:00
Sean Yesmunt
1a50e697ce
embed functionality inside markdown posts
2020-04-30 10:13:01 -04:00
Sean Yesmunt
c9f5813b81
try twice when the first play fails from a timeout
2020-04-29 11:00:42 -04:00
Sean Yesmunt
b61907ad22
update timeout
2020-04-29 11:00:42 -04:00
Sean Yesmunt
dd4cd9314c
style fixes
2020-04-29 11:00:42 -04:00
Sean Yesmunt
767c69e132
cleanup and fix flow issues
2020-04-29 11:00:42 -04:00
Sean Yesmunt
0754bb1a7f
hide double video controls on ios
2020-04-29 11:00:42 -04:00
Sean Yesmunt
04ee4afdc2
test with promise.race
2020-04-29 11:00:42 -04:00
Jeremy Kauffman
94a5dc47af
adjust volume earlier
2020-04-29 11:00:42 -04:00
Jeremy Kauffman
e23ae63c74
disable loading screen
2020-04-29 11:00:42 -04:00
Sean Yesmunt
4a6d9c7292
add log
2020-04-29 11:00:42 -04:00
Sean Yesmunt
ad8cdd130f
call play() programatically instead of using autoplay flag
2020-04-29 11:00:42 -04:00
Jeremy Kauffman
1a06ddca3b
always restore player volume settings on first play
2020-04-29 11:00:42 -04:00
Jeremy Kauffman
ab74052446
hackish change to get mute/volume reset working
2020-04-29 11:00:42 -04:00
Jeremy Kauffman
c89b69f6fc
callback player ready
2020-04-29 11:00:42 -04:00
Jeremy Kauffman
6c8b0b2d68
maybe ready
2020-04-29 11:00:42 -04:00
Sean Yesmunt
9db9363b9f
fix unwanted re-renders
2020-04-29 11:00:42 -04:00
Jeremy Kauffman
e4829c8ce1
broken demonstration
2020-04-29 11:00:42 -04:00
Jeremy Kauffman
793f622d8d
semi-broken
2020-04-29 11:00:42 -04:00
btzr-io
e4d822f818
Fix and enable 3D viewer: #4035
...
Fix 3d viewer styles
Fix minor warnings from three.js
Remove deprecated themes
Fix #4074
2020-04-27 14:27:04 -04:00
btzr-io
8b6c644415
fix comic book viewer styles: #4035
2020-04-27 10:00:08 -04:00
Jeffrey Fisher
e6a044d8e1
Fix flow error.
...
Partial fix for #2024
2020-04-21 17:12:31 -04:00
Jeffrey Fisher
bfb2584970
Remove defaultExpand attribute so card is not collapsable
2020-04-21 17:07:56 -04:00
Jeffrey Fisher
b786ba82ae
First attempt to fix #3993 . Show error message
...
if image is not able to be displayed by browser.
2020-04-21 17:07:56 -04:00
Baltazar Gomez
3d3223eab8
fix comicbook viewer
2020-04-16 12:22:19 -04:00
Sean Yesmunt
7218b78746
fetch continent cookie on server-side and clean up video effects
2020-04-08 15:12:22 -04:00
Sean Yesmunt
39102d81ca
fix viewcount being fired before video starts playing
2020-04-06 15:34:49 -04:00
Jeremy Kauffman
872259b73a
File downloads and refactoring ( #3918 )
...
* am I done?
* post diff
* unused selector cleanup
* missed commit
* mess with button styles
* fix flow
Co-authored-by: Jeremy Kauffman <jeremy@lbry.io>
Co-authored-by: Sean Yesmunt <sean@lbry.io>
2020-04-01 14:43:50 -04:00
Thomas Zarebczan
829c2eac50
small fixes
2020-03-30 09:05:30 -04:00
Jeremy Kauffman
ef4d8f5988
best 7 lines ever
2020-03-19 16:38:24 -04:00
Sean Yesmunt
3eae6f8fdf
temporarily disable lbry-format apps
2020-03-10 10:03:20 -07:00
Yamboy1
7cb187907d
Remove alert
2020-02-07 09:21:28 -05:00
Yamboy1
9cc19936eb
Add integrated light theme
2020-02-07 09:21:28 -05:00
Yamboy1
222287d4b7
Fix sizing for html files and add loading indicator
2020-02-07 09:21:28 -05:00
Yamboy1
da58818198
Update codemirror theme when global theme changes
2020-02-07 09:21:28 -05:00
Yamboy1
f990e4bd16
Codebox theming
2020-02-07 09:21:28 -05:00
jessop
9f1d4e3688
embed improvements
...
- autoplay=true param
- mute on autoplay
- thumb poster on embeds (unless autoplay)
- twitter player card for audio too
2020-02-05 16:50:18 -05:00
Dalton
d191be8771
fixes #3498 - blurs the fullscreen button to prevent spacebar from selecting it again
...
ts-ignore -> flowFixMe
2020-02-03 09:20:12 -05:00
jessop
a1e24d6dcc
actually disable autoplay in embeds
2020-01-31 13:33:21 -05:00
Sean Yesmunt
d312a8e8b6
basic autoplay timer working
2020-01-28 09:35:39 -05:00
jessop
31fa714ef5
send player events as timing events
2020-01-27 09:20:31 -05:00
jessop
fab7dfdb41
add review changes
2020-01-24 13:41:09 -05:00
jessop
75410392d8
send events when video buffers
2020-01-24 13:41:09 -05:00
Sean Yesmunt
72b9f3efdd
new text viewer layout
2020-01-06 16:35:43 -05:00