ssb: The updated fetch_abouts means that image JSON is now a string we need to handle in tf-user / tf-profile.
All checks were successful
Build Tilde Friends / Build-All (push) Successful in 33m16s

This commit is contained in:
Cory McWilliams 2025-05-11 21:42:48 -04:00
parent e226a37251
commit 799f22e989
4 changed files with 22 additions and 20 deletions

View File

@ -1,5 +1,5 @@
{
"type": "tildefriends-app",
"emoji": "🦀",
"previous": "&VQsPosjAfr008a6UMb8vKmKxE/WS4DRKEspJL8Lewjw=.sha256"
"previous": "&Omm/IjiQ9yXgJrDUtXp3q+Qdu9qDLfi05FXI5JtP5Qo=.sha256"
}

View File

@ -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,7 +219,7 @@ 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) {

View File

@ -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">

View File

@ -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}