-
Notifications
You must be signed in to change notification settings - Fork 414
Sync
jessopb edited this page Jan 26, 2022
·
1 revision
An example wallet sync preference state:
"shared": {
"type": "object",
"value": {
"app_welcome_version": 1,
"blocked": [
"lbry://@CHAN#12345..."
],
"builtinCollections": {
"favorites": {
"id": "favorites",
"items": [
"lbry://claimname#123456..."
],
"name": "Favorites",
"type": "playlist",
"updatedAt": 1626974735
},
"watchlater": {
"id": "watchlater",
"items": [
"lbry://someclaim#123455...",
],
"name": "Watch Later",
"type": "playlist",
"updatedAt": 1626974735
}
},
"coin_swap_codes": [],
"editedCollections": {},
"following": [
{
"uri": "lbry://@OdyseeHelp#b58dfaeab6c70754d792cdd9b56ff59b90aea334"
},
{
"uri": "lbry://@Odysee#80d2590ad04e36fb1d077a9b9e3a8bba76defdf8"
}
],
"settings": {
"automatic_dark_mode_enabled": false,
"autoplay": false,
"autoplay_next": false,
"dark_mode_times": {
"from": {
"formattedTime": "21:00",
"hour": "21",
"min": "00"
},
"to": {
"formattedTime": "8:00",
"hour": "8",
"min": "00"
}
},
"floating_player": true,
"hide_balance": false,
"hide_reposts": false,
"hide_scheduled_livestreams": false,
"hide_splash_animation": false,
"instant_purchase_enabled": false,
"instant_purchase_max": {
"amount": 0.1,
"currency": "LBC"
},
"language": null,
"show_mature": false,
"theme": "dark"
},
"sharing_3P": true,
"subscriptions": [
"lbry://@lbry#3fda836a92faaceedfe398225fb9b2ee2ed1f01a",
"lbry://@Odysee#80d2590ad04e36fb1d077a9b9e3a8bba76defdf8",
"lbry://@OdyseeHelp#b58dfaeab6c70754d792cdd9b56ff59b90aea334",
],
"tags": [
"game"
],
"unpublishedCollections": {}
},
"version": "0.1"
},
Above is the general state of sync at this time.
The subkeys under "shared" include:
- several for collections: builtin, edited, unpublished
- blocked
- tags (followed)
- subscriptions (sorta deprecated) and follows
- settings - a subset of app settings
- some other nearly-top level housekeeping values
The odysee and lbryapp generally do lbrynet preference set "shared" { ...[everything] }
, filtering and copying their internal app state to preferences. We have also implemented a local key next to shared for people who do not want to mix up their local state with their synced, logged in, 'shared' state.
The sdk sync apply
method, without any data supplied, returns the sync data and hash to be pushed to a sync server.