Commit Graph
100 Commits
Author SHA1 Message Date
Evangelos Ribeiro Tzaras 2ce0c7775c ci: Grab submodules by setting GIT_SUBMODULE_STRATEGY 2021-11-16 09:39:34 +01:00
Evangelos Ribeiro Tzaras ac4150139d call-window: Remove unused CALLS_WAYLAND ifdef 2021-11-16 09:39:34 +01:00
Evangelos Ribeiro Tzaras f985332a37 Remove unused typedef 2021-11-16 09:39:34 +01:00
Evangelos Ribeiro Tzaras 620804ab01 main-window: Remove unused header 2021-11-16 09:39:34 +01:00
Evangelos Ribeiro Tzaras cb640321ca flatpak: Update manifest 2021-11-16 08:53:04 +01:00
Evangelos Ribeiro Tzaras 62208c5571 ci: Update from flatpak CI template 2021-11-16 08:53:04 +01:00
Evangelos Ribeiro Tzaras 2cf7c5e981 sip: origin: Make sure "@host" is in the dial string
This helps avoid some typing work in the case of dialing telephone numbers.

Fixes #350
2021-10-30 18:49:27 +02:00
Evangelos Ribeiro Tzaras 1b4e968e8e sip: origin: Bail when trying to dial empty string 2021-10-30 18:49:27 +02:00
Evangelos Ribeiro Tzaras 2fc5533e1a call-window: Improve readability of remove_call function
The casual reader might be tricked into believing CallsCallSelectorItem would
leak here, which was not actually the case.
2021-10-28 14:51:19 +00:00
Evangelos Ribeiro Tzaras d7d97e8f67 call-window: Remove unnecessary code
As the "visible-child-name" from main_stack and header_bar_stack is already
bidirectionally bound.
2021-10-28 15:56:14 +02:00
Evangelos Ribeiro Tzaras 6ca9076b4a po: Add missing files to POTFILES.in
These files were adding translatable texts.
2021-10-27 16:27:11 +02:00
Evangelos Ribeiro Tzaras 4593a82b21 number-query: Fall back to string comparison if parsing EPhoneNumber fails
Fixes #345
2021-10-27 11:07:54 +00:00
Evangelos Ribeiro Tzaras a1409089f0 screenshots: Remove shell chrome
Fixes #347
2021-10-27 10:08:34 +02:00
Evangelos Ribeiro Tzaras 94d730c3ed Let provider plugin decide whether to automatically hang up secondary calls
Revert "manager: hang up secondary calls"

This reverts commit 94345e0916 and moves that
functionality to the ModemManager plugin.

Fixes #290
2021-10-22 06:00:45 +02:00
Evangelos Ribeiro Tzaras 21eb12e9b1 dummy-call: Simplify change_state() 2021-10-22 04:58:01 +02:00
Evangelos Ribeiro Tzaras db2bb818b6 ci: Use appstreamcli instead of appstream-util 2021-10-21 09:54:12 +00:00
Evangelos Ribeiro Tzaras f828f24591 metainfo: Add URL tag for translations
See
https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-url
2021-10-21 09:54:12 +00:00
Evangelos Ribeiro Tzaras 41a4d64db5 metainfo: Add "translation" tag
See
https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-translation
2021-10-21 09:54:12 +00:00
Evangelos Ribeiro Tzaras a0208c7119 metainfo: Add "launchable" tag
See
https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-launchable
2021-10-21 09:54:12 +00:00
Evangelos Ribeiro Tzaras a723a66767 metainfo: Replace deprecated GPL license identifier
It is deprecated according to https://spdx.org/licenses/GPL-3.0+.html
and GPL-3.0-or-later should be used instead.
2021-10-21 09:54:12 +00:00
Evangelos Ribeiro Tzaras dd22510516 metainfo: Update description 2021-10-21 09:54:12 +00:00
Evangelos Ribeiro Tzaras 44689ddf34 metainfo: Update summary 2021-10-21 09:54:12 +00:00
Evangelos Ribeiro Tzaras f42d060715 metainfo: Add "requires" tag in favour of custom tags
As described in
https://blogs.gnome.org/tbernard/2021/09/07/ready-for-software-41/
2021-10-21 09:54:12 +00:00
Evangelos Ribeiro Tzaras e46af8fc53 metainfo: Simplify content rating
To quote the spec:

