Commit graph

320 commits

Author SHA1 Message Date
infinite-persistence 7cf5c1f6fe CoinSwap: websocket + multi-coin
- For the active swap, switch from polling to websocket. The returned data is now the Charge data from the commerce, so some parsing will be required.

- Allow the user to send other coins that the commerce supports.

- Only save the 'chargeCode' to the wallet. The other data can be repopulated from this.

- Store the receipt currency. I'm not sure if the commerce supports sending bits from various coins. Take the coin that came with the 'COMPLETED' message for now.

- Fix 'lbc' calculation to match IAPI side.

- Allow users to see full detauls from "View Past Swaps".

- String cleanup

- GUI cleanup.
2021-04-13 14:02:25 -04:00
infinite-persistence d1e83fcee2 Run doNotificationSocketConnect for CoinSwapStatus 2021-04-13 14:02:25 -04:00
infinite-persistence b2630f6f21 Save entire swap info instead of just the address.
- Users should be able to see the entered and promised amount, otherwise they might forget how much to send over.
- This change also prepares for the future upgrade to support multiple coins.
2021-04-13 14:02:25 -04:00
infinite-persistence 9c808e2b5e Implement Swap BTC page 2021-04-13 14:02:25 -04:00
seanyesmunt f5125b25c2 update livestream eligibilty
add CHANNEL_STAKED_LEVEL_LIVESTREAM to config set to level 5
use odysee_live_enabled tag on users insead of experimental_ui
2021-04-12 11:17:17 -04:00
infinite-persistence b8ec0c9967 Augment doNotificationList to get a filtered list.
Initially, the filtered list was done at the component level, and the list was simply a subset of `notifications`. But due to the limit issue explained in 5694, we now query the filtered list instead.

