ssb: Bring back the updating date while loading.

This commit is contained in:
Cory McWilliams 2024-12-07 14:58:01 -05:00
parent 1c0964753b
commit 1dbf162a71
3 changed files with 25 additions and 11 deletions

View File

@ -1,5 +1,5 @@
{ {
"type": "tildefriends-app", "type": "tildefriends-app",
"emoji": "🐌", "emoji": "🐌",
"previous": "&LjDy/+vpRFc6dXPOk/+kjlppVMLmKaB6TIZS3WHqoQ8=.sha256" "previous": "&/JTE4AwvZ1kkbPJne84iMDwbvxsJHJxvX8n+GSlqRPc=.sha256"
} }

View File

@ -256,7 +256,6 @@ class TfElement extends LitElement {
UNION UNION
SELECT '' AS channel, MAX(messages.rowid) AS rowid FROM messages SELECT '' AS channel, MAX(messages.rowid) AS rowid FROM messages
JOIN json_each(?2) AS following ON messages.author = following.value JOIN json_each(?2) AS following ON messages.author = following.value
WHERE messages.content ->> 'type' = 'post'
UNION UNION
SELECT '@' AS channel, MAX(messages.rowid) AS rowid FROM messages_fts(?3) SELECT '@' AS channel, MAX(messages.rowid) AS rowid FROM messages_fts(?3)
JOIN messages ON messages.rowid = messages_fts.rowid JOIN messages ON messages.rowid = messages_fts.rowid

View File

@ -15,6 +15,7 @@ class TfTabNewsFeedElement extends LitElement {
channels_unread: {type: Object}, channels_unread: {type: Object},
loading: {type: Number}, loading: {type: Number},
time_range: {type: Array}, time_range: {type: Array},
time_loading: {type: Array},
}; };
} }
@ -32,6 +33,7 @@ class TfTabNewsFeedElement extends LitElement {
this.channels_unread = {}; this.channels_unread = {};
this.start_time = new Date().valueOf(); this.start_time = new Date().valueOf();
this.time_range = [0, 0]; this.time_range = [0, 0];
this.time_loading = undefined;
this.loading = 0; this.loading = 0;
} }
@ -42,8 +44,10 @@ class TfTabNewsFeedElement extends LitElement {
} }
async fetch_messages(start_time, end_time) { async fetch_messages(start_time, end_time) {
this.time_loading = [start_time, end_time];
let result;
if (this.hash == '#@') { if (this.hash == '#@') {
let r = await tfrpc.rpc.query( result = await tfrpc.rpc.query(
` `
SELECT messages.rowid, messages.id, messages.previous, messages.author, messages.sequence, messages.timestamp, messages.hash, json(messages.content) AS content, messages.signature SELECT messages.rowid, messages.id, messages.previous, messages.author, messages.sequence, messages.timestamp, messages.hash, json(messages.content) AS content, messages.signature
FROM messages_fts(?1) FROM messages_fts(?1)
@ -62,9 +66,8 @@ class TfTabNewsFeedElement extends LitElement {
end_time, end_time,
] ]
); );
return r;
} else if (this.hash.startsWith('#@')) { } else if (this.hash.startsWith('#@')) {
let r = await tfrpc.rpc.query( result = await tfrpc.rpc.query(
` `
WITH mine AS (SELECT rowid, id, previous, author, sequence, timestamp, hash, json(content) AS content, signature WITH mine AS (SELECT rowid, id, previous, author, sequence, timestamp, hash, json(content) AS content, signature
FROM messages FROM messages
@ -82,9 +85,8 @@ class TfTabNewsFeedElement extends LitElement {
`, `,
[this.hash.substring(1), start_time, end_time] [this.hash.substring(1), start_time, end_time]
); );
return r;
} else if (this.hash.startsWith('#%')) { } else if (this.hash.startsWith('#%')) {
return await tfrpc.rpc.query( result = await tfrpc.rpc.query(
` `
SELECT id, previous, author, sequence, timestamp, hash, json(content) AS content, signature SELECT id, previous, author, sequence, timestamp, hash, json(content) AS content, signature
FROM messages FROM messages
@ -143,7 +145,7 @@ class TfTabNewsFeedElement extends LitElement {
) )
); );
} }
return [].concat(...(await Promise.all(promises))); result = [].concat(...(await Promise.all(promises)));
} else { } else {
let promises = []; let promises = [];
const k_following_limit = 256; const k_following_limit = 256;
@ -176,8 +178,10 @@ class TfTabNewsFeedElement extends LitElement {
) )
); );
} }
return [].concat(...(await Promise.all(promises))); result = [].concat(...(await Promise.all(promises)));
} }
this.time_loading = undefined;
return result;
} }
update_time_range_from_messages(messages) { update_time_range_from_messages(messages) {
@ -306,6 +310,7 @@ class TfTabNewsFeedElement extends LitElement {
this.loading--; this.loading--;
} }
this.messages = messages; this.messages = messages;
this.time_loading = undefined;
console.log(`loading messages done for ${self.whoami}`); console.log(`loading messages done for ${self.whoami}`);
} }
@ -363,8 +368,18 @@ class TfTabNewsFeedElement extends LitElement {
Cancel Cancel
</button> </button>
<span <span
>Showing ${new Date(this.time_range[0]).toLocaleDateString()} - >Showing
${new Date(this.time_range[1]).toLocaleDateString()}.</span ${new Date(
this.time_loading
? Math.min(this.time_loading[0], this.time_range[0])
: this.time_range[0]
).toLocaleDateString()}
-
${new Date(
this.time_loading
? Math.max(this.time_loading[1], this.time_range[1])
: this.time_range[1]
).toLocaleDateString()}.</span
> >
</p> </p>
`; `;