Commit graph

469 commits

Author SHA1 Message Date
infinite-persistence
f38a15ee0d
Blocklist page: fix perpetual spinner when trying to refresh with no channels
There's nothing to do when you don't have a channel, so hide the button and ensure redux fails gracefully.
2021-09-24 15:04:59 +08:00
infinite-persistence
63fd867757
Fix moderator data misalignment. (#7139)
## Issue
Closes 7121 Missing mod block option (large number of moderated channels?)

## Notes
It was bad to assume `channelSignatures` would be the same length as the promise result -- any failure in signing would cause a misalignment.

For my case, an accidentally-merged channel couldn't be signed due to a missing private key. I think it's the same for Drew.
2021-09-21 10:40:44 -04:00
saltrafael
1c59913e7a
Recommended changes (#7089)
* Fix floating

* Change makeSelectRecommendedContentForUri behavior
2021-09-16 16:00:44 -04:00
infinite-persistence
65902f6d58
Commentron err replacement: fix readability + added link support.
- Hopefully this is easier to understand, and easier to add/remove entries.
- The link support will be needed by the upcoming Appeal process.
2021-09-15 16:02:02 +08:00
infinite-persistence
af4ff29b23
Fix: Can't unblock if delegator deleted their channel
## Issue
7003 Can't unblock if delegator deleted their channel

## Changes
- Changed the function parameter from 'creatorId' to 'creatorUri'
    - It got short-circuited because we don't resolve deleted channels. But the client already have the full creator URI (containing the needed 'name' and 'id'), so there is no need to actually look at the resolved list -- just pass the uri like all the other functions.
2021-09-11 21:04:21 +08:00
saltrafael
e8d8dfa76b
Playlist fall out fixes (#7032)
* Add snack bar notification

* Fix and improve code

* Better handle paid content on playlists

* Fix menu options that show for unauth users
2021-09-10 13:27:21 -04:00
saltrafael
160d8fe4b8
Make autoplay_next pushPrefs and set default value to autoplay setting (#7051) 2021-09-09 12:53:27 -04:00
infinite-persistence
0c1554e453
Blocklist Page: show the timeout ban duration
- 'humanize-duration' is used because 'moment''s humanizer sucks.
2021-09-03 07:17:57 +08:00
infinite-persistence
663376e970
Block timeout was changed from "hours" to "seconds" in Commentron 2021-09-03 07:17:57 +08:00
infinite-persistence
a05ccdd44f
Comment Moderation - time based bans
## Issue
6712 Comment Moderation - time based bans

## Approach
- Consolidated the 3 types of blocking buttons in the comment content menu (i.e. Block, Moderator Block, Admin Block) into 1 regular Block button.
- Show a modal when Block is clicked.
    - Let user choose the blocklist.
    - Let user choose the timeout duration (this PR's impetus).
2021-09-03 07:17:56 +08:00
saltrafael
64cbd4ae8d
Expanded Playback and List controls (#6921)
* Dont show countdown on Lists

* Add Repeat icon

* Add Shuffle icon

* Add Replay Icon

* Add Replay Option to autoplayCountdown

* Add Loop Control for Lists

* Add Shuffle control for Lists

* Improve View List Link and Fetch action

* Add Play Button to List page

* Add Shuffle Play Option on List Page and Menus

* Fix Modal Remove Collection I18n

* CSS: Fix Large list titles

* Fix List playback on Floating Player

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

* Add Play Next VJS component

* Add Play Next Button

* Add Play Previous VJS Component

* Add Play Previous Button

* Add Autoplay Next Button

* Add separate control for autoplay next in list

* Bump redux

* Update CHANGELOG.md
2021-09-02 16:05:32 -04:00
infinite-persistence
ebfd648a88
Fix "linked-comment not found" msg not appearing
## Issue
6914 "Linked comment not found" message is gone

## Notes
Commentron updated the message, so the string comparison failed.
2021-08-30 14:12:12 +08:00
saltrafael
02a39e693b
Handle deleted comments 2021-08-28 20:48:49 +08:00
Franco Montenegro
bd92110d1f
Automatically claim initial rewards (new_user & email_verified) when … (#6807)
* Automatically claim initial rewards (new_user & email_verified) when accessing creating channel, edit channel and upload

* Do not try to get initial rewards if already claimed.
2021-08-18 12:34:24 -04:00
infinite-persistence
58773ede91
Reload when auth token mismatch is detected (#6897)
## Tickets
- 5504 Signing out of account causes page to break in other tabs
- 6829 merged accounts - force log out / fail sync when x-auth-token and cookie auth token are different

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

## Approach
Reload when the LBRY API token no longer matches the auth token.
2021-08-18 10:49:09 -04:00
jessopb
5f55603fb2
send recsys powered-by (#6875)
* send recsys powered-by

* update lighthouse call in useLighthouse

* rename select selectors

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

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

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

## Aside
- There are now 2 ways to know if a channel has disabled comments: (1) from `comment.list` and `setting.Get|List`. Both of them updates `settingsByChannelId`, so it'll still be a single place for the GUI to check against.
2021-08-12 14:51:41 +08:00
infinite-persistence
658e9bd1db
Enable min_tip setting 2021-08-12 14:51:40 +08:00
infinite-persistence
ff9ca662f2
Option to change commments-server (desktop)
## Issue
> 5459 Add setting for changing your comment server. Visible on desktop (and possibly defaulting to Odysee URL), hidden on odysee.

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

## Changes
- Added Desktop-only options to define custom server. [Settings > Advanced Settings > "Comment server" section].
2021-08-12 14:01:22 +08:00
infinite-persistence
4731786a3f
Livestream: implement Pinned Comments 2021-08-12 10:39:21 +08:00
infinite-persistence
fd66e6b9b1
Refactor Commentron error msg handling
## Issue
6832: Pass through commenting error if it fails current error list

## Changes
- Refactor the error-msg-replacing code to make it easier to add new ones in the future.
- Made the new error message localizable (i.e. extract the variable value, pass to `__()`)
- Fallback to Commentron original message for those unhandled ones (usually fresh messages from Commentron).
2021-08-10 10:26:58 +08:00
infinite-persistence
34368760de Fill in remaining Recsys fields
## Issue
6366 Recsys Evaluation Telemetry

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

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

## Changes
- `ClaimPreview`: add optional parameters to store an ID of the container that it is in (for this case, it is `ClaimList`) as well as the index within the container.
  - When clicked, we store the container ID in the navigation history `state` object.
    - For general cases, anyone can check this state from  `history.location.state` to know which container referred/navigated to the current page. For the recsys use case, we can use this as the `parentUUID`.
- `ClaimList`: just relay `onClick` and set IDs.
- `RecommendedContent`: now handles the uuid generation (for both parent and child) and stores the data in Redux.
2021-08-03 09:34:36 -04:00
Baltazar Gomez
79e39da47f update sockety api urls 2021-08-01 09:47:44 -04:00
Baltazar Gomez
9dd065a595 update lighthouse search api 2021-07-30 11:47:28 -04:00
infinite-persistence
76a6c0441c Beautify/elaborate comment spam-check message 2021-07-23 13:33:10 -04:00
infinite-persistence
ffad52d5b7 Remove console.log
Seems like lint is being bypassed recently?
2021-07-23 08:42:58 -04:00
infinite-persistence
6e402240b0
Fix muted-words now returning null instead of ""
## Issue
Creating Settings suddenly start to stop loading correctly for some of my channels.

## Change
`settings.List` now returns null instead of empty array. Double-checked the Commentron repo and this is indeed the case.

Updated the code to handle null.
2021-07-23 15:46:38 +08:00
saltrafael
b164a5d1f4 Pop up Menu Fixes and Improvements
Pop up Menu Fixes and Improvements

Improve re-directs

Fix file deletion

Improve code, and more

Fix List Layout collection popup

Allow to edit list

Fix blocking when not logged or no channel

Fix Edit and Delete showing for not owned Lists

Fix actions breaking when not logged in

Fix List options not showing

Lint

Shorten logic

Lint
2021-07-21 14:40:44 -04: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
zeppi
1d021fc8e0 more 2021-07-19 13:52:15 -04:00
infinite-persistence
abe32e5f5c
Revert "Reactions: consider failures as "fetched""
This reverts commit 84a2a74c8c.
2021-07-18 10:55:11 +08: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
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
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
infinite-persistence
08c701ba19 Restore comment pagination
This reverts commit e6addb8c2a, reversing
changes made to 47b594107a.
2021-07-16 10:54:12 -04: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
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
4731588a3c
Tell user when linked-comment is not available. 2021-07-14 13:00:26 +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
0cf6fe3df5
Comments Pagination
## Issue
6158 - Support Comment Pagination
2021-07-14 12:58:25 +08: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
saltrafael
4bd5beb2f6 Fix notification bell toast 2021-07-12 11:03:11 -04: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
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
infinite-persistence
d1ee904dab Fix notifications "mark all" not working on Desktop
## Issue
6343
2021-07-06 12:10:03 +08:00
zeppi
59f0c85aca improve pending over refreshes 2021-07-05 10:22:13 -04:00
infinite-persistence
10c04a7991 Show comment failure reason
## Issue
6370
2021-07-03 13:07:05 -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
f02dcb7fe7 No need to resolve as the uri should have all we need 2021-06-19 10:44:28 +08:00
infinite-persistence
b4b45ffbdc Commentron Moderation Delegation API 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
2268ab01fb app works when id api fails 2021-06-18 10:57:19 -04:00
zeppi
03e921e6df use commentron for live view counts 2021-06-17 14:58:55 -04:00
saltrafael
2aaa9f358b Additional pop up menu options 2021-06-15 13:47:56 -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
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
zeppi
a6e76bab31 fix: ignore flow linter promise allsettled 2021-05-27 12:17:23 -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
8050fa24b2 Relay and beautify 'blocked words' error message 2021-05-26 15:38:29 -04:00
infinite-persistence
54b17ee739 Commentron Settings API 2021-05-26 15:38:29 -04:00
Sean Yesmunt
3808c61148 fetch notofication/categories for notification types dropdown 2021-04-30 12:45:46 -04:00
Sean Yesmunt
0c71059bf0 fix comment websocket from connecting more than once per claim 2021-04-23 16:58:23 -04:00
Sean Yesmunt
6d89f0df7e hyperchats 2021-04-23 16:20:17 -04:00
zeppi
bd62a55608 review 2021-04-23 14:51:09 -04:00
zeppi
f3463ebdeb use redux for livestream claim setup 2021-04-23 14:51:09 -04:00
Sean Yesmunt
0653dbde04 update notification websocket to sockety 2021-04-21 20:18:25 -04:00
Sean Yesmunt
13b6cc413b add category param 2021-04-21 11:19:23 -04:00
infinite-persistence
bcbb1c8185 Add 'ReportContent' actions/reducers/selectors 2021-04-21 10:49:31 -04:00
Sean Yesmunt
dad75f76bd new comment websocket url 2021-04-20 14:28:45 -04:00
Sean Yesmunt
a841fd6206 fix typo 2021-04-19 15:55:11 -04:00
Sean Yesmunt
942c85c9f1 Reconnect when comment websocket loses connection 2021-04-14 00:08:19 -04:00
jessopb
989126c603
Feat publish replays on master (#5863)
* provide livestream replay publish via url
2021-04-14 00:06:11 -04:00
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
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
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
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
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
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
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
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
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
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
zeppi
ccd13f2233 put auth in progress back with timeout 2021-01-15 10:40:34 -05:00
zeppi
ae032cb557 disable authinprogress for now 2021-01-11 18:39:54 -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
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
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
Sean Yesmunt
187cbd9695 fix doSetPlayingUri arguments 2020-12-21 10:31:34 -05:00
Sean Yesmunt
cc568fb8cf working 2020-12-16 10:52:22 -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
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
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
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
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
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
jessop
10ce772bcb initial page view sets referring channel 2020-10-07 11:44:12 -04:00
Sean Yesmunt
00c05437ca add comment sorting and improve comment focus styles 2020-10-06 16:04:52 -04:00
infiinte-persistence
ae191afeec String corrections
- "The publisher has chosen to" -- Fix incomplete string, probably broken by linter.
- Fix hardcoded email in invite snackbar.
- Fix 'Upload Settings' to new lower-case style.
- Add few more missing ones.
- Consolidated "Claim xxx" strings together.
- Removed duplicate "Confirming..." due to branch merging.
2020-10-05 10:39:04 -04:00
Sean Yesmunt
eb84a366d2 add file reactions code from odysee 2020-10-02 15:28:00 -04:00
Sean Yesmunt
dc42df3bf2 fix uuid import with new version 2020-10-02 14:36:22 -04:00
jessop
aa127e45aa debounce comment reacts on backend, not button, feedback immediate 2020-10-02 12:35:34 -04:00
jessop
57a09cd3c6 only clear comment text if confirmed 2020-10-02 12:00:23 -04:00
infiinte-persistence
48787a1feb doPublishDesktop: Call the "preview" modal before doing the actual publish.
This requires an accompanying change in lbry-redux. Search for "SETTINGS.ENABLE_PUBLISH_PREVIEW" in the commit message to find the commit.

In Edit Mode, the preview will not appear. Not sure if it's needed, plus there are more things to handle in Edit mode (e.g. which items are changed)
2020-10-02 10:25:17 -04:00
jessop
e954bce821 allow reaction list without channel
uncomment

reacts requireauth, commentReact handles missing channels

enable config, better track pending reacts
2020-10-01 15:23:15 -04:00
jessop
ad88f7de7f disable while reacting, dont call api twice 2020-09-29 17:12:32 -04:00
jessop
63ce107cc1 comment reactions 2020-09-29 17:12:32 -04:00
Sean Yesmunt
35d959208a fix first comment on claim not showing instantly 2020-09-29 17:12:32 -04:00
Sean Yesmunt
f547053ebc add yotube sync to initial sign up flow 2020-09-29 17:12:32 -04:00
Sean Yesmunt
83a6589cd0 new lbc icon 2020-09-29 17:12:32 -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
Sean Yesmunt
153a17af72 bring in websocket reconnect code from 'release' branch 2020-09-17 12:40:08 -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
ioancole
bb9bde1c19 Encode automplete search string and don't autocomplete for empty query 2020-09-10 13:36:33 -04:00
Sean Yesmunt
813ef0e960 Revert "Encode autocomplete search query"
This reverts commit 7f8d084fa4.
2020-09-10 11:30:55 -04:00
Sean Yesmunt
cb0918726e Revert "Don't autocomplete for empty string search"
This reverts commit 72187ca51e.
2020-09-10 11:30:55 -04:00
ioancole
72187ca51e Don't autocomplete for empty string search 2020-09-10 11:08:22 -04:00
ioancole
7f8d084fa4 Encode autocomplete search query 2020-09-10 11:08:22 -04:00
Sean Yesmunt
bba539f846 Revert "Revert "add logging of player point of presence""
This reverts commit 4067e1ffd8.
2020-09-09 14:55:16 -04:00
Sean Yesmunt
799c0c1f11 quick comment fix while waiting for release branch to be merged into master 2020-09-09 14:54:29 -04:00
Sean Yesmunt
4067e1ffd8 Revert "add logging of player point of presence"
This reverts commit fb142f7699.
2020-09-09 14:40:43 -04:00
Jeremy Kauffman
fb142f7699 add logging of player point of presence 2020-09-09 10:48:15 -04:00
jessopb
3a69f47347
quick fix for sync (#4718) 2020-08-28 11:25:47 -04:00
Sean Yesmunt
df9a19a9b4 always send integers to buffer api 2020-08-27 14:18:45 -04:00
Sean Yesmunt
a28ce2d3b8 pass 'only_if_expired: true' so clicking 'resend link' doesn't expire old tokens 2020-08-25 12:25:25 -04:00
Thomas Zarebczan
a1f5292e57
Increase polling interval (makes app lag) 2020-08-24 16:08:14 -04:00
Sean Yesmunt
9ee4b256fb add mark as seen to notifications 2020-08-21 16:04:27 -04:00
Franco Montenegro
cbfed97853 Add app closing behavior setting 2020-08-20 01:16:11 -04:00
Sean Yesmunt
abbaa8bf78 always batch resolve search results 2020-08-12 13:03:00 -04:00
jessop
c0be817960 support sdk feature for fast comments 2020-08-10 14:52:17 -04:00
Sean Yesmunt
2f995be794 use new buffer analytics api 2020-08-07 22:54:29 -04:00
jessop
b185857eb0 trigger sync on theme change in nav menu 2020-07-28 22:52:44 -04:00
Sean Yesmunt
0df388280e add search code from lbry-redux 2020-07-27 16:37:36 -04:00
jessop
d9bf72a351 all settings constants come from redux
sync settings

backout nav cases and anon preference key

more robust backout header

put notificationSettings under backout bar

review changes
2020-07-27 11:53:14 -04:00
Sean Yesmunt
201417efcf Publish => Upload 2020-07-27 10:48:05 -04:00
Sean Yesmunt
90327a72ed add comments behind a flag 2020-07-23 11:03:00 -04:00
Sean Yesmunt
0f51cf8986 wait to go back until claim has been abandoned 2020-07-22 18:39:24 -04:00
Sean Yesmunt
de3ae8e42e remove un-needed check to allow abandoning claims from file page 2020-07-22 14:22:32 -04:00
Sean Yesmunt
b7f3dcad76 remove paid content reward claim 2020-07-22 12:58:20 -04:00
Sean Yesmunt
69cfcd81e9 bring in 'blocked' code from lbry-redux take 2 2020-07-15 09:52:08 -04:00
Sean Yesmunt
9c9530c6f3 Revert "bring in comments/blocked code from 'lbry-redux'"
This reverts commit fa7f74f979.
2020-07-14 19:23:25 -04:00
Sean Yesmunt
fa7f74f979 bring in comments/blocked code from 'lbry-redux' 2020-07-14 15:57:19 -04:00
jessop
1881627a89 only set matomo userid if hasverifiedemail 2020-07-10 10:14:06 -04:00
Sean Yesmunt
81344b9826 make sure lbryfirst error makes it up to UI 2020-07-09 11:01:12 -04:00
Sean Yesmunt
41abbcc861 Revert "bring in blocked redux code from lbry-redux"
This reverts commit b9f3146180.
2020-06-23 16:21:40 -04:00
Sean Yesmunt
b9f3146180 bring in blocked redux code from lbry-redux 2020-06-23 16:01:20 -04:00
Sean Yesmunt
49bcfdce83 bring in comment code from lbry-redux 2020-06-23 16:01:20 -04:00
jessop
e065c81f88 support channel pending state 2020-06-22 11:27:03 -04:00
jessopb
dbac4aca39
Revert "improve channel update" 2020-06-19 13:10:34 -04:00
jessop
99753f7717 improve channel edit 2020-06-19 12:41:45 -04:00
Sean Yesmunt
a4a80ee2f6 handle language fetch failure 2020-06-18 12:19:21 -04:00
Sean Yesmunt
2066205b8f add user + rewards redux code from lbryinc 2020-06-16 09:56:32 -04:00
Sean Yesmunt
7138fe54bc bring in 'notifications' state from lbry-redux 2020-06-16 09:56:32 -04:00
Sean Yesmunt
f11d06817f pass undefined instead of null so that default value can be used 2020-06-08 16:17:00 -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
cb64522fa9 install_new domain parameter 2020-06-04 13:43:36 -04:00
Sean Yesmunt
16fcc4c932 only set x-lbry-auth-token once user is signed in 2020-06-02 16:10:43 -04:00
Sean Yesmunt
d301102af6 call preference get after entering wallet password 2020-05-29 15:29:08 -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
Jeffrey Fisher
22da6fee69 Make embeds work without sesion or local storage
Closes #4017
2020-05-21 13:28:09 -04:00
Sean Yesmunt
c2abcf110c
Paid content on lbry.tv (#4197) 2020-05-21 11:38:28 -04:00
Sean Yesmunt
874d7860e9 don't call api if user doesn't have any tags 2020-05-15 12:39:33 -04:00
Jeffrey Fisher
394fad5754 Clear media position if video has played to the end.
Closes #4174
2020-05-15 09:51:18 -04:00
jessop
0fcc657783 track reflecting files after publish 2020-05-08 14:13:56 -04:00
jessop
7730ee1e3f remove dependency on full claim list
paginate claim list
improve handling of pending publishes
add abandon to publishes list previews

use bodyCard

fix publish edit notification
2020-05-01 13:56:21 -04:00
Sean Yesmunt
1a50e697ce embed functionality inside markdown posts 2020-04-30 10:13:01 -04:00
Thomas Zarebczan
700df02a59
fix file delete on web 2020-04-27 18:22:09 -04:00
Jeffrey Fisher
65f4562937 Fix purchase confirmation logic
Closes #4057
2020-04-27 09:53:32 -04:00
Sean Yesmunt
dcb79685bc fix typo 2020-04-24 15:12:48 -04:00
Jeffrey Fisher
3535703017 Remove dead code per code review. 2020-04-22 09:34:01 -04:00
Jeffrey Fisher
7adf165f08 Fix flow error.
Partial fix for #2024
2020-04-22 09:34:01 -04:00
Thomas Zarebczan
829c2eac50 small fixes 2020-03-30 09:05:30 -04:00
jessop
e50fbd4cdd gets status after ffmpeg find 2020-03-26 12:28:48 -04:00
Thomas Zarebczan
e35fbdd86a make transcoding work
appstrings

provide optimize checkbox on publish

fix missing status

no crash on web

cleanup

better settings ui

add help and time estimate to publish transcoding

messaging

fix: Special SDK + fix config name

fix: older SDK build

fix app string, style tweak

whoops, and looks better to me this way.

bump SDK
2020-03-25 13:42:40 -04:00
Sean Yesmunt
eb54d899fb only fetch channel_list when sync returns new data 2020-03-24 17:19:39 -04:00
Sean Yesmunt
bb1c12b050 pass trending_algorithm to ga 2020-03-18 14:20:55 -04:00
jessop
a07fb2514e sync tags with lbry on startup and change 2020-03-11 21:47:48 -04:00
Sean Yesmunt
e341992c85 call doAuthenticate with internalSharing as true on web 2020-02-27 18:25:07 -05:00
Sean Yesmunt
b06dbfae60 comment out broken preference sync code 2020-02-25 21:13:32 -05:00
Sean Yesmunt
6173b07727 stronger check 2020-02-25 18:25:18 -05:00
Sean Yesmunt
0453f936eb don't set lbryum servers if they are stored as an empty array 2020-02-25 18:25:18 -05:00
Sean Yesmunt
e9a1f48ab9 check usage data setting from localStorage since daemon settings won't be loaded yet 2020-02-24 17:02:03 -05:00
Sean Yesmunt
49a6a8b8d9 don't call install/new, rewards, invite status, and referral code endpoints if user isn't sharing digonostics 2020-02-24 15:45:30 -05:00
jessop
af0a814a55 not sync redux defaults after clearing app data 2020-02-24 15:44:01 -05:00
jessop
70f8fd2d5f properly transforms wallet server preference 2020-02-22 00:11:15 -05:00
jessop
4c1aac0a48 do not apply daemonSettings that are null 2020-02-21 17:28:45 -05:00
jessop
ec47f8d0cb sync bug 2020-02-21 15:52:09 -05:00
jessop
6e13fcfbd3 privacy changes:
users see welcome screen once and choose preference
SETTINGS moved to redux
took steps toward eliminating unwanted analytics in app based on preferences
settings page update to privacy controls and copy

persist welcome version

default tv on

cleanup

clean up appstrings

populate prefs app only

wallet custody, app only router

settings on startup

welcome sync, 3p share sync, emojis

bump redux

cleanup

fix app not building

fix sync bug, remove tvWelcomeVersion

cleanup

disable internalshare setting while signed in
2020-02-21 15:15:48 -05:00
jessop
4aa6330f9a navigate back after delete if abandoned 2020-02-06 14:44:40 -05:00
jessop
ac62156229 fix bugs and review changes 2020-02-05 13:25:31 -05:00
Thomas Zarebczan
939a7d7689 feat: app image + cookie
fix: password stuff
2020-01-21 09:50:16 -05:00
Sean Yesmunt
a8711c027f navigation redesign 2020-01-02 18:16:54 -05:00
jessop
36ffbe6322 wallet server preference defaults 2019-12-13 13:21:34 -05:00
jessop
3c739719b4 review changes 2019-12-13 13:21:34 -05:00
jessop
db9a2152fa enable wallet server management and handle some startup contingencies 2019-12-13 13:21:34 -05:00