Problem:
  • Every click on "Load more messages" takes refresh time and reveals only a few messages.
  • Every next click to see next portion messes up scrolling position and takes additional waiting time. Let's say in a conversation of 20 messages, I have to wait several times, and my scroll position gets messed up several times. If I want to take a look at another chat - I have to repeat this "click - mess up" loop several times again, what overall is pretty distracting and counterproductive.
What if:
  • We assume that the user who clicks "Load more messages" once wants to explore the full history of this chat (has particular interest in this conversation), so we expand all messages? Wait once, mess up scroll once, suffer, but then it's fine, good to go.
  • We allow the user to have all messages loaded for this chat until he restarts BoltAI?
In theory:
  • One full open chat should not create too much stress on the memory and performance, so we could let this happen for a win in user experience.
  • We could add a guardrail — If the user expands more than 5..10 chats, then with the next one - the first one will be collapsed to prevent performance degradation.