Commit graph

76 commits

Author SHA1 Message Date
infinite-persistence
0f68bad3eb
Optimize selectClaimIsMine
## Why
Frequently used; top in perf profile

## Changes
Most of the time, you already have the claim object in the current context. `selectClaimIsMineForUri` will retrieve the claim again, which is wasteful, even if it is memoized (looking up the cache still takes time).

Break apart the logic and added the alternative `selectClaimIsMine` for faster lookup.
2021-11-11 16:10:06 +08:00
infinite-persistence
ece2312ec5 selectClaimIsMineForUri to replace makeSelectClaimIsMine
## Issue
`normalizeUri` | `parseURI` is expensive and has been causing sluggish operations when called repeatedly or within a loop.

## Change
Since I'm not confident enough to remove the call entirely from makeSelectClaimIsMine (although I've yet to find a scenario that the uri is not already normalized), we'll try caching the calls instead.

## Results
- in a simple test of toggling between 2 category pages, we saved 20ms from `parseURI` calls alone.

- in a test of opening all categories one time, the memory usage remained similar. This makes sense since we removed a `makeSelect*` (which creates a selector for each call + not memoizing), and replaced that with a cached selector that's actually memoizing.
2021-11-10 16:49:12 +08:00
Dan Peterson
704452732a
Add hints if an error occurs subscribing to notifications (#143)
* Add hints if an error occurs subscribing to notifications

* Update import (type/linting issue)

* disable optimization for debugging

* Revert "disable optimization for debugging"

This reverts commit 5b837f94e97b7488a7dc565e7f74d399e19c286f.

* improve detection of notification support + improve ux / ui surrounding that

* update translations
2021-11-01 14:51:23 -04:00
Dan Peterson
03f69eff86
Browser push notifications (#133)
* fix type error

fix is subscribed check

- Persist subscription data locally
- add / remove subscription during log in / out
- Use store directly in hook

Add toast error if subscription fails

Revert removal of v2

hotfix linting issue

Add custom notification handler

- fix isSupported flag
- make icon color compatible with light/dark theme
- fix icon on notifications blocked banner

wip: add push notification banner to notifications page.

- ignore failed deletions via internal API
- add ua parsing package
- add more robust meta data to token save

refactor naming + add push toggle to notification button

shift some code around

update css naming o proper BEM notation

update notifications UI

remove now unneeded util function

Update push notification system to sue firebase sdk

separate service worker webpack bundling

update service worker to use firebase sdk

Add firebase config

Add firebase and remove filemanager

Stub out the basics for browser push notifications.

* fix safari

* try smaller image for badge

* add token validation with server, refactor code

* remove param

* add special icon for web notification badge

* add translations

* add missing trans for toast error

* add pushRequest method that will not prompt users who have subscribed but since disabled notifications in the settings.
2021-10-27 10:38:10 -04:00
Merge
30023422b8
Desktop cherry-pick: "7240 Integrate lbry redux and lbryinc" 2021-10-19 20:40:07 +08:00
mayeaux
e3791aefdc
Send video bitrate and user bandwidth to Watchman (#7145)
* adding functionality to detect user download speed

* calculating bandwidth speed more intelligently

* saving download speed and updating it every 30s

* all the functionality should be done needs testing

* fix linting

* use a 1mb file for calculating bandwidth

* add optional chaining plugin to babel and get bitrate from texttrack

* allow optional chaining for flow

* ignore flow error

* disable bandwidth checking functionality

* fix flow error
2021-10-06 14:59:33 -04:00
zeppi
637c01750a clean 2021-07-15 17:48:02 -04:00
zeppi
0e589c0401 bump 2021-07-15 17:48:02 -04:00
zeppi
59f0c85aca improve pending over refreshes 2021-07-05 10:22:13 -04:00
zeppi
2268ab01fb app works when id api fails 2021-06-18 10:57:19 -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
d1e83fcee2 Run doNotificationSocketConnect for CoinSwapStatus 2021-04-13 14:02:25 -04:00
zeppi
33c325031d check simplesite for notifications 2021-03-25 15:54:30 -04:00
Sean Yesmunt
73f593ddb3 bring in livestream changes from odysee 2021-03-22 15:30:01 -07: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
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
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
fac2050485 pass readyState to buffer analytics api 2020-12-03 15:00:21 -05:00
Sean Yesmunt
49a7dfd76d don't delete saved-password on preference_get fail 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
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
485a734c9b make notifications deleteable + unsub from the bell on notifications page 2020-11-04 10:25:49 -05: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
jessop
51c94d334a set userid regardless of signin 2020-10-21 15:30:26 -04:00
Sean Yesmunt
f547053ebc add yotube sync to initial sign up flow 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
jessop
6c4842a111 sync changes 2020-09-10 14:20:02 -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
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
2f995be794 use new buffer analytics api 2020-08-07 22:54:29 -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
90327a72ed add comments behind a flag 2020-07-23 11:03:00 -04:00
Sean Yesmunt
b7f3dcad76 remove paid content reward claim 2020-07-22 12:58:20 -04:00
jessop
1881627a89 only set matomo userid if hasverifiedemail 2020-07-10 10:14:06 -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
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