1
0
Fork 0
mirror of https://git.jami.net/savoirfairelinux/jami-client-qt.git synced 2025-07-14 04:25:22 +02:00
Commit graph

94 commits

Author SHA1 Message Date
ovari
c55486988f misc: unify terminology
smart quotes {“,”,’}
remove spaces in keyboard shortcuts, eg Ctrl + F → Ctrl+F
add participant → invite member
A(n) [type] error occurred while [attempting to] {verb} {noun}.
avatar → profile picture
ban → block
join in… → join with…
mute camera → stop camera
plugin → extension
request → invitation
unmute camera → start camera

GitLab: #1730
Change-Id: Ied169aea3b15b341ff467bc838c70da6a3d5050f
2024-10-01 11:06:04 -04:00
Samuel Kayode
b99c2674b4 tests: fix account accumulation on Linux systems
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
2024-08-08 11:48:31 -04:00
Andreas Traczyk
3ad0b92dcd link-preview: use non-ASCII UTF-8 characters in a UTF-8 test
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
2024-07-04 13:01:02 -04:00
Sébastien Blin
df3e76a1cf interaction: split status and transferStatus
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
2024-05-31 14:38:26 -04:00
Andreas Traczyk
6105f4f7ce misc: improve vscode integration
- 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
2024-04-11 16:04:45 -04:00
Andreas Traczyk
ff7acf9932 localvideo: refactor preview component device control
Change-Id: Ibcd88c5a3c73a0e67f94d70bc420845aa7b8c822
2024-03-12 16:33:21 -04:00
Adrien Béraud
ee7818eefb AccountListModel: avoid calling getAccountList when unneeded
Gitlab: #1459
Change-Id: I962f38935acd8e97895587076a448125213fc4bc
2024-02-29 09:24:35 -05:00
Sébastien Blin
f706abe5a6 CallMessageDelegate: do not show button to join current call
GitLab: #963
Change-Id: If26b9413e5a94e1b9da0842b84eaf8019b08140f
2024-02-29 08:55:41 -05:00
Andreas Traczyk
610c27f751 contactmodel: refactor profile loading
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
2024-02-28 14:53:28 -05:00
Sébastien Blin
3855a5e951
chatview: fix footer visibility
Change-Id: I4bb6268547da6549a143da1d64b56f70cdd7dcc7
2024-02-22 15:39:15 -05:00
Sébastien Blin
82c63d5a89 tests: add dummy mock data for conversationListView and MessageListView
Change-Id: I64e145754843513a36e7b52dca9be90f2ab7688d
2024-02-21 15:52:56 -05:00
Sébastien Blin
a72af9cba5 tests: add example for mocking datas
Change-Id: I060a991726bc8c1cd57f267d97833dcd04519bab
2024-02-21 15:52:50 -05:00
Sébastien Blin
5371dac882 misc: use BUILD_TESTING like the daemon and update instructions
Change-Id: I5e92e47ada4c4225c68065179245d96723397575
2024-02-19 16:32:04 -05:00
Andreas Traczyk
7650f45d6f misc: libclient: remove legacy account database migration mechanism
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
2024-02-15 15:16:00 -05:00
Andreas Traczyk
07e0b10478 tests: avoid initializing the ViewCoordinator root view
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
2024-02-15 13:33:41 -05:00
Andreas Traczyk
b38e216721 ongoingcallpage: local-preview: add a hide-preview feature
Gitlab: #1555
Change-Id: Ifa196b91fed4d13d1cd0acf535cc3e1802c22a29
2024-02-15 10:46:49 -05:00
Andreas Traczyk
91f32f2421 ongoingcallpage: refactor local preview corner snapping
Uses a more declarative approach to anchor the local preview.

Change-Id: I2544428a0c2585a8629639566c808dfc2808fd14
2024-02-15 10:46:49 -05:00
Andreas Traczyk
ae53d92c2e testing: add a way to test individual QML components
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
2024-02-15 10:46:49 -05:00
Andreas Traczyk
50ce16e0ab misc: fix automated tests
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
2024-01-31 18:22:45 -05:00
Andreas Traczyk
154ce53e2d link-preview: fix UTF-8 decoding
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
2024-01-31 10:32:44 -05:00
Andreas Traczyk
35f850289f qmlregister: improve singleton registration
- better manage QML interop object lifetimes
- allow intellisense to pick up QML registered symbols
- fix for PreviewEngine threading

Change-Id: I416cdede70b155dc34fc3ee94f428ae2128c8950
2024-01-31 10:32:44 -05:00
Andreas Traczyk
35482fa92f misc: implement frameless window
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
2024-01-26 18:14:55 -05:00
Sébastien Blin
f40a8215d1
mainview: fix shortcuts to go to the settings page
Seems broken since a recent Qt upgrade. Calling a method in JamiQmlUtils
works as expected.

Change-Id: Ic1257a4f487560744f5ce1ea02928504ff572157
2024-01-25 10:08:36 -05:00
Andreas Traczyk
99d415b1fe chat view: don't attempt to redefine a Loader's final property
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
2024-01-24 07:53:08 -05:00
Sébastien Blin
90e9a36a9e datatransfer: allow to download a cancelled file
Change-Id: If94c5e1c24d1a90f7a20f29bafc087d26782fe67
GitLab: #1523
2024-01-19 07:55:45 -05:00
François-Simon Fauteux-Chapleau
95e36ef89b tests/qml: fix various issues with the MessageOptions test
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
2024-01-18 21:21:22 -05:00
Sébastien Blin
7c3eab9107 CallMessageDelegate: remove reply/react to
Change-Id: Iddeffd4e2c161ecaf0c9bdb62ed1431d78d0eac5
GitLab: #1493
2024-01-15 13:50:13 -05:00
Sébastien Blin
5b6ab48037 settings panel: retrigger translation
Else, seems model is not updated correctly

