* 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.
Blocked status will represent friends who are removed from Toxcore, but who still exist in UI and can be readded to Toxcore at a future time using their public key. Blocked friends are similar to offline friends, but have a different status icon and will be seperated in the friends list.
Caused race where peer plays audio, then is removed from group, then we
process audio played signal and lookup their peerId in core where it
doesn't exist. Now Group will effectively contain the peer until the
peer list changed slot is processed.
Partial fix for #5511
Toxcore has a 3 state pause, us, them, or both. Currently our UI
messes up if both parties pause. This changeset changes our UI behavior
to show whether we're paused, or if we are waiting on the remote to
unpause.
Replace double static_cast of pointer with reinterpret_cast.
reinterpret_cast in unsafe because the underlying data may be
meaningless in the new type, static cast to void then to a new pointer
type has exactly the same problem. This is our intention here.
Anthony Bilinski (2):
feat(db): add file hash to file history
refactor(files): change ToxFile's fileName to QString
Mick Sayson (5):
refactor(files): Refactor FileTransferWidget
feat(db): Support schema version upgrades
feat(db): Database support for file history
feat(db): Hookup file history to the rest of the system
feat(db): File transfer history review comments
Not currently used, but there are plans to display if a transfered file
has been modified, which the file hash will be needed for. Adding file
hash at the same time as file history also saves a db schema update.
Rational here is that the current FileTransferWidget is quite
entangled with core logic. If we are going to instantiate the
FileTransferWidget without an active file transfer the widget needs to
behave sanely without getting messages from toxcore. This changeset is
an attempt to allow us to move from any FileTransferWidget state to any
other state without having to go through the appropriate state
transitions.