* Resolves#6221
* System message schema designed to take enum of message base + args
* New table layout required many updates to the queries executed by
history
* Bonus reduction of history signals/slots by issuing some file transfer
insertions directly when possible
This change adds a cmake configuration switch to enable code coverage
instrumentation during the compilation of the project. When tests are
executed, the instrumentation outputs coverage data to output files in
the build directory. Programs such as lcov/gcovr can turn that data into
reports.
This change also adds steps to the travis CI configuration to build with
this configuration switch and then use lcov to generate the consolidated
report and publish to codecov.io
6π (1):
feat(l10n): update French translation from Weblate
Alberto Luaces (3):
feat(l10n): add Galician translation using Weblate
feat(l10n): update Galician translation from Weblate
feat(l10n): update Galician translation from Weblate
Allan Nordhøy (2):
feat(l10n): update Norwegian Bokmål translation from Weblate
feat(l10n): update Norwegian Bokmål translation from Weblate
Anonymous (1):
feat(l10n): update Czech translation from Weblate
Artem (2):
feat(l10n): update Russian translation from Weblate
feat(l10n): update Russian translation from Weblate
Atrate (3):
feat(l10n): update Polish translation from Weblate
feat(l10n): update Polish translation from Weblate
feat(l10n): update Polish translation from Weblate
Balazs (3):
feat(l10n): update Hungarian translation from Weblate
feat(l10n): update Hungarian translation from Weblate
feat(l10n): update Hungarian translation from Weblate
Cornelius Kölbel (1):
feat(l10n): update German translation from Weblate
Emery Hemingway (2):
feat(l10n): add Kannada translation using Weblate
feat(l10n): update Kannada translation from Weblate
Filipovic Dragan (2):
feat(l10n): update Serbian translation from Weblate
feat(l10n): update Serbian translation from Weblate
Hakim Oubouali (2):
feat(l10n): add Berber translation using Weblate
feat(l10n): update Berber translation from Weblate
HelaBasa (2):
feat(l10n): add Sinhala translation using Weblate
feat(l10n): update Sinhala translation from Weblate
Hosted Weblate (81):
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
Merge branch 'origin/master' into Weblate.
J. Lavoie (5):
feat(l10n): update French translation from Weblate
feat(l10n): update Italian translation from Weblate
feat(l10n): update German translation from Weblate
feat(l10n): update French translation from Weblate
feat(l10n): update Italian translation from Weblate
Jonatan Nyberg (5):
feat(l10n): update Swedish translation from Weblate
feat(l10n): update Swedish translation from Weblate
feat(l10n): update Swedish translation from Weblate
feat(l10n): update Swedish translation from Weblate
feat(l10n): update Swedish translation from Weblate
Karl Tammik (2):
feat(l10n): update Estonian translation from Weblate
feat(l10n): update Estonian translation from Weblate
Kaur Männamaa (5):
feat(l10n): update Estonian translation from Weblate
feat(l10n): update Estonian translation from Weblate
feat(l10n): update Estonian translation from Weblate
feat(l10n): update Estonian translation from Weblate
feat(l10n): update Estonian translation from Weblate
Kristjan Räts (2):
feat(l10n): update Estonian translation from Weblate
feat(l10n): update Estonian translation from Weblate
Lukáš Jelínek (1):
feat(l10n): update Czech translation from Weblate
Luna Jernberg (1):
feat(l10n): update Swedish translation from Weblate
Marek Ľach (1):
feat(l10n): update Slovak translation from Weblate
Martin Beer (7):
feat(l10n): update German translation from Weblate
feat(l10n): update German translation from Weblate
feat(l10n): update German translation from Weblate
feat(l10n): update German translation from Weblate
feat(l10n): update German translation from Weblate
feat(l10n): update German translation from Weblate
feat(l10n): update German translation from Weblate
Michalis (2):
feat(l10n): update Greek translation from Weblate
feat(l10n): update Greek translation from Weblate
Milo Ivir (2):
feat(l10n): update Croatian translation from Weblate
feat(l10n): update Croatian translation from Weblate
Riku Viitanen (1):
feat(l10n): update Finnish translation from Weblate
Survesh VRL (1):
feat(l10n): update Tamil translation from Weblate
Søren Ingemann Nielsen (1):
feat(l10n): update Danish translation from Weblate
Tautvydas Zukauskas (1):
feat(l10n): update Lithuanian translation from Weblate
The Cats (4):
feat(l10n): update French translation from Weblate
feat(l10n): update French translation from Weblate
feat(l10n): update Italian translation from Weblate
feat(l10n): update Portuguese (Brazil) translation from Weblate
Thect (1):
feat(l10n): update Chinese (Traditional) translation from Weblate
Thomas Weber (5):
feat(l10n): update German translation from Weblate
feat(l10n): update German translation from Weblate
feat(l10n): update German translation from Weblate
feat(l10n): update German translation from Weblate
feat(l10n): update German translation from Weblate
Whod (1):
feat(l10n): update Bulgarian translation from Weblate
William (2):
feat(l10n): update Norwegian Bokmål translation from Weblate
feat(l10n): update Norwegian Bokmål translation from Weblate
anonymous (2):
feat(l10n): update German translation from Weblate
feat(l10n): update German translation from Weblate
brokolice (2):
feat(l10n): update Czech translation from Weblate
feat(l10n): update Czech translation from Weblate
mv87 (1):
feat(l10n): update German translation from Weblate
remussatala (1):
feat(l10n): update Romanian translation from Weblate
ssantos (1):
feat(l10n): update Portuguese translation from Weblate
tmerkuri (2):
feat(l10n): add Albanian translation using Weblate
feat(l10n): update Albanian translation from Weblate
Мирослав Николић (1):
feat(l10n): update Serbian translation from Weblate
Anthony Bilinski (3):
Merge pull request #6302
Merge pull request #6304
Merge pull request #6308
Jamie Westell (2):
chore(docker): add missing deps to dockerfiles
fix(video): only list video devices with video capture capability
Waris Boonyasiriwat (1):
fix(smileys): fix flag emojis
bodwok (1):
fix(ui): add group widgets on start with "Activity" mode
This change adds a check for the V4L2_CAP_VIDEO_CAPTURE capability of
the video device found on devfs. This will filter out 'metadata' device
nodes that may be present on devfs at some /dev/videoN path.
Fixes#6276
Fix two small problems that break flag emojis
(1) Multi-char emojis are accidentally grouped together with emoticons
(such as : smile :). This is fixed by using a more robust isAscii(...) function
(2) Smiley regexp construction is undeterministic, causing multi-char to
sometimes be processed first, sometimes last. This is fixed by explicitly
inserting multi-char patterns first.
Issue: #5147
Mick Sayson (6):
feat(messages): Multipacket message support
feat(messages): History and offline message support for extended messages
feat(extensions): UI updates for extension support
fix(extensions): Add toxext to CI scripts
feat(extensions): Update documentation
feat(extensions): Split messages on extended messages
v0.0.2 of toxext_extended_messages brought in a user configurable max
message size. This changeset implements the minimum work required for
qTox to work sanely under the new API.
* Hardcode a max message size for all friends
* If a friend negotiates a max message size below the hardcoded value
pretend they do not have the extension
* Move splitMessage out of Core to MessageProcessor
* Updates to allow for extended messages to be split
Added a UI element to indicate extension support of the chatroom. For
all groups it will always be red since we do not support extensions in
groups. In a 1-1 chat the indicator will either be green/yellow/red
depending on if the friend has support for all/some/none of qTox's
desired extension set.
* Added new negotiating friend state to allow delayed sending of offline
messages
* Added ability to flag currently outgoing message as broken in UI
* Reworked OfflineMsgEngine to support multiple receipt types
* Moved resending logic out of the OfflineMsgEngine
* Moved coordination of receipt and DispatchedMessageId into helper
class usable for both ExtensionReceiptNum and ReceiptNum
* Resending logic now has a failure case when the friend's extension
set is lower than the required extensions needed for the message
* When a user is known to be offline we do not allow use of any
extensions
* Added DB support for broken message reasons
* Added DB support to tie an faux_offline_pending message to a required
extension set
* Introduced ToxExt and CoreExt abstraction
* Along with interfaces for mocking and unit testing
* Add "supportedExtensions" concept to Friend
* Dispatch messages to CoreExt instead of Core when friend supports
extended messages
* Only split messages for core when extended messages are unavailable
* Offline message engine/History not altered. Currently only valid for
an existing session after extension negotiation has completed
Brew disabled updating from shallow clones:
https://github.com/Homebrew/brew/pull/9383
The update is also uneeded since our .travis.yml already has `update: true` for
the brew extension.
In history we cache peers to avoid extra DB lookups, this code is not
pretty and seems to provide little benefit. This reduces the cognitive
load when trying to reason about history.
* Removed peerId table from history
* Replaced peerId lookups with generated select statement
* Benchmarked on a profile with ~100 peers in the db and saw no
noticible change in transaction time (6-30 ms both before and after
the changes)