MAM: UI behavior and limits on message archive sync
According to XEP-0313,
An entity is able to query (subject to appropriate access rights) an archive for all messages within a certain timespan, optionally restricting results to those to/from a particular JID.
I propose that Gajim, by default, should only synchronise archives for active (open) conversation tabs, either for the last two days, or for the last 20 messages (by using result set management). Scrollback in the conversation window should initiate appropriate MAM queries such that the window is populated with historical messages, as requested in #7974 (closed).
Regarding the chat history / conversation history window (tooltip uses former, window title uses latter):
-
The calendar displayed in the Conversation History should be hyperlink blue for days that the client doesn't have local chat history and has not yet obtained a MAM archive.
-
Clicking on a day in the calendar should initiate a query to the server for that day's archive. A small progress bar should display underneath that calendar day while the message archive is retrieved from the server. Upon a successful query return from the server, the progress bar will disappear, and the date in question will change to black.
-
If there are archived messages present on a given date either present on the server or in the local chat archive, the calendar should change to a boldface black date, as is the current state of the Conversation History.