In case the <content_rating/> tag is empty (no <content_attribute/> is present),
it is assumed that the component was checked for age ratings and no age
restrictions apply.

Source:
https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-content_rating
2021-10-21 09:54:12 +00:00
Evangelos Ribeiro Tzaras aaaf32cf10 metainfo: Add notification "kudo" tag 2021-10-21 09:54:12 +00:00
Evangelos Ribeiro Tzaras f966046c9a metainfo: Remove "developer_name" tag
`appstreamcli` complains about the tag being duplicated and we are not losing
anything since credit is given in all the license headers.
2021-10-21 09:54:12 +00:00
Evangelos Ribeiro Tzaras 7ca0bca62a metainfo: Add DBus service to "provides" tag
See
https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-provides
2021-10-21 09:54:12 +00:00
Evangelos Ribeiro Tzaras 7b904dc324 metainfo: "mimetypes" tag is deprecated
See
https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html#tag-mimetypes
2021-10-21 09:54:12 +00:00
Evangelos Ribeiro Tzaras 43fb8504e8 ci: Run relaxed appstream validation during tests
If appstream-util is installed the tests will run `appstream validate-relax` on
the metainfo file.
2021-10-19 12:37:08 +02:00
Evangelos Ribeiro Tzaras 65f487f1e8 ci: Use strict metadata validation, but allow it to fail
Validation will fail because the screenshots height is too large and not using a
16:9 aspect ratio:

