Commit graph

665 commits

Author SHA1 Message Date
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
infiinte-persistence a75840ab4d Bump changelog to 0.49.0 2020-12-11 10:18:07 -05:00
Sean Yesmunt f9c37ecc70 bump lbry-sdk to 0.86.1 2020-12-08 17:19:11 -05:00
Sean Yesmunt e802827299 bump lbry-sdk to 0.86.0 2020-12-08 10:27:58 -05:00
Sean Yesmunt 1ff2dec93f update changelog 2020-12-03 12:59:00 -05:00
Sean Yesmunt 7a29ebf398 bump lbry-sdk to 0.85.1 2020-11-23 14:03:51 -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 c9831d1949 Customize scrollbar to fit the theme colors
## Issue
4727: Sidebar's transient scrollbar doesn't fit in the Dark Theme

## Approach
The 'webkit' API works on Chrome, but Firefox ignores it and uses it's own fancy scrollbar when 'webkit' is used (can't seem to change any properties). It's better than the current look, but still doesn't fit our theme, plus it makes the product look different on different browsers.

Firefox now supports the new 'scrollbar' API, so we can now tweak the scrollbar, but the API only provides limited attributes.

Don't wanna complicate things by using Javascript, so we'll use Firefox's limited attributes as the common denominator and just live with a plain, rectangle scroll bar BUT with better color to match the theme.
2020-11-23 11:00:41 -05:00
infiinte-persistence 00350fec80 Hide mouse cursor when video is playing
## Issue:
5044: Auto hide cursor on video on static hover

## Approach
The existing code only hides the cursor when playing in fullscreen. Extend that to normal mode as well.

## Extra
Add in few new strings
2020-11-17 12:53:01 -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
infiinte-persistence dfef97d715 claim_search: Don't clear past page results if subsequent pages timeout.
## Issue
4609: If claim search on latter page fails, don't clear out all previous data

## Note
This requires an accompanying change in `lbry-redux` to mark `claimSearchResultLastPageReached` during timeout and to not purge past results.

## Change
The previous flow was: increment the page, and expect the next render to either be 0 (timeout + purge) or fill in at least 1 new item.

Since it is now possible for no results to be returned for the new page (due to timeout + no purging), the code continues to make another query. This commit stops the perpetual querying.

## Test Case:
1. https://lbry.tv/$/discover?t=imherelbry&content=video&order=top&fresh=year
2. Scroll down a few pages until it timeout happens. Past results are gone.
2020-11-13 13:23:50 -05:00
Sean Yesmunt 4755a7b57f update changelog 2020-11-02 17:27:08 -05:00
Sean Yesmunt dc6267f757 update changelog 2020-10-19 23:37:39 -04:00
Sean Yesmunt 2311fbdaae update changelog 2020-10-16 13:05:56 -04:00
Sean Yesmunt bcb65cd9fa update changelog 2020-10-15 14:32:58 -04:00
Sean Yesmunt efb03d016b bump sdk to 0.83.0 2020-10-12 15:01:24 -04:00
Sean Yesmunt a59e0c928f update changelog 2020-10-08 12:20:59 -04:00
Sean Yesmunt 0ea287a7bf update changelog 2020-10-08 10:53:46 -04:00
infiinte-persistence 329f6b3da6 Comment: Change 'shift+enter' to 'ctrl|cmd+enter' for quick submit.
ctrl+enter is generally used for this action, while shift+enter generally used to insert a <br>.
2020-10-06 02:02:11 -04:00
infiinte-persistence 108a898ebf Expandable: Fade out section when 'closed'
## Issue
The abrupt cut-off of the expandable section bugs me (looks like a rendering glitch), especially when it cuts off in the middle of a line.

## Change
In addition to the existing 'More' button, we fade out the section to provide additional visual cues.

## Approach
This solution doesn't require the background color to be known, so it will work regardless where <Expandable> is used, or whatever color-scheme is chosen.

