Commit graph

747 commits

Author SHA1 Message Date
infiinte-persistence
16ea14887c Inf-scroll: Change region to 'main' to ignore long tag/following list.
## Issue:
2789 `Infinite scrolling should activate at end of listed claims, not subscription list`
2020-07-02 10:37:31 -04:00
eatdostacos
aede386c22 Add/Correct Strings 2020-07-02 10:34:11 -04:00
eatdostacos
84886e4b8a Put LBC amount with 4 precision on tip menu for all versions 2020-07-01 11:19:47 -04:00
infiinte-persistence
87e53db699 Don't expand search filters automatically if popping from Back action.
The existing behavior of automatically expanding when needed && when entering the page is still maintained.
2020-07-01 11:11:47 -04:00
infiinte-persistence
defcda519e Inf-scroll: Remove history of whether we've serviced the bottom.
## Fixes:
4351: "Infinite load won't work if the same sort option clicked"

Test case:
1. Click Following
2. Click New
3. Scroll down to load at least 1 extra page.
4. Go up and click New again.

## The Issue:
`scrollBottomCbMap[page]` in this case did not reset since the `id` remained the same.

## The Fix:
I don't know how else to notify the effect to run. Perhaps "when `page=1`" is one criteria, but I found that removing `scrollBottomCbMap` can also fix it.

I don't know what scenario that `scrollBottomCbMap` was originally meant to handle, so will need to depend of reviewer to confirm I did not break something else. This fix assumes that recent inf-scroll fixes and debouncing would have addressed the "weird stuff happening with fast scrolling" problem mentioned in the comments.
2020-07-01 11:11:47 -04:00
infiinte-persistence
9c7b882fbd Properly debounce the inf-scroll handling.
The previous code was simply delaying the handler, which served the intention of the time, which is to avoid using the wrong coordinate from querying too early. However, we ended up servicing each scroll message.

This is the proper fix, and should technically make scrolling smoother. Maybe this will fix 3576 as well, although I don't see much difference.
2020-07-01 11:11:47 -04:00
infiinte-persistence
ad37edf681 Inf-scroll: Fix scroll not working when navigating back from claim.
## Fixes:
3071: "Infinite scroll stops working when navigating to file page / back"

## The Issue:
In the POP operation, the `page` value is back to 1 due to the initializer `useState(1)`. If the results cache already contained more than 1 page's worth, then the rest of the logic thinks there's nothing to do.

## The Fix:
Previous fixes to Inf-Scroll added a "page correction" code to handle the mismatch. This fix simply adds this scenario to the list of scenarios to perform the correction.
2020-07-01 11:11:47 -04:00
infiinte-persistence
86bae6eaee AbandonedChannelPreview: Handle blocked channels as well.
Issue 3800
2020-06-29 16:05:23 -04:00
Sean Yesmunt
74a18b724e fix subscribe button label not showing on mobile 2020-06-29 13:25:29 -04:00
infiinte-persistence
2673a18923 Fix unresolved translations in the Splash Screen. 2020-06-29 09:52:05 -04:00
infiinte-persistence
7839bbf2a1 Fix language-change not applied to all components immediately.
## Fixes:
3641 Language switch does not take effect right away

## Assessment:
Although `Card`s in the Settings Page are actually being re-rendered, the `actions` within them might not be getting the signal, depending on their props.

## Changes:
(1) Pass the language variable to the `actions`'s props for items that are affected.
(2) Make the Wunderbar listen to language-changes as well (the only component outside of Settings that would need an immediate update).
2020-06-29 09:48:12 -04:00
eatdostacos
ed624a1b5d Correct link to buy page 2020-06-29 09:47:26 -04:00
eatdostacos
d9a0e7c655 Add link to buy LBC when you don't have enough for paid content
I added the link and I updated the strings to accomodate updated content.
2020-06-29 09:47:26 -04:00
infiinte-persistence
adb2a60d58 Skip translating blank string; Add new strings from Settings Page. 2020-06-29 09:46:42 -04:00
infiinte-persistence
b010325618 Pause 'Autoplay': cleanup
1. Use a constant for the classname instead of being hardcoded.
2. Use existing 'debounce' function instead of introducing another.
3. Added changelog entry.
2020-06-25 00:23:47 -04:00
infiinte-persistence
2c695b8150 Pause 'Autoplay' when a Modal is present. 2020-06-25 00:23:47 -04:00
infiinte-persistence
39db18046f Pause 'Autoplay' when scrolled off screen.
Fixes #-4021.

