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.
zbettenbuk bfcd34358b [RN] Add app-settings feature 7 years ago
..
MiddlewareRegistry.js flow-typed 8 years ago
ReducerRegistry.js [flow] Take advantage of flow-typed 8 years ago
functions.js [RN] Add app-settings feature 7 years ago
index.js [RN] Add app-settings feature 7 years ago
middleware.js [RN] Add app-settings feature 7 years ago
persisterconfig.json [RN] Add app-settings feature 7 years ago
readme.md [RN] Add app-settings feature 7 years ago

readme.md

Jitsi Meet - redux state persistency

Jitsi Meet has a persistency layer that persist a subtree (or specific subtrees) into window.localStorage (on web) or AsyncStorage (on mobile).

Usage

If a subtree of the redux store should be persisted (e.g. 'features/base/participants'), then persistency for that subtree should be enabled in the config file by creating a key in

react/features/base/redux/persisterconfig.json

and defining all the fields of the subtree that has to be persisted, e.g.:

{
    "features/base/participants": {
        "avatarID": true,
        "avatarURL": true,
        "name": true
    },
    "another/subtree": {
        "someField": true
    }
}

When it’s done, Jitsi Meet will persist these subtrees/fields and rehidrate them on startup.

Throttling

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

react/features/base/redux/middleware.js#PERSIST_DELAY