From 67861f0f33d4b15e4c0db67b46bdd374b9ddca1c Mon Sep 17 00:00:00 2001 From: Cory McWilliams Date: Wed, 11 Jun 2025 20:53:51 -0400 Subject: [PATCH] ssb: Add some options to encourage getting connected to the connections sidebar section. --- apps/ssb.json | 2 +- apps/ssb/app.js | 6 ++++++ apps/ssb/tf-tab-news.js | 33 +++++++++++++++++++++++++++++++++ src/ssb.db.c | 2 +- 4 files changed, 41 insertions(+), 2 deletions(-) diff --git a/apps/ssb.json b/apps/ssb.json index cb6781ed..f070a2c1 100644 --- a/apps/ssb.json +++ b/apps/ssb.json @@ -1,5 +1,5 @@ { "type": "tildefriends-app", "emoji": "🦀", - "previous": "&XDrMZT7w656QanwG+zRSUFeaoY3Jl4elveY6GftcD5Y=.sha256" + "previous": "&DZ1PgW4wWp4QeIiDhSpxSf5I/5WE7NjlMkqPnpSBhmc=.sha256" } diff --git a/apps/ssb/app.js b/apps/ssb/app.js index d86c8303..83c7958d 100644 --- a/apps/ssb/app.js +++ b/apps/ssb/app.js @@ -106,6 +106,12 @@ tfrpc.register(async function sync() { tfrpc.register(async function url() { return core.url; }); +tfrpc.register(async function globalSettingsGet(key) { + return core.globalSettingsGet(key); +}); +tfrpc.register(async function globalSettingsSet(key, value) { + return core.globalSettingsSet(key, value); +}); core.register('onBroadcastsChanged', async function () { await tfrpc.rpc.set('broadcasts', await ssb.getBroadcasts()); diff --git a/apps/ssb/tf-tab-news.js b/apps/ssb/tf-tab-news.js index 4196ddb2..51a98cbe 100644 --- a/apps/ssb/tf-tab-news.js +++ b/apps/ssb/tf-tab-news.js @@ -25,6 +25,7 @@ class TfTabNewsElement extends LitElement { connections: {type: Array}, private_messages: {type: Array}, recent_reactions: {type: Array}, + peer_exchange: {type: Boolean}, }; } @@ -48,6 +49,9 @@ class TfTabNewsElement extends LitElement { tfrpc.rpc.localStorageGet('drafts').then(function (d) { self.drafts = JSON.parse(d || '{}'); }); + tfrpc.rpc.globalSettingsGet('peer_exchange').then(function (value) { + self.peer_exchange = value; + }); } connectedCallback() { @@ -164,6 +168,15 @@ class TfTabNewsElement extends LitElement { .map((x) => x[0]); } + refresh() { + tfrpc.rpc.sync(); + } + + async enable_peer_exchange() { + await tfrpc.rpc.globalSettingsSet('peer_exchange', true); + this.peer_exchange = await tfrpc.rpc.globalSettingsGet('peer_exchange'); + } + render_sidebar() { return html`

Connections

+ ${this.connections?.filter((x) => x.id)?.length == 0 + ? html` + + + ` + : undefined} ${this.connections .filter((x) => x.id) .map( diff --git a/src/ssb.db.c b/src/ssb.db.c index 7558ad42..877349cf 100644 --- a/src/ssb.db.c +++ b/src/ssb.db.c @@ -1552,8 +1552,8 @@ typedef struct _following_t following_t; typedef struct _following_t { char id[k_id_base64_len]; - int depth; bool populated; + int depth; following_t** following; following_t** blocking; int following_count;