Commit graph

164 commits

Author SHA1 Message Date
infinite-persistence
56b800cd33
Fix 'secondary.js' code coverage
## Issue
95% of `secondary.js` is unused code.
  - It was meant to reduce network overhead by chunking up files needed after bootup, and also to reduce the number of `vendor-*.js` files.
  - But it ended up accidentally grabbing everything, defeating the purpose of code-splitting.
2021-11-01 15:25:40 +08:00
infinite-persistence
2922f0f2dc Revert "Code-split homepages"
This reverts commit 310fc81bd9.

Was breaking the `get` api
2021-10-28 01:33:46 +08:00
mayeaux
3849683a59
Lots of player UI improvements (#134)
* various control bar fixes

* fixes for mobile

* hide advertisement div by default

* fix duration bar

* more frontend touchups

* more styles

* fix for advertisement bar showing

* dont use ima on each re-render
2021-10-27 11:08:12 -04:00
infinite-persistence
247ee757d1
ChunkLoadError: ask user to reload instead of automatically reloading (#139)
## Issue
We previously automatically reload when there is a chunk error. This works fine if it's the case of new code was pushed recently while the user was active. But if the failure was caused by other things like network problems or the file IS actually missing, we end up in an infinite loop of refreshes.

## New approach
Tell the user to reload instead of automatically doing it.
2021-10-27 11:07:06 -04:00
infinite-persistence
310fc81bd9
Code-split homepages
## Ticket
97

## Issue
8% of the ui.js chunk consists of the 5 custom homepages
2021-10-27 07:55:24 +08:00
Merge
30023422b8
Desktop cherry-pick: "7240 Integrate lbry redux and lbryinc" 2021-10-19 20:40:07 +08:00
mayeaux
fa889112c5
Ads setup (#62)
* re enable preload ads

* switch macro to aniview

* point towards test server

* improving documentation

* bugfix and turn skip back on

* only run twenty percent of the time for unauthed users

* allow for embeds

* enable show internal feature

* working prototype

* seems to work well

* bugfix

* review old aniview setup

* change to production channelid

* final touchups
2021-10-13 11:04:03 -04:00
zeppi
4e3b07ede5 disable aniview 2021-08-23 11:55:30 -04:00
jessopb
fb03d3a7f9
Fix video dispose (#6904)
* fix video dispose bug

* remove commented
2021-08-18 19:30:07 -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
0db4e4ab51
Merge branch 'master' into accessibility 2021-07-20 12:24:36 -05: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
btzr-io
ba763a85cd remove react-helmet 2021-07-16 02:22:54 -05:00
btzr-io
d0e865b9ec define main language on html head 2021-07-15 01:12:18 -05: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
4d638bcf10
~ Initial Code Split (#6228) 2021-06-25 16:02: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
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
zeppi
2268ab01fb app works when id api fails 2021-06-18 10:57:19 -04:00
Marios Vladimerou
d8b40931f3 Show channel thumbnails in side menu 2021-06-17 10:28:16 -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
zeppi
fe86010be5 More master reconciliation
rewards page recon

router recon

uEmailVerify recon

uPVerify recon

rm style

app/view recon

channel page recon

chanFol recon

syncPassword recon

fileDesc recon

web/redirect recon

wip

page/view recon
2021-04-27 23:05:38 -04:00
seanyesmunt
0d41e6d88d Revert "Simplify language lists"
This reverts commit 27d43b2b41.
2021-04-06 15:42:27 -04:00
infinite-persistence
81e4730037 Simplify language lists
- SUPPORTED_SUB_LANGUAGE_CODES[] that I introduced was pretty redundant when SUPPORTED_LANGUAGES[] already hold the information. The logic to ignore sub-languages (i.e. reduce the locale's "en-GB" to "en" is now located in getDefaultLanguage()).

- SUPPORTED_BROWSER_LANGUAGES[] and SUPPORTED_LANGUAGES[] look so similar and hard to tell what the former is for at first glance. The functionality to map 'zh-CN' to 'zh-Hans' is now handled by resolveLanguageAlias(), which makes the intention clearer.

This leaves us with a single list -- SUPPORTED_LANGUAGES[], whose key also tells us the desired language code to use.
Also, clients now need to call `resolveLanguageAlias` to map any language code aliases, as they differ depending on how it is queried (e.g. `navigator.language` vs. `app.getLocal()` uses different standards).

I think we no longer need to explicitly migrate existing user's 'zh-CN' into 'zh-Hans' because the rest of the system will always use the desired language code as long as 'resolveLanguageAlias' is called appropriately. e.g. the system uses `selectLanguage` and `selectLanguage` calls `resolveLanguageAlias`.
2021-04-04 22:54:33 -04:00
Sean Yesmunt
19023a31d0 ensure lbrytv api status is web only 2021-03-16 22:19:03 -04:00
Thomas Zarebczan
eb0e0cb7cc Better downtime / reboot status message
Fixed
2021-03-03 19:40:15 -05:00
Sean Yesmunt
ea74a66dbd
New moderation tools: block & mute (#5572)
* initial support for block/mute

* hide blocked + muted content everywhere

* add info message for blocked/muted characteristics

* sort blocked list by most recent block first

* add 'blocked' message on channel page for channels that you have blocked

* cleanup

* delete unused files

* always pass mute/block list to claim_search on homepage

* PR cleanup
2021-03-03 13:50:16 -05:00
Sean Yesmunt
1f117e43bd add initial support for comment API outside of SDK 2021-02-11 10:45:34 -05:00
Sean Yesmunt
db87125dc8 refactor 'active' channel usage across the app 2021-02-11 10:45:34 -05:00
zeppi
2adfa8b6b6 sync again 2021-01-25 10:39:40 -05:00
zeppi
5435dc88d4 langmig 2021-01-13 11:11:58 -05:00
zeppi
72945b45c5 cleaner 2021-01-11 10:30:26 -05:00
zeppi
6fb345dbbc zh languages
bugfix

bugfix3

publish

add zh back for homepage selector

test

revert i18n file

DRY publish language
2021-01-11 10:30:26 -05:00
infiinte-persistence
d0f42ce6b3 Desktop: Enable 'Alt+Left/Right' for history navigation.
## Why
- Consistent behavior across Web and Desktop.
2020-12-30 14:55:24 -05:00
Sean Yesmunt
0cc3af28a3 flow fixes 2020-12-16 10:52:22 -05:00
Sean Yesmunt
b0026a562a pass x-lbry-auth-token to apis status call for email verified users 2020-12-10 17:35:03 -05:00
Sean Yesmunt
d0773cec4a only use custom scrollbar on non-mac 2020-11-23 14:03:51 -05:00
infiinte-persistence
7fb7560f75 Limit scrollbar customization to: (1) web (2) linux/windows app
The only downside to this new implementation is that the top-most (or right-most?) scrollbar won't get the customization. Any other sub-components (e.g. sidebar) will get the customization.

My guess is that the "top-most" scrollbar is above the `main-wrapper`. I'm not sure if we can (or should) add another className higher than App.

The impetus for the customization was the ugly sidebar anyway, so at least we covered that.
2020-11-23 11:00:41 -05:00
Sean Yesmunt
c4573df90f fix import 2020-11-18 17:15:18 -05:00
Sean Yesmunt
cfb10db4ea add fatal error handling when sync/get fails with unknown error 2020-11-13 14:48:04 -05:00
Sean Yesmunt
9c20a63ad5 add spinner when waiting for 'user' so page doesn't look broken 2020-10-28 14:45:04 -04:00
jessop
51c94d334a set userid regardless of signin 2020-10-21 15:30:26 -04:00
Sean Yesmunt
489a4855e9 alignment with odysee branch 2020-10-05 13:56:43 -04:00
Sean Yesmunt
7e8b2bb184 first run improvements + kill first follow modal 2020-09-29 17:12:32 -04:00
jessop
ee1a37a806 password error handling 2020-09-21 14:11:25 -04:00
jessop
9127266956 get sync password out of signing flow 2020-09-21 14:11:25 -04:00
jessop
3b23f09bed fix sync clean wallet bug
remove previous changes,keep syncpref in wallet, change anon wallet pref key to local

sync choices wip

dont relocate syncenable setting

bump

no prefs on web unauth

bugfix redux bump

pull after sync change

bump
2020-09-21 14:11:25 -04:00
jessop
b5dccced6d bugfix 2020-09-10 14:20:02 -04:00
jessop
6c4842a111 sync changes 2020-09-10 14:20:02 -04:00
Sean Yesmunt
90327a72ed add comments behind a flag 2020-07-23 11:03:00 -04:00
infiinte-persistence
2ea66f9d8d Refactor zooming code into "effects/use-zoom.js" 2020-07-14 16:08:24 -04:00
infiinte-persistence
bc19503419 Allow zooming on Desktop
## Issue
Closes 4501 `Font size`

## New behavior
The Desktop app can now zoom the same way as browsers:
- Zoom In: "Ctrl+=" or "Ctrl+numpadPlus" or "Ctrl+WheelUp"
- Zoom Out: "Ctrl+-" or "Ctrl+numpadMinus" or "Ctrl+WheelDown"
- Zoom Reset: "Ctrl+0" or "Ctrl+numpad0"

## Code changes
(1) Electron provides this functionality through the `zoomIn|zoomOut|resetZoom` roles in the Menu, so it would have been a quick job.

However, given that Electron currently does not support having multiple accelerators for one item, we can't add `Ctrl+WheelUp` to the mix and would have to implement our own handler and use `webFrame`.

Given that we need to add code anyways, we handle both keyboard and mouse cases through the same handler, hence the existence of `zoomWindow.js`.  It also provides the opportunity to few a few quirks with Electron's default implementation (e.g. stuck at both extremes)

(2) I recall there is another Issue for adding keyboard shortcuts.  Given that these shortcuts are universally used in browsers, they are probably "reserved", so shouldn't clash with that task.
2020-07-14 16:08:24 -04:00
jessop
1881627a89 only set matomo userid if hasverifiedemail 2020-07-10 10:14:06 -04:00
infiinte-persistence
2f8af4e1fa Allow upgrade nag bar to be dismissed per session
#-4368:
"Users on third party builds may have to wait a few hours for the update and the bar is annoying."
2020-06-22 09:50:35 -04:00
Sean Yesmunt
2066205b8f add user + rewards redux code from lbryinc 2020-06-16 09:56:32 -04:00
Sean Yesmunt
36d60fabe4 make sure auth token header is set before any authenticated sdk calls are made 2020-06-08 13:38:34 -04:00
jessop
e3c2919373 rename lbrytv to web
language and API consts

improve customization
custom homepages
get config from .env.default
custom title and logo

small changes

add pinned item to sidebar

rebase?
2020-05-25 17:21:02 -04:00
Cassidy
c0dd3e48a4 prevents effect from being re-ran on every render 2020-05-25 13:36:17 -04:00
Cassidy
b5f3ac0526 disables page scroll when pressing spacebar 2020-05-25 13:36:17 -04:00
Baltazar Gomez
ca4bbf53df
Support drag-and-drop file publishing (#4170) 2020-05-25 10:27:36 -04:00
Jeremy Kauffman
793f622d8d semi-broken 2020-04-29 11:00:42 -04:00
jessop
05aa523f3a prevent loading tv degrade components in app 2020-04-25 16:20:00 -04:00
jessop
fdd20ef350 use txo list for wallet page:
paginated
enable revoking
filtering

txo pagination changes

move constants

remove fetchTransactions() calls

review changes

final changes
2020-04-15 11:12:29 -04:00
Jeremy Kauffman
872259b73a
File downloads and refactoring (#3918)
* am I done?

* post diff

* unused selector cleanup

* missed commit

* mess with button styles

* fix flow

Co-authored-by: Jeremy Kauffman <jeremy@lbry.io>
Co-authored-by: Sean Yesmunt <sean@lbry.io>
2020-04-01 14:43:50 -04:00
Thomas Zarebczan
829c2eac50 small fixes 2020-03-30 09:05:30 -04:00
Sean Yesmunt
cc7c69eb25 embed improvements 2020-03-27 09:59:07 -04:00
Sean Yesmunt
3ca3176d28 disable fail gerbil for nag instead 2020-03-26 16:17:41 -04:00
Sean Yesmunt
46cc15a1cc improve open in app link for existing LBRY users 2020-03-26 11:57:31 -04:00
seanyesmunt
f0d2298142 update copy 2020-03-17 16:15:47 -04:00
seanyesmunt
4d2e841fcd add gerbil when apis are down and move components into lbrytv/ 2020-03-17 16:15:47 -04:00
seanyesmunt
b005ed76fe add 10 second timeout to lbrytv status call 2020-03-16 17:59:24 -04:00
jessop
d9e65e8328 select tags before channels and filter channels by tag
moartags

CS tags followed category
continue button,
Remove card header on tags select

limitShow tags count

tags limit fix

debug cs tags highlighting

bugfix

yarnlock
2020-03-16 16:47:22 -04:00
Sean Yesmunt
f755ec0bcf update error message 2020-03-13 13:00:56 -04:00
Sean Yesmunt
e2c476dbf9 add error nag when api performance is degraded 2020-03-13 12:57:32 -04:00
jessop
a07fb2514e sync tags with lbry on startup and change 2020-03-11 21:47:48 -04:00
Dalton
119bda85dc fixes #3744 by allowing the user to navigate forward and backward using the respective mouse keys 2020-02-28 16:56:21 -05:00
Sean Yesmunt
75c326c98b remove rogue rewardList call 2020-02-24 15:45:30 -05:00
jessop
12c1df2315 no nag on embeds / auth verify 2020-02-22 00:42:03 -05:00
Sean Yesmunt
03f1d91c61 fix typo 2020-02-21 17:24:37 -05:00
Sean Yesmunt
f109ceaf96 add 'more' link on mobile analytics nag too 2020-02-21 16:12:11 -05:00
Sean Yesmunt
ab4856b307 fix typo 2020-02-21 16:09:10 -05:00
Sean Yesmunt
df748878e1 update copy and add help link 2020-02-21 16:09:10 -05:00
Sean Yesmunt
c0189778d2 add basic analytics nag 2020-02-21 16:09:10 -05:00
Sean Yesmunt
776de49c15 basic repost UI 2020-02-11 11:09:55 -05:00
Sean Yesmunt
93e8616e2e referrals round 2 2020-01-14 15:50:10 -05:00
Sean Yesmunt
b15f728d16 Revert "Feat new referrals" 2020-01-14 15:01:54 -05:00
jessop
d1c4e96d60 rename setReferrerPending and Error
bump lbryinc
improve invite states
register channels with apis
fix duplicate subscriptions
2020-01-14 12:42:56 -05:00
jessop
b16688754b new referrals
enable visiting /$/CODE or /$/invite/CHANNEL
enable visiting /ANY?=[CODE|CHANNEL] to set and claim
enable /$/invite selecting channels for referral codes
add ?r=CODE to share modal
enable setting referrer and claiming reward from rewards page
2020-01-14 12:42:56 -05:00
jessop
92af68d912 new invite route 2020-01-14 12:42:55 -05:00
Sean Yesmunt
72b9f3efdd new text viewer layout 2020-01-06 16:35:43 -05:00
Sean Yesmunt
ef9b34c51f cleanup 2020-01-02 18:16:54 -05:00
Sean Yesmunt
a8711c027f navigation redesign 2020-01-02 18:16:54 -05:00
Sean Yesmunt
d9ba9ec5d4 update lbry-redux 2019-12-21 14:34:39 -05:00
Sean Yesmunt
f5d8531b8e call preference get for all users 2019-12-21 13:43:42 -05:00
Thomas Zarebczan
508f2249ba fix: unauthed users
Don't call preference get or wallet status (on settings page)
2019-12-14 11:12:33 -05:00
jessop
db9a2152fa enable wallet server management and handle some startup contingencies 2019-12-13 13:21:34 -05:00
jessop
38c954853e update splash % call to use headers_synchronization_progress 2019-12-11 10:43:34 -05:00