1
0
Fork 0
mirror of https://git.jami.net/savoirfairelinux/jami-client-qt.git synced 2025-08-03 22:35:45 +02:00
Commit graph

1722 commits

Author SHA1 Message Date
Andreas Hatziiliou
32a44c9820 chatview: image scaling algorithm
Revise the image scaling algorithm to deal with images
whose aspect ratio was too large or small. Deals with
oversized images as well as images which are too small.

GitLab: #1437
Change-Id: I454e64972ccde1415d80182a2aa89db9656fec1b
2025-01-21 11:28:45 -05:00
ovari123
12628713f1 misc: ux/ui rename “swarm” to “group”
trust request → invitation
Swarm created → Group conversation created

GitLab: #1845
GitLab: #1886
Change-Id: I15932d607f8ccfbdbd332f500635a0c98298a576
2025-01-17 12:03:00 -05:00
Andreas Traczyk
7659080b34 crashpad: increase timeout for crashpad submission
Recent testing with a Windows 10 machine has shown that the crashpad
submission timeout is too short. This commit increases the timeout to
10 seconds, as around 5 seconds has been observed in practice.

Gitlab: #1454
Change-Id: I557a414ea371bd94a42696a835370068867c99dc
2025-01-14 16:25:16 -05:00
Adrien Beraud
cba84f2cb7 conversation: simplify indexOfActiveCall
Change-Id: Ic31b708fc7bea67ea00171665aca955dd2633c37
2025-01-14 10:53:56 -05:00
Adrien Beraud
7289a92b2b vcard: cleanup
Change-Id: I5ac983c5e34a3d691f97330a667ebf55b5e6a155
2025-01-14 10:53:56 -05:00
Adrien Beraud
c6a474aa96 uri: fallthrough
Change-Id: I7713852196ab8823149014fdfcf970b4c0290109
2025-01-14 10:53:56 -05:00
Andreas Traczyk
529b7cf529 troubleshooting: add configurable crash reporting with crashpad
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
2025-01-13 15:56:11 -05:00
François-Simon Fauteux-Chapleau
49d83fd937 packaging: fix AppStream issues
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
2025-01-10 15:32:41 -05:00
François-Simon Fauteux-Chapleau
484808a2eb ContactSearchBar: remove obsolete component
All instances of ContactSearchBar were replaced by Searchbar in commit
91047b34c2.
https://review.jami.net/c/jami-client-qt/+/24659

Change-Id: I9bdba7fa686a1fe290a7c899128713e7efd10c40
2025-01-06 16:27:09 -05:00
François-Simon Fauteux-Chapleau
dccc6c7e18 NotificationArea: don't rely on signal that's not always received
The current implementation of NotificationArea assumes that the
onActiveCallsChanged function in ChatView.qml will be called at least
once before the notification area becomes visible, but this isn't
necessarily the case.

GitLab: #1823
Change-Id: Ic85392dd9b6748b43f6c8d9cc002df973fc8be0e
2025-01-06 16:26:51 -05:00
ovari123
53a3d32114 cleanup
→
base 64 → Base64
cancelled → canceled
{cannot, can't, couldn't} → unable to
inexistent → nonexistent
informations → information
not possible → impossible
retrieven → retrieved
SIP
try → attempt
URI
WebEngine
wish → want

Can this replace https://review.jami.net/c/jami-client-qt/+/27607 ?

Change-Id: I21e1615a0c6e2979f02f913093c503c03ab32c82
2025-01-02 12:29:20 -05:00
ovari123
5352ded3e3 misc: unify terminology
Are you sure you → Do you really → Do you
by a password → with a password
confirmExtensionReset: OK → Reset
confirmExtensionUninstall: OK → Uninstall
confirmRmConversation → confirmLeaveConversation

Change-Id: I8e61197a19fb61f3d362d76b1a6d676dcb842b75
GitLab: #1730
2024-12-19 17:10:37 -05:00
Leopold
6093689cc4 update-profile: fix dbus build issue
The dbus build was failing due to updateProfile having an incorrect number of arguments.

Change-Id: I0045554e2fc62851fc2cffdac27c8ab1cb905547
2024-12-06 11:02:56 -05:00
Leopold Chappuis
d188284245 update-profile: Handle ProfileReceived Signal for SIP Accounts
Since SIP accounts lack a URI, we need to address scenarios where the daemon includes the accountID in the uri parameter. Refer to 29623 for more details.

