Commit Graph
100 Commits
Author SHA1 Message Date
Evangelos Ribeiro Tzaras da648829b4 best-match: Rename best_match variable to matched_individual
This makes it a bit clearer what the variable is used for.
2021-11-19 15:56:45 +01:00
Evangelos Ribeiro Tzaras dc96d892f5 Remove encryption indicator
Not used anymore since we switched to libcall-ui.
Should've been removed as a part of !425.
2021-11-19 15:56:37 +01:00
Evangelos Ribeiro Tzaras 3aba0bf34d po: Remove call display files
The call display was removed in !425 and this should've been part of edd85602.
2021-11-19 15:56:37 +01:00
Evangelos Ribeiro Tzaras 76ec1e6941 record-row: Use avatars in history
Fixes #147
2021-11-18 12:15:25 +01:00
Evangelos Ribeiro Tzaras 4e9eedb5fa call-data: Implement avatar property
Fixes #161
2021-11-18 12:15:25 +01:00
Evangelos Ribeiro Tzaras c3dd169432 Update libcall-ui submodule 2021-11-18 12:15:25 +01:00
Evangelos Ribeiro Tzaras ff96d70ac7 meson: Don't build tests, examples or documentation for libcall-ui
Not necessary when building Calls.
2021-11-18 12:15:25 +01:00
Evangelos Ribeiro Tzaras 719f11f42b coverage: Exclude subprojects and generated dbus code 2021-11-18 12:15:25 +01:00
Evangelos Ribeiro Tzaras 4c44284bd1 ci: Use gcovr for coverage reports 2021-11-18 12:15:21 +01:00
Evangelos Ribeiro Tzaras edd8560291 Remove CallsCallDisplay 2021-11-16 09:39:34 +01:00
Evangelos Ribeiro Tzaras dc454837d6 Switch from CallsCallDisplay to CuiCallDisplay
Closes #302
2021-11-16 09:39:34 +01:00
Evangelos Ribeiro Tzaras 4321381f23 Introduce CallsUiCallData to feed CuiDisplay
We need a proxy object because implementing the CuiCall interface in the
CallsCall base class has it's own set of problems (f.e. the "state" property
would have a type collision CallsCallState vs CuiCallState).
2021-11-16 09:39:34 +01:00
Evangelos Ribeiro Tzaras c5636ab71c call: Add API to query whether this call can do DTMF
This allows enable or disable UI elements.
2021-11-16 09:39:34 +01:00
Evangelos Ribeiro Tzaras bf72169f68 application: Initialize libcall-ui 2021-11-16 09:39:34 +01:00
Evangelos Ribeiro Tzaras 8cb2c09f7b Add libcall-ui as submodule
This is meant to ease sharing the call ui between calls and phosh.
2021-11-16 09:39:34 +01:00
Evangelos Ribeiro Tzaras f44f643ae9 ci: Complain about untranslated ui files 2021-11-16 09:39:34 +01:00
Evangelos Ribeiro Tzaras daebcf543a po: Ignore subprojects 2021-11-16 09:39:34 +01:00
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