Maxim Biro (10):
chore(windows): update OpenSSL to 1.0.2s
chore(windows): update Qt to 5.9.8
chore(windows): update FFmpeg to 4.1.3
chore(windows): update Opus to 1.3.1
chore(windows): update Sodium to 1.0.18
chore(windows): update VPX to 1.8.0
refactor(windows): set a lower timeout on wget
chore(windows): update SQLCipher to 4.2.0
refactor(windows): keep build script rerunnable
chore(windows): update Toxcore to 0.2.10
The build script should not fail if you re-run it from inside the Docker
container it has already ran in. This makes it easier to patch and test
build errors, since you can get into a Docker container, run the build
script, observe the failure, patch the build script and re-run it again.
wget was gettng stuck on downloading Qt off one of its mirrors, it would
establish a connection but read no bytes, just sitting there until the
default timeout of 900 seconds (15 minutes!) is reached.
jenli669 (10):
refactor(startup): decouple loginscreen from model
refactor(startup): check parser args with empty(), not size()
refactor(startup): display last used profile when logging out
refactor(startup): remove unnecessary arg. passing in loadDatabase
refactor(startup): extract startup makeToxPortable logic
refactor(startup): condense and rename scanProfiles
refactor(startup): handle autoLogin checkbox with signals
refactor(startup): use instance during profile import
refactor(startup): clang-format changes to edited files
refactor(startup): return early in makeToxPortable logic
Mick Sayson (8):
refactor(messages): Create class to manage sending/receiving friend messages from core
refactor(core): Remove length parameter from splitMessages
refactor(messages): Create class to manage sending/receiving group messages from core
fix(messages): Fix broken sanitized name for notifications/alert messages
refactor(messages): Replace QRegExp with QRegularExpression
refactor(chatlog): Add class to manage underlying chatlog state
refactor(chatlog): Add a class to manage history through the IChatLog interface
refactor(chatform): Remove message handling logic from gui path
Functional changes
* Offline messages are still sent when the chat log is cleared
* Spinner now does not wait for history to be complete, just a receipt
from our friend
* Export chat and load chat history are now available in group chats
* Merged save chat log and export chat log
* Note that we lost the info messages in the process
NonFunctional Changes
* FileTransferWidget slots only called for correct file
* Settings::getEnableGroupChatsColor now embedded in
GenericChatForm::colorizeNames
* Settings::setEnableGroupChatscolor now emits signal connected to
GenericChatForm::setColorizedNames to keep state in sync
* Chatlog history not reloaded on setPassword()
* I am pretty sure this had no purpose
* Removed a lot of responsibility from ChatForm
* History moved to ChatHistory implementation of IChatLog
* OfflineMsgEngine moved to FriendMessageDispatcher
* Export chat and load chat history moved to GenericChatLog
* Backed by IChatLog so can be used generically
* Message processing moved to FriendMessageDispatcher
* The action of sending files to coreFile is still handled by
ChatForm, but displaying of the sent messages is done through IChatLog
-> GenericChatForm
* Search moved to ChatHistory/SessionChatLog
* All insertion of chat log elements should be handled by
GenericChatForm now
* Removed overlapping responsibilities from GroupChatForm
* Search and message sending goes through ichatlog/messagedispatcher
too
* Lots of search functionality pushed down into IChatLog
* Some of the file logic was moved into Widget. This is mostly to avoid
scope increase of this PR even further.
* History APIs removed that were no longer used
* From the archeology I managed, MAX_GROUP_MESSAGE_LEN was a workaround
for an old toxcore bug. Testing removal of this parameter and replacing it
with tox_max_message_length() seems to work fine.
This commit ignores the possibility of invalid length error being thrown
by a title after we've already checked its size the first time. We also
assume that a group chat cannot cease existing while we iterate over the
retrieved groups.