Change-Id: Ib58e77dc953269c87d67d4068866c93432d08aae
2024-12-05 11:16:56 -04:00
Leopold Chappuis
a01b578099 update-profile: moved to new API for setting Avatar
This change only impacts avatar updates; moving to the new API for updating the displayName is still pending and may require additional work. Specifically, we need to provide the current profile picture path to prevent its removal during the update process.

Change-Id: Idbc1592eda2b533b633cc366c72224f5e1bdce98
2024-12-05 09:33:51 -05:00
Andreas Hatziiliou
04fca1fc75 callparticipantsmodel: fix typo
Change-Id: I32e7aa66466108b8ebac8a472a00f9f08e91a3b6
2024-12-05 09:29:05 -05:00
Andreas Hatziiliou
a5621a1af1 Shortcuts: remove unused shortcut
Change-Id: I28e5ef7dfca2e82fa65e40b2450db8c30a465926
2024-12-04 16:06:36 -05:00
Andreas Hatziiliou
a1c2b8adef account_archive: unify archive file type
When creating an account archive, there would be no default
suffix. Then, when importing the archives, we would filter
for .gz files by name. The goal is to implement a .jami
file extension for archives across all platforms.

Todo: implement custom MIME type for custom icons.

GitLab: #1256
Change-Id: I202ae5670c928f35b0eaf711abf7249ec3f304b9
2024-12-04 16:05:59 -05:00
Leopold Chappuis
bfe9128755 updateStatus: prevent status reduction
A very minor adjustment to ensure the status cannot be downgraded.

