Implement a first version of the spellcheck for linux that use the
systemwide installed dictionaries.
GitLab: #1997
Change-Id: I7158e6c61061e7d0a7fe651069247227bbe399a4
This commit adds a basic crash-report system that can be optionally
configured to automatically send minidump crash-reports in addition
to product versions and a platform description including the OS
name and CPU architecture. Reports can be received at a configured
REST endpoint(POST). This endpoint URL can be configured using
a CMake variable `CRASH_REPORT_URL` which defaults to
"http://localhost:8080/submit".
- Introduces a new CMake option `ENABLE_CRASHREPORTS`, defaulting
to OFF. This allows developers to enable crash reporting features
at build time selectively. We also define a new macro with the
same name to expose the state to QML in order to hide the UI
components if needed.
- Implemented conditional inclusion of crashpad dependencies using
`ENABLE_CRASHREPORTS`. If set, `ENABLE_CRASHPAD` is also enabled
(other crash reporters exist and we may want to use them).
- 2 new application settings are added: `EnableCrashReporting` and
`EnableAutomaticCrashReporting`. Default settings make it so
crash-reports are generated but not automatically sent. With this
default configuration, users will be prompted upon application
start to confirm the report upload. Additionally, users may
opt-in in order to have reports sent automatically at crash-time.
Gitlab: #1454
Change-Id: I53edab2dae210240a99272479381695fce1e221b
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 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
- Avoids manually building local file URIs which was causing long load times for conversations on Windows.
- Fixes an issue where missing images were caused by a interaction updates erasing the message bodies.
Change-Id: I4c65f73cf9f46da5a9ae899940cb205cb34ffae2
- Declares global logging categories for libclient and the app
- Introduces some macros for categorized logging
- Removes the noisy namedirectory logs by default
- Logs file/line number URIs in debug mode
Change-Id: I9dadadc6e93ef91cc70d206b7225aeb7a06f8773
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
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
- introduce a message handler
- introduce a logging category for the mainapplication object
- demo the filtering
Gitlab: #652
Change-Id: Ice1ea380bb330f576a0936e3048eb4c60a06d4e9
Remove trailing webengine parameters by not synthesizing command-line args. Use the env var QTWEBENGINE_CHROMIUM_FLAGS instead.
Gitlab: #1074
Change-Id: Ibc2a4f75317bd502a3cca96758ef72264babe255
QSystemTray::setContextMenu isn't working using a QScopedPointer on GNU/Linux, don't know why, not investigating.
Also, resetting the contextMenu has different behaviour on different platforms, so avoid that.
Change-Id: I3464e4c5e410a2c7028555b8177e0e56f7c5d1c3
- Prevents resetting the app-scope context property which prevents the Windows global listener callback from working.
- Removes unused QScopedPointers
Change-Id: I836d803d5a1f4093e241330c1e5dd478c743ed54
It works with a Pimpl which the right pttlistener.cpp depending
on the platform you are on (macOs, windows or X11). It is a
global PTT which listen to key events during calls. If the
global PTT is not supported, a local PTT is set.
https://git.jami.net/savoirfairelinux/jami-project/-/issues/1402
Change-Id: I8399800966c737bb8e8a656ecbb6af7ac7cdde8c
also separate debug and muteDaemon options so that "jami -dq" shows
debug informations from the client.
Change-Id: Ic69c5cf8b6a8ef4aa1fff607d01a541dab3e6da2
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
Introduces the ViewCoordinator component to promote dynamic view loading and reduce coupling between components.
The following objects are now created and destroyed as needed:
- SettingsView
- WizardView
- dialogs
Further refactoring will be required in order to do the same with the ConversationView, which now parents the ChatView and the CallStackView.
Gitlab: #897
Change-Id: Ice6a0c133e62e1e0c8d7fb99ec2c41234c049b59
+ Remove "Accept files from unknown senders" because since swarm
we can't get files from non contacts are the conversation is not
cloned, and non swarm files are ignored
+ Rename "ignore the swarm" to "Mute conversation" as ignore is
unclear
Change-Id: Ifced8f8efe841e2345d50530ee313e6b95b35920
This is the first in a series for cleaning up the top directory (root)
of the repository and move various files/folders into nicely organized
directory structures.
GitLab: #749
Change-Id: If59b74fff981df242bc26e62a070bdb81d7baded
Asking jami to launch another instance with ./jami-qt jami:xxx
will search for "xxx" inside the application and select the
conversation if found.
This allow to support webpage with <a href="jami:username">
For GNU/Linux, in the .desktop file, x-scheme-handler/jami is
added.
For packaging, we will need to determine if the scheme is handled
automatically. For now, to test, we need to add:
x-scheme-handler/jami=jami-qt.desktop;
in "~/.config/mimeapps.list" (and jami-qt.desktop) should
be in a valid path.
Change-Id: Ibbb6e8942f1873d81a57640bdf6f839885981be3
GitLab: #655
The primary connection signal from libnm is triggered way too soon,
before the routes added, causing generally the first requests to
failed with some socket error. Delaying this a bit helps the first
requests to pass successfully.
Change-Id: I09551ff748ac503dde187c0c937b9405cd33a914