Jitsi Meet - Secure, Simple and Scalable Video Conferences that you use as a standalone app or embed in your web application.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
jitsi-meet/react/features/base/storage
zbettenbuk e0deb6d64b Prepare PersistenceRegistry for flat subtrees 7 years ago
..
native [RN] Protect AbstractApp and localStorage initialization 7 years ago
PersistenceRegistry.js Prepare PersistenceRegistry for flat subtrees 7 years ago
README.md Introduce base/storage to represent the Web Storage API and persistence-related customizations 7 years ago
_.native.js Introduce base/storage to represent the Web Storage API and persistence-related customizations 7 years ago
_.web.js Introduce base/storage to represent the Web Storage API and persistence-related customizations 7 years ago
index.js Introduce base/storage to represent the Web Storage API and persistence-related customizations 7 years ago
middleware.js Introduce base/storage to represent the Web Storage API and persistence-related customizations 7 years ago

README.md

Jitsi Meet - redux state persistence

Jitsi Meet has a persistence layer that persists specific subtrees of the redux store/state into window.localStorage (on Web) or AsyncStorage (on mobile).

Usage

If a subtree of the redux store should be persisted (e.g. 'features/base/profile'), then persistence for that subtree should be requested by registering the subtree with PersistenceRegistry.

For example, to register the field profile of the redux subtree 'features/base/profile' to be persisted, use:

PersistenceRegistry.register('features/base/profile', {
    profile: true
});

in the reducer.js of the base/profile feature.

When it's done, Jitsi Meet will automatically persist these subtrees and rehydrate them on startup.

Throttling

To avoid too frequent write operations in the storage, we utilize throttling in the persistence layer, meaning that the storage gets persisted only once every 2 seconds, even if multiple redux state changes occur during this period. The throttling timeout can be configured in

react/features/base/storage/middleware.js#PERSIST_STATE_DELAY