doc: ADR for lazy quote preview resolution in message-list query#4955
doc: ADR for lazy quote preview resolution in message-list query#4955MohamadJaara wants to merge 1 commit into
Conversation
New ADR(s) in this PR 📚:12. Lazy Quote Preview ResolutionDate: 2026-06-09 StatusProposed ContextThe main Kalium message-list query uses This made every message-list query pay the cost of quote hydration, even when most visible messages do not render a quote preview. The cost is more noticeable because the local database uses SQLCipher, where larger views and extra joins can be more expensive. We still need to preserve current quote behavior:
DecisionRemove quoted-message hydration from Kalium's
Kalium message mappers will continue exposing quote references on text and multipart messages, but the main message-list query will no longer populate quoted message details. The app will resolve quote previews lazily only when a rendered message needs one:
For invalid quote references, the resolver returns invalid quoted content without exposing the quoted message body. For cross-conversation quotes, the resolver may also observe conversation details to derive a source conversation display name:
The source conversation name is rendered in the quote header only when present. ConsequencesPositive
Trade-offs
Maintenance rulesWhen changing quote preview behavior:
|
|



ADR for Lazy Quote Preview Resolution
the core idea is that i needed to add conversaion name to the quote message. and instead if adding another join to get the name i suggest to remove 6 joins from the list query and lazy resolve the quoted message to show info and conv name