Commit graph

4429 commits

Author SHA1 Message Date
infinite-persistence 0fc9cb9e73
Disable adv filters in "Find channels to follow" (#7130)
## Issue
7118 advanced filtering adjustments for channel related context
2021-09-20 10:19:34 -04:00
infinite-persistence a199432b5c
Fix view-count showing up in non-Channel pages
## Issue
If you navigated to a Channel Page and returned to the homepage (or any page with ClaimPreview), the view-count is shown because we have that data.

## Fix
Instead of passing props around through the long "list" component chain (`ChannelContent -> ClaimListDiscover -> ClaimList -> ClaimPreview`) to indicate whether we should display it , just check the pathname at the lowest component level;  I believe eventually we would display it everywhere anyways, so this we'll be the easiest to clean up.
2021-09-20 09:28:58 +08:00
jessopb 6ca058c3a1
support embed preference (#7114)
* support embed preference

* title color
2021-09-18 10:23:30 -04:00
saltrafael 1c59913e7a
Recommended changes (#7089)
* Fix floating

* Change makeSelectRecommendedContentForUri behavior
2021-09-16 16:00:44 -04:00
infinite-persistence f251ad999e
Handle view_count formatting on old browsers
## Issue
7102 Failed to initialize numberformat on some browsers

## Changes
Just revert to the non-SI notation (but still locale aware) for browsers that does not support the `compactDisplay` option.

I thought of adding an English-only abbreviation for that corner-case, but I think it's not worth the effort maintaining. There are worse issues happening on older browsers, such as icons not aligning properly in buttons and functions that require polyfilling.
2021-09-16 17:11:09 +08:00
Alexander Schrier 5d06d4e254
Fix dropdown caret spacing (#7096)
* Move dropdown caret away from edge

* Set dropdown padding-right to spacing-xl
2021-09-15 15:18:17 -04:00
infinite-persistence d1c74ec997
Revert "Use SI notation for view_count ... bbcdcfe4"
It is breaking in old Safari 10. Revert for until; will get to a cleaner solution later.
2021-09-15 23:30:43 +08:00
jessopb 91fbd615e2
fix embed end logo (#7106) 2021-09-15 11:28:45 -04:00
jessopb 21ba7840ca
refactor collection thumbs and fix list channel updates (#7095)
* refactor collection thumbs

* collection update handle channels

* collection update handle channels more better

* bugfix
2021-09-15 10:11:01 -04:00
infinite-persistence 65902f6d58
Commentron err replacement: fix readability + added link support.
- Hopefully this is easier to understand, and easier to add/remove entries.
- The link support will be needed by the upcoming Appeal process.
2021-09-15 16:02:02 +08:00
infinite-persistence 3e6743f3f4
Fix missing localization macro during refactoring
## Issues
https://discord.com/channels/362322208485277697/646840786662719488/887345736033918997

## Changes
I meant to only add the macro at the client call during the refactoring, but forgot.

Having said that, I now think it's cleaner to put the macro where it is defined, and it's easier for Translators to find, so I added the macro in the definition instead of at the client call.
2021-09-15 10:12:24 +08:00
infinite-persistence 9d1ff4e8ae
Wunderbar: fix popup dismissed despite a child is in focus
## Issue
1. Type something in the wunderbar.
2. While the spinner is running, press Tab to focus on "View results" button.
3. If the spinner is still running, the entire popup gets dismissed (it should not). If the spinner isn't running, the popup stays active.

## Change
It was explicitly dismissed when the <input> loses focus. It shouldn't do that if any child of the popup is in focus.
2021-09-14 15:07:30 +08:00
infinite-persistence 939d26801a
Wunderbar: re-arrange static buttons to the top
## Issue
7075 Move "explore tags" to a stable position

## Changes
Move the buttons in the suggestions popup to the top row so that it's position won't be constantly changing depending on the number of results.
2021-09-14 15:07:30 +08:00
jessopb 20bd9644e9
Revert "fix recommended follows (#7081)" (#7085)
This reverts commit b83fe995c5.
2021-09-13 15:50:28 -04:00
jessopb b83fe995c5
fix recommended follows (#7081) 2021-09-13 12:48:17 -04:00
saltrafael 69def916a8
Fix list thumbnail upload (#7074)
* Bump redux

* Fix thumbnail upload

* Update changelog
2021-09-13 11:40:31 -04:00
infinite-persistence d5e8f2d18c
Fix scrollbar in upgrade modal (#7076)
## Issue
5848 Remove scroll-bar in update prompt

## Changes
- Make scrollbars appear only when necessary.
- Style the scrollbar. Similar to other areas, we skip this for Mac (can't recall why we need to skip).
2021-09-13 11:35:26 -04:00
saltrafael 539cf780d7
Fix floating player issues (#7073)
* Fix Floating Player stopping on certain files

* Dont show additional player buttons from markdown and comments

* Fix markdown resizing for the same video playing

* Update changelog
2021-09-13 11:24:35 -04:00
infinite-persistence 30fedf6b45
Channel Page: enable filters; add "sort by" filter (#7069)
* Sort props to clarify "client vs. redux". No functional change.

* ClaimListHeader: remove SIMPLE_SITE gating

* Channel Page: enable filters; add "sort by" filter.

## Issue
7059 Add option to sort oldest first on channel page

## Changes
- Enabled filters for Odysee.
- Added a new "Sort By" filter, which will only appear for "New" ordering. It doesn't make sense for "Trending" or "Top".
2021-09-13 11:23:53 -04:00
Alexander Schrier 67d9f3907f
Hide overflow on search suggestion thumbnails (#7067) 2021-09-13 11:21:46 -04:00
infinite-persistence 40ed8059b7
Fix jumpy ui when changing language
Closes 7070 Spinner at wrong location when changing language
2021-09-13 15:44:29 +08:00
infinite-persistence c2a2068926
Sort props to clarify "client vs. redux". No functional change. 2021-09-13 15:02:45 +08:00
infinite-persistence 43564c8b45
Settings: use 'smooth' instead of 'instant' scroll.
With 'instant', it is not clear that we are actually scrolling within the existing page (not opening a new page).
2021-09-13 09:59:11 +08:00
infinite-persistence bbcdcfe4c1
Use SI notation for view_count in tiles (locale aware) 2021-09-12 17:20:32 +08:00
jessopb 579230d135
Test langs (#7062)
* fix languages

* bump

* bump
2021-09-11 13:32:25 -04:00
infinite-persistence be725639d3
Blocklist: don't show pagination widget when searching.
Also, re-use existing strings instead.
2021-09-11 21:16:42 +08:00
infinite-persistence af4ff29b23
Fix: Can't unblock if delegator deleted their channel
## Issue
7003 Can't unblock if delegator deleted their channel

## Changes
- Changed the function parameter from 'creatorId' to 'creatorUri'
    - It got short-circuited because we don't resolve deleted channels. But the client already have the full creator URI (containing the needed 'name' and 'id'), so there is no need to actually look at the resolved list -- just pass the uri like all the other functions.
2021-09-11 21:04:21 +08:00
saltrafael 40a82838b6
Fix collection delete breaking 2021-09-11 08:14:32 -03:00
infinite-persistence 2277d89f64
Add missing strings 2021-09-11 10:55:57 +08:00
infinite-persistence f5fb5c87c4
Fix i18n word used as variables.
This is the same as concatenating strings, which we must avoid. It will be hard for translators to handle as they see strings as individual entries, not programmable strings. Untranslated variable values are fine.

https://www.linkedin.com/pulse/internationalization-localization-tips-concatenation-daniel-neumann
2021-09-11 10:54:03 +08:00
infinite-persistence 058b8f82ab
i18n + Fix autoplay string
- Rephrased the autoplay help text (https://discord.com/channels/362322208485277697/646840786662719488/885903447243780096)
- Weekly i18n update.
2021-09-11 10:54:02 +08:00
saltrafael e8d8dfa76b
Playlist fall out fixes (#7032)
* Add snack bar notification

* Fix and improve code

* Better handle paid content on playlists

* Fix menu options that show for unauth users
2021-09-10 13:27:21 -04:00
Thomas Zarebczan f6683d3c49
re-enable views for now 2021-09-10 13:25:53 -04:00
infinite-persistence 345d9e76b5
Blocklist: paginate + search (#7055)
* Paginate: add option to disable history and url param

* Refactored blocklists into `BlockList`; no functional change

Reason:
- With each list (Personal, Admin, Mod, Muted), there's a bunch of useEffects and variables needed to handle the state. All of them are doing 99% similar things.

* Paginate blocklists

6834

* Improve 'moderator-block' list visuals

- Added "Blocked on behalf of" to make things clearer.
- Use smaller ClaimPreview for delegators to save space (there might be lots of delegators)

* Add search bar to BlockList

6834

- Only supports channel-name search, per 6834. Channel-title search would probably be too heavy on the client side.
- Fuzzy search is possible, but is too slow on huge lists. Ended up with a simpler `matchSorter.rankings.CONTAINS`, which I think would cover typical cases.
2021-09-10 11:36:08 -04:00
infinite-persistence bc0a4bdeea
Fix missing and broken "Follow" button on reposts (#7056)
## Issue
6776 Missing follow button on channel reposts

- Missing:
    - Fix: For reposts, `parseURI` will fail to determine if it's a channel because the URL doesn't have enough info. Determine from the claim object instead.
- Not working in Channel Page:
    - Fix: The repost uri doesn't link back to the source channel, so we'll need to handle it.
2021-09-10 11:01:12 -04:00
infinite-persistence 8afab7dbba
Disable view_count on Channel Page due to layout (wrap) issue. 2021-09-10 16:59:01 +08:00
infinite-persistence 4259d6fc17
Consolidate keycode constants 2021-09-10 09:00:44 +08:00
saltrafael 160d8fe4b8
Make autoplay_next pushPrefs and set default value to autoplay setting (#7051) 2021-09-09 12:53:27 -04:00
mayeaux 737c06f33d
Fiat tip improvements (#7038)
* show error from backend properly

* cleanup code and add documentation

* persist active tab but force people to boost tab if it's on their own upload

* set tip lbc as default when none is saved in state
2021-09-09 12:52:03 -04:00
infinite-persistence 663ae2762f
Don't fetch view_count on empty list.
Also guard against null array.
2021-09-09 22:05:48 +08:00
infinite-persistence 093c427b83
Show content view counts on channel pages
## Issue
3587 Show content view counts on channel pages

## Notes
Limited to just "channel pages" for now as specified in the ticket.

Can be enabled for all claim previews, as long as there's an efficient spot to run the batch fetching. Either make `fetchViewCount` prop default to true, or add the parameter in places that need it.
2021-09-09 18:31:48 +08:00
infinite-persistence 89a0d5e597
Reorganize; no functional change 2021-09-09 17:09:28 +08:00
Anthony afb352e3bb
change display of donations to chronological order 2021-09-08 22:25:49 +02:00
infinite-persistence 23f273356a
Explain that "Block" leads to modal with more options. (#7039)
## Issue
7035 Make it clearer that delegated mods can block via Block menu
2021-09-08 12:31:45 -04:00
infinite-persistence de90d2fda6
Convert "moderator search" to use the new widget 2021-09-08 21:27:25 +08:00
infinite-persistence d370cc37a8
SearchChannelField
- Factor out for re-use in upcoming Shared Blocklist
- Improvements:
    - Uses floating popup to show the suggestion/result rather than inline.
    - Users can now press Enter to select the suggestion, instead of having to use the mouse.
    - Users now don't need to enter '@' for channel names. They will still need to enter the full channel name, and disambiguate with claim_id if necessary.
    - Fix jumpiness in position as the user types.
2021-09-08 21:23:50 +08:00
infinite-persistence 2a3fa58e11
Swap "Moderator" and "Muted words" location.
Quick fix for the lack of scroll lines for the upcoming "moderator search popup". The proper fix would be to move the popup above the input when we are at the extreme bottom.
2021-09-08 21:22:08 +08:00
infinite-persistence 124aa90525
Fix Duration widget error-message logic
- It didn't remove the error msg when the input is cleared.
- It didn't update to the latest error msg if one already existed.
2021-09-07 16:12:22 +08:00
infinite-persistence 6a5ea5d3c6
Vertically center 'icon--help' (redo)
A better fix with extra specificity, since the main issue was with form-fields only. The previous fix was too wide and broke other areas with column flex.
2021-09-07 16:12:21 +08:00
infinite-persistence a6ece46be4
Vertically center 'icon--help'
Reasons:
- Better symmetry.
- When used on a form-field label, the off-centeredness causes an extra offset at the top. Since the icon goes away when there is an input error, the form-field shifts a bit. (An alternative is to use a smaller icon, but I think size 16 is the best for legibility).
2021-09-07 14:43:26 +08:00
infinite-persistence a227e6a979
i18n + vjs i18n fixes
- Reverted #7004 as it ended up preventing the rest of the components from being localized when there is an error. Replaced that with a `setLabel` that simply checks if the component exists before setting the label.

- Fix "Autoplay Next On" not localized on initial load -- it was only localized when the setting changes. It is unfortunate that we need to also set the label in an additional `useEffect` instead of just using vjs events, but so be it.
2021-09-07 10:34:28 +08:00
saltrafael aceb8b89ce
Fix autoplay not saving (#7028)
* Fix autoplay not saving

* Bump redux
2021-09-06 13:33:53 -04:00
saltrafael f246992615
Fix auto downloads (#7021) 2021-09-06 10:06:07 -04:00
infinite-persistence f8e9047359
Allow moderators to perform Timeout as well. 2021-09-03 23:50:34 +08:00
infinite-persistence 04f3dfbb9f
Corrected logic that was bypassing the muted list. 2021-09-03 23:50:06 +08:00
jessopb 91ef5456de
Fix stale recsys and fix watchman uncaught promise when videoPlayer is not initialized (#7014)
* do not set stale recsys id

* no watchman send if videoplay not initialized
2021-09-03 11:29:23 -04:00
infinite-persistence 03d56d1445
#6872 Comment Moderation - time based bans 2021-09-03 22:42:26 +08:00
infinite-persistence bf8ab2e9ce
Run the extra app-side comment filter only if the claim is not ours.
## Preamble
- The app-side uses a cached blocklist, so when a Timeout expires, it doesn't know that the ban has been lifted.
- Meanwhile, we are doing extra comment filtering using this blocklist (so that we don't see comments that we have blocked, regardless of whose claim we are viewing).

## Issue
In a livestream, if a new message from an ex-offender comes in after their ban has been lifted, we do get the websocket message but it's being filtered out locally as mentioned above. So, the msg ended up being visible for everyone except the owner.

## Fix (band aid)
- Don't run the extra filter if the claim we are viewing is ours -- commentron would have filtered it for us anyways, and is the right logic to use even before this Timeout feature is introduced.
    - For the case of Timeout, this only serves as a band-aid until Commentron Issue 80 is available for us to detect the ban has been lifted. This is because it doesn't handle the case where I am a viewer and I decided to timeout someone for a few minutes. Because I am not the owner of the claim, the offender will continue to be blocked due to the same issue mentioned above.
2021-09-03 22:36:58 +08:00
infinite-persistence 804edd3308
Restrict "Timeout" feature to content owners
The main reason to do this is because we are doing extra comment filtering using our blocklist (so that we don't see people we blocked regardless on who's content we are at), but we are also using a cached blocklist so we don't know when a Timeout will be lifted to allow new livestream messages. We will need Commentron Issue-80 to truly fix this.

For the case of when we are the owner of the content, we don't run the extra filtering (since it is equivalent to Commentron's filtering), hence the issue doesn't exist. Any new livestream messages received through websocket won't be locally filtered.
2021-09-03 22:36:55 +08:00
infinite-persistence 0c1554e453
Blocklist Page: show the timeout ban duration
- 'humanize-duration' is used because 'moment''s humanizer sucks.
2021-09-03 07:17:57 +08:00
infinite-persistence 663376e970
Block timeout was changed from "hours" to "seconds" in Commentron 2021-09-03 07:17:57 +08:00
infinite-persistence a05ccdd44f
Comment Moderation - time based bans
## Issue
6712 Comment Moderation - time based bans

## Approach
- Consolidated the 3 types of blocking buttons in the comment content menu (i.e. Block, Moderator Block, Admin Block) into 1 regular Block button.
- Show a modal when Block is clicked.
    - Let user choose the blocklist.
    - Let user choose the timeout duration (this PR's impetus).
2021-09-03 07:17:56 +08:00
jessopb 049fb2878e
recsys v0.2 (#6977)
* recsys wip

better logging

fix floating player popout playing uri bug with recsys

lint

add empty entries to create

use beacon; fire on visibilitychange

cleanup, not record recs if not seen

ifweb recsys beacon

recsys handle embeds, cleanup

use history.listen to trigger events

fix recsys embed bug

bugfix

more default data

cleaner

cleaner

* remove tentative

* disable recsys debug logging
2021-09-02 18:39:40 -04:00
saltrafael 64cbd4ae8d
Expanded Playback and List controls (#6921)
* Dont show countdown on Lists

* Add Repeat icon

* Add Shuffle icon

* Add Replay Icon

* Add Replay Option to autoplayCountdown

* Add Loop Control for Lists

* Add Shuffle control for Lists

* Improve View List Link and Fetch action

* Add Play Button to List page

* Add Shuffle Play Option on List Page and Menus

* Fix Modal Remove Collection I18n

* CSS: Fix Large list titles

* Fix List playback on Floating Player

* Add Theater Mode to its own class and fix bar text display

* Add Play Next VJS component

* Add Play Next Button

* Add Play Previous VJS Component

* Add Play Previous Button

* Add Autoplay Next Button

* Add separate control for autoplay next in list

* Bump redux

* Update CHANGELOG.md
2021-09-02 16:05:32 -04:00
infinite-persistence 061e4ddd55
vjs: hide errors when updating i18n (#7004)
## Issue
6989 console errors and warnings are getting out of hand!

## Notes
This method was previously criticized in 5643. But given that no better solution has been submitted after a long while, nor is there a new solution for doing i18n, I'm reviving it again. It'll be no worse from the status quo.

Despite try-catch being overkill, I think the code-clarity outweighs the performance issues (if any, in the first place). Also, we are only suppressing the error in a very specialized function which even if it fails, will simply be a no-op and the GUI falling back to English.
2021-09-02 12:38:58 -04:00
infinite-persistence a0f164c945
Add streamer badge
https://lbryians.slack.com/archives/C01LTTCEURW/p1629489255028900
2021-09-02 20:51:46 +08:00
saltrafael 96582afdd8
Fix notifications fetching issues (#7002) 2021-09-01 12:03:48 -04:00
infinite-persistence be9dca362d
Fix linked-comment auto scroll
## Ticket
6946: Linked-comment scroll position is inconsistent

## Issues
- If it is a deeply-nested reply, the positioning is incorrect.
- If there are pinned comments, the positioning is way off.
- If there is a delay in mounting, the positioning doesn't happen.
- When clicking on the comment's date to highlight it, the comment goes missing and the scroll position is weird.

## Changes
- Take into account that replies can be linked-comments.
- Perform a "one-time" search for the linked-comment after the initial fetch, if necessary. The expensive DOM search is only be executed minimally.
2021-09-01 16:02:54 +08:00
infinite-persistence a9672a4b5c
Fix extra renders when hovering over comments
Remove defunct "show comment menu on hover" implementation.

It was re-rendering on every mouse movement, plus the css classname no longer exists, and also it wasn't working right in the first place (reverted few Desktop revision back, and all it did was highlighting the menu rather than controlling the visibility).

If we want the "show comment menu on hover" behavior again in the future, the CPU usage problem can probably be addressed by debouncing/throttling state-change.
2021-09-01 14:41:42 +08:00
ddifiore ce7be7229b Update view.jsx 2021-08-31 15:52:29 -04:00
ddifiore 7f4c22f130 Updating the escape button behavior 2021-08-31 15:52:29 -04:00
ddifiore 88f32b2ec7 Update view.jsx 2021-08-31 15:52:29 -04:00
ddifiore f3fb413a03 Update view.jsx
Trying to action this issue: Pressing escape in wunderbar should do something useful #2116, I also added ctrl-K as a keyboard shortcut to bring the wunderbar into focus.
2021-08-31 15:52:29 -04:00
saltrafael 5c5d82ee83
Fix hover on gif thumbnails (#6991) 2021-08-31 12:40:59 -04:00
Franco Montenegro 1ac16ee087
Ignore/reset player position if video is too short or almost finished playing. (#6976) 2021-08-30 10:41:38 -04:00
infinite-persistence ebfd648a88
Fix "linked-comment not found" msg not appearing
## Issue
6914 "Linked comment not found" message is gone

## Notes
Commentron updated the message, so the string comparison failed.
2021-08-30 14:12:12 +08:00
saltrafael 4dfcb4645a Fix Question Mark appearing on address 2021-08-29 11:40:07 -04:00
zeppi d4bab45809 removeNags 2021-08-29 10:51:59 -04:00
infinite-persistence 79be67831b
Add page titles (affects browser Tab, History, etc.)
## Issue
- While changing the "Back" behavior in the Settings Page PR, it was a pain to troubleshoot when the entire history list is listed as "odysee.com".
- If you have multiple tabs open, it's hard to know which is which for non-claim and non-channel pages.

## Approach
Initially, I thought of overriding the document's title through the `<Page>` component, since the titles are usually defined there. However, given that the router is already doing the overriding, I think it's best to do the same thing all in one place.

Downside: it might get missed when a new page is added.

## Unknown
- Not sure if are rules for titles. There seems to be a mix of sites -- some have specific titles per page, most just use the site title for each page.
- I think the `return` statement in the `useEffect` is unnecessary, since it'll just be setting to the same value now during the cleanup stage. (??)
2021-08-28 21:25:20 +08:00
infinite-persistence bba0630890
#6935 Direct reacting from notifications 2021-08-28 20:50:35 +08:00
saltrafael b69b01e36b
Fix CSS 2021-08-28 20:48:50 +08:00
saltrafael 02a39e693b
Handle deleted comments 2021-08-28 20:48:49 +08:00
saltrafael d7344f5047
Add direct reacting from notifications 2021-08-28 20:48:49 +08:00
saltrafael 6637c7b98b
Fix CSS - separator lines 2021-08-28 20:48:48 +08:00
Thomas Zarebczan c6ad44d1e5
Consider more live streams (#6974)
and order by release time always

f
2021-08-27 10:57:54 -04:00
infinite-persistence bcbfc54188
i18n - stripe 2021-08-27 13:14:15 +08:00
infinite-persistence 86e3e8593a
Lint/prettier to reduce delta in next PR.
This is mainly to make the next PR's delta readable. Seems like lint/prettier is being bypassed in the commit hook.
2021-08-27 13:14:14 +08:00
Thomas Zarebczan 4586fbc34b
Revert "Fix stream type for livestreams (#6967)" (#6972)
This reverts commit ee609c654f.
2021-08-26 11:50:57 -04:00
Thomas Zarebczan ee609c654f
Fix stream type for livestreams (#6967)
* Fix stream type for livestreams

Was picking up collections 

+ other tweaks

* Update search.js
2021-08-26 11:04:24 -04:00
Franco Montenegro 2510217935
Add new post title & url ellipsis overflow. (#6964) 2021-08-26 10:53:32 -04:00
saltrafael fe2142ba49
Thumbnail fixes (#6969)
* Fix Newly-uploaded thumbnail stays blank

* Fix ChannelThumbnail fallback broken

* Hide earnings for pending
2021-08-26 10:51:53 -04:00
infinite-persistence 64323013cf
Desktop: Fix comment-server set to null unintentionally
## Issue
6956 Desktop: something wrong with Custom Comment Server setting

## Notes
- Should be calling `Comments.setServerUrl` to ensure all private variables are updated.
- Skip the react-setting update if there is no change.
2021-08-26 17:22:53 +08:00
Franco Montenegro 01f73c4861
Clear player position if on playlist. (#6943) 2021-08-25 15:35:00 -04:00
mayeaux f2a437aee4
Remove hover/watch later bug for mobile devices (#6950)
* starting work to remove hover effect for preview images on mobile

* identifying code for PR

* update functionality for watch later button on mobile
2021-08-25 11:44:08 -04:00
infinite-persistence 80f06c1a9a
Fix 'bighits' vs 'big_hits'
## Issue
- #6840 Clean up https://odysee.com/$/big_hits
- `/big_hits` is being indexed and unnecessarily affecting the speed score (the "not found" page is surprisingly slow; will handle separately)
- Big-Hits metadata not working

## Notes
'big_hits' is only used in v1 homepages.
2021-08-25 22:45:12 +08:00
Florence Jay Munar 8eb61e1aca
Tagalog Language Fix (#6951)
* Deleted Filipino language and added Tagalog instead

* Update CHANGELOG.md

* Update CHANGELOG.md
2021-08-25 10:19:16 -04:00
infinite-persistence 7476c883a2
Standardize scrollbar thickness for both horizontal and vertical 2021-08-25 14:42:06 +08:00
infinite-persistence 3d48c9852a
Ability to dismiss Pinned Comment in Livestream
This serves as a temp fix to regain the chat space in Mobile, until the Livestream page in Mobile is revamped.
2021-08-25 14:30:10 +08:00
infinite-persistence a8a437bc54
Removed padding on last comment to gain back some space and be symmetrical too.
There is already some padding given to it via the wrapper.
2021-08-25 14:27:03 +08:00
infinite-persistence e8c4fb3b7d
Livestream: fix items incorrectly appearing in HyperChat List mode. 2021-08-25 14:27:02 +08:00
infinite-persistence 3f765e2d90
Don't show "Moderator Tools" title if there's nothing underneath 2021-08-25 14:25:40 +08:00
infinite-persistence 277d78868d
Re-arrange prop types to show "element params" first (no functional change)
Make it obvious which props are "element params" and which props are from "redux".
2021-08-25 14:25:39 +08:00
saltrafael b256a4396b
Thumbnail upload fixes (#6860)
more improvements, fix url, do the same for cover

remember url, error if invalid

unneeded addition

Fix delayed message

Lint

Allow empty values (placeholder and Gerbil)

Fix filepath crash

Fix button
2021-08-24 20:28:23 -04:00
mayeaux ef5701bb38
Merge pull request #6917 from lbryio/squashed-and-merged
Wallet redesign
2021-08-24 18:46:47 +02:00
Franco Montenegro a03d4ca20e
Allow to cancel hyperchat if message is empty. (#6942) 2021-08-24 10:57:29 -04:00
infinite-persistence 6d71e53f44
Use solid heart for "subscribed" (#6947)
## Objective
Make it easier to know the subscription state in a glance, without actually having to reading the text, especially for certain languages.
2021-08-24 10:57:01 -04:00
infinite-persistence 74986a8b3a
Comments: simplify blocked replies display
Previously, we decide when to display "Show More" based on the current fetched reply count vs. total replies in Commentron. It was already troublesome as `comment.List` and `comment.replies` give different values (one includes blocked content, while another does not).

Now, we are further filtering the list with Commentron blocklists (personal, admin, moderator), so it is not feasible to run the logic based on reply count.

## Solution
- Keep track of number of remaining pages instead and use that to determine when to display "Show More".
  - While it doesn't solve the "Show N replies" mismatch (YT has this problem too), it prevents the button from lingering.
- In the event that all replies are blocked, just show an empty space (same as YT). I didn't like the previous version that cluttered the space with "comment(s) blocked".
2021-08-24 16:55:36 +08:00
infinite-persistence e899a5de65
Comments: include Commentron blocklists when filtering.
## Issue
When you block Channel-X, Channel-X's comments will still be visible on someone else's content. This feels odd.

## Change
In addition to the blacklist, filter-list and muted-list, we now include the Commentron blocklists (personal, admin, moderator) when filtering out comments.

## Specifics
`makeSelectCommentsForUri`, `makeSelectTopLevelCommentsForUri` and `makeSelectRepliesForParentId` all perform the same filtering code. Factor that out to `makeSelectFilteredComments` and add the Commentron lists into the mix.

## Downsides
This probably adds to the already-high CPU usage in rendering comments.
2021-08-24 16:55:35 +08:00
infinite-persistence 03cda16847
Patch: Filter out playlists from main channel listing (#6931)
The search wunderbar was lost due to the additional type added
2021-08-24 09:48:00 +08:00
infinite-persistence d8c2a8f5bf
Filter out playlists from main channel listing (#6931)
so that playlists only appear in the Playlists Tab.

## Ticket
6911 pass claim_type = stream,repost on channel page claim searches
2021-08-23 16:24:39 -04:00
Anthony edfb5011d7
last couple touchups 2021-08-23 20:34:54 +02:00
Anthony a14963892f
finish button links 2021-08-23 19:52:56 +02:00
Anthony a515088e0b
remove inline styles 2021-08-23 18:30:12 +02:00
infinite-persistence 6f9784a43f "Scroll to recent" button improvements 2021-08-23 08:57:15 -07:00
zeppi 4e3b07ede5 disable aniview 2021-08-23 11:55:30 -04:00
infinite-persistence 2e3d9cb609
Update 'SyncToggle' to the new Settings style. 2021-08-23 23:45:32 +08:00
infinite-persistence 3057f70c1c
Move 'update password' into a subpage 2021-08-23 23:45:31 +08:00
infinite-persistence b43ecd8466
Switch from dual-pane to multirow
per feedback
2021-08-23 23:45:31 +08:00
infinite-persistence 741e8f96cb
"Back": change from "link" behavior to "up" behavior
The previous version treats each navigation as a link, ala Chrome Settings. I liked it because I can enter a settings section directly via URL, and can always back-track each section.

Anyway, changed it to the typical "up" behavior, traversing back the hierarchy of settings pages.
2021-08-23 23:45:30 +08:00
infinite-persistence 049a952765
Change "Manage" from solid button to simple text.
I think this looks cleaner.

I've also tried just having a right solid chevron, but it doesn't look nice with other widgets like checkboxes.
2021-08-23 23:45:29 +08:00
infinite-persistence 6b82aae735
Change "Update password" to a secondary button
Per feedback.
2021-08-23 23:45:28 +08:00
infinite-persistence 9505182576
Use positive "Publish preview" text, per feedback
It was phrased negatively as the feedback back then was the string should match whatever is on the actual dialog (which was "Skip preview and confirmation"). But now it looks odd when we have an additional title string. We think titles should be positively phrased, hence the change.
2021-08-23 23:45:28 +08:00
infinite-persistence 6d5c32ba2e
Help string style cleanup for consistency.
Changed from constants to object. This allows us to skip prettier's auto line-breaking with just one comment (instead of for each constant), plus I like object style to group things together in general.
2021-08-23 23:45:27 +08:00
infinite-persistence e1223d0d02
Convert setting sub-pages to new style
"Creator Settings", "Blocked and Muted", "Manage notifications", "Stripe"
2021-08-23 23:45:26 +08:00
infinite-persistence 1671deb0b2
Page: the 'settingsPage' option now automatically adds the sidebar. 2021-08-23 23:45:25 +08:00
infinite-persistence 6e152a4137
Re-render on language change
Room for improvement: refactor into `<SettingsCard>` so we don't have to repeat this everywhere.
2021-08-23 23:45:24 +08:00
infinite-persistence 9a17878661
Change style for card title
I think it looks better to not place the title within the card's border when there are multiple cards in a page, like in the case of the new Settings Layout. Otherwise, it's hard to differentiate between title and settings-row.

The proper method is to style Card itself, but this is a quick fix for the Settings Page PR. Will come back to it later.
2021-08-23 23:45:23 +08:00
infinite-persistence b3b4e54975
Settings Page Side Navigation
All <Setting*> components will have an ID that corresponds to the sidebar link. When clicked, we scroll to the position of the card by searching for the element with the ID. It behaves simiar to # anchor navigation.

I like this model mainly because in Mobile, users don't need to keep opening the drawer to navigate -- they just need to scroll. This allows us to use the same design for Mobile and App.
2021-08-23 23:45:23 +08:00
infinite-persistence d3fde729f5
Handle noDaemon case for App 2021-08-23 23:45:22 +08:00
infinite-persistence aba9198844
Handle unauthenticated case, i.e. only allow basic settings.
Placed settings that we allow for unauthenticated users under <SettingUnauthenticated>. While it is redundant, it's easier to handle the grouping, and more readable overall.
2021-08-23 23:45:21 +08:00
infinite-persistence 98f7dcd000
Delete "Settings Advanced" page
All items have been ported over
2021-08-23 23:45:20 +08:00
infinite-persistence 0c0448abef
[System] grab "Share usage and diagnostic data" 2021-08-23 23:45:19 +08:00
infinite-persistence 379a3fb6b0
[System] grab "Download Directory" 2021-08-23 23:45:18 +08:00
infinite-persistence 690f48b7e1
[System] grab "Wallet Security". [Appearance] grab "Show wallet balance in header"
I think it makes more sense to show "Show wallet balance in header" under [Appearance], especially for Web.
2021-08-23 23:45:18 +08:00
infinite-persistence 96ac5a8997
[System] grab "ffmpeg" 2021-08-23 23:45:17 +08:00
infinite-persistence c55179998b
[System] grab "Experimental settings" 2021-08-23 23:45:16 +08:00
infinite-persistence 2cda3d0a62
[Content] grab "Skip publish preview" 2021-08-23 23:45:15 +08:00
infinite-persistence f7caeba787
[Content] grab "Purchase and tip confirmations" 2021-08-23 23:45:14 +08:00
infinite-persistence 502ab6f6a9
[System] grab Network & Data Settings 2021-08-23 23:45:13 +08:00
infinite-persistence 52472f3cfb
[Content] grab Notifications, Block/Muted, Creator Settings 2021-08-23 23:45:12 +08:00
infinite-persistence 233477a2fa
[Account] grab stripe-related settings 2021-08-23 23:45:11 +08:00
infinite-persistence 86711057b8
[Content] refactor and grab Max Purchase Price 2021-08-23 23:45:10 +08:00
infinite-persistence 859ccf5ea9
[Content] grab original "Content Settings" 2021-08-23 23:45:10 +08:00
infinite-persistence c539e4e10d
Move combobox to right | Move "Search only in language" into separate row 2021-08-23 23:45:09 +08:00
infinite-persistence 99c7b28712
[Appearance] grab 24h clock setting 2021-08-23 23:45:08 +08:00
infinite-persistence 4e0434d586
[Appearance] factor out ThemeSelector and use it here 2021-08-23 23:45:07 +08:00
infinite-persistence 70f795ac8b
[Appearance] Move homepages to top + i18n
per feedback
2021-08-23 23:45:06 +08:00
infinite-persistence 17871e78c8
[Appearance] grab language and homepage
Also applied new Settings Page styling.
2021-08-23 23:45:06 +08:00
infinite-persistence e53181f2f3
[System] grab Clear Cache, Startup and Closing Behavior 2021-08-23 23:45:05 +08:00
infinite-persistence 04b510d88b
[Account] grab SyncToggle and AccountPassword
Also made visual changes for the new Settings Page.

## SyncToggle:
It will no longer be under a dedicated Card, so the "Sync" title is not there to give context for the case of "no verified email".

Changed it such that the checkbox is always visible (it's label is self-explanatory) but disable when email is not set. The "Add Email" button will then appear below, so everything now makes sense in context.
2021-08-23 23:45:04 +08:00
infinite-persistence 3b080012ac
Styles for new Settings Page 2021-08-23 23:45:04 +08:00
infinite-persistence 7da1d8cdf7
Add icon to "Show/Hide Reply" 2021-08-23 15:19:23 +08:00
zeppi 8010b2680a default support to boost 2021-08-22 16:38:14 -04:00
Anthony d17a333fc6
pull export and refresh buttons to the right 2021-08-20 20:48:28 +02:00
zeppi 1785009fa1 patch column cards 2021-08-20 13:36:16 -04:00
Anthony 68697baaf4
refactor to only change based on the delta 2021-08-20 19:31:38 +02:00
Anthony 9722270403
preparing for refactor 2021-08-20 17:39:33 +02:00
Anthony 82a39e6562
cleanups for PR 2021-08-20 17:06:04 +02:00
infinite-persistence ffe22e1c50
i18n 2021-08-20 09:21:26 +08:00
Anthony bcb1197dfb
fixes for flow and linter 2021-08-19 23:20:01 +02:00
Thomas Zarebczan f8c568e301
Fix random crash
Fixes https://github.com/lbryio/lbry-desktop/issues/6918
2021-08-19 16:46:34 -04:00
Thomas Zarebczan 51576a827d
Update view.jsx 2021-08-19 16:32:03 -04:00
Anthony 6ae732b77b
pr fixes 2021-08-19 22:23:20 +02:00
Anthony 15b076fd20
fix merge conflicts 2021-08-19 22:18:54 +02:00
Thomas Zarebczan 6fe1923ef5
fix lint 2021-08-19 16:17:15 -04:00
Thomas Zarebczan b9bd164b10
format follower count 2021-08-19 16:09:31 -04:00
jessopb 5208be07ab
List page fixes (#6905)
* remove help card from lists page

* filtering to playlists page

* refactor

* clear playlists filter on escape

* rename

* no show playlist limit for now
2021-08-19 13:30:02 -04:00
jessopb 9ec8f56051
watchman send dsk for desktop (#6916) 2021-08-19 13:18:21 -04:00
Franco Montenegro 57ac473b00
Reset file input on publishing when accessing since it can be restored to previous value. (#6855) 2021-08-19 12:50:58 -04:00
Franco Montenegro 618b9a4d3e
Add channel subscriptions count below author. (#6867)
* Add channel subscriptions count below author.

* Replace subscribers with followers

* Make sure subCount gets called only once in FileTitleSection.
2021-08-19 11:25:45 -04:00
infinite-persistence 882c9ca022 Fix double linked-comment if it was also pinned
## Issue
If the linked-comment is also a pinned comment, it was displayed twice.

## Fix
When separating out pinned comments, I forgot that `comment.ByID` was another place where we fetch comments.
2021-08-19 02:22:33 -07:00
jessopb fb03d3a7f9
Fix video dispose (#6904)
* fix video dispose bug

* remove commented
2021-08-18 19:30:07 -04:00
saltrafael d7329840ef
Improve clickability of notification links (#6711) 2021-08-18 17:40:36 -04:00
Franco Montenegro bd92110d1f
Automatically claim initial rewards (new_user & email_verified) when … (#6807)
* Automatically claim initial rewards (new_user & email_verified) when accessing creating channel, edit channel and upload

* Do not try to get initial rewards if already claimed.
2021-08-18 12:34:24 -04:00
jessopb 9bbe8b1c63
watchman device type is web for browsers (#6901)
* watchman device type is web for browsers

* no watchman on desktop
2021-08-18 11:42:56 -04:00
jessopb 5d889bef27
update watchman device types (#6900) 2021-08-18 11:05:03 -04:00
jessopb 7f35f87893
aniview only web - v0.1 (#6898) 2021-08-18 11:00:51 -04:00
infinite-persistence 58773ede91
Reload when auth token mismatch is detected (#6897)
## Tickets
- 5504 Signing out of account causes page to break in other tabs
- 6829 merged accounts - force log out / fail sync when x-auth-token and cookie auth token are different

## Steps to replicate
1. Login to odysee with account-A.
2. Open another tab, and split both tabs on the screen.
3. Logout from the 1st tab. Do not activate (focus) the 2nd tab.
4. On the 1st tab, login with account-B.
5. Activate (focus) the 2nd tab. The wallet would have been merged, and we are still logged in as account-A.

## Approach
Reload when the LBRY API token no longer matches the auth token.
2021-08-18 10:49:09 -04:00
infinite-persistence afe4fee3f3 Fallback image for <FileThumbnail>
## Ticket
5457 Create file thumbnail fallback image for odysee

## Approach
Since `background-image` does not invoke an `onerror` event, create a test Image instance to have the `onerror` capability. This technique is used by majority of plugins. No additional fetch is seen with this technique.
2021-08-17 19:46:54 -07:00
jessopb bd973289b6
Chore desktop cleanup (#6896)
* some desktop cleanup

* stripe environment

* wallet tabs

* fix

* old copy

* copy

* getClaimTypeText

* appstrings
2021-08-17 18:34:16 -04:00
infinite-persistence 4688b4bf58
Livestream: stop pinned comments from appearing as latest (#6888)
## Ticket
6879: Previously pinned livestream comments show as latest

## Issue
`comment.List` will always display the pinned comment first, hence the problem when the chat is refreshed.

## Approach
Completely split pinned comments from top-level comments in the Reducer, and the let the GUI (e.g. regular comments, livestream comments) decide how they want to display it.

For the case of livestream, there is no need to repeat the pinned comments in the regular chat area, since there is a dedicated area on top.
2021-08-17 12:09:55 -04:00
jessopb 5f55603fb2
send recsys powered-by (#6875)
* send recsys powered-by

* update lighthouse call in useLighthouse

* rename select selectors

* update channel search too
2021-08-17 10:03:25 -04:00
saltrafael 6e6fd61e90
#6557 CommentCreate: hold off "create channel" redirect until channel_list is fetched. 2021-08-17 10:48:03 +08:00
infinite-persistence e1fc5fd6e3
Fix livestream autoscroll
## Ticket
6886 Livestream auto-scroll problems

## Issue
- `performedInitialScroll` was problematic as it won't allow auto-scroll even when user scrolled back to the bottom.
- The dependence on `commentElement` seems to assume a certain comment height? Not sure.

## Approach
- Add a scroll listener and stash the last scroll position.
- When a message is received, check if it's at the bottom. If yes, maintain that position after the new comment is added. If not, leave as is.
- When submitting a comment, always reset to the bottom.
2021-08-17 09:44:38 +08:00
infinite-persistence 4a8c08c8bf
Fix scroll position not restored when doing Back on Desktop (#6842)
## Ticket
6743: Desktop: "Back" in Following Page no longer restores scroll position

## Issue
This was a side-effect of "6609 claimListDiscover: don't re-render until query is done". That PR did not handle the case of navigating backwards, which typically would just need to display past results. It ended up always starting with a blank list on mount, so the scroll position could not be restored correctly.

I don't know why it still worked on Web/Chrome -- maybe the latest browser knows how to move to desired scroll position when the height is available.

## Change
If navigating backwards, initialize the final URI list with the previous result. It is almost always correct, and if not, will be corrected in the effects. This saves us one re-render when navigating backwards too.
2021-08-16 16:45:04 -04:00
infinite-persistence 1421a39518
Comment badge to reflect mod and admin status.
## Issue
6467 Add status indicators for messages from creator, delegated moderator, global moderator

## Changes
- Added the required icons.
- Added tooltip.

## Notes
- Left out "creator" since we are already highlighting the creator's name.
- Note that currently the status is only available via websocket deltas. `comment.List` does not provide the data.
- When `comment.List` includes the info, regular comments will automatically include these badges.
2021-08-16 10:08:56 +08:00
infinite-persistence f81b0f5913
Lint, autoformat -- no functional change.
Doing this now so that an upcoming PR that uses this file won't include these bunch of annoying auto-formatter changes in the diff.
2021-08-16 06:48:37 +08:00
Thomas Zarebczan a75ce9818c
Fix account verification check + copy on tip page (#6884)
bug fix + copy
2021-08-13 20:40:24 -04:00
Franco Montenegro 3f162eb285 Do not count auto follow channels for UserChannelFollowIntro. 2021-08-13 17:07:01 -04:00
Anthony 1d23afc531 various small bug fixes 2021-08-13 14:23:31 -04:00
mayeaux 8ff3b753ad
Move transactions from Settings to Wallet (#6871)
* remove unused conditional

get stuff ready for merge

bugfix and cleanup

requested changes

fixing flow errors

fix last flow error and touchups

fiat and lbc tabs coming along

support setting currency as the default tab via query param

add wallet fiat balance

fixing naming

add fiat transactions

using es6 to populate data

should be fine but keeps crashing

transaction listing working

add no transactions thing

about to add a third tab

add third tab

add card last 4 to transaction history

some renaming

show payments successfully

show filler for subscriptions

display if no transactions or subs

working but in the wrong component

approaching something thats working

showing total tipped amount

about to add last couple features

cleanup

More touchups

adding last features

calculate the total amount of unique creators tipped

couple touchups

remove transaction listings from settings

add view transactions buttons

small optimization

add subscriptions section

fix lot of linting errors and make command more userful

* some copy changes

* about to add last couple changes

* update still require verification

* fix button spacing

* hide subscriptions sections and fix links

* cleanups before merging

* more cleanup

* cleanup with last four fix

* changing tab functionality

* bugfix and fix presentation of cards

* fix transactions bug

* change order and remove logs

* remove unused code in account

* more linter fixes

* update account balance presentation

* fix flow errors
2021-08-13 13:59:43 -04:00
saltrafael d36371fd88 Fix alignment off 2021-08-13 11:30:52 -04:00
infinite-persistence afe3f913ae Add 'ENABLE_WIP_FEATURES' for live page.
Got tired of hijacking code. Didn't want to alter my account either.
2021-08-12 21:52:58 -07:00
eniamza 7cf9cba3d6
Fix: Paid embed warning was showing lbry.tv (#6819)
* Fix: Paid embed warning was showing lbry.tv

* Added: Change for PR #6819

* Revert: Changelog for conflicts

* Fix: Use site title instead
2021-08-12 23:06:04 -04:00
infinite-persistence 7817c57689
When setting MinTip, ensure MinSuper=0 | Debounce numerical settings.
(1) The GUI currently behaves such that if MinTip is set, MinSuper will be ineffective. However, Commentron actually checks MinSuper first. Just zero out MinSuper for now to enforce our desired behavior.

(2) Add debouncing to numerical settings. Refresh everything during onBlur to always reflect what's in server (e.g. in case there was an error).
2021-08-12 14:51:43 +08:00
infinite-persistence 926de0959e
Disable MinSuper if MinTip is set. 2021-08-12 14:51:42 +08:00
infinite-persistence 0ebb9420ef
CommentCreate: handle minimum tips and hyperchat
To avoid calling `setting.Get` excessively, we'll fetch the latest settings one last time before sending a tip. We'll also fetch in several areas, like when a comment action fails (most likely creator just enforced a minimum).

This will be easier when websocket send an update.
2021-08-12 14:51:42 +08:00
infinite-persistence 474da87c11
Commentron: min tip API now uses float again 2021-08-12 14:51:41 +08:00
infinite-persistence e9a2f44899
Commentron: incorporate 'setting.Get' into 'doFetchCreatorSettings'
## General
- `setting.List`: returns full creator settings. Requires signature (i.e. you own the channel)
- `setting.Get`: returns a public subset of the creator settings. No signature required, and it is mainly used by the GUI to determine the constraints of a channel (e.g. comments enabled? min tip requirements? etc.). Does not include private settings like "blocked words list".

`doFetchCreatorSettings` will handle both of these. Clients that uses the stashed results (`settingsByChannelId`) just needs to be aware the result might not contain everything, depending on whether you own the channel or not.

## Misc Related Changes
- Finally fix the reducer for COMMENT_FETCH_SETTINGS_COMPLETED to not purge the data on each call.
- Change `doFetchCreatorSettings` to operate on a single channel instead of multiple. We ended up not using the multple mode anyway, so it was wasteful code trying to batch the promises.
- `commentsDisabledChannelIds` is no longer needed. Previously, this was created just to differentiate between Creator (full) and Channel (subset) settings. It's cleaner to just use one object, so eliminated this.
- Remove unused 'commentingEnabled'.

## Aside
- There are now 2 ways to know if a channel has disabled comments: (1) from `comment.list` and `setting.Get|List`. Both of them updates `settingsByChannelId`, so it'll still be a single place for the GUI to check against.
2021-08-12 14:51:41 +08:00
infinite-persistence 658e9bd1db
Enable min_tip setting 2021-08-12 14:51:40 +08:00