Change-Id: I980a3969b72ebe0d6c702f5fc8c13779603bb8b2
GitLab: #1486
2024-01-15 13:48:39 -05:00
François-Simon Fauteux-Chapleau
6003d007b8 tests/qml: add basic test for OngoingCallPage
GitLab: #1483
Change-Id: Ib8932ec76519c52547a27e29b095fc60b0e46876
2024-01-15 13:25:51 -05:00
François-Simon Fauteux-Chapleau
f1f521973b tests/qml: add test for 'About Jami' button on welcome page
GitLab: #1484
Change-Id: I4f8f577c2039ef4a2fc9e4ed731d540e26563b61
2024-01-05 12:23:40 -05:00
Sébastien Blin
84150e8977 misc: bump copyright to 2024
Change-Id: I8d5f968fbedbc884c91416246049a0ef4cd652eb
2024-01-03 09:54:49 -05:00
Sébastien Blin
32b76c8da4 messagelist: use history given from daemon (except SIP accounts)
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
2024-01-02 15:22:10 -05:00
Sébastien Blin
2d664eacb1 misc: fix QML tests
Moreover, add two accounts (for ChatView testing)

Change-Id: Ifb2a45002dd9e86921868257124561764e9b94c5
2024-01-02 10:31:59 -05:00
cberthet
23413a8f45 BaseModalDialog: redesign popups and add standard buttons
GitLab: #1417
Change-Id: I8693ff36d313c730b6d8fa2ea7586d1a71d582d7
2023-11-17 14:43:16 -05:00
lcoursodon
493addcbd8 Menu: refactor menu
GitLab: #1388

Change-Id: Ia168dce60ffdafa1ab4d08905c46f47f98625916
2023-10-24 15:20:03 -04:00
Xavier Jouslin de Noray
b1ca6cf861 PluginView: refactor the ui to a better view
Gitlab: #1306

Change-Id: Ic3d952408c352715f2cd611dad63cf92cfb81ff0
2023-08-21 10:54:35 -04:00
Andreas Traczyk
61126cfa64 messageparser: replace regexes with tidy API
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
2023-07-14 13:32:20 -04:00
Matheo Joseph
ec0feef74d CachedImage: add icon downloader for pluginstore and welcome page
Gitlab: #1228
Gitlab: #1166

Change-Id: I0117cecdb8a77ded8f3da3c2f25028012002a285
2023-07-14 07:57:45 -04:00
Sébastien Blin
0b18f3d145 swarmdetailspanel: fix identifier row
also separate debug and muteDaemon options so that "jami -dq" shows
debug informations from the client.

Change-Id: Ic69c5cf8b6a8ef4aa1fff607d01a541dab3e6da2
2023-07-13 09:39:19 -04:00
Sébastien Blin
b611685653 settingsmaterialtextedit: fix focus changes
Change-Id: I289b610e43317470d061e7ecd6338bfa805c5ce7
GitLab: #1171
2023-06-07 16:10:46 -04:00
Andreas Traczyk
d94c30833f chatview: fix emoji responses under Qt v 6.4.x and up
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
2023-06-02 14:57:54 -04:00
Andreas Traczyk
8db188c513 chat: preprocess text msgs w/md4c+tidy-html5
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
2023-05-15 15:44:20 -04:00
Sébastien Blin
73419e417a recordbox: fix focus policy on record box
The focus policy was broken and this patch fix also the tests
due to an incorrect conversationModel.

Change-Id: I9e7f76b0dff80548d3b92296f22bdd7b848ee931
2023-05-15 11:16:10 -04:00
Franck LAURENT
836b64a180 Focus: override activeFocus item
- add an outline on the item that have the active focus
- override only after a tab key press

GitLab: #1082

Change-Id: Ib549052e0fa2fe6d781df6980ce662919925c473
2023-04-26 09:58:49 -04:00
Andreas Traczyk
b8b5e2f502 tests: fix some possible crashes
Prevents some uncaught exceptions that could occur depending on test implementation.

Gitlab: #899
Change-Id: I5b06c270c924071f331e20f3b894a4bb80228137
2023-04-11 16:20:24 -04:00
Franck LAURENT
334f794490 MaterialTextField: fix rendering
+ 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
2023-04-11 14:07:08 -04:00
Andreas Traczyk
09dfc021db tests: make the webengine resources available for QML test fixtures
Gitlab: #899
Change-Id: I5defa1135f23da975fa0f60cb2762b67d7bc7e86
2023-04-06 16:55:56 -04:00
Andreas Traczyk
01489b9dfc tests: qml: fix some ViewCoordinator related warnings
Gitlab: #899
Change-Id: I5bc73e07f15e73ee2f84e8e5c02689c81e670272
2023-04-06 16:55:13 -04:00
Andreas Traczyk
270fe6c167 tests: add an option to force fail on warning for certain tests
Several subsequent patches will be required so this can be used for our tests.

Gitlab: #899
Change-Id: I3939770ed34fe40aafa2ab93e2bab3cd77a20955
2023-04-06 10:52:42 -04:00
Andreas Traczyk
5566c1a968 tests: qml: initialize the preview engine
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
2023-04-05 13:54:41 -04:00