Change-Id: I1e0fe5461ad05f5cf9f88174b4253e0e63caa3bd
2024-11-29 11:07:33 -05:00
ovari123
8b17b9e3cf instancemanager.cpp: fix typo
Change-Id: Ib1fb914135056fc4f87c8b0f461219473495c8dc
2024-11-26 23:57:58 -04:00
ovari123
41f5d151d9 misc: unify terminology
Accept contact request → Accept invitation
Accept in audio → Accept with audio
Accept in video → Accept with video
Automatically answer calls → Automatically answer incoming calls
Decline call request → Decline call
Decline contact request → Decline invitation
Delete your account → Delete account
just now → Just now
Mute → Mute microphone
Type → Conversation type (https://review.jami.net/c/jami-client-android/+/29546)
Unmute → Unmute microphone

Change-Id: Ie88eabeb12514e2b0f0918c8ab77beaa0d90aecf
GitLab: #1730
2024-11-24 05:08:38 -04:00
Andreas Hatziiliou
542bd54c6b read_receipt: add logic when alone in a conversation
No logic was implemented when you were alone in a conversation
(either conv with yourself or swarm with 1 member). This adds
the logic. Currently the receipts will change in swarms
if you add a member.

GitLab: #1867
GitLab: #1017
Change-Id: Iff2ea5978ac988d30edef32d803c0b5b70b11d90
2024-11-21 13:36:36 -05:00
Andreas Hatziiliou
950e32e9a6 avatars: fix duplication glitch when switching accounts
There was a timing issue between when a new account is connected
and the moment where the avatar cache is cleared. Thus, the ui
would use the cache of the previous account for certain
conversations.

GitLab: #1832
GitLab: #1559
Change-Id: I0319b3d81e0b6dfec9b5408806dfd48ff220ea9d
2024-11-19 14:24:15 -04:00
François-Simon Fauteux-Chapleau
9ab5e52c8d contactmodel: look up name at most once per peer
The ContactModel::bestNameForContact function currently performs a
lookup on the name server every time it is called if its argument is the
URI of a peer which isn't a contact and doesn't have a registered name.
This patch modifies the function's behavior so that it doesn't perform
more than one lookup per peer, thus preventing the server from getting
spammed with large numbers of unnecessary requests.

GitLab: #1882
Change-Id: I7b7ef6a41d3db1001fc1418f8f35bd06b0932624
2024-11-18 10:36:59 -05:00
Andreas Hatziiliou
56401d4125 swarms: add camera MRL for host
When starting a swarm call with video, the MRL for the host
wasn't set. Thus, the camera button would appear muted and
starting/stopping video would have unintended behavior.

GitLab: #1869

Change-Id: I6ee2204d5b49b856bfc72fb560f6623f9c7c874f
2024-11-18 10:15:04 -05:00
Andreas Hatziiliou
7fdd2f5740 add_contact: refactor and change behavior
Change-Id: Ie8cfa5a39b25cd34c7706596a1c607dd1b8c8060
2024-11-14 17:27:34 -05:00
Andreas Hatziiliou
a29d5f791f message_bar: unify layout to be more coherent
The goal of this patch is to make the messagebar (and more broadly
the chatViewFooter) more coherent in its behavior and look/feel.

GitLab: #1846
GitLab: #1848
GitLab: #1639
GitLab: #1420
Change-Id: I0d0ed207df9eba50f724c69fa49f956dc8aaa573
2024-11-06 17:19:08 -05:00
Andreas Hatziiliou
5186c27325 chatview: fix issue with layout stacking
When the conversationview was resized horizontally to be small enough
so that only one pane is visible, the chatview header and footer would be visible, but clicking them would interact with the objects of
the pane below (the left side panel)

GitLab: #1868

Change-Id: Ic1fac91ef30fcc3078223e1705f10c8a112c2091
2024-11-06 15:31:00 -05:00
ovari123
7e926a3e23 misc: ux/ui rename “swarm” to “group”
A(n) [type] error occurred while {verb} {noun}
createSwarm → createGroup → newGroup
Create swarm → Create new group
startSwarm → startGroup → newGroup
Start swarm → Create new group
swarmName → groupName
Swarm name → Group name

Change-Id: I9cb6f7b124d3db193bd190d2e52b5b27ea10ecf3
GitLab: #1845
2024-11-06 11:32:47 -05:00
Andreas Hatziiliou
93cde493d8 user_search: fix issue with user display incorrectly being updated
When searching for a user, if the user was found, a signal would be
sent to update the display name with incorrect formatting across the
application.

Change-Id: I20a453e2eddf1e1a402985ff741c8e7c7ea6f99f
2024-11-06 09:16:53 -05:00
Andreas Hatziiliou
cb829676e3 file_attachments: fix behaviour when changing conversations
Fixes an issue where the files that were loaded are not cleared
when switching conversations. Implements the correct behavior
for restoring the files as was done with text drafts.

GitLab: #1847
GitLab: #1528

Change-Id: Id04c9820d08f25ef247002da66d99ae893d8495a
2024-11-06 09:15:08 -05:00
Andreas Hatziiliou
112c6a4d7a chatview: disable visibility of sidepanel when adding contact
GitLab: #1871

Change-Id: I1949c0da388c637123801db39310a1c9fd8c7b99
2024-11-05 16:19:55 -05:00
Andreas Hatziiliou
188f487695 chatview: change visibility of reply component
Make it so that the reply/more/share buttons are visible
whenever the cursor hovers over the horizontal area
that a message takes up. Add message highlighting.
Fix small issue with "more" button not being deselected
after choosing an emoji

GitLab: #1870

Change-Id: I4db5230c2a50ce4640eececc69f8e88348356d79
2024-11-05 16:19:19 -05:00
ovari123
41cb6528c2 misc: unify terminology
{Noun} {verb} successfully
A(n) [type] error occurred while [attempting to] {verb} {noun}.
placeAudioCall → startAudioCall
placeVideoCall → startVideoCall
reconnectTry → reconnectAttempt

Change-Id: I918961894fc23989920727009031cc6a2ac1d8f3
GitLab: #1730
2024-11-01 15:30:44 -04:00
Andreas Traczyk
fb660b928f about-dialog: only show the project versions if available
This is a workaround for an issue that occurs due to the way Linux
packaging is done, where the git repository is not available in the
build source at configure time, which is when the version files are
generated, so we prevent a "." from being displayed if the version
string is not available.

Gitlab: #1857
Change-Id: I2f6a281eb89ec0f977749d135da68fe5b7c9c2da
2024-10-31 17:23:07 -04:00
Andreas Hatziiliou
6b9cb684ec call_notifications: fix editable state of call notifications
Text message notificaitons sent regarding the status of a call
(i.e. busy, call lasted xx:yy mins, etc) were editable due to being
a TextEdit and not a Text

Change-Id: I9ded20a9b4dbdbaee034b0de6ae42e1eca2c02a0
2024-10-23 09:53:55 -04:00
aeberhardt
1d0fa772e2 UI : fix bi-colour message telling there was a call
setting message opacity to 1 to only have the messageInBgColor

Gitlab: #1799

Change-Id: I37d0a354412ec8f2e7127203a2d0adf185674cea
2024-10-23 09:52:38 -04:00
aeberhardt
da667056fd About: fix binding loop
"anchors.centerIn: parent" caused a binding loop
with parent implicitHeight using contentHeight in Control.qml
Removing "anchors.centerIn: parent" fixed the warning while the
popup remains in the center of the page

Gitlab: #1508

Change-Id: I0d05597100e4c2b306180e83a7b88b6d5ee22f40
2024-10-22 12:10:22 -04:00
Andreas Hatziiliou
9d00c4f4e3 chatview: default view to chat instead of side-panel
When the application window or screen is too small and
the user opens the details side-panel, it will display
over the chat. This change makes it so that switching
conversation's defaults the view back to the chat and not
to the side-panel.

Change-Id: I3cffba24a7d23d7635937329c2078979722031c4
2024-10-22 11:35:11 -04:00
Andreas Hatziiliou
f5743da2d6 username: fix multiple usernames associated to one account
Added logic check to prevent disabled accounts from registering
multiple usernames after being restored from an archive.

https://git.jami.net/savoirfairelinux/jami-client-android/-/issues/1765

Change-Id: I58e3e018c85e335f043f232e391286e716201481
2024-10-21 15:13:19 -04:00
Andreas Hatziiliou
7152b51597 screenshare: fix issue where screenshare didnt close
When joining a callSwarm as a participant, your mediaList would
contain 3 medias if a stream and video were active. The logic
behind this function didn't take that into account. In the future
it would be good to re-write this for arbitrary amounts of
medias.

Change-Id: If128650c535ae8ba9b02ec4738e8ef103f4994df
2024-10-19 10:47:25 -04:00
Andreas Traczyk
b7fb63ae40 versioning: use app/jamicore git SHAs as the version
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
2024-10-08 16:19:20 -04:00
aeberhardt
31bd0392da share message: add share feature
A share feature have been requested to share
to contacts pictures or text received from other contacts
you can access it by hovering the message you want to share

Gitlab: #1830
Change-Id: I2555433417867371161f927e9fc78bb47fec68d3
2024-10-08 14:41:30 -04:00
Andreas Traczyk
9e1d8e3e56 messagebar: move js into js file, simplify markdown editing
This will make the code easier to read/debug and get us closer to
adhering to the coding guidelines regarding QML file length.

Gitlab: #1639
Change-Id: I6d6e9604c4a54e9fe354c0d24ef66b41ebbbff2a
2024-10-02 13:44:51 -04:00
Sébastien Blin
b65774add0 about: add special thanks & translation on credits
git.jami.net/savoirfairelinux/jami-client-android/-/issues/1607

Change-Id: I3e3029550d91adc36c620c80c1f9c8e1de24a74b
2024-10-01 12:00:23 -04:00
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
Andreas
a194e86d7a screenshare: fix bug on certain wayland systems
Fixed logic error which was causing screen sharing to stop working on certain Wayland environments.

GitLab: #1676

Change-Id: Idf3beb97a53d2eb88e082cee710be56c90c6df05
2024-09-26 21:34:39 -04:00
Andreas
bdec942d72 shortcuts: fix unintended menu behavior
Fixed small issue where the button to bring up the keyboard
shortcuts menu would not be brought up if it was previously
hidden or minimized.

Change-Id: I89b021ca7a00c67325c992fde9cd14fbb8b82cf3
2024-09-25 21:49:09 -04:00
Andreas
35d5595401 searchbar: fix warnings for invalid regular expressions
Certain characters such as @ or < were being treated as invalid
regular expressions and caused warnings to be raised. Added check
for validity of expression.

GitLab: #1628

Change-Id: I8b66ebfcf029cd0568bccdcba96672d9005846a9
2024-09-23 13:29:31 -04:00
François-Simon Fauteux-Chapleau
7330a87082 JamiSplitView: fix crash for right-to-left languages
GitLab: #1829
Change-Id: I273d23ae5a8cfb38862259ab413a0aa778ab0341
2024-08-23 15:02:15 -04:00