• attribute-invalid     : <screenshot> height too large
  [https://gitlab.gnome.org/GNOME/calls/raw/master/data/screenshots/history.png]
  maximum is 900px

• aspect-ratio-invalid  : <screenshot> aspect ratio not 16:9
  [https://gitlab.gnome.org/GNOME/calls/raw/master/data/screenshots/calling.png]

The strict validation will nevertheless provide valuable information.
2021-10-19 12:37:08 +02:00
Evangelos Ribeiro Tzaras eb0bf0abf4 ci: Upgrade certificates
Fixes #346
2021-10-19 12:37:05 +02:00
Evangelos Ribeiro Tzaras 1306628f8c metainfo: Add screenshots
Fixes #341
2021-10-19 08:40:57 +00:00
Evangelos Ribeiro Tzaras e7f53e256a d/copyright: Update copyright 2021-10-19 08:40:57 +00:00
Evangelos Ribeiro Tzaras 28516cda32 new-call-box: Clarify accessible name 2021-10-19 09:43:48 +02:00
Evangelos Ribeiro Tzaras a2df022606 application: Reword description for the -p flag
Closes #338
2021-10-18 17:07:51 +02:00
Evangelos Ribeiro Tzaras b36725c69b selector-item: Name label does not need to be translatable
The code will set a name here, so the label as in the ui file will never be
shown in the running application.

Closes #338
2021-10-18 17:07:48 +02:00
Evangelos Ribeiro Tzaras 386cb3e906 i18n: main-window: Clarify "Recent" to mean the call history
Closes #338
2021-10-18 17:07:40 +02:00
Evangelos Ribeiro Tzaras 2bfecf1249 i18n: notifier: Use comment to clarify if a name or number is meant
Closes #338
2021-10-18 17:07:15 +02:00
Evangelos Ribeiro Tzaras 57ec06a6f5 record-row: Take timezone into account for displaying in the UI
Since the database uses UTC times we have to take the timezone offset into
account when displaying times in the UI.

Fixes #163
2021-10-15 18:14:39 +02:00
Evangelos Ribeiro Tzaras 4f64f5b61b record-store: Prefer using g_date_time_new_now_utc()
It actually does not make any difference for the storage in the database as
gom will make sure to convert any given times to the Zulu timezone (UTC+0)
but this change will make it more obvious in the code what's actually going on.
2021-10-15 18:01:47 +02:00
Evangelos Ribeiro Tzaras 110dcdf4ad record-row: Clarify "Call" for translators with a comment
Fixes #319
2021-10-07 21:29:45 +00:00
Evangelos Ribeiro Tzaras 36880c3d34 sip: Gather public IP from REGISTER response and use it in SDP
Fixes #335
2021-10-06 13:43:04 +00:00
Evangelos Ribeiro Tzaras b8efaf1f66 media-manager: Use G_BEGIN_DECLS and G_END_DECLS in header 2021-10-06 13:43:04 +00:00
Evangelos Ribeiro Tzaras 6b3d745f55 ci: Temporarily allow warnings to fix CI build failure
See issue #337
2021-10-06 13:56:53 +02:00
Evangelos Ribeiro Tzaras 4675821838 sip: origin: Recreate handles when updating credentials
Otherwise transport protocol changes won't be picked up.

This also allows to get rid of update_nua().
2021-09-29 21:33:55 +00:00
Evangelos Ribeiro Tzaras fbb6316fee record-row: Right justify time
Fixes #336
2021-09-28 08:04:12 +00:00
Evangelos Ribeiro Tzaras 33ad4dbe86 Simplify country code handling 2021-09-27 08:46:09 +00:00
Evangelos Ribeiro Tzaras 04d391c5dd settings: Add GSettings bindings 2021-09-27 08:46:09 +00:00
Evangelos Ribeiro Tzaras 6477446a29 tests: Add gsettings schema directory to environment 2021-09-27 08:46:09 +00:00
Evangelos Ribeiro Tzaras 3342d7329a meson: Bump to 0.56.0
This allows us to use meson.project_build_root
2021-09-27 08:46:09 +00:00
Evangelos Ribeiro Tzaras 1718823b80 sip: Do not fail if CallsNetworkWatch is unavailable
In this case network changes will not be detected.
Additionally fall back to binding on all network interfaces (in this case a user
will have problems when using multiple network interfaces, but there is really
not much we can do without a functioning CallsNetworkWatch).
2021-09-24 05:24:41 +00:00
Evangelos Ribeiro Tzaras b5defda27f network-watch: Don't fail initialization when unable to fetch local IP
This would mean we're failing when Calls is started with all NICs not connected
or disabled. To make matters worse this would only be fixable by restarting
Calls.
2021-09-24 05:24:41 +00:00
Evangelos Ribeiro Tzaras ab20b6b8e3 network-watch: Only g_set_error if error is not NULL 2021-09-24 05:24:41 +00:00
Evangelos Ribeiro Tzaras 4fc0a52873 network-watch: More descriptive warning
And make sure we're not continually spamming warnings.

Closes #330
2021-09-24 05:24:41 +00:00
Evangelos Ribeiro Tzaras 9d27d5bae6 best-match: Don't free unowned data
Fixes #331
2021-09-24 05:13:31 +02:00
Evangelos Ribeiro Tzaras d9e5c6a252 best-match: codestyle 2021-09-24 05:13:31 +02:00
Evangelos Ribeiro Tzaras bd045be4e4 number-query: Take country code into account
Fixes #312
2021-09-23 09:54:44 +02:00
Evangelos Ribeiro Tzaras d936a4572d contact-box: Do not hardcode length of match_fields[] 2021-09-23 09:54:44 +02:00
Evangelos Ribeiro Tzaras b6ee0bb48d sip: sdp: Hang up call when there are no common codecs 2021-09-20 02:14:27 +00:00
Evangelos Ribeiro Tzaras 929d76708a sip: sdp: Honour per media connections
Otherwise we might miss the IP of the remote peer leaving us unable to
establish a connection for RTP.

From https://datatracker.ietf.org/doc/html/rfc4566#section-5.7

   A session description MUST contain either at least one "c=" field in
   each media description or a single "c=" field at the session level.
   It MAY contain a single session-level "c=" field and additional "c="
   field(s) per media description, in which case the per-media values
   override the session-level settings for the respective media.
2021-09-20 02:14:27 +00:00
Evangelos Ribeiro Tzaras cf3face6cc sip: Fix possible NULL pointer dereference
The assumption that the IP of the remote peer can always be found in the
sdp_connection member of the sdp_session_s struct does not always hold true
and we should handle this case gracefully (i.e. without crashing).
2021-09-20 02:14:27 +00:00
Evangelos Ribeiro Tzaras 400281c07e sip: origin: Fix memory leak 2021-09-20 02:14:27 +00:00
Evangelos Ribeiro Tzaras 24040c2122 sip: media: Fix gtk-doc transfer annotation 2021-09-20 02:14:27 +00:00
Evangelos Ribeiro Tzaras 528fb11dcd new-call-box: Clear entry after dialing
Closes #332
2021-09-20 03:31:28 +02:00
Evangelos Ribeiro Tzaras b458f6f040 record-row: Reword accessible name
"party" in "Call the party" could lead to confusion.
Fixes #319
2021-09-20 03:31:28 +02:00
Evangelos Ribeiro Tzaras 1a14075945 application: Do not prepend country code when dialing
Fixes #176
2021-09-20 03:31:28 +02:00
Evangelos Ribeiro Tzaras 464f3a993e application: Clarify that -l flag is to be used with numbers only
This will also help unifying handling of tel: URIs.
2021-09-20 03:31:28 +02:00
Evangelos Ribeiro Tzaras 897a394833 Document and release 41.0 2021-09-18 17:46:02 +02:00
Evangelos Ribeiro Tzaras eca598ed42 meson: Post release bump 2021-09-07 12:28:14 +02:00
Evangelos Ribeiro Tzaras a5cfd9eb24 sip: origin: Bind sockets to NIC with default route
Otherwise sofia may use the wrong interface resulting in unroutable packets.

Closes #317
2021-09-05 18:16:24 +02:00
Evangelos Ribeiro Tzaras 6b33845b11 sip: origin: Do not use CallsNetworkWatch during tests
As local testing showed we might get netlink message headers of type
NLMSG_ERROR which leads to a warning being printed and the test to fail.
2021-09-05 18:01:45 +02:00
Evangelos Ribeiro Tzaras 876375a39b sip: provider: Skip creating credential directory on test
As it's not guaranteed that the home directory is always writable
during the build. Debspawn for example does not allow this
and we might get such a warning:

`CallsSipProvider-WARNING **: 21:58:14.839: Failed to create directory '/home/salsaci/.config/calls': 13`
2021-09-03 00:08:05 +02:00
Evangelos Ribeiro Tzaras 72a513c138 Document and release 41.rc 2021-09-02 22:47:21 +02:00
Evangelos Ribeiro Tzaras 56259fd1f1 sip: origin: Destroy registration handle on deinit
Otherwise shutting down may be timing out, because there are pending messages.
Calling nua_destroy_handle() will kill any dialog/leg.
2021-09-02 20:13:25 +02:00
Evangelos Ribeiro Tzaras a3d91d92b5 sip: origin: Handle nua_shutdown() timeout gracefully
If we don't handle the timeout explicitly we would never leave the
`while (!self->is_nua_shutdown)` loop.
2021-09-02 20:11:36 +02:00
Evangelos Ribeiro Tzaras bede9f42e8 sip: origin: Recreate sofia handles on network change
Otherwise the origin will not be able to do any communication anymore
as used sockets might not be valid any more.

Fixes #317
2021-09-02 20:08:48 +02:00
Evangelos Ribeiro Tzaras 3714f99d38 Introduce CallsNetworkWatch to notify of network changes
The libsofia-sip stack needs to bind to a specific interface when there are
multiple network interfaces available.
Handles should be recreated when the default route changes.
2021-09-02 09:17:12 +02:00
Evangelos Ribeiro Tzaras 2df221c94c sip: origin: Warn instead of asserting in update_nua() on nua stack
Crashing the application is overkill in this case.
2021-09-02 09:12:13 +02:00
Evangelos Ribeiro Tzaras 16897eebe6 sip: origin: Include transport parameter in NUTAG_URL and friends
This makes sure all of the supported protocols have a chance of working.

Since nua_set_params does not update NUTAG_URL (carefully rechecking the docs
verifies this), it is safe to remove the code in update_nua().

However, this means that we will have to recreate the nua stack,
which incidentally is currently being worked on:
https://gitlab.gnome.org/GNOME/calls/-/merge_requests/402
2021-09-02 09:12:13 +02:00
Evangelos Ribeiro Tzaras 7330fe11fd account-widget: Fix apply button not becoming sensitive
when only the transport protocol has been changed.
2021-09-02 09:12:13 +02:00
Evangelos Ribeiro Tzaras 42c0872499 origin: Fix the password when updating credentials
Updating the credentials was broken otherwise.
2021-09-02 09:12:13 +02:00
Evangelos Ribeiro Tzaras 0bfa55473e sip: Make save_to_disk() public and use it when updating accounts
Account credentials will not get updated at all otherwise.
2021-09-02 09:12:13 +02:00
Evangelos Ribeiro Tzaras f47139f7d2 account-widget: Actually use the entered port 2021-09-02 09:12:13 +02:00
Evangelos Ribeiro Tzaras 9faac7e789 account-widget: Actually use the selected protocol
instead of using the hardcoded UDP value.
2021-09-02 09:12:13 +02:00
Evangelos Ribeiro Tzaras 5371debc57 sip: origin: Bail when trying to go online but nua handle is not present
This fixes a segmentation fault.
2021-09-02 09:12:13 +02:00
Evangelos Ribeiro Tzaras 876ffb1e8c new-call-box: Always update the UI when the list of origins changes
Otherwise this can lead to being stuck in numeric/non-numeric input mode.
2021-08-26 12:47:57 +00:00
Evangelos Ribeiro Tzaras c9dd476fa8 sip: Avoid dereferencing a NULL pointer
secret_password_*_finish() may return FALSE without setting the GError.
F.e. trying to remove a non existent secret is not a failure.

The bug supposedly manifests itself because the updating account credentials
from the UI does not always seem to work correctly.
2021-08-26 12:04:21 +00:00
Evangelos Ribeiro Tzaras 77ec258acc sip: provider: Try to create folder for credentials
Otherwise the user could be left unable to save credentials to disk later.

Fixes #326
2021-08-26 12:23:20 +02:00
Evangelos Ribeiro Tzaras 4e76efc5e7 sip: provider: No need to print warning when no credentials file found
The file could simply not (yet) exist.
2021-08-26 12:23:20 +02:00
Evangelos Ribeiro Tzaras 2520a9a555 sip: Avoid g_error for non-fatal issues
The media pipeline acting up does not warrant crashing the application.
2021-08-26 12:23:19 +02:00
Evangelos Ribeiro Tzaras 5ab908a294 ci: Unbreak CI after Debian Bullseye release
- Get rid of the dependencies from experimental
- Use PureOS Byzantium image for arm64 packaging job
  (as this will probably fix the spurious CI failures)
2021-08-25 11:06:32 +02:00
Evangelos Ribeiro Tzaras 44f0786bcc flatpak: Update dependencies 2021-08-25 11:06:32 +02:00
Evangelos Ribeiro Tzaras a85b9cd5c3 manager: Initialize g_auto variable to NULL 2021-08-25 11:06:32 +02:00
Evangelos Ribeiro Tzaras 9c777b7db8 new-call-box: Hide empty results
Because the empty result looks weird.
2021-08-19 01:46:59 +02:00
Evangelos Ribeiro Tzaras b1c22e4310 new-call-box: Press enter to place a call
Connect to the "activate" signal and take appropriate action
for both numeric and non-numeric cases.
2021-08-19 01:44:06 +02:00
Evangelos Ribeiro Tzaras a21bc475e4 new-call-box: Reindent 2021-08-19 01:35:47 +02:00
Evangelos Ribeiro Tzaras 29f97f7843 Post-release version bump 2021-08-16 13:53:42 +02:00
Evangelos Ribeiro Tzaras 21bc6c2b97 Document and release 41.beta 2021-08-14 22:45:01 +02:00
Evangelos Ribeiro Tzaras 7b01908018 meson: bump to 41.beta 2021-08-14 21:49:16 +02:00
Evangelos Ribeiro Tzaras da4c6b043a new-call-box: Add placeholder texts for text input fields 2021-08-14 20:46:11 +02:00