Commit graph

4240 commits

Author SHA1 Message Date
zeppi e834a4aa51 change uploads copy 2021-07-20 10:33:48 -04:00
infinite-persistence 11b5eb49a0
Optimize ChannelThumbnail using the new method 2021-07-20 16:21:51 +08:00
infinite-persistence a21b4c5cf3
Optimize banner image 2021-07-20 16:21:51 +08:00
infinite-persistence 68432eef26
OptimizedImage - wrapper for CDN-optimized image
Objective:
- Get appropriately sized images to improve performance and Core Vitals score.
- Ensure images using "objectFit=cover" doesn't get stretched out if the source is large enough.
- Peg to 100px increments for better caching.

Notes:
- Skip images hosted in '/public'. If we really want to optimize it, then we'll need to provide the full path in the code, otherwise CDN lookup will fail.
2021-07-20 16:21:50 +08:00
infinite-persistence e5f32b21c4
Reaction-fetch: handle "no results"
If there are no API errors but no reactions returned, consider the requested IDs as "done" and stop requesting again. When a channel is being confirmed, Commentron doesn't return the reaction object.

Also added extra guard in case Commentron does return an object in the future, but an empty one.
2021-07-20 15:22:51 +08:00
infinite-persistence 08738ffcee
Reaction-fetch: handle "deleted all channels"
- use `selectActiveChannelClaim` as that takes the current channel list into account (i.e. correct state when all channels are deleted).
    - `selectActiveChannelId` should probably be removed or not exposed through a selector, as it is not updated when channel list changes?
2021-07-20 15:22:50 +08:00
infinite-persistence c71e4718d0
Remove (revert) reaction-fetch hardstop
Root-cause is known, so removing it to detect other issues.
2021-07-20 15:22:49 +08:00
zeppi 4bf7c68574 use config for showTagsIntro 2021-07-19 22:46:43 -04:00
zeppi 765cef7564 recon notify components 2021-07-19 22:16:29 -04:00
zeppi 3dc7c35cd7 recon 2021-07-19 21:46:28 -04:00
zeppi 1f902726fb copy 2021-07-19 17:39:59 -04:00
zeppi 33ee8ed3b7 site help email transactoin failed 2021-07-19 17:37:36 -04:00
zeppi 3e4206ee69 yt welcome recon 2021-07-19 17:33:23 -04:00
zeppi f6dc48fdc0 use odysee recsys plugin 2021-07-19 17:30:44 -04:00
zeppi ed1671fe2f matching comments 2021-07-19 17:30:25 -04:00
zeppi 6fc44720d6 styles 2021-07-19 15:34:46 -04:00
infinite-persistence 424ba85507
100% compression doesn't work with current CDN url
...sometimes produces larger-than-original file sizes too.
2021-07-20 02:34:25 +08:00
zeppi be9640972e meme style 2021-07-19 14:17:43 -04:00
zeppi 90e2a225e4 use meme component 2021-07-19 14:00:35 -04:00
zeppi 75a6ea21a5 more 2021-07-19 13:52:15 -04:00
zeppi 26e67b375c more 2021-07-19 13:52:15 -04:00
zeppi 50875566ad more 2021-07-19 13:52:15 -04:00
zeppi 9b03f5a1d0 more 2021-07-19 13:52:15 -04:00
zeppi cc07390ea4 more 2021-07-19 13:52:15 -04:00
zeppi 1d021fc8e0 more 2021-07-19 13:52:15 -04:00
Anthony fdfa2f1660 hotfix for bug 2021-07-19 11:08:59 -04:00
jessopb ae2354a0e0 Revert "move stuff to web (#6537)"
This reverts commit a6c413da5c.
2021-07-19 10:12:57 -04:00
infinite-persistence 3243ce6e0a
Image Claims: minimum layout shift on desktop layout
## Issue
6068

## Change
Lock all images to fit a 16:9 container. We have implemented 'ZoomableImg', so no reason in trying to display in full size.

This reduces CLS from 0.4xx to 0.01x.

## Flaws
CLS could probably be zero if not for the spinner shifting things slightly. Also, mobile CLS is 0.07.

The troublesome part in this PR is that FileRenderInitiator, FileRender and their subcomponents are broken apart and it's hard to synchronize their visibility and size. There are time gaps where none of them are visible, etc.

This PR only tackles the major part (most bang for buck), which is the elimination of variable height of the rendered image.

## Aside
I think `claimIsMine` is unused, so don't waste time requesting it.
2021-07-19 14:26:00 +08:00
infinite-persistence 6f4ce0a57c
Apply placeholder images
https://lbryians.slack.com/archives/C81FGKR51/p1624278721203900?thread_ts=1624269131.202200&cid=C81FGKR51

