From dc71a9be4c602821d1af1c6be576e759d0d4bfbd Mon Sep 17 00:00:00 2001 From: hanishkvc Date: Wed, 12 Nov 2025 23:56:32 +0530 Subject: [PATCH] SimpleChatTCRV:Remember to reset the Input File type value --- tools/server/public_simplechat/readme.md | 6 ++++++ tools/server/public_simplechat/ui.mjs | 1 + 2 files changed, 7 insertions(+) diff --git a/tools/server/public_simplechat/readme.md b/tools/server/public_simplechat/readme.md index f0366bf98a..5ad0b61531 100644 --- a/tools/server/public_simplechat/readme.md +++ b/tools/server/public_simplechat/readme.md @@ -730,6 +730,8 @@ sliding window based drop off or even before they kick in, this can help in many * show any image loaded by the user, in the corresponding image button * consolidate dataurl handling into a bunch of helper functions. * trap quota errors wrt localStorage etal + * dont forget to reset the file type input's value, so that reselecting the same image still + triggers the input's change event. * SimpleChat class now allows extra fields to be specified while adding, in a generic way using a object/literal object or equivalent. @@ -768,6 +770,10 @@ it is easy to identify and remove chat messages from the UI even in sliding wind Have a seperate helper to show the user input area, based on set state. And have support for multiple images if the models support same. +Make chat show messages by default only appends new chat messages to existing list of shown messages in ui, +instead of clearing ui and recreating each message ui element again. Have forgotten what I had originally +implemented, need to cross check. + ### Debuging the handshake and beyond diff --git a/tools/server/public_simplechat/ui.mjs b/tools/server/public_simplechat/ui.mjs index 89acad13ca..d03d8f0088 100644 --- a/tools/server/public_simplechat/ui.mjs +++ b/tools/server/public_simplechat/ui.mjs @@ -252,6 +252,7 @@ export function el_creatediv_inputfilebtn(id, label, defaultValue, acceptable, c elX.el.accept = acceptable let idB = `${id}-button` let elB = el_create_button(idB, (mev) => { + elX.el.value = "" elX.el.click() }, idB, label, `

${label}

`) return { div: elX.div, el: elX.el, elB: elB };