## Changes:
When the autoplay overlay gets partially off-screen, the timer will be stopped. We can tweak how much down it needs to be scrolled.

When timer is paused, the countdown resets.

The pausing mechanism has no effect on the floating player (since the 'top' can never go negative). This behavior is the same as another big video platform.
2020-06-25 00:23:47 -04:00
Sean Yesmunt
63ce5526ca update label text 2020-06-23 17:56:41 -04:00
Sean Yesmunt
41abbcc861 Revert "bring in blocked redux code from lbry-redux"
This reverts commit b9f3146180.
2020-06-23 16:21:40 -04:00
Sean Yesmunt
0bf656f74b Revert "fix import"
This reverts commit c84c8a0288.
2020-06-23 16:21:30 -04:00
Sean Yesmunt
c84c8a0288 fix import 2020-06-23 16:10:59 -04:00
Sean Yesmunt
b9f3146180 bring in blocked redux code from lbry-redux 2020-06-23 16:01:20 -04:00
Sean Yesmunt
49bcfdce83 bring in comment code from lbry-redux 2020-06-23 16:01:20 -04:00
infiinte-persistence
d7b1cde274 Add claim-overwrite prevention.
---Fixes:
#-2882: "Fix UX around publishing to already published URL".

---Changes:
1. Improved the error message (change color to red; emphasized the URL; tweaked the sentences a bit).
2. The `Publish` button will be grayed out in this scenario, until user explicitly decides to edit existing claim instead.
2020-06-22 15:21:42 -04:00
jessop
e3a5d71e34 channel update submitting state 2020-06-22 12:42:20 -04:00
jessop
e065c81f88 support channel pending state 2020-06-22 11:27:03 -04:00
eatdostacos
3d4f0a93b5 Add logos to custom logos page 2020-06-22 10:49:21 -04:00
infiinte-persistence
391b5d2b50 Delete unused or duplicate strings. 2020-06-22 10:27:55 -04:00
infiinte-persistence
2f8af4e1fa Allow upgrade nag bar to be dismissed per session
#-4368:
"Users on third party builds may have to wait a few hours for the update and the bar is annoying."
2020-06-22 09:50:35 -04:00
Sean Yesmunt
b4851e6045 bring in email preferences page from lbry.com 2020-06-22 09:45:49 -04:00
Alex Grin
d8b4c91259 minor typo
this is the more common spelling of revocable
2020-06-22 09:35:39 -04:00
infiinte-persistence
1cd18ac9f4 Inf-scroll: (1) Reset to top (2) Fix "page vs. results" being out of sync.
--- Issues:
(1) #-2669: Page does not restore to top when navigating new tags.

(2) "Encountered children with the same key" error (duplicate entries shown).
https://github.com/lbryio/lbry-desktop/issues/4367#issuecomment-645449206

--- Changes:
(1) Ignore the history if it's a new query (i.e. explicitly clicked). The BACK history will still behave as normal (doesn't reset to top).

(2) Previously, the `page` variable will continue to increment as you scroll and stay within the page (e.g. Trending vs New, or clicked another Tag). As you move between queries, we hit a scenario where `page` is significantly under or over the latest retrieved `claimSearchResult.length`. This messes up the rest of the code.

