forked from cory/tildefriends
ssb: prettier.
This commit is contained in:
@ -271,10 +271,13 @@ class TfElement extends LitElement {
|
||||
}
|
||||
|
||||
async get_latest_private(following) {
|
||||
let latest = (await tfrpc.rpc.query('SELECT MAX(rowid) AS latest FROM messages'))[0].latest;
|
||||
let latest = (
|
||||
await tfrpc.rpc.query('SELECT MAX(rowid) AS latest FROM messages')
|
||||
)[0].latest;
|
||||
const k_chunk_count = 256;
|
||||
while (latest - k_chunk_count >= 0) {
|
||||
let messages = await tfrpc.rpc.query(`
|
||||
let messages = await tfrpc.rpc.query(
|
||||
`
|
||||
SELECT messages.rowid, messages.id, previous, author, sequence, timestamp, hash, json(content) AS content, signature
|
||||
FROM messages
|
||||
JOIN json_each(?1) AS following ON messages.author = following.value
|
||||
@ -284,17 +287,14 @@ class TfElement extends LitElement {
|
||||
json(messages.content) LIKE '"%'
|
||||
ORDER BY sequence DESC
|
||||
`,
|
||||
[
|
||||
JSON.stringify(following),
|
||||
latest - k_chunk_count,
|
||||
latest,
|
||||
]);
|
||||
messages = (await this.decrypt(messages)).filter(x => x.decrypted);
|
||||
[JSON.stringify(following), latest - k_chunk_count, latest]
|
||||
);
|
||||
messages = (await this.decrypt(messages)).filter((x) => x.decrypted);
|
||||
if (messages.length) {
|
||||
return Math.max(...messages.map(x => x.rowid));
|
||||
return Math.max(...messages.map((x) => x.rowid));
|
||||
}
|
||||
latest -= k_chunk_count;
|
||||
};
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -331,8 +331,10 @@ class TfElement extends LitElement {
|
||||
console.log('unread', this.channels_unread);
|
||||
console.log('channels took', (new Date() - start_time) / 1000.0);
|
||||
let self = this;
|
||||
latest_private.then(function(latest) {
|
||||
self.channels_latest = Object.assign({}, self.channels_latest, {'🔐': latest});
|
||||
latest_private.then(function (latest) {
|
||||
self.channels_latest = Object.assign({}, self.channels_latest, {
|
||||
'🔐': latest,
|
||||
});
|
||||
console.log('private took', (new Date() - start_time) / 1000.0);
|
||||
});
|
||||
} finally {
|
||||
@ -398,26 +400,28 @@ class TfElement extends LitElement {
|
||||
|
||||
async decrypt(messages) {
|
||||
let whoami = this.whoami;
|
||||
return Promise.all(messages.map(async function (message) {
|
||||
let content;
|
||||
try {
|
||||
content = JSON.parse(message?.content);
|
||||
} catch {}
|
||||
if (typeof content === 'string') {
|
||||
let decrypted;
|
||||
return Promise.all(
|
||||
messages.map(async function (message) {
|
||||
let content;
|
||||
try {
|
||||
decrypted = await tfrpc.rpc.try_decrypt(whoami, content);
|
||||
content = JSON.parse(message?.content);
|
||||
} catch {}
|
||||
if (decrypted) {
|
||||
if (typeof content === 'string') {
|
||||
let decrypted;
|
||||
try {
|
||||
message.decrypted = JSON.parse(decrypted);
|
||||
} catch {
|
||||
message.decrypted = decrypted;
|
||||
decrypted = await tfrpc.rpc.try_decrypt(whoami, content);
|
||||
} catch {}
|
||||
if (decrypted) {
|
||||
try {
|
||||
message.decrypted = JSON.parse(decrypted);
|
||||
} catch {
|
||||
message.decrypted = decrypted;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return message;
|
||||
}));
|
||||
return message;
|
||||
})
|
||||
);
|
||||
}
|
||||
|
||||
render_tab() {
|
||||
|
Reference in New Issue
Block a user