Commit graph

112 commits

Author SHA1 Message Date
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 03e921e6df use commentron for live view counts 2021-06-17 14:58:55 -04:00
infinite-persistence 15015dacd7 Performance: don't spread in 'reduce' 2021-06-02 08:21:43 +08: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
zeppi b9fc9b6319 allow unsubscribe from deleted channels by navigating from sidebar 2021-04-30 11:06:34 -04:00
Sean Yesmunt d4fa45b257 fix hyperchat size when thumbanil is gif and fix totalAmount calculation 2021-04-26 00:32:52 -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
infinite-persistence bcbb1c8185 Add 'ReportContent' actions/reducers/selectors 2021-04-21 10:49:31 -04:00
infinite-persistence f94f98e0f3 ViewPastSwaps: limit to 10 entries + other fixes
(1) Due to IAPI/commerce query limit, and also to not pollute the wallet with infinite chargeCodes, we'll only show the last 10 swaps. Beamer mentioned that it's possible to tracked back the past chargeCodes of the user, and potential provide a `list` endpoint to handle disputes.

(2) If a user explicitly removed an entry, don't repopulate that entry even if websocket returned an updated status for it. While it might be useful to handle accidental removals, it looks weird when the list gets repopulated with 'Expired' entries.

(3) Add sanitization when repopulating the chargeCodes from the wallet data (i.e. remove 'null' entries).

(4) Always repopulate the list per wallet data so every instance looks the same.
2021-04-13 14:02:25 -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 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
Stefan Sundin 039264531f Add 24-hour clock setting. 2021-04-06 13:00:10 -04:00
Sean Yesmunt 3644eed49b fix first livestream comment not being displayed 2021-03-22 15:30:13 -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 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
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
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 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
Sean Yesmunt 30d8a0406d wunderbar improvements 2020-12-03 12:39:12 -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
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 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
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 1cc7be746b move splash animation out of settings 2020-11-09 13:37:51 -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 e901daa849 wait to render comments until reactions are fetched 2020-10-27 22:18:22 -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 295b8cf2e1 refactor floatingUri to allow inline players in comments/markdown 2020-10-21 15:29:29 -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