On non-dockerized Linux systems, the accounts generated during tests are
only cleaned up occassionally. The test suite design implements
consistent account cleanup post test. Accumulation of these accounts
interfere with subsequent test runs, rendering the test suite ineffective.
The main test scripts incorrectly utilize a Jami Windows environment
variable for Linux systems. In adherence with the Jami client design,
this patch utilizes the correct environment variable for Linux systems.
Windows formatted paths were also modified to allow recogntion in Linux
enironments
GitLab: #1801
Change-Id: I633dbd168af1e6d20ccee53d1109cd179bd1a187
Non-ASCII characters in UTF-8 are encoded with multiple bytes. Testing with these characters ensures that the decoder correctly interprets multi-byte sequences.
Gitlab: #1536
Change-Id: I0a92ee91b6cd26d70daab1f9baef3a9577aee02e
This allow to show the correct sending/sent/state for the interaction
separated from the status of the dataTransfer. Else, we see a sent
check for a file even if the peer didn't receive the file
Change-Id: I15b9f0abc6a26a2ffd007be26827e9a37e859bca
- adds a task to toggle testing configuration
- removes the test run launch configuration (now a task)
- adds macOS support and fixes gtest CMake integration
- removes the IPC launch configuration as it doesn't work correctly without delaying the client
Change-Id: I89e1f3abd0e050e0bcf205f1331596c660dd0d34
Loading the profile elements from disk is now deferred to consumption. Implements a basic caching mechanism for the displayname and avatar elements.
Gitlab: #1459
Change-Id: Ic5aeec6649c198f617b9269409ded647c7536b8f
Removes all migration mechanisms and support for database versions that haven't been used for several years. Also cleans up some includes.
Change-Id: Iaf071a455f77dd4daa57f16f9924703961aa64e0
This doesn't make much sense with our current test structure, and will add a StackView component on top of the UUT.
Change-Id: Ice3425bfea0b5229c87caf3fa22b181ce6aa520d
This is a WIP and is intended to be adapted continuously to support more and more UI elements and reduce the time spent debugging components.
Some components will require additional configuration (e.g. the conversation ID must be set), which may require additional changes.
Change-Id: Iaa5d49693f874202439e746a274da4911adf7d15
Broken by https://review.jami.net/c/jami-client-qt/+/26560.
This moves some logic that has been previously duplicated between the app and tests into a common routine.
Change-Id: I40f1af38893cfcef751578d3e4db7d7ba040505b
The HTML string was being converted to a local 8-bit string prior to parsing with tidy.
According to Qt documentation, this works on Unix systems as toLocal8Bit() is equivalent to toUtf8(), however, it may not on Windows, and may result in character replacement.
Gitlab: #1536
Change-Id: I7aec98cffbd9d72771d1c489f52b38dbb3a1ed9f
Several major changes to the layout have been made.
- The chat search bar is moved into the message search layout.
- The Searchbar component is stripped of unused features.
- Some remaining logic that was used to switch main loader components is removed.
- ViewCoordinator.getView gets a "force create" parameter and we no longer preload low-cost views.
NOTE: the option to use a frameless window is available within general settings
Gitlab: #1524 (Frameless Window)
Change-Id: Iec6bdf162cb0335d3ae3d9bd09dd9783991a4a57
We can't define a property called `status` for a Loader as it exists already. At best, the app will crash as it should be unable to create the chat view. At worst, this will introduce undefined behavior by confounding transfer/loader status assignments and comparisons.
Gitlab: #1537 (crash)
Change-Id: I66fb6da25cae695f7f1f520200f6eed8a2c93d03
This commit fixes three issues related to tst_MessageOptions.qml:
1) There was no test to check that the call to createSIPAccount() at the
beginning of test_createMessageOptionsPopup() actually succeeded
2) The created account was not deleted at the end of the test
3) The test would occasionally crash due to an uncaught
std::out_of_range exception thrown by the
AccountModelPimpl::slotAccountDetailsChanged function. I've modified
the function to issue a warning instead, which makes it consistent
with AccountModelPimpl::slotVolatileAccountDetailsChanged and avoids
throwing an exception from a Qt slot (which is considered undefined
behavior according to the Qt documentation)
Change-Id: I4d939b29f27ee27de673aea7046997ef756fbcee
With Jami-Daemon >= 14.0.0, the client doesn't need to construct
itself the history. This part is now handled by the daemon.
This patch uses the new API:
+ loadConversationMessages->loadConversation
+ SwarmMessageReceived/SwarmMessageUpdated/ReactionAdded/ReactionRemoved
+ remove MessageReceived
+ ConversationLoaded->SwarmLoaded
+ No need to use loadConversationUntil, the daemon will load whatever
the client needs.
+ No need to clear cache, just reset the body and emit data changes
Everything should work like before (even re-translation & changing
preview preference)
Change-Id: Iaf1fa3e84e8e157ae2d0bec210977f9a34415ebc
Depend on tidy API for attribute extraction rather than regexes.
1. htmlparser methods return nodes instead of pre-parsed strings
2. htmlparser provides some methods to extract text/attr from nodes
Gitlab: #1248
Change-Id: I367d703680938fb0b7c5055ac41e079c1322da30
also separate debug and muteDaemon options so that "jami -dq" shows
debug informations from the client.
Change-Id: Ic69c5cf8b6a8ef4aa1fff607d01a541dab3e6da2
Qt.bindings are not supported for properties within when calling createObject anymore. Instead, we can pass component references, or generate bindings post-creation.
Note: in this case, the popup closes and observation is not really needed here.
Gitlab: #1169
Change-Id: I21c1d95f4ca725c86fcf276834830145587458cc
Introduces MessageParser to encapsulate text treatment for raw text messages.
The async parsing sequence is as follows:
- Markdown -> HTML (md4c)
- link coloration (tidy-html5)
- notify UI
- request link preview info from PreviewEngine for the first link
- Preview engine uses QtNetwork instead of QtWebengine
- Linkification is handled by MessageParser instead of linkify.js
QtWebengine is no longer required for message parsing.
Gitlab: #1033
Gitlab: #855
Change-Id: Ief9b91aa291caf284f08230acaf57976f80fa05b
The focus policy was broken and this patch fix also the tests
due to an incorrect conversationModel.
Change-Id: I9e7f76b0dff80548d3b92296f22bdd7b848ee931
- add an outline on the item that have the active focus
- override only after a tab key press
GitLab: #1082
Change-Id: Ib549052e0fa2fe6d781df6980ce662919925c473
+ set the maximum number of characters in the input
+ elide the text when it's too long
+ save on focus change in the settings view
GitLab: #1064
Change-Id: I973ff09cb3ce56cda98a0b40cedde88ac3829c1d
This was causing invalid connections during test setup. Not having a null preview engine will prevent dereferencing a null pointer once messaging tests are implemented, however, the webengine will not work correctly due to missing resources which may be corrected in a subsequent patch.
This commit also moves .clang-format to the root repo dir so it will apply to the test source code (the test source code should be within the src dir).
Gitlab: #899
Change-Id: I8cac1fb937a0c60a91219b11ed1e0b5f323b1816