forked from cory/tildefriends
ssb: The updated fetch_abouts means that image JSON is now a string we need to handle in tf-user / tf-profile.
This commit is contained in:
parent
e226a37251
commit
799f22e989
@ -1,5 +1,5 @@
|
||||
{
|
||||
"type": "tildefriends-app",
|
||||
"emoji": "🦀",
|
||||
"previous": "&VQsPosjAfr008a6UMb8vKmKxE/WS4DRKEspJL8Lewjw=.sha256"
|
||||
"previous": "&Omm/IjiQ9yXgJrDUtXp3q+Qdu9qDLfi05FXI5JtP5Qo=.sha256"
|
||||
}
|
||||
|
@ -167,23 +167,16 @@ class TfElement extends LitElement {
|
||||
if (ids.indexOf(id) == -1) {
|
||||
delete cache.about[id];
|
||||
} else {
|
||||
users[id] = Object.assign(users[id] || {}, cache.about[id]);
|
||||
users[id] = Object.assign(
|
||||
users[id] || {},
|
||||
cache.about[id]
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
let ids_out_of_date = ids.filter(
|
||||
(x) =>
|
||||
cache.about[x]?.seq === undefined ||
|
||||
(users[x]?.seq && users[x]?.seq > cache.about[x].seq)
|
||||
);
|
||||
let ids_out_of_date = ids.filter(x => cache.about[x]?.seq === undefined || (users[x]?.seq && users[x]?.seq > cache.about[x].seq));
|
||||
|
||||
console.log(
|
||||
'loading about for',
|
||||
ids.length,
|
||||
'accounts',
|
||||
ids_out_of_date.length,
|
||||
'out of date'
|
||||
);
|
||||
console.log('loading about for', ids.length, 'accounts', ids_out_of_date.length, 'out of date');
|
||||
if (ids_out_of_date.length) {
|
||||
try {
|
||||
let rows = await tfrpc.rpc.query(
|
||||
@ -226,12 +219,12 @@ class TfElement extends LitElement {
|
||||
if (!cache.about[id]?.seq) {
|
||||
cache.about[id] = {seq: users[id]?.seq ?? 0};
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
let new_cache = JSON.stringify(cache);
|
||||
if (new_cache != original_cache) {
|
||||
let start_time = new Date();
|
||||
tfrpc.rpc.databaseSet('about', new_cache).then(function () {
|
||||
tfrpc.rpc.databaseSet('about', new_cache).then(function() {
|
||||
console.log('saving about took', (new Date() - start_time) / 1000);
|
||||
});
|
||||
}
|
||||
|
@ -242,8 +242,13 @@ class TfProfileElement extends LitElement {
|
||||
</div>
|
||||
</div>`
|
||||
: null;
|
||||
let image =
|
||||
typeof profile.image == 'string' ? profile.image : profile.image?.link;
|
||||
let image =profile.image;
|
||||
if (typeof image == 'string' && !image.startsWith('&')) {
|
||||
try {
|
||||
image = JSON.parse(image)?.link;
|
||||
} catch {
|
||||
}
|
||||
}
|
||||
image = this.editing?.image ?? image;
|
||||
let description = this.editing?.description ?? profile.description;
|
||||
return html`<div class="w3-card-4 w3-container w3-theme-d3" style="box-sizing: border-box">
|
||||
|
@ -38,8 +38,12 @@ class TfUserElement extends LitElement {
|
||||
|
||||
if (user) {
|
||||
let image_link = user.image;
|
||||
image_link =
|
||||
typeof image_link == 'string' ? image_link : image_link?.link;
|
||||
if (typeof image_link == 'string' && !image_link.startsWith('&')) {
|
||||
try {
|
||||
image_link = JSON.parse(image_link)?.link;
|
||||
} catch {
|
||||
}
|
||||
}
|
||||
if (image_link !== undefined) {
|
||||
image = html`<img
|
||||
class=${'w3-theme-l4 ' + shape}
|
||||
|
Loading…
x
Reference in New Issue
Block a user