The ZXing-C++ library was recently added to the project as a git
submodule, but some of the packaging scripts were not updated
accordingly.
GitLab: #1947
Change-Id: Ic5324bd807e30bec44c0e07076b1f38903e12895
This commit adds a parameter to the Windows-specific build script to
supply the crash report URL.
Gitlab: #1454
Change-Id: I9f131354c3e9041d068e399fd432c3f6c8325f51
Provide general improvements to the crash reporting submission services
by adding a separate report access server with a simple UI and updating
the crashpad submission server to use waitress.
- changes crashpad.py to crashpad_submit_server.py
- adds report_access_server.py
- updates README.md
Gitlab: #1454
Change-Id: I4e97f77cf2e2c0bb405064b0187ed3dfc2ee703e
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
The AppStream specification includes both a "metainfo" file format,
which can be used (among other things) to provide metadata about a
specific application, as well as a "catalog" file format used to provide
information about the contents of a repository. This patch adds a
"catalog" file for the Jami repos, which seems to be necessary in order
for some graphical package management applications to be able to launch
or uninstall Jami. In particular, this was an issue with GNOME Software
on all the rpm-based distributions supported by Jami (Fedora, openSUSE,
AlmaLinux).
This patch also fixes a few minor noncompliance issues with the existing
metainfo and .desktop files:
- the metainfo and .desktop files were renamed so that the names'
prefixes match the application's ID as defined by the <id> tag in the
metainfo file (in our case "net.jami.Jami") [1];
- the <br/> tags in the metainfo file were removed (they are not
supported -- metainfo files only allow a very limited number of tags,
not arbitrary html [2]); the list (<ul>) and list item (<li>) tags are
now used instead;
- the invalid categories "Communication" and "Productivity" were removed
[3, 4].
[1] https://docs.fedoraproject.org/en-US/packaging-guidelines/AppData/
[2] https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-description
[3] https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-categories
[4] https://specifications.freedesktop.org/menu-spec/latest/category-registry.html
GitLab: #1842
Change-Id: I4a8bab79b6e54d02c08f509d7a9196a0a2e1541e
Sometimes qrencode failed when built from Jenkins.
This patch:
- Uses cmake for build.
- Automatically detect host architecture if none is specified.
Change-Id: I18dc90099e3b9efc531c7887b00fc615f69c50fa
<image> tag must be before <caption> tag
To translate <description>, tag must include xml:lang
Update URL addresses
Update description to include extensions, JAMS etc
GitLab: #1262
Change-Id: I8b313a02b119f5ddeaa2b9d760cac7ac5c147b7a
The libpcre3-dev package doesn't exist on Debian testing, which caused
an error when trying to build Dockerfile_debian_testing. Adding the
newer libpcre2-dev package as an alternative in the debian/control file
fixes the issue.
GitLab: #1856
Change-Id: I3f9068a67101597eb2ffe7cb5a358870e7284e5b
Currently, the user-facing version number in the about dialog, is a
build-time timestamp that does help us isolate the project versions
accurately. Ultimately, we need to be able to reproduce issues
present in specific versions of Jami. This commit introduces a new
version number in the form: <client_sha>.<jamicore_sha>, allowing
us to reproduce builds more accurately.
Gitlab: #1820
Change-Id: Ie7e20b20da65284e33e745996c410f539b65080c
This commit adds four patches to fix various issues that were preventing
Qt 6.6.1 from building on Debian testing and Debian unstable. These
patches are backports of fixes that were applied in later versions of
Qt; links to the relevant commits are included in the description at the
top of each patch.
There are also two changes in the Dockerfiles for Debian testing and
Debian unstable:
1) CMake 3.21 is no longer installed via the install-cmake.sh script.
This is not necessary anymore given that Debian testing and Debian
unstable now both come with more recent versions of CMake by default
(3.29 and 3.30 respectively).
2) The libre2-dev package (which is part of the dependencies in
debian-qt/control) is removed from the Docker image in order to force
Qt to build using the bundled version of the RE2 library. This is
necessary because the system version of the library on testing and
unstable (libre2-11) is not compatible with earlier versions due to
an API change, c.f.
https://codereview.qt-project.org/c/qt/qtwebengine/+/516094
GitLab: #1822
Change-Id: I763fb6692949052e2a846b3f4ce54619e6d98108
This is necessary because we use the core20 base snap, which is built
from Ubuntu 20.04 and therefore doesn't have a recent enough version of
PipeWire available by default.
Change-Id: Id039ec446f4b3f0e89b9ec27f37f81cfd6b3587e
The RPM automatic dependency generator adds provides for all
libraries under %{_libdir}. When vendoring libraries you must disable
this behaviour, otherwise other packages that link against Qt will
not pull in the distro qt packages if jami-libqt is already installed
Change-Id: I3f0a018ea12be7f29d04ca4441cbfdebc2efb909
This will prevent a graphical issue present when disabling QWINDOWKIT_ENABLE_WINDOWS_SYSTEM_BORDERS to avoid the Windows 10 top border issue for the frameless window option. This allows us to remove the temp workaround that likely introduces side effects.
Gitlab: #1581
Change-Id: I36801064d31e2380312d73f88233e8ed9b757403
This commit makes the necessary changes to migrate from Qt 6.5.3 to
Qt 6.6.1 and fixes the following issues:
- EditedPopup.qml: "layout polish loop" and "recursive rearrange"
errors (GitLab: #1510) as well as an unreported bug where text was
clipped instead of elided
- BaseContextMenu.qml: QML warning ("Created graphical object was not
placed in the graphics scene.")
The daemon is also bumped in order to include a patch for a build issue
on openSUSE Leap (GitLab: #1552).
GitLab: #1466
Change-Id: I12df2f84067ebe961368879e08ff7ef275d93395
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
This patch removes Qt dSYM files because their bundle identifiers
are not accepted by the App Store.
Change-Id: Ie999b8d273172a3810706fc78286fe0ddc81376d