Considerations:
- The filtered list could contain items not listed in the 'All' list. We could add a string at the bottom of 'All' that says "not all items retrieved" if this confuses the user.
- The unseen count needs to be based on 'All' and not the filtered one, so that data needs to be stashed somehow (can't re-use the array).

Use 2 arrays for now instead of trying to accumulate "all" and "filtered" into 1 array.
2021-04-08 14:28:21 -04:00
infinite-persistence 8111b8d9dc Only concatenate results if 'from !== 0' 2021-04-07 12:08:17 -04:00
infinite-persistence 855ae15a27 Search: infinite scroll 2021-04-07 12:08:17 -04:00
seanyesmunt 0d41e6d88d Revert "Simplify language lists"
This reverts commit 27d43b2b41.
2021-04-06 15:42:27 -04:00
Stefan Sundin 039264531f Add 24-hour clock setting. 2021-04-06 13:00:10 -04:00
Sean Yesmunt 64928213bf fix websockets not reconnecting
When it gets closed, even for errors, it doesn't always go into Socket.onerror. Add the reconnection logic back to just onclose (like it was before)
2021-04-05 14:33:37 -04:00
zeppi 9468f2b0f2 update master with some odysee changes 2021-04-05 13:26:52 -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
infinite-persistence f0d0992d20 Fix broken video embed
## Issue
Closes 5811: Video-embed in markdown-post is broken

- Revert "Fix 'makeSelectIsPlaying' to look at 'playing' instead of 'primary'." dabdc980a1.
- Revert "Fix 'isPlaying' to reflect 'playing' instead of 'primary' URI" 351890decf.

Reverting means "Deleting MD from downloads list causes spinning icon to run forever 4959" gets re-opened, but this is a way less severe issue to leave in.
2021-04-02 14:44:22 -04:00
infinite-persistence d279d70770 Fix autoplay in floating mode
Closes 5000: AutoPlay in Floating Player only works one time

Factor out the code that queries the recommendation. It needs to be called in two places:
(1) `RecommendedContent` - need to cover the case of floating player + visit another video page.
(2) When video is floating and autoplayed the next video.
2021-04-02 14:35:18 -04:00
jessopb 9cd86be04f
use show mature selector (#5803) 2021-03-31 16:55:26 -04:00
zeppi ad10250e16 review changes 2021-03-26 18:43:09 -04:00
zeppi 9e86cab4eb fix livestream redirect to dashboard 2021-03-26 18:43:09 -04:00
zeppi 33c325031d check simplesite for notifications 2021-03-25 15:54:30 -04:00
Sean Yesmunt 64e8c8e095 use comment component for livestream comments 2021-03-25 15:08:05 -04:00
zeppi 4269a63f62 no mature on simple site 2021-03-25 01:56:21 -04:00
zeppi 81b9b0d801 copy for buttons and modals for livestream
redirect on success to dashboard
2021-03-24 13:36:50 -04:00
Sean Yesmunt dcd0528fda disconnect from comment websocket when leaving livestream page 2021-03-22 15:30:14 -07:00
Sean Yesmunt 3644eed49b fix first livestream comment not being displayed 2021-03-22 15:30:13 -07:00
Sean Yesmunt 73f593ddb3 bring in livestream changes from odysee 2021-03-22 15:30:01 -07:00
infinite-persistence ede83f358d Fix autoplay infinite loop
## Issue
Closes 3661: Autoplay + Related go into loops ( infinite ) sometimes

## GUI
Push the actual "next" item into the top of the list.

## History search
1. Skip if the next item is itself.
2. The URL stored in the history comes in various forms, so a direct comparison won't work.
  - There's also a weird case where the URL differs by just a little (p.09 vs p-09), but with the same claim ID:

lbry://vacuum-tube-computer-p.09-–-building#5212bc8bc63c373e2bf1ebc5b765595ed7b6514d
lbry://vacuum-tube-computer-p-09-–-building#5212bc8bc63c373e2bf1ebc5b765595ed7b6514d

Check the claim_id as well to cover cases like these.
2021-03-21 20:15:33 -04:00
infinite-persistence 1e4c79cf06 Don't clear all notifications when only 1 is clicked.
## Issue:
Closes 5515: All videos marked as read when clicking a single notification from notification list

## Change:
- Augment `doReadNotifications` to only clear the given IDs. If the argument is `null` or is not a valid array (e.g. when used as a click handlers, the click event object is passed in), all notifications will be cleared.

- Augment `NOTIFICATION_READ_COMPLETED` to only clear the given IDs.

## Notes:
- Wasn't sure of the API will fail if the ID is invalid, so I start from `unreadNotifications` first, then only filtering it further with the given ID. Otherwise, we could just skip the `unreadNotifications` filtering.
2021-03-08 11:41:04 -05:00
infinite-persistence 2e49421960 Lint - separated commit to make the next diff clearer 2021-03-08 11:41:04 -05:00
Sean Yesmunt 84bab875bc improve mobile style and initial blocked screen loading 2021-03-05 16:51:38 -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
infinite-persistence 94fe68eb45 Fix URI comparison in 'doDeleteFileAndMaybeGoBack'
## Issue
4959: Deleting MD from downloads list causes spinning icon to run forever

5077: player doesn't close when video deleted
2021-02-25 15:38:04 -05:00
infinite-persistence dabdc980a1 Fix 'makeSelectIsPlaying' to look at 'playing' instead of 'primary'.
## Issue
4959: Deleting MD from downloads list causes spinning icon to run forever

5077: player doesn't close when video deleted
2021-02-25 15:38:04 -05:00
infinite-persistence 891207df3d Lint
Separating out the lint fixes just to make the next commmit clearer.
2021-02-25 15:38:04 -05:00
zeppi 05740cad75 send perm url for referrals 2021-02-25 14:44:40 -05:00
Sean Yesmunt 09b689ba1c add channel staked amount indicator on channel thumbnails 2021-02-18 01:14:39 -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 6a16d8e0cd fix bad lighthouse results 2021-01-28 15:35:15 -05:00
infiinte-persistence 912489cce0 Make zoom level persistent on Desktop
- uses local storage.
- for 'web', the browser is already handling that.
2021-01-26 10:20:59 -05:00
zeppi 2adfa8b6b6 sync again 2021-01-25 10:39:40 -05:00
jessopb 2f1fae23cf
vanity referrals (#5353) 2021-01-22 10:47:21 -05:00
zeppi 6ed103b33f shorter timeout 2021-01-19 13:41:10 -05:00
zeppi a2d93bc7cc fix embed loading hang 2021-01-19 13:41:10 -05:00
infiinte-persistence 95b4f89e50 Make 'playback rate' persistent
## Issue
5308: Ability to choose default play speed and theatre mode or regular playback size

## Comments
Initially, I used the local storage, as per 'muted' and 'volume' -- I thought that would be appropriate.
Later, I saw that Theater Mode is already using Client Settings, so I re-did everything to match that.

Also, there is an accompanying commit in lbyr-redux.
2021-01-19 10:16:46 -05:00
zeppi ccd13f2233 put auth in progress back with timeout 2021-01-15 10:40:34 -05:00
Franco Montenegro d9b8f0310a Fix nsfw parameter in search page 2021-01-13 14:56:12 -05:00
jessopb e94d4bcd28
repost ui (#5293) 2021-01-13 10:44:44 -05:00
zeppi ae032cb557 disable authinprogress for now 2021-01-11 18:39:54 -05:00
Sean Yesmunt 65709e1139 Revert "Fix nsfw parameter in search page"
This reverts commit 4f1bd23442.
2021-01-11 15:01:40 -05:00
Sean Yesmunt 148fa4f4cd call user/signout on signout
fixes sync issues for users with multiple accounts signed in to multiple tabs
2021-01-11 14:31:01 -05:00
Franco Montenegro 4f1bd23442 Fix nsfw parameter in search page 2021-01-11 10:32:14 -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
Sean Yesmunt b65934cc7f fix reposts not showing up as winning claim in search suggestions 2021-01-08 09:31:25 -07:00
Sean Yesmunt d43c4d053e add video theater mode button 2021-01-08 08:27:41 -07:00
Thomas Zarebczan 09decf796a
String! 2021-01-06 01:28:16 -05:00
zeppi 65d524dfdf buffer id 2021-01-05 16:29:04 -05:00
zeppi 30a9bb010f show loading while searching
fixes

bump

bump
2020-12-28 15:00:15 -05:00
Sean Yesmunt 187cbd9695 fix doSetPlayingUri arguments 2020-12-21 10:31:34 -05:00
Sean Yesmunt 047e84ac8c winning claim style pass 2020-12-16 14:58:30 -05:00
Sean Yesmunt cc568fb8cf working 2020-12-16 10:52:22 -05:00
zeppi 99ab165a8f New repost flow
Clearer display of takeover amounts
Repost from empty search result, from top page, or from claim

review changes

final touches

bump

empty comment copy

they

emptier

validation cleanup

extra
2020-12-16 09:47:28 -05:00
Sean Yesmunt fac2050485 pass readyState to buffer analytics api 2020-12-03 15:00:21 -05:00
Sean Yesmunt 30d8a0406d wunderbar improvements 2020-12-03 12:39:12 -05:00
jessopb dc679add87
Merge pull request #5076 from lbryio/sync-embed-auth
Prevent multiple embeds from creating new users
2020-12-02 14:46:51 -05:00
zeppi 960a0277aa Prevent multiple embeds from creating new users
try with cookies

tweak

tweak 2

tweak3

tweak4

tweak5

try localstorage

tweakerino

final

try testing for sessionStorage

store sessAvail globally
2020-12-02 13:50:10 -05:00
zeppi 0495dff904 fix homepage and language defaults 2020-11-25 13:04:07 -05:00
zeppi d7856b7618 settings use null when matching current browser language
default language functions

bugfix1

bugfix2

bugfix4
2020-11-23 14:12:31 -05:00
Sean Yesmunt 3b6882412a enable 'discover' page for everyone 2020-11-16 14:11:52 -05:00
jessop f334c07c29 pass language to authenticate
update api language when setLanguage

yarn
2020-11-16 10:31:06 -05:00
Thomas Zarebczan 07916059ed
Don't hard fail on sync set error
Need to fix double sync loop first.
2020-11-14 01:17:26 -05:00
Sean Yesmunt 49a7dfd76d don't delete saved-password on preference_get fail 2020-11-13 14:48:04 -05:00
Sean Yesmunt abacafb0c5 better handle bad wallet password errors 2020-11-13 14:48:04 -05:00
Sean Yesmunt f1adfddded bump lbry-redux and handle other fatal sync errors 2020-11-13 14:48:04 -05:00
Sean Yesmunt cfb10db4ea add fatal error handling when sync/get fails with unknown error 2020-11-13 14:48:04 -05:00
jessopb 697651b0e8
pass domain to authenticate for appid (#5012) 2020-11-10 21:47:51 -05:00
Sean Yesmunt 73e1db7bb4 allow changing language for unauth users 2020-11-10 15:32:45 -05:00
Sean Yesmunt 1023f30b4c initial PR for custom homepages - take 2 2020-11-10 12:08:19 -05:00
Sean Yesmunt 353c1a5689 Revert "unified custom homepage"
This reverts commit 55768fc6b5.
2020-11-10 10:36:11 -05:00
jessop 55768fc6b5 unified custom homepage 2020-11-10 10:24:04 -05:00
Sean Yesmunt f63de7f930 add nudges to sign up 2020-11-10 00:33:27 -05:00
Sean Yesmunt 1cc7be746b move splash animation out of settings 2020-11-09 13:37:51 -05:00
Sean Yesmunt e00b98226c remove old import 2020-11-06 00:02:53 -05:00
Sean Yesmunt 98855d4fd5 fix top claim search result 2020-11-04 16:08:23 -05:00
Sean Yesmunt 485a734c9b make notifications deleteable + unsub from the bell on notifications page 2020-11-04 10:25:49 -05:00
Sean Yesmunt 63f1fed33c per channel notification settings 2020-11-02 14:13:13 -05:00
jessop c4d05a5a1a claim-search by language
setting to search only in language as default

add channel update language selection and about

bump

searchable languages
2020-10-29 15:20:18 -04:00
Sean Yesmunt f2c6986a6f show channels + streams as winning claim from search query 2020-10-28 16:28:36 -04:00
Sean Yesmunt e901daa849 wait to render comments until reactions are fetched 2020-10-27 22:18:22 -04:00
Sean Yesmunt d8aecaeb29 only call sync_apply if no wallet found 2020-10-27 10:17:11 -04:00
jessop 9d4f7dc642 sync reducer stuff
bring tags into app repo

prevent prefset until prefsReady

prefs ready on sign up

prefsReady-desktop
2020-10-27 10:17:11 -04:00
Sean Yesmunt f54a0de797 bring in sync code from lbryinc 2020-10-27 10:17:11 -04:00
Sean Yesmunt 1cb0685b61 pass is_app_readable to notification/list 2020-10-22 12:41:29 -04:00
jessop 51c94d334a set userid regardless of signin 2020-10-21 15:30:26 -04:00
Sean Yesmunt 295b8cf2e1 refactor floatingUri to allow inline players in comments/markdown 2020-10-21 15:29:29 -04:00
jessop 91d034954e mark notification seen on relevant interaction 2020-10-20 13:09:08 -04:00
Sean Yesmunt 106f5a0ac2 initial comment pin PR with new commit 2020-10-19 23:37:39 -04:00
Sean Yesmunt 264a85d837 Revert "comment pin action"
This reverts commit 636ab7427d.
2020-10-19 15:01:09 -04:00
jessop 636ab7427d comment pin action
owners can pin and unpin comments

tweak pin icon styles

move commenting activeChannel from localStorage to redux
2020-10-19 14:48:01 -04:00
Sean Yesmunt cfd4e8a05d rc fixes for electron 9 2020-10-15 19:06:47 -04:00
jessop 7678eedf4d catch claim error on referrer set 2020-10-08 10:52:44 -04:00