From a4f13b845b9dfb364bdac0932916d99c381db20e Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Sat, 26 Sep 2026 07:50:39 -0700 Subject: Thread: the reply box appears on Reply, full width, with its tools on a row beneath. A thread opened to read came with an empty field under its first post. The box now appears under the note whose Reply was tapped (or while a draft is pending), folds away once the reply is sent or Cancel is tapped, and takes Amethyst's shape: the field across the full width, attach and preview on a row beneath it with Cancel and Reply at the right. Tests: thread-reply's helper follows the new shape and expects the box to fold after sending; compose-preview and feed-list tap Reply before expecting a box (the thread card carries .thread-card as the marker). Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01VhUKyXKtsJ67QAFfb7QR9D --- tools/compose-preview-test.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'tools/compose-preview-test.js') diff --git a/tools/compose-preview-test.js b/tools/compose-preview-test.js index 08a94e3..d33dcdc 100644 --- a/tools/compose-preview-test.js +++ b/tools/compose-preview-test.js @@ -117,8 +117,11 @@ try { console.log(' — no post in the feed to reply to, skipping the reply half'); } else { await sleep(2500); + check('a thread opened to read has no reply box yet', !(await page.$('.thread-reply-input'))); + await page.evaluate(() => { const b = [...document.querySelectorAll('.note-act')].find((x) => x.getAttribute('aria-label') === 'Reply'); if (b) b.click(); }); + await sleep(400); const box = await page.$('.thread-reply-input'); - check('a thread has a reply box', !!box); + check('Reply opens the box', !!box); if (box) { await type('.thread-reply-input', 'my answer https://coinos.io/punks/3.webp'); await sleep(300); -- cgit v1.2.3