Fix by correcting the value of `page` according to the current `claimSearchResult.length` when necessary.
2020-06-22 09:31:05 -04:00
jessopb
dbac4aca39
Revert "improve channel update" 2020-06-19 13:10:34 -04:00
jessop
99753f7717 improve channel edit 2020-06-19 12:41:45 -04:00
infiinte-persistence
644e76fd81 Tip-Modal: Add settings persistence and UX improvements.
--- Issues:
(1) #-4394 add persistence to new support modal.
(2) Should collapse the custom field when presets are selected.
Even though the Send button repeats the amount for Tip, it's still confusing to see both the Preset being active and Custom numeric field visible.
(3) Missing localization tags.
2020-06-18 22:01:49 -04:00
Sean Yesmunt
fa246a7f1f move channel search into ChannelContent component 2020-06-18 12:19:21 -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
infiinte-persistence
bbda69dc5f Inf-scroll: Don't add pages when no more results are available.
--- The bad scenario:
A less popular tag like 'kanji' yields only 23 results today. The code continues to increase the page count. We'll either see some blank page glitches at the bottom, or repeated entries being shown.

--- The fix:
Assume that an unfilled page means "no more results" and stop incrementing the page. This seems true based on empirical evidence.
2020-06-16 16:59:00 -04:00
infiinte-persistence
522c6ddcd6 Inf-scroll: Fix "am I at bottom" logic.
If you are at the bottom and you hit the UP_ARROW key one time, the logic still thinks we are at the bottom, despite the component has clearly moved. Similar to the issue noted in the previous commit, this causes the page to increment incorrectly.

My wild guess is that the previous logic depends on the css height, so it might got broken due to css changes. Hopefully the new calculation is more robust and works for all cases.
2020-06-16 16:59:00 -04:00
infiinte-persistence
c957b159b1 Inf-scroll: Debounce before handling 'onscroll'.
---The bad scenario:
If you're at the bottom and you go up using UP_ARROW or HOME key, the coordinate is still at the bottom if we service the callback immediately. This causes 'contentWrapperAtBottomOfPage' to be true and we ended up incrementing the page unnecessarily (even for searches that no longer yield any extra results).

---Fix:
Fix by adding a delay. The value can probably be fine-tuned further.
2020-06-16 16:59:00 -04:00
infiinte-persistence
ff7b4092c9 Publish: Make 'Channel' setting persistent.
Per discussion with Tom.
2020-06-16 16:36:23 -04:00
infiinte-persistence
9d6af38a21 Persist trending selectors between tags.
---The issue:
When switching between tags, the selector defaults back to Trending even though you had another option already selected.

---Changes:
- 'orderParamUser' will store the last user state persistently. The persistent state is also made unique for each page (i.e. Your Tags and All Content will be unique).

- If the parent component passes in a specific order, that will be respected and will also become the new persisted value. One example is "Your Following", where it always starts at 'New'.

- Handled navigation history correctly
The test case:
   - Enter "Your Tags" (assume start at 'Trending')
   - Click 'New'
   - Click 'Top'
   - Back
   - Back (it should return to 'Trending')
As the top page history does not have any "?order=" value, we ended up with a no-op for the last Back. 'orderParamEntry' is added to handle this.
2020-06-16 16:36:23 -04:00
Sean Yesmunt
2066205b8f add user + rewards redux code from lbryinc 2020-06-16 09:56:32 -04:00
Sean Yesmunt
7138fe54bc bring in 'notifications' state from lbry-redux 2020-06-16 09:56:32 -04:00
eatdostacos
5a219c7b4b Add link to "Buy More LBC" button
Previously, the link was missing and the button didn't do anything.
2020-06-16 09:13:15 -04:00
Sean Yesmunt
8a825b1a83 fix typo 2020-06-15 19:18:34 -04:00
Sean Yesmunt
f13cc3c51c fix label on tx table for supports 2020-06-15 19:02:03 -04:00
infiinte-persistence
fe431c30a7 SimpleMDE: Add character-count display and standardize look with basic editor's. 2020-06-15 10:53:17 -04:00