However, it does utilize non-standard css -- for older browsers, it should simply cut-off like the before.
2020-10-02 11:54:43 -04:00
infiinte-persistence 589903f5e8 PublishPreview: strings and changelog 2020-10-02 10:25:17 -04:00
Sean Yesmunt 1f2fabe81b Use sentence case for all card titles 2020-09-29 17:12:32 -04:00
infiinte-persistence 5b897e5748 Corrected version in changelog 2020-09-29 12:09:16 -04:00
Sean Yesmunt 68ef9a0561 update changelog 2020-09-23 11:52:10 -04:00
infiinte-persistence 6a73e02bf1 Fix "Price=free" giving 0 results in Following query
## Issue
Fixes 4477: `Price="free" yields nothing`

## Remarks
I didn't consult the documentation, but simply did a trial-and-error.
"=0" -- didn't work
"<=0" -- works
2020-09-21 12:22:33 -04:00
infiinte-persistence dbcd677e69 MDE: Replace the iframe with a stub in "edit + preview" mode.
## Issue
4644: Markdown Preview breaks when <iframe> is present

Error: "Invariant violation: could not find 'store' ..."

## Change
Until we figure out a way to pass the store to the SimpleMDE preview formatter, just replace the embed with a stub region.
2020-09-16 16:15:27 -04:00
infiinte-persistence 4fc5a018e5 Clear 'passwordSet*' flags too in USER_PASSWORD_SET_CLEAR
## Issue
4749: "Password updated successfully" kept showing up

## Change
In addition to the `passwordReset*` variables, reset the `passwordSet*` variables as well for `USER_PASSWORD_SET_CLEAR`.
2020-09-15 12:52:12 -04:00
Sean Yesmunt 3308b152c9 update changelog 2020-09-10 14:36:11 -04:00
infiinte-persistence e784107a0b FloatingPlayer: Stay within screen when window is resized
## Issue
4741: `Pop out player disappears or is cut off`

## Approach:
- When dragging stops, determine the location of the floating player with respect to the main window in terms of percentage.
- When window is resized, roughly re-position based on the stored percentage.
2020-09-10 11:06:35 -04:00
infiinte-persistence 202269ebeb Web: Fix 'Download' not triggering until second attempt
## Issue
4669: `Download doesn't trigger on web until 2nd attempt`

The issue only happens when _Autoplay_ is disabled in the User Settings and the video hasn't been loaded when _Download_ is clicked.

The following code:
   `if (didClickDownloadButton && streamingUrl)`
didn't triggered because:
1. `streamingUrl` has not resolved yet when the Effect ran.
2. When it did resolve, the parent component was also notified and unmounted things, causing `didClickDownloadButton` to reset.

## Approach
Avoid the unnecessary unmounting by not using a conditional section wrapper within a return statement. React probably couldn't do the diffs when the conditional is at a section level.
2020-09-04 11:52:38 -04:00
infiinte-persistence 7edd9f7c92 Fix partially untranslated text in the Upgrade Modal
## Issue
- "See the" was not encapsulated with the translation macro.
- Split-strings are not translatable for some languages.

## Change
Combine the entire sentence into a single string with variable.
2020-09-04 11:51:31 -04:00
infiinte-persistence 2e1d7fde1a Fix floating player being paused after dragging.
## Issue
Fixes 4709 `Dragging floating player via video section pauses video`

## Changes
Don't propagate the key-up action if the window was dragged. Hopefully there isn't another sub-component that relies on the action being propagated.

## Note
If you drag at exactly the "Play" icon the control bar, the issue still happens.
2020-08-27 13:59:25 -04:00
infiinte-persistence 9e3fe5de37 Fix changelog
- Added entry for the new "in-app editor"
- Fixed URL and sentence (made a guess on what it was supposed to be) for the file-property icon location change.
- Fixed missing parenthesis.
2020-08-21 00:17:02 -04:00
Sean Yesmunt 964a8f7031 update changelog 2020-08-20 01:26:21 -04:00
Newbyte 2525dcf983 Implement OpenSearch support 2020-08-12 13:35:49 -04:00
infiinte-persistence c75bab5979 Tip Modal: Don't do final submit when the intention is to create New Channel.
## Issue
Fixes `4544 Channel-creation in "Tip|Support" Modal shouldn't submit LBC immediately`

## Changes
`Form` seems to have already tried to stop the propagation of `onSubmit`, so I'm not sure why it was still propagated.

