-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chathistory
Support
#370
base: main
Are you sure you want to change the base?
chathistory
Support
#370
Commits on Jun 25, 2024
-
Request
chathistory
capability when available.Add `id` component to messages, and record message id when available. Request all messages since last seen message or latest <=500 messages when joining a channel. Request <=500 older messages when scrolling to the top of channel buffer. Drop duplicate messages.
Configuration menu - View commit details
-
Copy full SHA for f1f37b5 - Browse repository at this point
Copy the full SHA f1f37b5View commit details -
Fix timestamp message reference format.
Initial timestamp-based depduplication.
Configuration menu - View commit details
-
Copy full SHA for f5c871a - Browse repository at this point
Copy the full SHA f5c871aView commit details -
Add
event-playback
support (and filter out HistServ messages in fav……or of its utilization). Fix timestamp-based deduplication. Skip `RPL_TOPIC` and `RPL_TOPICWHOTIME` messages when looking for the oldest/latest message in a channel.
Configuration menu - View commit details
-
Copy full SHA for 581defa - Browse repository at this point
Copy the full SHA 581defaView commit details -
Load history before making latest messages requests in order to get u…
…p-to-date message reference. Add fuzz interval to timestamp based `chathistory` requests. Ignore messages received at/after `JOIN` when finding the latest message in a channel (replaces ignoring `RPL_TOPIC` and `RPL_TOPICWHOTIME` messages). Ignore internal messages when finding the oldest/latest message in a channel.
Configuration menu - View commit details
-
Copy full SHA for 277b204 - Browse repository at this point
Copy the full SHA 277b204View commit details -
Restore filtering out of
RPL_TOPIC
andRPL_TOPICWHOTIME
messages ……when finding oldest/latest message in channel.
Configuration menu - View commit details
-
Copy full SHA for c098399 - Browse repository at this point
Copy the full SHA c098399View commit details -
rustfmt
(changes applied whenever runningrustfmt src/main.rs
, ot……herwise unrelated to `chathistory`).
Configuration menu - View commit details
-
Copy full SHA for 0938dc9 - Browse repository at this point
Copy the full SHA 0938dc9View commit details -
Restructuring to load
History::Full
for message reference and dedup……lication, then convert to `History::Partial` for all channels without a pane.
Configuration menu - View commit details
-
Copy full SHA for 489c0e5 - Browse repository at this point
Copy the full SHA 489c0e5View commit details -
Ensure backlog divider appears before
chathistory
messages requeste……d when joining a channel. Filter timestamp-based `chathistory` batches in order to reduce the need for record-time deduplication. Use hash of `Encoded` for client-side message-id (used to distinguish between timestamp-based `chathistory` messages with the same timestamp).
Configuration menu - View commit details
-
Copy full SHA for 87d9ad2 - Browse repository at this point
Copy the full SHA 87d9ad2View commit details -
Add button at the top of channel history for loading older `chathisto…
…ry` messages. Add preference for automatically loading older `chathistory` messages when scrolled to the top of channel history.
Configuration menu - View commit details
-
Copy full SHA for daa8d15 - Browse repository at this point
Copy the full SHA daa8d15View commit details -
Configuration menu - View commit details
-
Copy full SHA for c86b8d0 - Browse repository at this point
Copy the full SHA c86b8d0View commit details -
Find backlog divider by searching from most recent backwards, stoppin…
…g at the first message that belongs in the backlog. This way the backlog divider won't be moved when messages are added to the beginning of a message history via `chathistory`.
Configuration menu - View commit details
-
Copy full SHA for 7b20edb - Browse repository at this point
Copy the full SHA 7b20edbView commit details -
Support for requesting older messages in Query buffers.
Renamed configuration option to more typical phrase.
Configuration menu - View commit details
-
Copy full SHA for f2f30e6 - Browse repository at this point
Copy the full SHA f2f30e6View commit details -
Fall back to
LATEST
request when there is no message reference.Use `server_time` to position message with respect to unreferenceable messages.
Configuration menu - View commit details
-
Copy full SHA for 21e7982 - Browse repository at this point
Copy the full SHA 21e7982View commit details -
Configuration menu - View commit details
-
Copy full SHA for b4ac47c - Browse repository at this point
Copy the full SHA b4ac47cView commit details -
Suggested changes (consolidations and better match coverage).
Fix for `opened_at` calculation in `make_partial` (the earliest received message does not always appear at the beginning of the `unread_messages` vector).
Configuration menu - View commit details
-
Copy full SHA for b7f5430 - Browse repository at this point
Copy the full SHA b7f5430View commit details -
Configuration menu - View commit details
-
Copy full SHA for add46ee - Browse repository at this point
Copy the full SHA add46eeView commit details -
Remove client id from timestamp-based
chathistory
.Other simplifications and clarifications suggested by review.
Configuration menu - View commit details
-
Copy full SHA for adffe5f - Browse repository at this point
Copy the full SHA adffe5fView commit details -
Configuration menu - View commit details
-
Copy full SHA for b673ca7 - Browse repository at this point
Copy the full SHA b673ca7View commit details -
Incorporate new insertion strategy into existing framework.
Efficient deduplication via the new insertion strategy can be used in place of filtering received `chathistory` batches. Minor tweaks to insertion strategy: more stringent checking for triggering unread notification (to avoid false positives) and more relaxed matching for `JOIN`/`PART`/`QUIT` messages (to avoid false negatives).
Configuration menu - View commit details
-
Copy full SHA for 868b8d5 - Browse repository at this point
Copy the full SHA 868b8d5View commit details -
Additional restructuring to improve code clarity and better allow for…
… all `chathistory` subcommands. Switch from repeated `AFTER` subcommands to `LATEST` → repeated `BETWEEN` commands to receive history when joining a channel (`AFTER` can fail silently, with 0 returned messages, if the message reference is no longer in the history available from the server). Tweaks to `insert_message` (utilize same fuzz constant as `send_chathistory_request`) and to `is_referenceable_message` (disallow `RPL_TOPIC` and `RPL_TOPICWHOTIME` as message references).
Configuration menu - View commit details
-
Copy full SHA for 31957d2 - Browse repository at this point
Copy the full SHA 31957d2View commit details -
Add
TARGETS
chathistory
subcommand structure (not yet utilized).Allow messages with matching content to match as duplicate without matching `server_time` iff the stored message is a sent message and the inserted message is a received message; reduced strictness to match sent messages where the server's copy will have a slightly different time than the client.
Configuration menu - View commit details
-
Copy full SHA for 2a30f59 - Browse repository at this point
Copy the full SHA 2a30f59View commit details -
Asynchronous retrieval of the latest message reference when joining a…
… channel. Messages retrieved when joining a channel are no longer properly deduplicated.
Configuration menu - View commit details
-
Copy full SHA for b491e4c - Browse repository at this point
Copy the full SHA b491e4cView commit details -
Message deduplication for messages requested when joining a channel.
Channels will be marked as having unread messages even if those messages will ultimately wind up deduplicated.
Configuration menu - View commit details
-
Copy full SHA for 2f1662a - Browse repository at this point
Copy the full SHA 2f1662aView commit details -
Utilize
TARGETS
chathistory
subcommand to get potential direct me……ssages sent while the user was disconnected from the server.
Configuration menu - View commit details
-
Copy full SHA for af2b3bd - Browse repository at this point
Copy the full SHA af2b3bdView commit details -
Request recent messages for server queries when
chathistory
support…… is acknowledged.
Configuration menu - View commit details
-
Copy full SHA for a98d912 - Browse repository at this point
Copy the full SHA a98d912View commit details -
Ensure
MSGREFTYPES
ISUPPORT token is present before making `chathis……tory` requests that depend on supported message reference types. Increase precision of message reference retrieval functions.
Configuration menu - View commit details
-
Copy full SHA for fc507ea - Browse repository at this point
Copy the full SHA fc507eaView commit details -
Initial implementation of read markers for properly interpreting `cha…
…thistory` messages (and for persisting unread state across application close/open). Rearranges message storage.
Configuration menu - View commit details
-
Copy full SHA for e026112 - Browse repository at this point
Copy the full SHA e026112View commit details -
Configuration menu - View commit details
-
Copy full SHA for a481c9c - Browse repository at this point
Copy the full SHA a481c9cView commit details -
When receiving an echo while
chathistory
is supported, insert into ……message history in order to store its `msgid`.
Configuration menu - View commit details
-
Copy full SHA for fc50060 - Browse repository at this point
Copy the full SHA fc50060View commit details -
Configuration menu - View commit details
-
Copy full SHA for f876e40 - Browse repository at this point
Copy the full SHA f876e40View commit details -
Configuration menu - View commit details
-
Copy full SHA for 65db3a9 - Browse repository at this point
Copy the full SHA 65db3a9View commit details -
Store echoed messages with message ids even if chathistory is support…
…ed, in case support is later enabled.
Configuration menu - View commit details
-
Copy full SHA for aa2aea1 - Browse repository at this point
Copy the full SHA aa2aea1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9a7cc99 - Browse repository at this point
Copy the full SHA 9a7cc99View commit details -
Configuration menu - View commit details
-
Copy full SHA for da1645b - Browse repository at this point
Copy the full SHA da1645bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 22c0f94 - Browse repository at this point
Copy the full SHA 22c0f94View commit details -
Configuration menu - View commit details
-
Copy full SHA for f992ace - Browse repository at this point
Copy the full SHA f992aceView commit details -
Configuration menu - View commit details
-
Copy full SHA for 63d9de8 - Browse repository at this point
Copy the full SHA 63d9de8View commit details