Commit graph

15 commits

Author SHA1 Message Date
infinite-persistence
121b0f0cd6
~~ Revert to allow restoring to commits ~~
This reverts commit c97cab0ebb.
2021-11-09 07:03:19 +08:00
infinite-persistence
c97cab0ebb
byId[] fixes to reduce invalidation (#239)
* Don't update 'pendingById' if no changes.

'pendingById' isn't frequently updated, but using it as a proof-of-concept to fix how reducers should be written to avoid unnecessary updates.

ImmutableJS apparently does all of this for us, but there are cons to using it as well, so using own wrappers for now.

* Don't update 'byId' if no changes + add 'selectClaimWithId'

## Ticket
116 Claim store optimization ideas (reducing unnecessary renders)

## Changes
- Ignore things like `confirmations` so that already-fetched claims aren't invalidated and causes re-rendering. The `stringify` might look expensive, but the amount of avoided re-renders outweighs it. There might be faster ways to compare, though.

- With `byId[claimId]` references more stable now, memoized selectors can now use 'selectClaimWithId' to pick a specific claim to depend on, instead of 'byId' which changes on every update.

* Fix memo: selectMyChannelClaims, selectActiveChannelClaim

## Issue
These should never recalculate after `channel_list` has been fetched, but they do because of poor selector dependency.

## Change
With the `byId` changes from the previous commit, we are now able to memoize these selectors correctly.
2021-11-08 12:25:29 -05: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
27f346d8f1
Don't memoize selectors without transformation
It was not meant to be used for these cases -- wasting resources creating and going through the cache for each simple direct access.
2021-10-24 13:05:06 +08:00
Merge
30023422b8
Desktop cherry-pick: "7240 Integrate lbry redux and lbryinc" 2021-10-19 20:40:07 +08: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
Sean Yesmunt
db87125dc8 refactor 'active' channel usage across the app 2021-02-11 10:45:34 -05:00
Sean Yesmunt
1cc7be746b move splash animation out of settings 2020-11-09 13:37:51 -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
Sean Yesmunt
f547053ebc add yotube sync to initial sign up flow 2020-09-29 17:12:32 -04:00
jessop
6c4842a111 sync changes 2020-09-10 14:20:02 -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
Jeremy Kauffman
793f622d8d semi-broken 2020-04-29 11:00:42 -04: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
Sean Yesmunt
6ad31a3ce9 refactor lbrytv web server 2019-11-11 13:27:29 -05:00
Renamed from src/ui/redux/selectors/app.js (Browse further)