diff --git a/apps/ssb.json b/apps/ssb.json
index 84084e94..0b12e067 100644
--- a/apps/ssb.json
+++ b/apps/ssb.json
@@ -1,5 +1,5 @@
{
"type": "tildefriends-app",
"emoji": "🦀",
- "previous": "&gc8AmnXs6wU8P+wJo4Q49M0L0M5MrzUB7kWkhuiDBMU=.sha256"
+ "previous": "&ttk+7f/g/WgX4SRItibpx+2t+vs1/OcJm+1Xb1JFv6w=.sha256"
}
diff --git a/apps/ssb/tf-message.js b/apps/ssb/tf-message.js
index cdce3bfb..4c968597 100644
--- a/apps/ssb/tf-message.js
+++ b/apps/ssb/tf-message.js
@@ -988,7 +988,11 @@ class TfMessageElement extends LitElement {
style="cursor: pointer"
@click=${(x) => this.toggle_expanded(':cw')}
>
-
${content.contentWarning}
+
+ ${this.message.flags
+ ? `Caution: This message has been flagged ${this.message.flags.length} time${this.message.flags.length == 1 ? '' : 's'}.`
+ : content.contentWarning}
+
${this.is_expanded(':cw') ? 'Show less' : 'Show more'}
@@ -999,11 +1003,12 @@ class TfMessageElement extends LitElement {
${body}
${this.render_mentions()}
`;
- let payload = content.contentWarning
- ? self.expanded[(this.message.id || '') + ':cw']
- ? html` ${content_warning} ${content_html} `
- : content_warning
- : content_html;
+ let payload =
+ this.message.flags || content.contentWarning
+ ? self.expanded[(this.message.id || '') + ':cw']
+ ? html` ${content_warning} ${content_html} `
+ : content_warning
+ : content_html;
return this.render_frame(html`
${this.render_header()}
${payload}
diff --git a/apps/ssb/tf-news.js b/apps/ssb/tf-news.js
index 4c5a200c..5ee477c2 100644
--- a/apps/ssb/tf-news.js
+++ b/apps/ssb/tf-news.js
@@ -66,6 +66,16 @@ class TfNewsElement extends LitElement {
}
parent.votes.push(message);
message.parent_message = message.content.vote.link;
+ } else if (message.content.type == 'flag') {
+ let parent = ensure_message(message.content.flag.link, message.rowid);
+ if (!parent.flags) {
+ parent.flags = [];
+ }
+ parent.flags.push(message);
+ parent.flags = Object.values(
+ Object.fromEntries(parent.flags.map((x) => [x.id, x]))
+ );
+ message.parent_message = message.content.flag.link;
} else if (message.content.type == 'post') {
if (message.content.root) {
if (typeof message.content.root === 'string') {
diff --git a/apps/ssb/tf-tab-news-feed.js b/apps/ssb/tf-tab-news-feed.js
index a2d18488..7f6944e3 100644
--- a/apps/ssb/tf-tab-news-feed.js
+++ b/apps/ssb/tf-tab-news-feed.js
@@ -84,7 +84,6 @@ class TfTabNewsFeedElement extends LitElement {
`,
[JSON.stringify(combined.map((x) => x.id))]
);
- let t0 = new Date();
let result = [].concat(
combined,
await tfrpc.rpc.query(
@@ -101,8 +100,7 @@ class TfTabNewsFeedElement extends LitElement {
]
)
);
- let t1 = new Date();
- console.log((t1 - t0) / 1000);
+ console.log(result);
return result;
}
@@ -227,7 +225,8 @@ class TfTabNewsFeedElement extends LitElement {
k_max_results,
]
);
- result = (await this.decrypt(result)).filter((x) => x.decrypted);
+ let decrypted = (await this.decrypt(result)).filter((x) => x.decrypted);
+ result = await this._fetch_related_messages(decrypted);
} else if (this.hash == '#👍') {
result = await tfrpc.rpc.query(
`