The intrinsic size needs to be at least equal the final image's size. Stretching, SVGs, etc. doesn't count.
2021-07-19 12:07:26 +08:00
zeppi e03325d0e4 remove old stripe setting 2021-07-18 22:30:12 -04:00
jessopb a6c413da5c
move stuff to web (#6537) 2021-07-18 21:57:36 -04:00
mayeaux 4fe17363f3
disable review button if no card saved also some cleanup (#6535)
* disable review button if no card saved also some cleanup

* fix flow errors
2021-07-18 21:49:21 -04:00
jessopb 5a04d0fea0
some recon (#6532) 2021-07-18 13:06:52 -04:00
zeppi dfc013d423 more recon 2021-07-18 11:27:05 -04:00
infinite-persistence 1fa7533ee3
Hide 'download' for livestreams
6517
2021-07-18 23:10:59 +08:00
infinite-persistence f3ed597ff6
i18n: Fix invalid template literal use + split strings 2021-07-18 22:42:21 +08:00
infinite-persistence abe32e5f5c
Revert "Reactions: consider failures as "fetched""
This reverts commit 84a2a74c8c.
2021-07-18 10:55:11 +08:00
Anthony 6aea8e38bc fix css 2021-07-17 13:19:33 -04:00
zeppi 7ffd59c169 more lint 2021-07-17 13:19:33 -04:00
zeppi 27aa4e4a22 lint 2021-07-17 13:19:33 -04:00
Anthony 7bb5df97fd Stripe 2
show visible card and add remove card button

show your transactions even if you dont have a card

fix presentational issues

show your transactions even if you dont have a card

fix presentational issues

add link to channel section

update yarn

show donation location

add remove card modal still needs completion and also changed how stripe is used on settings stripe card page

add confirm remove card modal to router

move bank account stuff to settings page

move account functionality to settings page

continuing to move account transactions to settings

list transactions for creator

updating copy

touchup tip error

do a better job autofocusing

bugfix

show an error on the card page if api returns 500

building out frontend for comment tip

display dollar sign if its a fiat tip

more frontend work

more frontend work

more frontend bug fixes

working with hardcoded payment intent id

working but with one bug

bugfixed

add toast if payment fails

add add card button

cant get claim id but otherwise done

more frontend work

call is working

show fiat for livestream comments

add is fiat on comments

round and show values properly

dont allow review if tiperror

copy displaying properly

disable buttons conditionally properly

remove card button working

remove card working with a workaround by refreshing page

bugfix

send toast when tip on comment

jeremy frontend changes

only show cart on lbc
2021-07-17 13:19:33 -04:00
infinite-persistence cd32fb71c7
Experiment: hardstop reaction-fetch at 500
(Hypothetical max comment of 3000) / (10 comments per page) = 300.
Cap at 500 to stop runnaway loops.
2021-07-17 22:19:15 +08:00
infinite-persistence 84a2a74c8c
Reactions: consider failures as "fetched"
In the event that Commentron returned an empty object, we'll end up re-requesting the same IDs again. Haven't seens this happen before, but since we don't know what's causing the spike, we'll just consider failures and "fetched" to stop the loop.

User can always click Refresh to repopulate the values.
2021-07-17 21:53:23 +08:00
infinite-persistence 47d39b20d3
Stop fetching reacts if failed for 3 times
Not sure if this will ever occur, but technically possible from the code point of view. Try adding this to see if it stops the spikes in `reaction.list` calls.
2021-07-17 13:53:58 +08:00
infinite-persistence 9c05239b04
Don't show "comments disabled" while still fetching.
## Issue
6513
2021-07-17 12:09:42 +08:00
keikari 1882e78d51 Tried to clear errors mentioned in lint details
154:28  error    Trailing spaces not allowed     
 161:6   error    Unexpected tab character
2021-07-16 18:32:41 -04:00
keikari 299682a6dc Make "support-pop-up" text match claim type.
Confirm button label will also show "your" instead of "this" for your own claims.
2021-07-16 18:32:41 -04:00
keikari 08dd1cbf0b Minor fix suggestion: Default to "TAB_BOOST" when supporting own claims
Someone mentioned about odysee.com showing "tip" related text when supporting own claim. Now it should default to "Boost" related text for own claims.

L167: Not edited but not sure if "claimIsMine" is needed there any more.
2021-07-16 18:32:41 -04:00
zeppi 70af46149d discover channelIds from homepages 2021-07-16 18:31:48 -04:00
saltrafael 9cdfb239c0
Playlist style fixes (#6509)
* Fix spacing on List page

* Fix alignment on List sidebar
2021-07-16 15:13:28 -04:00
Baltazar Gomez e59c67a144
render filedrop for only authenticated users (#6466) 2021-07-16 14:53:14 -04:00
Marko Lorentz e44b7b929e
i18n: Added missing state handling for RTL languages (#6275)
* Add RTL Support

* Add Arabic to supportedLanguages

* Fixed lint errors

* Allowed RTL flow for Hebrew

Co-authored-by: Sana <sana.benhassouna@ensi-uma.tn>
2021-07-16 13:51:08 -04:00
infinite-persistence cb0222981c Reactions: switch from SDK to Commentron
## Issue
- Closes 6481 "Use Commentron for react.List, react.React calls".
- 5459 "Interact directly with commenting servers".
2021-07-16 13:41:41 -04:00
btzr-io 4d28c5d208 use aria current 2021-07-16 10:58:40 -04:00
btzr-io 504f230d59 show currently active playing item on playlist: #6204 2021-07-16 10:58:40 -04:00
infinite-persistence ad7db1e939 Reactions: wait for previous fetch to complete before fetching again.
This was causing duplicate IDs to be fetched over and over again when scrolling quickly.
2021-07-16 10:54:12 -04:00
infinite-persistence a13708f4dd Handle the case of all replies are blocked.
In this scenario, `comment.List` does not return `comment`. I was expecting an empty array.

Handled accordingly.
2021-07-16 10:54:12 -04:00
infinite-persistence 08c701ba19 Restore comment pagination
This reverts commit e6addb8c2a, reversing
changes made to 47b594107a.
2021-07-16 10:54:12 -04:00
saltrafael b5ad359e32 Fix 'Recent Comments' button for livestreams 2021-07-16 10:55:47 -03:00
btzr-io ba763a85cd remove react-helmet 2021-07-16 02:22:54 -05:00
btzr-io d1a8f28464 use new aria label format for claim preview 2021-07-16 01:53:38 -05:00
infinite-persistence 73c872501c
Copy Link: use canonical
## Issue
6497
2021-07-16 10:18:37 +08:00
btzr-io 06e6feaf3b add date to claim-preview aria-label 2021-07-15 19:44:51 -05:00
btzr-io d56b32ff19 simplify localization of claim-preview aria-label 2021-07-15 19:13:54 -05:00
btzr-io 60c5d3bf67 add more info for claim-preview-tile aria label 2021-07-15 18:12:11 -05:00
zeppi 637c01750a clean 2021-07-15 17:48:02 -04:00
zeppi b2b88b466e fix colon handling 2021-07-15 17:48:02 -04:00
zeppi 0e589c0401 bump 2021-07-15 17:48:02 -04:00
btzr-io 7c8c43d3a7 fix file actions accessibility 2021-07-15 15:14:21 -05:00
btzr-io 6354a77bf1 make skip navigation link first focusable element 2021-07-15 13:32:58 -05:00
btzr-io 9426f6af72 more css fixes for menu button styles 2021-07-15 12:13:31 -05:00
infinite-persistence a2a1ddb403
Revert "Comments Pagination #6390"
This reverts commit 16ef013025, reversing
changes made to fba8b89b3b.
2021-07-15 22:23:26 +08:00
infinite-persistence 08548916df
Revert "Fix continuous reaction fetch in incognito"
This reverts commit ff059c58fd.
2021-07-15 22:23:14 +08:00
infinite-persistence 47b594107a
Use better icon for "Copy Link"
Not re-using the same icon as "Share".
2021-07-15 14:40:10 +08:00
btzr-io d0e865b9ec define main language on html head 2021-07-15 01:12:18 -05:00
btzr-io 4e40488629 rename css vars 2021-07-15 00:48:53 -05:00
btzr-io eb1ab935c5 consistent menu button styles and minor css fixes: #5145 2021-07-15 00:40:40 -05:00
btzr-io 4d4fbe4e9a fix typo 2021-07-14 22:12:40 -05:00
btzr-io 6d7e92d73b improve header accessibility
add skip navigation link + minor fixes
2021-07-14 22:08:30 -05:00
infinite-persistence ff059c58fd
Fix continuous reaction fetch in incognito
myReactions will never be filled in incognito. Also, it's probably enough to just check othersReactions, but for now, still do both when logged in.
2021-07-15 09:58:15 +08:00
btzr-io 7aaaf998a8 use aria-hidden on all tile cards thumbnails 2021-07-14 18:58:56 -05:00
btzr-io 695343532d minor css fixes: #5145 2021-07-14 18:35:49 -05:00
btzr-io 484f2830c8 improve accessibility of claim preview tiles: #6480 2021-07-14 17:12:07 -05:00
btzr-io 6df622307c simplify card tile keyboard navigation 2021-07-14 15:09:48 -05:00
Baltazar Gomez 2f67ca370e
Merge branch 'master' into accessibility 2021-07-14 13:48:37 -05:00
btzr-io 0397617bed use aria-hidden on all icons by default 2021-07-14 13:44:22 -05:00
zeppi d612b86a8c homepages v2
homepages served without cache

error catching

memo homepagedata

support auto limit

no more config pins
2021-07-14 14:09:46 -04:00
zeppi bc4f71ed8c clean 2021-07-14 12:26:21 -04:00
zeppi 7581d914fe hide menu on web for unauth 2021-07-14 12:26:21 -04:00
saltrafael aced8fb593 Add watch later hover action and Favorites
add watch later hover action

replace watch later popup item for favorites

lint

styling for watch_later overlay

Add label

Use just claim, add requiresAuth

Add list icon

Tone down text

Turn WL Hover Button into component

Change WL hover icons

small revert

Keep watch later in the menu
2021-07-14 11:41:36 -04:00
infinite-persistence 5742e1c2ca
Handle representation of blocked replies
## Issue
- `Comment.replies` currently represent all replies, while `comment.List` returns a filtered version, so the actual replies could be less.
- The actual replies is represented by `total_filtered_items`, but we only get that after making a fetch. So, users could click "Show more" but get nothing.

## Fix
- Stop showing "Show more" based on `total_filtered_items`.
- If there is a balance, display 1 dummy comment to represent all blocked replies. This handles the case of "Show more" being displayed but ended up with 0 replies if all replies were blocked.

## Future
Note that `Comment.replies` might be changed to represented filtered comments in the near future (refer to Beamer), so the GUI is made such that the dummy just won't appear when that change happens.
2021-07-14 15:11:44 +08:00
infinite-persistence 4731588a3c
Tell user when linked-comment is not available. 2021-07-14 13:00:26 +08:00
infinite-persistence e77a986125
Load comments if spinner is visible from the start
It was previously only responding to scroll events.
2021-07-14 13:00:26 +08:00
infinite-persistence 3d63ce4666
Load comments when approaching viewport
Seeing the spinner too much can be annoying.

- This approach works, but currently, when the list is very long, something is taking up resources and the handler couldn't be processed, so the effect is lost (still seeing the spinner). See 6473.

- Since we are now prefetching, bumped the debounceMs a bit.
2021-07-14 13:00:25 +08:00
infinite-persistence 2f92ce8bb4
Bump comment and reply page size to 10 (was 5 and 3, respectively) 2021-07-14 13:00:24 +08:00
infinite-persistence f8bdd0704f
Handle temporary Commentron bugs
Can be removed when bugs are fixed, but would still work if left there.
2021-07-14 12:58:27 +08:00
infinite-persistence 5ef95846d8
Add AUTO_EXPAND_REPLIES flag to toggle the feature. 2021-07-14 12:58:26 +08:00
infinite-persistence 0cf6fe3df5
Comments Pagination
## Issue
6158 - Support Comment Pagination
2021-07-14 12:58:25 +08:00
Dispatch fba8b89b3b
Merge pull request #6438 from lbryio/retargetting-pix
add retargeting pixel
2021-07-13 20:49:18 -07:00
zeppi f1c9aa7907 review this 2021-07-13 23:45:51 -04:00
zeppi e6376871d5 move pixel to web 2021-07-13 23:40:49 -04:00
infinite-persistence b822ae39e1
Remove hardcoded filters in doSearch
## Issue
6414 <Don't use "exact match" setting outside of main search - cuases no results in related>

`doSearch` was used in Wunderbar and Recommended, but it was adding in Wunderbar options all the time.

## Changes
- Fix `doSearch` to not use hardcoded options (take from arguments).
- Refactors the searchOption-creation code so that we don't duplicate the logic in both .js and .jsx.
2021-07-14 11:16:19 +08:00
infinite-persistence 052aa87ddd
Remove unused items 2021-07-14 11:13:13 +08:00
DispatchCommit d32af5606b move pre-roll ad logic into it's designated video.js plugin 2021-07-13 22:22:06 -04:00
btzr-io 3e13930425 add aria-label for modal close button (X) 2021-07-13 18:23:45 -05:00
btzr-io 7398120c0c fix incorrect aria-label in rewards page 2021-07-13 18:09:09 -04:00
btzr-io 2391f66d90 fix upload button on creator analytics: #6323 2021-07-13 18:09:09 -04:00
btzr-io 2dbd5d0f00 fix sidebar shortcut activation on textarea: #6326 2021-07-13 18:07:41 -04:00
btzr-io 97202dd7aa allow other props for lbry icon (aria-hidden) 2021-07-13 16:56:21 -05:00
btzr-io b595021a7f fix missing aria-label on links / navlinks 2021-07-13 16:38:50 -05:00
btzr-io c11b73d117 use aria-hidden for icons indside buttons
use aria-expanded for sidebar menu button
2021-07-13 16:23:29 -05:00
btzr-io 9f18822754 use aria-hidden for filedrop component 2021-07-13 15:31:42 -05:00
btzr-io 6eca14f140 fix issue of invalid aria-label values 2021-07-13 15:19:52 -05:00
DispatchCommit 47d9b4a866 fix site detection, add hide logo to macro url 2021-07-13 00:06:32 -04:00
DispatchCommit 8253f5e0dc center play button 2021-07-13 00:06:32 -04:00
DispatchCommit b777669a7e Add pre-roll ads
change ad macro url
rework video.js load logic
fix autoplay and retry errors
yeet player.ended error
fix another race condition
fix another error message
add allowPreRoll restrictions
fix some lint issues
remove annoying lint rule
remove video.js lazy loading
more linting fixes
2021-07-13 00:06:32 -04:00
infinite-persistence 0de6be77de Fix missing "currrent/remaining time" control is mobile
## Root-cause
`https://github.com/videojs/video.js/pull/7098`

videojs was recently upgraded.

## Change
Override videojs default theme of hiding the time control in smaller layouts.
2021-07-13 10:58:59 +08:00
infinite-persistence f7cf21b661 useLazyLoading: start loading when near viewport
## Issue
#6332 <Thumbnail lazy-loader is too slow || Use browser-level lazy-loading>

## Change
Switch from "threshold-based check" to "viewport distance comparison" using the `rootMargin` parameter. The root is the viewport.

This change makes it closer to the native `loading="lazy"` behavior, where it starts to load when approaching the viewport. Chrome I believe uses 3000px distance -- I think 500px is a good compromise for now. Can adjust further.

## Future
- We are currently creating N instances of IntersectionObserver.
  - https://developers.google.com/web/updates/2016/04/intersectionobserver
  - "If you need to observe multiple elements, it is both possible and advised to observe multiple elements using the same IntersectionObserver instance by calling observe() multiple times."

This would probably need a refactor to make ClaimList (or something higher) own the IntersectionObserver.
2021-07-12 17:06:30 -04:00
infinite-persistence 59a8b9d663 WaitUntilOnPage: take scaling into account
It was waiting too near the viewport to load on certain zoom levels. This will maintain the same physical distance for the "approaching viewport" buffer regardless of zoom levels.
2021-07-12 17:06:30 -04:00
infinite-persistence ad1c826f2c RSS: Use canonical_url (with ':') instead of slicing to 2 characters.
## Changes
- Change to canonical_url (with ':').
- The old format of 'claimName/claimId' needs to be supported still, since we shipped with it.

## Notes
- It would be nice to use regex instead of 2 separate paths, but I couldn't figure out how to make the koa variables work.
2021-07-12 17:06:03 -04:00
saltrafael 4bd5beb2f6 Fix notification bell toast 2021-07-12 11:03:11 -04:00
zeppi af7b553da3
patch-rss-bug 2021-07-10 11:47:23 +08:00
infinite-persistence cd9337f2d4
Skip RSS URL generation if it's not a channel. 2021-07-09 21:54:44 +08:00
infinite-persistence e7bed19391
Shorten the RSS URL
This will be backward compatible with existing format that uses the full claim_id.
2021-07-09 21:54:44 +08:00
infinite-persistence da8000303b
Add toast feedback for RSS and Link copy action.
6369
2021-07-09 21:54:43 +08:00
infinite-persistence 1f16736e5a
Fix invalid semicolon 2021-07-09 21:28:58 +08:00
infinite-persistence d97a23b699 Rename default import/exports for clarity in text search (no functional change)
I believe it was just due to copy/pasting from another file and not renaming it.
2021-07-09 08:40:26 +08:00
saltrafael e2de9bf9e7 Fix recommended tab style issues 2021-07-08 16:08:13 -04:00
zeppi 8e2ad8b8ca fix missing i18n on channel page 2021-07-08 15:55:40 -04:00
zeppi 814acc5b11 restore playlists tab 2021-07-08 15:55:40 -04:00
zeppi 0bb9c520ff fix livestream display 2021-07-08 15:08:53 -04:00
DispatchCommit f390320030 add retargeting pixel 2021-07-08 01:26:58 -07:00
infinite-persistence 67324aca21
Reload page when trying to open stale chunks
https://raphael-leger.medium.com/react-webpack-chunkloaderror-loading-chunk-x-failed-ac385bd110e0

#codesplit
2021-07-08 15:06:09 +08:00
infinite-persistence 3017155867
Don't lazy-load components in ErrorBoundary
We currently handle major errors through ErrorBoundary. If the error is network related, ErrorBoundary ends up blank if it's components are lazy-loaded.

#codesplit
2021-07-08 14:52:29 +08:00
infinite-persistence a493428247
Skin fiat-tip notification
## Issue
6421 Notification: Fiat Tip Notification
2021-07-08 11:21:58 +08:00
infinite-persistence 52cba611b3
Cleaned up notification constants
- Organized under an object.
- Removed old unused ones.
2021-07-08 11:21:24 +08:00
infinite-persistence 5769a27151
Fix slow mode error message
It won't work with the hardcoded value.

Still waiting for commentron (error code + data) enhancement. It's pretty weird having to parse the number, then add it back in.
2021-07-08 09:51:18 +08:00
DispatchCommit 14d9b99c7b hide logo image on sidebar ads 2021-07-07 18:37:34 -07:00
Thomas Zarebczan 7175e40d61 update error message 2021-07-07 19:31:15 -04:00
infinite-persistence 26efe9fd45 Enable 'slow mode' in comments
## Issue
Sub item in <6119 Creator Settings: beyond "Muted Words">

## Changes
- Removed the existing 5s min gap on livestreams.
- Enabled the 'slow mode min gap' in Creator Settings

This change now affects both comments in claims and livestream comments.
2021-07-07 19:31:15 -04:00
zeppi 6761cd2aa6 add star icon 2021-07-07 14:36:20 -04:00
jessopb be879ae90a
Recon 7 6 b (#6418)
* changes

* clean

* showNoSourceClaims
2021-07-07 14:21:11 -04:00
zeppi a422e857e3 do file remove too 2021-07-07 10:45:46 -04:00
Jeremy Kauffman 60384772af remove words like "revoke" and "claim" from abandon modal 2021-07-07 10:45:46 -04:00
infinite-persistence ffadae9373 Remove unused (?) selector 2021-07-07 07:50:59 -04:00
zeppi b045f62eb7 rm comment 2021-07-06 16:06:58 -04:00
zeppi 5f83c027be filter buy countries on master 2021-07-06 16:06:58 -04:00
zeppi e2b8aae554 use ENABLE_MATURE for fileTitleSection 2021-07-06 16:06:58 -04:00
zeppi 9af3380af7 use ENABLE_MATURE 2021-07-06 16:06:58 -04:00
zeppi 6b2569e5f2 use ENABLE_UI_NOTIFICATIONS 2021-07-06 16:06:58 -04:00
infinite-persistence 73e8a99c7e i18n - "LBC" to "Credit" 2021-07-06 14:53:23 -04:00
infinite-persistence 05d831b283 i18n - fiat 2021-07-06 14:53:23 -04:00
infinite-persistence 1f4746ed89 Fix RSS icon not having a gap 2021-07-06 11:21:40 -04:00
infinite-persistence 5d8e3d8b0a
Revert lazy-loading videojs
## Issue
The loading circle wasn't showing up, causing confusion.

Splitting CSS doesn't seem trivial as there seems to be a huge dependency on the load order. Pretty much similar to what this person is facing https://lihautan.com/css-code-splitting/#the-problem

## Change
This reverts videojs-specific changes from 4d638bcf.
2021-07-06 17:04:16 +08:00
infinite-persistence d1ee904dab Fix notifications "mark all" not working on Desktop
## Issue
6343
2021-07-06 12:10:03 +08:00
jessopb 75a78cb65d
More recon (#6400)
* rm

* rm

* recon

* claimlist recon
2021-07-05 17:45:20 -04:00
zeppi 54b970c69c fix spinner 2021-07-05 15:15:19 -04:00
infinite-persistence 8d1d2d2cf0 RecommendedContent: prevent excessive render
## Issue
When seeking on a video, RecommendedContent gets re-rendered, which causes the 20 ClaimPreviews to be re-rendered, several times. ClaimPreview has lots of children, plus it's constantly checking against the blacklist, among other things.

## Fix
The culprit seems to be the `recommendedContent` array -- the address may be different, but the contents are the same.
Do a deep compare instead.
2021-07-05 11:03:53 -04:00
zeppi 59f0c85aca improve pending over refreshes 2021-07-05 10:22:13 -04:00
zeppi 4f6740d1f8 flow... 2021-07-05 10:02:03 -04:00
zeppi d34ef851d0 make flow shut up 2021-07-05 10:02:03 -04:00
zeppi 50556bba97 lint master 2021-07-05 10:02:03 -04:00
infinite-persistence fc7edc875b
ChannelThumbnail improvements
- [x] (6332) The IntersectionObserver method of lazy-loading loads cached images visibly late on slower devices. Previously, it was also showing the "broken image" icon briefly, which we mended by placing a dummy transparent image as the initial src.
  - Reverted that ugly transparent image fix.
  - Use the browser's built-in `loading="lazy"` instead. Sorry, Safari.

- [x] Size-optimization did not take "device pixel ratio" into account.
  - When resizing an image through the CDN, we can't just take the dimensions of the tag in pixels directly -- we need to take zooming into account, otherwise the image ends up blurry.
  - Previously, we quickly disabled optimization for the channel avatar in the Channel Page because of this. Now that we know the root-cause, the change was reverted and we now go through the CDN with appropriate sizes. This also improves our Web Vital scores.

- [x] Size-optimization wasn't really implemented for all ChannelThumbnail instances.
  - The CDN-optimized size was hardcoded to the largest instance, so small images like sidebar thumbnails are still loading images that are unnecessarily larger.
  - There's a little-bit of hardcoding of values from CSS here, but I think it's a ok compromise (not something we change often). It also doesn't need to be exact -- the "device pixel ratio" calculate will ensure it's slightly larger than what we need.

- [x] Set `width` and `height` of `<img>` to improve CLS.
  - Addresses Ligthhouse complaints, although technically the shifting was addressed at the `ClaimPreviewTile` level (sub-container dimensions are well defined).
  - Notes: the values don't need to be the final CSS-adjusted sizes. It just needs to be in the right aspect ratio to help the browser pre-allocate space to avoid shifts.

- [x] Add option to disable lazy-load Channel Thumbnails
  - The guidelines mentioned that items that are already in the viewport should not enable `loading="lazy"`.
  - We have a few areas where it doesn't make sense to lazy-load (e.g. thumbnail in Header, channel selector dropdown, publish preview, etc.).
2021-07-05 16:04:10 +08:00
infinite-persistence 033b03e6e4
WaitUntilOnPage: respond to window resizing or zooming. 2021-07-05 12:06:55 +08:00
infinite-persistence bb8fb038ca
WaitUntilOnPage: add option to load when approaching viewport 2021-07-05 12:06:54 +08:00
infinite-persistence 9745d6df3e
WaitUntilOnPage: Fix scroll listener always registered + bump debounce ms
## Issue
The scroll listener never unregisters, and is always registering itself on every scroll. I believe it was done that way to also handle the case of "element is already in viewport when mounted".

## Change
Tried to separate both "element is already in viewport when mounted" and "element scrolled into viewport" into different effects.

The timeout value used is a bit arbitrary, but is needed because the initial size is (0, 0), and to debounce any layout shifts. Reasoning: If an element is explicitly placed under this wrapper, the additional delay is acceptable since it's meant to be lazy-loaded anyway.
2021-07-05 12:06:54 +08:00
zeppi 89576572f5 more stripe only on web 2021-07-03 14:42:37 -04:00
zeppi 270049316e fiat tips only on web 2021-07-03 14:42:37 -04:00
Anthony 434030e007 touchup frontend to show balance 2021-07-03 14:42:37 -04:00
zeppi 8a5230ed6a new api 2021-07-03 14:42:37 -04:00
zeppi bec50829c1 updated code
about to test something

generate programatically

beginning of the frontend

stripe integration page seems to be working

add user

put functionality behind conditional tag

connect frontend working well

adding environment variables to save success and failure url

bugfix

bugfix

final clean up

adding credit card page

seems to be coming along

calls successfully coming from the frontend

fixing up frontend

cleaning up

frontend coming along

client secret working

basic frontend in place

adding tip page

adding more to the tip frontend

frontend almost done

tabs coming along

one last thing to do for frontend

adding explainer text as custom function

putting finishing touches on tabs

support tabs working well

disable fiat toggle when card not connected

fix frontend gui bug

bugfix and pull out label function

fix symbol for tip gui

modal when card is not yet saved

fix fiat disabled bug

knowing whether card is added programatically

sending tip with frontend

tip functionality working

show unpaid balance

add frontend for card add section

update frontend

update frontend

bugfix

change to use react instead of css

update how stripe is instantiated

fix bug

use customer setup

coming along

working but needs optimization

persist if card is saved

adding anonymous tip functionality

fix nan bug

build stripe endpoints programatically

show for all users for time being

allow the stripe key to automatically switch to live environment

bugfix

bugfix

fix jslint

fix channel page support button

better docs

show customer transactions on frontend

basic table in place

various page updates per jeremys notes

showing card details

nicer tip history table

add better prompt to add card on file viewer page

some linting

time

put connect account behind fiat enabled

no persist fiat mode

wallet calls

tip stuff
2021-07-03 14:42:37 -04:00
infinite-persistence 10c04a7991 Show comment failure reason
## Issue
6370
2021-07-03 13:07:05 -04:00
zeppi 22d9495b8d fix rss, add icon 2021-07-02 13:03:24 -04:00
infinite-persistence 5e97fdfa0d
RSS: Fix URL
Not sure why it worked in the dev instance.
2021-07-02 13:17:14 +08:00
infinite-persistence 49046c9d25
RSS feed for channels
## Issue
3779 RSS feed for channels

## Initial implementation details
- RSS only (not atom)
- Grabs latest 10 entries (Beamer have concerns)

## Credit
Referenced the community version mentioned in 3779
2021-07-02 13:03:21 +08:00
zeppi 608a421ce5 lint 2021-07-01 16:01:51 -04:00
zeppi 9c8c00a21f fix tabindexes 2021-07-01 16:01:51 -04:00
zeppi e9868e37a1 restore single channel content tab 2021-07-01 16:01:51 -04:00
infinite-persistence ad202d6471
i18n 2021-07-01 17:01:58 +08:00
infinite-persistence 2e0f8c6120
Fix videojs overlay css
Related:
aaffd3b089 "CodeSplit: Load 3rd-party css before ours."
2021-07-01 15:23:42 +08:00
DispatchCommit da23a5625b fix video js imports 2021-06-30 19:12:21 -07:00
zeppi 304c0553da lint 2021-06-29 14:52:11 -04:00
John B Nelson 5e2a4960fb FIX video.js event firing issues fore RecsysPlugin
- The `rateChange` event now logs the updated speed,
   not just the    time at which it occurred.
- The `scrub` now (more) accurately logs the position
   it came from before the destination.
- The recsys events get consolidated for logical consistency.
2021-06-29 14:52:11 -04:00
DispatchCommit 8ce12f8e60 fix autoplay for transcoded files 2021-06-29 14:52:11 -04:00
infinite-persistence 5766dc34b5 Port recsys to master; enabled for SIMPLE_SITE only 2021-06-29 14:52:11 -04:00
infinite-persistence 099667a4bb Use env for loading-bar color instead of hardcoded. 2021-06-29 21:01:14 +08:00
Niko Storni c5a63de33c use new optimizer for thumbnails CDN
this should resolve the slow load times for some thumbnails
2021-06-28 17:56:19 -04:00
Anthony 04108f32d5 fix div being stretched by comment section 2021-06-28 12:52:43 -04:00
infinite-persistence 8291cdf7a9
Wunderbar: bump debounce to 1s
per feedback
2021-06-27 11:02:52 +08:00
Anthony 312c561529 update comment 2021-06-26 22:26:40 -04:00
Anthony ab13b23cef dont display cc button via videojs settings 2021-06-26 22:26:40 -04:00
zeppi aa8366f21c enable sign up in desktop 2021-06-26 11:56:32 -04:00
zeppi eed4793799 fix null claim on reactions selector 2021-06-25 16:29:58 -04:00
infinite-persistence a6b2f91e33
Fix popup menu for both playback rate and quality selector. 2021-06-26 01:11:38 +08:00
infinite-persistence e367b66a08
Fix stuck video poster when switching videos
## Issue
With autoplay off, clicking on another video from the Recommended section didn't update the video poster.

## Fix
Made a mistake assuming that the whole component will be re-mounted, so was only setting the thumbnail once.
2021-06-26 01:05:23 +08:00
zeppi c44beaf8fa remove bad new button 2021-06-25 11:40:37 -04:00
infinite-persistence 4d638bcf10
~ Initial Code Split (#6228) 2021-06-25 16:02:45 +08:00
infinite-persistence 3322b91c5d
Improve <video> poster thumbnail fetching.
Even with the caching changes, a 150kB thumbnail still takes 1-2s to fetch. This impacts the score.

## Change
(1) Start with a large-enough placeholder image (has to be larger than the final image -- inflating doesn't count), then delay just enough for scoring, then switch to the real thumbnail.

(2) Since we are now doing post-mount stuff, we have the exact dimensions to optimize the claim thumbnail. This reduces the typically-several-MBs thumbnail to kBs.
2021-06-25 16:00:47 +08:00
infinite-persistence 4562a33926
Lazy-load homepage categories 2021-06-25 16:00:46 +08:00
infinite-persistence 163a10602c
CodeSplit: Show top loading bar while fetching
TODO: Get the primary color programatically
2021-06-25 16:00:46 +08:00
infinite-persistence aaffd3b089
CodeSplit: Load 3rd-party css before ours.
A temporary solution until we code-split css.
2021-06-25 16:00:45 +08:00
infinite-persistence 60afbaf873
CodeSplit: Consolidate "secondary" chunk.
These are chunks that will be requested immediately after ui.js when opening the homepage, so consolidate them into 1 chunk to reduce network overhead.

More work can/should be done to reduce the secondary chunk.
2021-06-25 16:00:44 +08:00
infinite-persistence 3539031e5a
CodeSplit: Initial work 2021-06-25 16:00:44 +08:00
infinite-persistence 5a467af1f0
i18n 2021-06-25 09:19:17 +08:00
saltrafael 2bfc5d7669 Don't allow editing someone else's Channel 2021-06-23 15:21:49 -04:00
saltrafael 852819dd00 Add back re-direct 2021-06-23 15:21:49 -04:00
saltrafael 360f64e71f Fix repost deletion 2021-06-23 15:21:49 -04:00
saltrafael 97762fdd24 Center livestream 2021-06-23 14:19:50 -04:00
infinite-persistence aa8b26b5ca Wunderbar: immediate feedback to convey status
Make immediate GUI feedback to convey the current status, which can be the following:
- typing
- waiting lighthouse results
- waiting claim resolve
- no results or failed.
2021-06-23 14:15:59 -04:00
infinite-persistence 36ac9e038d Wunderbar: change throttle to debounce + add min chars
## Issue
6314: prevent lighthouse spam from wunderbar

## Changes
- Wunderbar: change throttle to debounce + add min chars.
- useLighthouse: added option to not throttle.
2021-06-23 14:15:59 -04:00
infinite-persistence 2ba3f05725 FileThumbnail: don't go through optimizer if GIF
## Issue
6301: don't use CDN for GIF thumbnails

## Note
Just a minor mistake in the recent thumbnail refactoring; left out the handling when `allowGif` is true.
2021-06-23 14:15:37 -04:00
zeppi 6d8fce6011 remove more google 2021-06-23 08:54:19 -04:00
zeppi 1b528ea856 remove google sidebar ads 2021-06-23 08:54:19 -04:00
saltrafael 0532e759d4 Fix preview link background 2021-06-22 18:47:25 -04:00
infinite-persistence f4d327f1f4 Set 'activeChannel' before entering Dashboard
## Issue
6237: Analytics button from Channels page doesn't open analytics to right channel
2021-06-22 18:32:05 -04:00
zeppi 16cfe1c815 remove junk 2021-06-22 14:18:31 -04:00
DispatchCommit d83856c6cf define magic numbers as constants 2021-06-22 07:42:52 -07:00
Dispatch f6176f048d
Merge pull request #6268 from saltrafael/scrollback
Button to scroll to recent live chats (scroll to bottom)
2021-06-22 07:29:21 -07:00
saltrafael 2fcc57dbba lint 2021-06-21 11:06:16 -03:00
saltrafael 52f15df5a3 Only show when not at most recent comment 2021-06-21 10:51:07 -03:00
infinite-persistence 7d9fe35d18 i18n 2021-06-21 18:21:18 +08:00
infinite-persistence 244f5ecaa4 Fix videos not switching when floating player is up
## Issue
6278 Video doesn't switch when floating player is up

## Notes
Not sure why the double `src` call is needed, but it is.
2021-06-19 11:23:29 -04:00
infinite-persistence 3db845b9bf
Allow creators to assign moderators from a comment context-menu. 2021-06-19 18:00:02 +08:00
infinite-persistence 9f9d0a651b Moderation: resolve chan name or URL instead of using Lighthouse.
While Lighthouse allows looser searching like "Tom from LBRY", it doesn't show the expected results when direct channel name with partial ID is entered to disambiguate.
2021-06-19 17:11:45 +08:00
infinite-persistence f02dcb7fe7 No need to resolve as the uri should have all we need 2021-06-19 10:44:28 +08:00
zeppi 13c2c8a9ab small i18n fixes 2021-06-18 19:08:08 -04:00
infinite-persistence fbcb740dc9 Move 'Download' and 'Report Content' into overflow menu.
## Issue
6236 Add context menu to file page

## Notes
The download button actually handles a lot of things -- generating 'streamingUrl', differences between Web and Desktop, download progress for Desktop, etc.  A simpler fix would be to put something else (maybe "Share") into the overflow menu instead.

Anyway, went ahead to do it per 6236, but retained the item for Desktop since we need a progress label.
2021-06-18 15:50:13 -04:00
infinite-persistence 337cfd8769 Moderator Delegation GUI 2021-06-18 15:46:51 -04:00
infinite-persistence 60780db94b Fetch "am I" list at startup.
This is the list of channels that authorized me as a moderator.

Similar to `moderation.BlockList`, this will only be fetched at startup/reload for now. I don't think there is a need to constantly monitor this. Users just need to refresh to see the moderator GUI elements after the delegator has granted them access.
2021-06-18 15:46:51 -04:00
infinite-persistence b4b45ffbdc Commentron Moderation Delegation API 2021-06-18 15:46:51 -04:00
infinite-persistence 510056a479 WunderBar customizations for re-use 2021-06-18 15:46:51 -04:00
infinite-persistence d36c8748e3 Add button to re-fetch Mod Blocklist
... otherwise, a full F5 reload is needed.
2021-06-18 15:46:51 -04:00
infinite-persistence d6ac2c7954 Comments: enable 'enable_comments' flag
## Issue
Closes 6159 "Support Comments Enabled/Disabled for comment.List API"

## New behavior
- `disable-comments` tag will block the comments component entirely.
- `settings.commentsEnabled`:
  - When false, will pause comment fetching, posting and replying.
  - Any already-fetched comments will stay on screen (unless user reloads/F5).
2021-06-18 15:46:51 -04:00
zeppi 42a9024ab8 youpos 2021-06-18 10:57:19 -04:00
zeppi 1a30cb6586 clean 2021-06-18 10:57:19 -04:00
zeppi 2268ab01fb app works when id api fails 2021-06-18 10:57:19 -04:00
infinite-persistence 701ec0a473 Fix remaining "Collection" strings to "List" 2021-06-18 22:31:10 +08:00
saltrafael aea22d10ee Button to scroll to recent live chats (scroll to bottom) 2021-06-18 10:40:52 -03:00
zeppi 03e921e6df use commentron for live view counts 2021-06-17 14:58:55 -04:00
zeppi eb0992879c sidebar channels no staked 2021-06-17 10:44:10 -04:00
Marios Vladimerou 6cec8303b9 adjust channel staked indicator in side navigation 2021-06-17 10:28:16 -04:00
Marios Vladimerou d8b40931f3 Show channel thumbnails in side menu 2021-06-17 10:28:16 -04:00
infinite-persistence 72a4ed107b i18n and various minor fixes 2021-06-17 17:05:24 +08:00
zeppi 60130ec91e gah 2021-06-16 16:03:08 -04:00
zeppi 0d41ba59b3 forbid playlist embed in share 2021-06-16 16:03:08 -04:00
zeppi 6f2ef41230 fix popup 2021-06-16 13:08:30 -04:00
zeppi 8fa55082d5 remove sub heart on collections 2021-06-16 13:01:30 -04:00
zeppi 932a202573 lists help copy 2021-06-16 13:01:02 -04:00
zeppi 3d83354533 fix simplesite crash 2021-06-16 12:56:44 -04:00
zeppi ba5586933d fix lists empty on channel page 2021-06-16 12:56:31 -04:00
Thomas Zarebczan 7a852462f9
copy for lists feature 2021-06-16 11:19:41 -04:00
zeppi ff5c28a70f lists for all 2021-06-15 18:37:35 -04:00
zeppi 179f16470b fix menu separators 2021-06-15 18:37:35 -04:00
zeppi 7457eebd88 clarify incognito claim 2021-06-15 18:37:35 -04:00
zeppi ce6ae9402b lists help copy 2021-06-15 18:37:35 -04:00
zeppi 761974ca6f extra collection publish buttons, styling 2021-06-15 18:37:35 -04:00
saltrafael c92bcc945f remove analytics 2021-06-15 13:47:56 -04:00
saltrafael 32d2ac2fc9 better handle reposts 2021-06-15 13:47:56 -04:00
saltrafael 6629ea6041 final code touches 2021-06-15 13:47:56 -04:00
saltrafael d553c1170e fix showcase for list items 2021-06-15 13:47:56 -04:00
saltrafael 3aa7c754aa lint 2021-06-15 13:47:56 -04:00
saltrafael 055811957b allow delete repost, small block fix, lint 2021-06-15 13:47:56 -04:00
saltrafael 3cd2548206 delete repost 2021-06-15 13:47:56 -04:00
saltrafael 4ef8247985 remove redundancy when buttons are already on page 2021-06-15 13:47:56 -04:00
saltrafael 3a6bddc588 fix multiple channels analytics bug 2021-06-15 13:47:56 -04:00
saltrafael 32d624b807 allow unblock/mute own 2021-06-15 13:47:56 -04:00
saltrafael 2aaa9f358b Additional pop up menu options 2021-06-15 13:47:56 -04:00
infinite-persistence 524370711c
WaitUntilOnPage: Reduce debounce ms; remove unused hack
(1) Reduced the debouncing duration so that the final element can be rendered asap after visible.
  - If the user is scrolling non-stop, it would continue to debounce and the GUI ends up not showing the final element.
  - 25ms seems enough to prevent the initial false-positive that occurs in the scenario of "adjacent/upper elements resized late, so our element was briefly on screen when mounted". If not enough, we can make this a parameter.

(2) Removed `lastUpdateDate` that was a quick hack for Recommended section. We don't use it on that element anymore, so remove the hack to keep the file clean.
2021-06-15 16:28:11 +08:00
infinite-persistence df2c274216
WaitUntilOnPage: handle large items; add optional placeholder element.
(1) The previous code assumed the element is always smaller than the screen. When used on large items like "homepage categories", it'll never load because the element exceeds the screen width or height.

(2) Added optional placeholder element. This allows us to put a cheaper element while waiting, so that the layout doesn't shift when we finally render. This is visually better when scrolling, and complies with Web Vitals.
2021-06-15 16:28:10 +08:00
saltrafael 79fb020fc8 Don't reset content language on edit 2021-06-14 14:53:14 -04:00
zeppi f91940a8b3 remove stuff 2021-06-14 11:55:50 -04:00
zeppi fca900fb9d default top to all-time on channel content 2021-06-14 11:55:50 -04:00
zeppi f149410902 thumbnail fix 2021-06-14 11:55:50 -04:00
zeppi 99f41ae53f list add scrollbar only when needed 2021-06-14 11:55:50 -04:00
zeppi e40aa84a40 fix canonical redirect 2021-06-14 11:55:50 -04:00
zeppi 5680b19dc8 add lists modal stuff 2021-06-14 11:55:50 -04:00
infinite-persistence cbf0be3f3c
i18n update request from translators 2021-06-13 15:46:18 +08:00
infinite-persistence c2ff765a60 Revert "Don't reset content language on edit"
This reverts commit 09aceb6295.
2021-06-13 15:45:15 +08:00
saltrafael 7483429ee6 Handle comment + tip failure, don't re-support 2021-06-11 17:14:17 -04:00
saltrafael 09aceb6295 Don't reset content language on edit 2021-06-11 17:01:20 -04:00
zeppi eff948f786 toms fix for player timeout bug 2021-06-11 13:40:01 -04:00
zeppi e8d352cc4c fix channel tabs again 2021-06-11 07:49:27 -04:00
zeppi d55ef7e899 Empty states for channel tabs 2021-06-10 17:47:02 -04:00
zeppi 501d1cf5f1 include tabs fix from ody 2021-06-10 17:47:02 -04:00
zeppi d5f199be66 enable clear edits 2021-06-10 17:47:02 -04:00
zeppi f258de54b0 fix list order down 2021-06-10 17:47:02 -04:00
zeppi 9b7c8fd642 sharing with lId, fix autoplay bump, 2021-06-10 17:47:02 -04:00
zeppi 78ce17844b limit lists page display count and improve empty state 2021-06-10 17:47:02 -04:00
infinite-persistence 3a58ca1954 Fix notification color.
## Issue
Closes: 6196 Bright Theme is Broken

## Notes
I was trying to fix the problem of the border not visible in Desktop Dark because the highlight color was the same as the border color.  The approach didn't take Light and Odysee into account ... oops.

Round 2.
2021-06-10 10:21:50 -04:00
infinite-persistence 47539edcab Fix lint (removal of videoFetchDuration) 2021-06-10 10:14:52 -04:00
infinite-persistence 617ab25f6e Fix Reddit-share tooltip + i18n update 2021-06-10 07:59:58 +08:00
Andrey Beletsky 27abc1e9d3 Remove erroneous multiplication of time to start by 1000 2021-06-08 13:42:40 -04:00
Andrey Beletsky 09cfee2fa1 Remove time to fetch metric 2021-06-08 13:42:40 -04:00
zeppi ca116ba010 wip
wip

wip - everything but publish, autoplay, and styling

collection publishing

add channel to collection publish

cleanup

wip

bump

clear mass add after success

move collection item management controls

redirect replace to published collection id

bump

playlist selector on create

bump

use new collection add ui element

bump

wip

gitignore

add content json

wip

bump

context add to playlist

basic collections page style pass wip

wip: edits, buttons, styles...

change fileAuthor to claimAuthor

update, pending bugfixes, delete modal progress, collection header, other bugfixes

bump

cleaning

show page bugfix

builtin collection headers

no playlists, no grid title

wip

style tweaks

use normal looking claim previews for collection tiles

add collection changes

style library previews

collection menulist for delete/view on library

delete modal works for unpublished

rearrange collection publish tabs

clean up collection publishing and items

show on odysee

begin collectoin edit header and css renaming

better thumbnails

bump

fix collection publish redirect

view collection in menu does something

copy and thumbs

list previews, pending, context menus, list page

enter to add collection, lists page empty state

playable lists only, delete feature, bump

put fileListDownloaded back

better collection titles

improve collection claim details

fix horiz more icon

fix up channel page

style, copy, bump

refactor preview overlay properties,
fix reposts showing as floppydisk
add watch later toast,
small overlay properties on wunderbar results,
fix collection actions buttons

bump

cleanup

cleaning, refactoring

bump

preview thumb styling, cleanup

support discover page lists search

sync, bump

bump, fix sync more

enforce builtin order for now

new lists page empty state

try to indicate unpublished edits in lists

bump

fix autoplay and linting

consts, fix autoplay

bugs

fixes

cleanup

fix, bump

lists experimental ui, fixes

refactor listIndex out

hack in collection fallback thumb

bump
2021-06-08 13:25:52 -04:00
infinite-persistence 5eae88b553
Fix footer in master
Since lbry.tv is going away, I tried not to touch the css file much so that the merge into `odysee` won't affect it. The side effect is that the links are now white instead of the regular link color.
2021-06-08 01:19:41 +08:00
infinite-persistence 05a1f3cdab
More theme color fixes
## Issue
#5998 Theme color problems
2021-06-07 11:36:38 +08:00
infinite-persistence 3abaed0f17
Sort all language dropdowns, not just in the Settings Page. 2021-06-07 10:15:07 +08:00
infinite-persistence bd8172693c Re-enable "file download" in Odysee
## Issue
Closes 6167 Make downloading more intuitive / obvious in web mode
2021-06-07 09:18:08 +08:00
infinite-persistence fae90c4ba1
i18n update
- Screen readers will announce an <img> tag as that, so no need to say "image" again in the `alt` text.
2021-06-07 09:15:55 +08:00
infinite-persistence f1bf067ebd Combine Buy and Swap
## Issue
5873 Unify swap and buy flow // swaps round 2

## Changes
- Added "Buy|Swap" tab in the Buy Page and display the Swap component when needed.
- Removed 'Swap' button from Wallet Page.
- "Buy More" and related tooltips updated to "Buy or Swap Credits".
2021-06-05 10:07:38 +08:00
Anthony 272eb90392 remove native controls for ios 2021-06-04 15:41:42 -04:00
Anthony eef218a807 use video js viewer for ios and add playsinline 2021-06-04 15:41:42 -04:00
Thomas Zarebczan b8c5a0ed29
Add support for reward approval prompt 2021-06-03 14:54:06 -04:00
zeppi 3ce551f106 copy 2021-06-03 12:08:46 -04:00
zeppi 28a3db28b7 use tag to disable interactions on livestreams 2021-06-03 12:08:46 -04:00
saltrafael 213c336192 fix multi line links 2021-06-03 10:56:28 -04:00
zeppi f386352be3 fix lint 2021-06-02 22:42:50 -04:00
Jeremy Kauffman 22447aa20a
shorter text on sign up 2021-06-02 13:42:30 -04:00
Jeremy Kauffman 417f0a853b
eliminate text wrapping on sign in 2021-06-02 13:41:06 -04:00
infinite-persistence a613f28bc8 Login graphic improvements
1. Lock the width of the second pane so that the layout doesn't shift after the image is fetched.
2. The image is huge, so pass through the optimizer.
  - Wait until the container is mounted to get the exact image width.

Unfortunately, it still takes 0.8s on average to fetch the image, regardless of how small the image has been optimized.
Login graphic improvements

1. Lock the width of the second pane so that the layout doesn't shift after the image is fetched.
2. The image is huge, so pass through the optimizer.
  - Wait until the container is mounted to get the exact image width.

Unfortunately, it still takes 1s (on average) to fetch the image, regardless of how small the image has been optimized.
2021-06-02 08:24:35 +08:00
infinite-persistence 15015dacd7 Performance: don't spread in 'reduce' 2021-06-02 08:21:43 +08:00
infinite-persistence dec38e1770 ChannelThumbnail: use 1x1 transparent image as starting point instead of 'undefined'.
## Issue
6135

While waiting for the lazy-loader IntersectionObserver to initialize, and for the real image to be fetched, an undefined `src` results in the "broken image" thumbnail.

## Fix
Use a transparent image as the starting point. This visually retains the current behavior but minus the "broken image" part.
2021-06-02 08:20:37 +08:00
infinite-persistence 8da7ddf6e6 Parallelize 'channel_sign' calls.
## Issue
If the account has lots of channels, each channel name was sequentially signed, delaying the final action.
2021-06-01 13:39:53 -04:00
infinite-persistence eba8de1cda i18n update 2021-06-01 13:33:58 -04:00
infinite-persistence 315bbe21b1 Open the sidebar by default
## Issue
Closes "6112 Side menu expanded by default unless collapsed by user"
2021-06-01 11:16:08 -04:00
infinite-persistence d6d1cf58e9 Fix SidebarNavigation key errors 2021-06-01 11:15:30 -04:00
infinite-persistence 27a9f654d4 Bump up notification content width to show more text
## Issue
Closes "6056 Extend notificaiton text to show more characters"

## Notes
Looking at the code and comments, I couldn't figure out what was the reason for adding the width constraint (just in case this breaks something).

My guesses:
- Try not to make the rhs thumbnail too far apart from the lhs thumbnail.
- Try not to make the rhs thumbnail misaligned due to dynamic width of the "xx days ago" string on the far right.

## Changes:
Extended the width as much as possible, while retaining some gap before the "xx days ago" string and "unread dot" so that thumbnails stay align in the general case.

The components still reflows nicely (as it did previously) per window-size.
2021-06-01 11:15:04 -04:00
Thomas Zarebczan 97a4f5fcab
Fix metadata and make thumbs work 2021-05-27 17:00:19 -04:00
infinite-persistence 6043b6101b ClaimTilesDiscover: pause visual update until new results are fetched
## Issue
GUI fix for 5979 `claim search runs twice sometimes and "refreshes" view`

The search query might encounter minor alterations after rendered (e.g. for the case of 5979, the `moderation.Blocklist` data came late). The code currently resets the result to 0 before initiating `claim_search`, so we see the GUI blink.

## Idea
There is a possibility that the query-change does not alter the final results in the end. Instead of reseting to the results to zero, hold on to the previous results until the fetch is done.

## Known issue
The tiles no longer blink if there is no change, but the "LIVE" indicator still does. I didn't want to propagate the info too deep, so leaving as is for now. It can be considered a feature ("blinking LIVE indicator" :))

## Results
- No blinking if results stay the same.
- Minimal tile-shifting if new ones are added or removed.
- In the current Odysee homepage, reduced React commits from 88 to 76 (save some CPU cycles).
2021-05-27 13:50:59 -04:00
zeppi a6e76bab31 fix: ignore flow linter promise allsettled 2021-05-27 12:17:23 -04:00
infinite-persistence 1b3fec0452 Add sign-in graphics for SIMPLE_SITE
Homepages repo: `Issue 64 - Add new graphics to odysee sign in`
2021-05-27 14:21:16 +08:00
saltrafael 19055784ff fix recipient address mobile view 2021-05-27 00:54:42 -04:00
infinite-persistence f8e1274c38 Fix broken Comments API due to surfacing of error
## Issue
The "Muted Words" PR elevated Comment-API errors so we can handle it (previously, it goes unnoticed). This broke the other Comment functions because the spammer mitigation might return an error, causing `Promise.all` to bail early.

## Fix
Changed to `Promise.allSettled` and reconstructed the results. This will make it equivalent to the code prior to the "Muted Words" PR.
2021-05-27 00:54:12 -04:00
infinite-persistence 06c6018047 Creator Settings now require a minimum staked LBC. 2021-05-26 15:38:29 -04:00
infinite-persistence 112947adc6 Hide Creator Settings that are not ready 2021-05-26 15:38:29 -04:00
infinite-persistence 82aaf361f1 Hide "control tags" except when creating/editing claims.
## Changes:
1) TagSearch: hide the "control tags" in the Creator Settings page (irrelevant).
2) TagSearch: show the "control tags" when creating/editing Channel (let's use `setting.CommentsEnabled` instead).
3) TagSearch: show the "control tags" when creating/editing Content (`disable-comments` can be used to block comments at the per-claim level, e.g. allow comments in general but block only for specific claims).

## Missing pieces:
For (2) and (3), some work is needed to hide the comment GUI when `setting.CommentsEnabled` is disabled for a particular channel. That flag is not ready in Commentron yet, so I'm not sure how this will be done at the moment. In other words, the checkbox does nothing at the moment.

## Potential flaw:
This change will hide all control tags. If we have more tags in the future and would like to selectively disable some, we'll have to change this parameter to an array instead. Since the usage is not widespread at the moment, a single `disableControlFlag` seems cleaner (don't over-think it yet).
2021-05-26 15:38:29 -04:00
infinite-persistence 8050fa24b2 Relay and beautify 'blocked words' error message 2021-05-26 15:38:29 -04:00
infinite-persistence 2b70ad667b Add/implement SettingsCreatorPage 2021-05-26 15:38:29 -04:00
infinite-persistence 54b17ee739 Commentron Settings API 2021-05-26 15:38:29 -04:00
infinite-persistence 3b1397badc fetchCommentsApi: Relay error messages to the client's 'catch' block. 2021-05-26 15:38:29 -04:00
infinite-persistence b2c2096da5 TagsSearch: tweaks to allow re-use beyond tags
- Allow 'followed' and 'unfollowed' list to be overridden via props.
- Allow labels to be overridden via props.
- Add ability to disable "Suggestions"
2021-05-26 15:38:29 -04:00
infinite-persistence 1008724761 Fix lint 2021-05-26 15:38:29 -04:00
infinite-persistence cded632fd2
DateTime: avoid unnecessary update (#6110)
## Issue
Part of `5834 Performance investigation`

In a homepage with 120 tiles, the lists get rendered 3 times during initial update. The sub-components are updating recursively (will investigate), so instead of 120 DateTime renders, we have 1000+ renders.

The resolved DateTime string for `timeAgo` rarely changes, and even if the string was "a few seconds ago", there's no real need to constantly update it.

## Change
Require a minimum 1-minute delta when deciding whether the component should update. Clients can change this value as needed.

## Test
- [x] Verified `shouldComponentUpdate` doesn't end up taking more time than not having it (it's in micro-second range, compared to the millisecond render).
- [x] Profiler showed no significant improvement for low number of DateTime components, but for the 120 DateTime case, almost 1/4 of a second is saved.
2021-05-24 18:29:58 -04:00
infinite-persistence 9e13596104 Fix 5932 "no way to buy Paid Images or Posts"
- FileRenderInitiator: we don't display if it's not Audio or Video ("playables"). But only do that if it's free or was purchased, otherwise there's no button to buy it.

- FileRenderInline: if the user have not purchased it, don't show anything (not even the spinner).
2021-05-24 11:07:13 -04:00
infinite-persistence b101cb304f Auto fetch paid-content if already paid.
Seems odd to force users to manually "play" purchased files.
2021-05-24 11:07:13 -04:00
Thomas Zarebczan b4da616176
Fetch last 75 comments for livestreams
We only show 75 anyway...
2021-05-21 15:48:43 -04:00
infinite-persistence 09d8b38073
Markdown editor tweaks (#6096)
* Markdown: make '>Quote' look less like a banner

Quotes should be subtle as it is primarily intended for redundant content, but currently it looks more like a banner that brings lots of focus.

This change is also background-independent. Currently, the Quotes in Posts doesn't look like it has a background color, because it happened to be the same as the Post's background. This makes it inconsistent with Quotes in Comments. Let's just always make it blend in + grayish text.

* Markdown: inline code tweak

- better symmetry
- less spacing to the left and right, since it's common to already have a space in the sentence (even if it doesn't, like in CJK, the new spacing looks sufficient).

* 4481: Use regular font in Markdown Editor

I think we should not use Monospace fonts for the Markdown Editor since we are not coding.

Similar to Github, code-blocks and inline-code only gets converted to monospace in the Preview.
2021-05-20 15:31:14 -04:00
saltrafael 2852138c3a
allow sending directly to a channel or content address (#5990)
* allow sending directly to a channel or content address
2021-05-20 15:30:40 -04:00
infinite-persistence 200dc66763
Fix "Buy More" button touching the presets (#6094) 2021-05-20 15:20:13 -04:00
infinite-persistence c8659cc44b
More theme color fixes (#6095)
## Issue
- Closes 5998 Theme color problems
  - "_Seeing the theme go blue when a modal pops up. There's a change in color on Odysee branch also when this happens (but not as apparent)_"

##
1. Fix overlay background color back to gray theme.
2. Also, fixed the Active Toggle Button back to primary colors.
3. Fix hard-to-read "videojs time tooltip". Using the primary colors is a nice touch, but people have complained in Discord that it's too dim given it's transparent background. Just use 'white' instead. Don't use '--color-white' since that's a bit dimmed down.
4. Fix odd highlight in the volume slider (the bright primary color was used in the background).
2021-05-20 15:20:01 -04:00
infinite-persistence 9c28bc9a83
Theme color fixes (master) (#6088)
* Fix error text color for dark mode.

Don't alter --color-danger since that color works fine as a backdrop for the Toast Message.

* Remove duplicates

* Fix typo

* Fix primary/secondary button and notice_message

* Fix dimmed checkbox

* #6006 Switch from 'coolGray' to 'gray'

* Fix invisible nag (missing --color-orange)
2021-05-19 11:57:33 -04:00
infinite-persistence 2dac41e5e5
Mute video when autoplay is blocked by browser policy (#6087)
## Issue
When opening a video directly in Chrome Incognito, the video should autoplay (since that's the default Lbry setting), but it doesn't due to browser policy
https://developers.google.com/web/updates/2017/09/autoplay-policy-changes

## Changes
- We don't want to forcefully mute the video when `autoplay=true`; we just want to do it when the browser policy is applied.
- Fortunately, there is already an existing code-block for us to check that.

## Test cases
- [x] "Autoplay=Off" should not be affected.
- [x] After manually unmuting, the next autoplayed video should not be muted (this is "user interacted" opening, so the policy allows autoplay)
- [x] If manually muting, the next autoplayed video should retain user's last setting.

## Known issues
- I've seen `error` occasionally being undefined in the `catch` block. In those cases, the solution doesn't work. We could remove `if (player.autoplay() && !player.muted())` and simply just try muting it, but for now it's better to ensure `NotAllowedError` is due to unmuted first before applying the fix.
- This doesn't work for Firefox as there is an explicit "Allow Autoplay" button in the address bar that user needs to click themselves. Applies to all sites.
2021-05-19 11:56:54 -04:00
infinite-persistence df03cf1032
Skip thumbnail fetch if autoplay is ON (#6084)
It's useful to show the thumbnail as the player's backdrop when Video Autoplay is OFF, but it's a wasted fetch when it's ON because the videojs component will be blocking it.

Although it's the same image as the ClaimPreview, this one will be in full size, so a fetch will always happen.

Aside: videojs handles the backdrop for the audio and embed case, so this change won't affect those items.
```
  <VideoJs
    poster={isAudio || (embedded && !autoplayIfEmbedded) ? thumbnail : ''}
  />
```

Future: for "mobile + autoplay=OFF", we should consider using the optimized thumbnail. 6074 should help.
2021-05-18 01:48:23 -04:00
saltrafael 31a84828cc
improve logic for own comments showing first (#6073) 2021-05-17 15:55:23 -04:00
infinite-persistence 2a6df18b72
ChannelThumbnail fixes (#6075)
* Restore "use cdn for channel thumbnails"

This reverts commit e7adc607fa.

* ChannelThumbnail: disable optimization in Channel Page and for GIFs

## Issue
5564: Don't use optimized URLs on channel pages (profile/banner)

## Notes
This is not the best/full solution yet, but it is better than what we have to today (one step in the right direction).

Optimized channel thumbnail size is currently hardcoded to a lowest common denominator.
- Pro(s):
  - For images used in multiple places (different sizes) in a page, the total time needed to get the optimized version for each size is too much. Also, the optimizer seems to increase the size of the image in some cases. So, getting 1 image and re-using it is faster for this scenario.
  - Simpler code (no need to mount first -> get dimension -> load image)
- Cons:
  - We aren't fully optimizing the size, so not really addressing Core Web Vitals score problem.
    - e.g. in the front page, we could have used a smaller image for the channel thumbnails.
  - We haven't address the problem with large screen sizes.

* Restore channel selector

This reverts b5cc0bb42d

* ChannelThumbnail: fix lazy-loading

- Closes 6066: Revisit lazy-loading Channel thumbnails
- Properly fixes 5933: Thumbnail lazy-load causes ChannelSelector icon to not update.
    - Add effect-dependency on `channelThumbnail` and `thumbError`.
- Really perform the lazy-loading now.
    - `data-src` was not used, so it wasn't actually lazy loading previously.
2021-05-17 15:51:21 -04:00
infinite-persistence 73f6d207ea Restore "Autoplay media files" behavior
## Issue
Closes 6078 `"Autoplay media files = disable" is broken`

`if (-1)` is "truthy"
2021-05-18 01:57:16 +08:00
infinite-persistence 354027a5f4
i18n update (#6039)
* Don't translate non-English strings

This requires an accompanying change in the homepages repo.

* Translate swap errors.

* i18n update

- Add missing sub-strings.
- Removed 'video stonks'.
- Added 'Nothing here...'
- Updated notifications drop-down strings.
- Add latest "mayo" meme.

* Remove strings that can't be translated due to dynamic values.
2021-05-15 02:01:00 -04:00
mayeaux 2292f790a0
force autoplay when timestamped (#6064) 2021-05-15 01:59:21 -04:00
saltrafael 3131b48c77
Fix blocking/muting issues on channel pages (#6034)
* dont use no_channel_ids on channel content claim search

* ClaimMenuList not filtering own content initially

* fix errors

Co-authored-by: Thomas Zarebczan <thomas.zarebczan@gmail.com>
2021-05-15 01:53:56 -04:00
infinite-persistence c85d7f12c8
Livestream-only query cleanup. (#6036)
This completes the change in c24c016e, covering ClaimListDiscover as well.
2021-05-15 01:52:24 -04:00