Commit graph

4380 commits

Author SHA1 Message Date
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
infinite-persistence
ff9ca662f2
Option to change commments-server (desktop)
## Issue
> 5459 Add setting for changing your comment server. Visible on desktop (and possibly defaulting to Odysee URL), hidden on odysee.

## Comments
Not sure how this would actually work properly without the user recompiling the app to handle server differences. For example, even when we use our own server but switch between v1 and v2, some code changes are need to handle the differences. At that point, it seems easier for the user to just change the .env file? Anyway...

## Changes
- Added Desktop-only options to define custom server. [Settings > Advanced Settings > "Comment server" section].
2021-08-12 14:01:22 +08:00
infinite-persistence
4731786a3f
Livestream: implement Pinned Comments 2021-08-12 10:39:21 +08:00
Franco Montenegro
c2b51127ac Reuse BidHelpText for reposts 2021-08-11 18:50:40 -07:00
jessopb
cd4c1efd70
Stripe integration fix (#6850)
* fix frontend bug

* show superchats in order properly

* scroll properly when switching tabs

* calculate fiat tips properly

* sum up lbc amounts

* refactor code a bit remove why isnt this working bit

* bugfix cant tip fiat if no lbc balance

* add toast when someone does a tip for a comment

* add error toast for card page

* show error on account connection page

* automatically truncate to two decimals

* close to working perfectly

* show decimals value better

* increase size of input value

* one bug left but almost working perfectly

* reverse so newest transactions come first

* fixing bug caused by floating point precision

* eslint fixes

* remove unused conditional

* get stuff ready for merge

* bugfix and cleanup

* requested changes

* fixing flow errors

* fix last flow error and touchups

* fix i18n and remove logs

Co-authored-by: Anthony <contact@anthonymayfield.com>
2021-08-11 16:58:55 -04:00
saltrafael
445566c915 Fix delete option broken / missing 2021-08-11 10:07:43 -04:00
Franco Montenegro
cc3600631e Disable cancel button when submitting a comment. 2021-08-11 10:05:37 -04:00
mayeaux
0cc0e213a5
Anthony watchman integration (#6799)
* raw ingredients done adding functionality

* essentially working just need a cleanup

* almost working with a couple bugs

* almost working but a bug or two

* seems to be working well

* seems to be working well but needs a cleanup

* couple of bug fixes

* basically working now cleaning up

* seems to be working pretty well

* cleanup unnecessary changes

* eslint fixes

* bugfix seek event

* bugfix and andrey fix and better docs

* getting ready to add last piece of functionality

* handle seek events properly

* add dynamic duration to calculate interval properly

* fix lint errors

* last couple changes

* only run watchman with analytics on and on prod

* flow fixes

Co-authored-by: zeppi <jessopb@gmail.com>
2021-08-10 16:42:50 -04:00
zeppi
892a6deeaf reenable prerolls 2021-08-10 16:30:58 -04:00
zeppi
68bc4e3b90 Revert "disable google imasdk"
This reverts commit 283bbb52fa.
2021-08-10 16:30:58 -04:00
zeppi
dcac5ebcc9 fix collection preview links 2021-08-10 10:52:46 -04:00
infinite-persistence
fd66e6b9b1
Refactor Commentron error msg handling
## Issue
6832: Pass through commenting error if it fails current error list

## Changes
- Refactor the error-msg-replacing code to make it easier to add new ones in the future.
- Made the new error message localizable (i.e. extract the variable value, pass to `__()`)
- Fallback to Commentron original message for those unhandled ones (usually fresh messages from Commentron).
2021-08-10 10:26:58 +08:00
infinite-persistence
19091f249a
Fix 'Favorites' string issue
Renamed variables for clarity while at it.

"Item added to %name%" is probably redundant due to toast passing through <i18nMessage>, causing a double translation.

Anyway, added all the resolved string for now to avoid them popping up in app-string during development.
2021-08-10 00:48:37 +08:00
btzr-io
c85e448499
fix redirection and normalization of claim urls 2021-08-07 19:23:14 +08:00
Thomas Zarebczan
6db75f8a66 rss tests
Various fixes and improvements to work with Apple Podcasts

f

f

image support
2021-08-06 17:05:36 -04:00
saltrafael
7921c0971e Improve style 2021-08-06 15:07:10 -04:00
saltrafael
c55978f9d6 Allow to delete downloaded content from popup 2021-08-06 15:07:10 -04:00
saltrafael
4f0c6030e1 Add back file download link 2021-08-06 15:07:10 -04:00
Baltazar Gomez
155309deee fix line breaking links: #6805 2021-08-06 14:55:17 -04:00
Franco Montenegro
6b071bab21 Fix amountNeededForTakeover message for bids. 2021-08-06 14:16:38 -04:00
zeppi
5b4d8065e6 fix dislike crash when no claim 2021-08-06 14:10:05 -04:00
zeppi
4bcd5942af oops 2021-08-06 12:27:37 -04:00
zeppi
2a19f9f63c lrytv sunset nag 2021-08-06 12:27:37 -04:00
Baltazar Gomez
76201e5955 fix text overflow past 3 dot menu: #6602 2021-08-06 09:45:04 -04:00
eniamza
c146bfcd2d
Fix: Added \ and = to Reserved symbols warning 2021-08-05 11:09:30 -04:00
saltrafael
60f4cca007 Fix no expand button bug 2021-08-04 09:33:42 -04:00
zeppi
fe35ea3764 stream type string or array 2021-08-03 14:49:59 -04:00
zeppi
67bcc1b1ec build 2021-08-03 14:49:59 -04:00
zeppi
ff5ca7398c naming 2021-08-03 13:38:17 -04:00
zeppi
e3e5c50a13 style logo in embed 2021-08-03 13:38:17 -04:00
saltrafael
426042feab Fix icon color 2021-08-03 13:23:31 -04:00
saltrafael
a6ad758c71 Show on content page if a file is part of a playlist already 2021-08-03 13:23:31 -04:00
zeppi
413b19a7e9 sync edited playlists 2021-08-03 11:47:54 -04:00
zeppi
2d66b8666d styling 2021-08-03 11:05:32 -04:00
saltrafael
f01fb7dd22 Mobile view: Make comments expandable 2021-08-03 11:05:32 -04:00
infinite-persistence
1d6101ddd2 Report recsys info when 'share_data_usage' is enabled.
Previous:
~~Although it was collecting info for all platforms, the data is only sent for Odysee.~~ Correction: it became enabled for all platform after `master` became Odysee.

New:
Only send out the telemetry for `IS_WEB` or if there's user consent.
2021-08-03 09:34:36 -04:00
infinite-persistence
34368760de Fill in remaining Recsys fields
## Issue
6366 Recsys Evaluation Telemetry

The recommended list from lighthouse is obtained from `makeSelectRecommendedContentForUri`. This list is further tweaked by the GUI (e.g. move autoplay next item to top, remove blocked content, etc.). Recsys wants the final recommendation list and the clicked index (in exact order), so we need pass these info to the videojs recsys plugin somehow. Also, Recsys wants a recommendation list ID as well as the parent (referrer) ID, we so need to track the clicks and navigation.

## General Approach
- It seems easiest to just spew back the final (displayed) list and all the required info to Redux, and the recsys plugin (or anyone else in the future) can grab it.
- Try to touch few files as possible. The dirty work should all reside in `<RecommendedContent>` only.

## Changes
- `ClaimPreview`: add optional parameters to store an ID of the container that it is in (for this case, it is `ClaimList`) as well as the index within the container.
  - When clicked, we store the container ID in the navigation history `state` object.
    - For general cases, anyone can check this state from  `history.location.state` to know which container referred/navigated to the current page. For the recsys use case, we can use this as the `parentUUID`.
- `ClaimList`: just relay `onClick` and set IDs.
- `RecommendedContent`: now handles the uuid generation (for both parent and child) and stores the data in Redux.
2021-08-03 09:34:36 -04:00
infinite-persistence
f8796e2950
i18n 2021-08-03 14:44:57 +08:00
infinite-persistence
74659f40a1
Restore "Use better icon for "Copy Link"" -- lost in a merge.
b164a5d1 accidentally nulled the changed.

While at it, moved the "Copy RSS" button below "Copy Link" -- I think that looks better.
2021-08-03 14:24:02 +08:00
Baltazar Gomez
7bbb1a436c
fix #6766 (Channel staked badge in the wrong line) 2021-08-03 00:14:26 -05:00
zeppi
1f2762af02 tags patch 2021-08-02 16:14:33 -04:00
zeppi
26b1c901c8 no limit on stream types for following 2021-08-02 16:14:33 -04:00
Baltazar Gomez
0214c80544 fix logo size on firefox 2021-08-01 14:26:59 -04:00
Baltazar Gomez
79e39da47f update sockety api urls 2021-08-01 09:47:44 -04:00
btzr-io
c0c65c46f4 use env for twitter account 2021-08-01 09:39:16 -04:00
btzr-io
d462f96834 improve twitter share 2021-08-01 09:39:16 -04:00
Baltazar Gomez
37d9cbfbeb limit claim_search results on livestreamLink 2021-08-01 09:13:25 -04:00
btzr-io
9983777f86 faster claim search on livestreamLink 2021-08-01 09:13:25 -04:00
btzr-io
7802337655 prevent livestream api calls if no livestream claim exists: #6632 2021-08-01 09:13:25 -04:00
Thomas Zarebczan
b5fec393c6
Fix crash 2021-07-31 11:08:15 -04:00