Fix by using the same method used in the `CommentCreate`, which is simply to check for `CHANNEL_NEW` as the current selection.
2020-08-05 13:01:29 -04:00
infiinte-persistence 37a1fd88e3 selectChannel: sync auto-resolved value during mounting.
## Issue
Fixes `4621 Can't create Comments if you recently deleted a channel`

The `channel` that the parent passes in is from a persisted state. If the channel has been deleted, `<select>` will automatically resolve to another selectable value. However, `onChange` will not be called for this scenario, so we now have a mismatch.

## Changes
- Manually check if the value has been auto-resolved and report it to the parent.
- An extra `setTimeout` was needed. It seems like `onChannelChange` needs to be called after the first `useEffect` of the parent, otherwise the call has no effect.
2020-08-05 12:59:54 -04:00
infiinte-persistence 93d26a0ebb Fix 'Comments' being loaded on Autoplay despite not visible. 2020-07-29 17:56:38 -04:00
infiinte-persistence f53bda865c Fix changelog for 0.47.1 2020-07-27 10:35:58 -04:00
infiinte-persistence 4c57cdd99f Block mature content when accessed directly from URL
## Issue:
Fixes 4549 `Mature content + navigating to URLs directly`
_If a user navigates to mature content directly, we currently show the page even if mature content setting is not enabled. With our recent mature content verification setting, we should hide the page until the user turns it on - we can prompt directly on the file page._

## Changes:
1. Show basic info of the claim like URL and Title, so that user knows which page is being blocked.
2. Initially, I had 2 "boxes" -- one for the title and another for the message. It felt a bit messy, so `FileTitle` was augmented to house everything in one box.
2020-07-24 16:59:02 -04:00
infiinte-persistence 2f5beb84fa Fix sluggish Back button when navigation back to channels with lots of comments
## Issue
When navigating back and forth between a File and Channel page, the back-action will be laggy (no response) if the channel contains a lot of comments and is in the midst of resolving them.

## Changes
The "full" fix would be to batch-load comments, as this would improve the performance of fetching both Channel and File comments. For now, this commit focuses on the Back action problem only.

Skip fetching comments by not mounting 'ChannelDiscussion' until the tab is selected. I couldn't find anything in the Reach UI documentation on how to not render inactive `TabPanel`s, so I used the straight-forward state method.
2020-07-24 09:22:35 -04:00
Sean Yesmunt f7a13ab52e update changelog 2020-07-22 14:24:42 -04:00
Sean Yesmunt b7f3dcad76 remove paid content reward claim 2020-07-22 12:58:20 -04:00
infiinte-persistence ca4dd9e246 New Channel: Fix incorrect GUI configuration at entry
## Issue:
Fixes 4411 `"SelectChannel=New" doesn't show all fields on re-entry`

## Code Changes:
`selectChannel`: Correct the value of `addingChannel` in the constructor based on the given props.
2020-07-20 11:36:36 -04:00
infiinte-persistence 60af367b18 Fix channel file-search not available in mobile
## Issue
Fixes 4524 `[mobile] in channel search not available`

## Changes
There are currently 3 wunderbars: (1) header (2) channel list (3) downloaded list.

The additional `wrapperStyle` in the header made it hard to find a solution that works for all 3, so I split 2 and 3 into `wunderbar__input--inline`.
2020-07-20 10:37:10 -04:00
infiinte-persistence f31369a16d Fix 'transcoding' checkbox state when switching file types.
## Issue:
Currently, the checkbox grayed-out state is only correctly updated when changing from "no-file" to "file selected". If you have selected a video file and later changed to a text file, the checkbox doesn't gray out.

## Code Changes:
`fileVid` wasn't being updated for the case of non-videos; now it does.
2020-07-20 09:57:59 -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 cba2ccf1cb Show "YT Creator" label in File Page as well.
## Issue
Closes 3964 `Add Youtuber info to file page`

## Changes
(1) Refactor the YT-info query into `YoutubeBadge` component.
(2) For the File Page case, don't show "- last sync <date>" since the date has nothing to do with the file.

## Test
[x] YT Channel page
[x] YT Channel's claim page
[x] Non YT Channel page
[x] Non YT Channel's claim page
[x] No channel (anonymous) claim page
[x] Various RENDER_MODES
2020-07-15 15:27:03 -04:00