From 93d46f56108b12af5bb1aad7c416c4dc3fbaa585 Mon Sep 17 00:00:00 2001 From: Cory McWilliams Date: Wed, 24 Apr 2024 20:19:14 -0400 Subject: [PATCH 1/2] Fix some ssb compose issues. --- apps/ssb.json | 2 +- apps/ssb/tf-compose.js | 15 +++++++-------- apps/ssb/tf-tab-news.js | 4 +--- 3 files changed, 9 insertions(+), 12 deletions(-) diff --git a/apps/ssb.json b/apps/ssb.json index 09b1ca7a..633f98d8 100644 --- a/apps/ssb.json +++ b/apps/ssb.json @@ -1,5 +1,5 @@ { "type": "tildefriends-app", "emoji": "🐌", - "previous": "&r2Xphgr4HGdG4WnqWngj8fcAs1xHfZ1a2DJgqr7hqZA=.sha256" + "previous": "&IknYNSKcVBOL5mY056kj4vUtd2IbW91LOl6KFwSqaWM=.sha256" } diff --git a/apps/ssb/tf-compose.js b/apps/ssb/tf-compose.js index 94ca6158..b74f4861 100644 --- a/apps/ssb/tf-compose.js +++ b/apps/ssb/tf-compose.js @@ -1,4 +1,4 @@ -import {LitElement, html, unsafeHTML} from './lit-all.min.js'; +import {LitElement, html, unsafeHTML, live} from './lit-all.min.js'; import * as tfutils from './tf-utils.js'; import * as tfrpc from '/static/tfrpc.js'; import {styles} from './tf-styles.js'; @@ -66,7 +66,7 @@ class TfComposeElement extends LitElement { updated = true; } if (updated) { - this.requestUpdate(); + setTimeout(() => this.notify(draft), 0); } return tfutils.markdown(text); } @@ -301,14 +301,14 @@ class TfComposeElement extends LitElement { { values: values, selectTemplate: function (item) { - return `[@${item.original.key}](${item.original.value})`; + return item ? `[@${item.original.key}](${item.original.value})` : undefined; }, }, { trigger: '&', values: this.autocomplete, selectTemplate: function (item) { - return `![${item.original.key}](${item.original.value})`; + return item ? `![${item.original.key}](${item.original.value})` : undefined; }, }, ], @@ -342,8 +342,7 @@ class TfComposeElement extends LitElement { remove_mention(id) { let draft = this.get_draft(); delete draft.mentions[id]; - this.notify(draft); - this.requestUpdate(); + setTimeout(() => this.requestUpdate(), 0); } render_mention(mention) { @@ -550,8 +549,8 @@ class TfComposeElement extends LitElement { @input=${this.input} @paste=${this.paste} contenteditable - >${draft.text} + innerText=${live(draft.text)} + >
${content_warning} diff --git a/apps/ssb/tf-tab-news.js b/apps/ssb/tf-tab-news.js index 29250d41..a6a604b6 100644 --- a/apps/ssb/tf-tab-news.js +++ b/apps/ssb/tf-tab-news.js @@ -85,9 +85,7 @@ class TfTabNewsElement extends LitElement { delete this.drafts[id]; } /* Only trigger a re-render if we're creating a new draft or discarding an old one. */ - if ((previous !== undefined) != (event.detail.draft !== undefined)) { - this.drafts = Object.assign({}, this.drafts); - } + this.drafts = Object.assign({}, this.drafts); tfrpc.rpc.localStorageSet('drafts', JSON.stringify(this.drafts)); } From 202b416acf6ec73ec095a16342f03c1f1656cb92 Mon Sep 17 00:00:00 2001 From: Cory McWilliams Date: Wed, 24 Apr 2024 20:32:09 -0400 Subject: [PATCH 2/2] More ssb compose fixes. --- apps/ssb.json | 2 +- apps/ssb/tf-compose.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/ssb.json b/apps/ssb.json index 633f98d8..90fc215a 100644 --- a/apps/ssb.json +++ b/apps/ssb.json @@ -1,5 +1,5 @@ { "type": "tildefriends-app", "emoji": "🐌", - "previous": "&IknYNSKcVBOL5mY056kj4vUtd2IbW91LOl6KFwSqaWM=.sha256" + "previous": "&UDqtNEELPRZAP6jSrcKfoXpAr8s7GjWmWLOQINN4kmg=.sha256" } diff --git a/apps/ssb/tf-compose.js b/apps/ssb/tf-compose.js index b74f4861..f654de8f 100644 --- a/apps/ssb/tf-compose.js +++ b/apps/ssb/tf-compose.js @@ -342,7 +342,7 @@ class TfComposeElement extends LitElement { remove_mention(id) { let draft = this.get_draft(); delete draft.mentions[id]; - setTimeout(() => this.requestUpdate(), 0); + setTimeout(() => this.notify(), 0); } render_mention(mention) { @@ -549,7 +549,7 @@ class TfComposeElement extends LitElement { @input=${this.input} @paste=${this.paste} contenteditable - innerText=${live(draft.text)} + .innerText=${live(draft.text ?? '')} >