client: Add AsNeededBacklogRequester, faster login
authorShane Synan <digitalcircuit36939@gmail.com>
Sun, 28 Jun 2020 05:49:43 +0000 (01:49 -0400)
committerManuel Nickschas <sputnick@quassel-irc.org>
Sun, 4 Oct 2020 16:19:48 +0000 (18:19 +0200)
commitb83e459f4ed6deda6e46b7ae12e49e197ef3bb12
tree7db9cc34d826022c5cda42b2dbc986b1379cdfa2
parent02966c1d1a668b2382de899008e6fefb42da4bbb
client: Add AsNeededBacklogRequester, faster login

Add AsNeededBacklogRequester, which behaves exactly like the
FixedBacklogRequester for legacy cores older than v0.13.0
(lacking Feature::BufferActivitySync).  For modern cores, no backlog
is initially fetched.  This should speed up logging in with no loss of
buffer activity signaling.

This breaks the "Show messages from backlog" feature as no backlog is
fetched.  The original always-fetch backlog requesters remain
available for those who prefer having the backlog in the Chat Monitor.

Add a warning to the Chat Monitor settings page when
"Only fetch when needed" Backlog Fetching is enabled.

Don't allow BacklogSettings to return the GlobalUnread backlog
requester type.  The UI for choosing it has been disabled, but it
could have accidentally been selected in the past.  If this had
happened before this change, AsNeeded will be selected instead.
src/client/backlogrequester.cpp
src/client/backlogrequester.h
src/client/backlogsettings.cpp
src/client/backlogsettings.h
src/client/clientbacklogmanager.cpp
src/qtui/settingspages/backlogsettingspage.cpp
src/qtui/settingspages/backlogsettingspage.ui
src/qtui/settingspages/chatmonitorsettingspage.cpp
src/qtui/settingspages/chatmonitorsettingspage.h
src/qtui/settingspages/chatmonitorsettingspage.ui