1
0
Fork 0
mirror of https://gitlab.gnome.org/GNOME/calls.git synced 2024-11-12 19:41:18 +00:00
Commit graph

1605 commits

Author SHA1 Message Date
Julian Sparber
74204393ff tests: Use CALLS_PLUGIN_DIR to search for plugins in the build dir
There is no need to add a second variable to search for plugins, we can
use CALLS_PLUGIN_DIR directly.
2022-12-03 20:56:06 +01:00
Julian Sparber
1d873a4b05 plugins: Rescan for plugins after adding search paths
Using rescan allows use to give a priority to search paths. So this way
plugins in `CALLS_PLUGIN_DIR` take precedence over plugins we ship.

This also makes sure that the plugin test searches in the same location
as CallsManager.
2022-12-03 20:56:06 +01:00
Julian Sparber
c821b03efc meson: Don't set G_TEST_*
Those env variables aren't needed.
2022-12-03 20:56:06 +01:00
Julian Sparber
56821857b7 tests: Ensure that desktop files are built before testing them
This also makes use of `.full_path()` since we don't need to reconstruct
the file name.
2022-12-03 20:56:06 +01:00
Julian Sparber
996732944b tests: Fix sdp-crypto test for flatpak
Debian patches sofia-sip therefore the test worked outside of flatpak.
See: 4df0ebb90a
2022-12-03 20:56:06 +01:00
Julian Sparber
1e57fe7a00 flatpak: Add gvfs-access
See: https://docs.flatpak.org/en/latest/sandbox-permissions.html#gvfs-access
2022-12-03 20:56:06 +01:00
Julian Sparber
3d0375ce39 flatpak: update sofia-sip 2022-12-03 20:56:06 +01:00
Julian Sparber
844339ba1f flatpak: Update protobuf and GTest 2022-12-03 20:56:06 +01:00
Julian Sparber
09498b44b4 flatpak: Don't use boost
See https://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/186

This moves also the dependencies for libphonenumber to submodules of it.
2022-12-03 20:56:06 +01:00
Julian Sparber
c4b07c7294 flatpak: Build local files 2022-12-03 20:56:06 +01:00
Julian Sparber
592667137a flatpak: Update libpeas and disable some features 2022-12-03 20:56:06 +01:00
Julian Sparber
9f51595d23 flatpak: Drop libcanberra and gsound deps
We can build eds without canberra support.
This disables OAUTH2 feature of eds since it would need webkit and we don't
need it.
This also disables also dot locking for mails, because eds isn't used
for mails.
It is also not needed because we don't build the feedbackd daemon.
2022-12-03 20:56:06 +01:00
Evangelos Ribeiro Tzaras
548b219e7e ci: Update image
The new image includes new versions of our dependencies.
This is needed as we require newer feedbackd packages.
2022-12-03 20:56:06 +01:00
Evangelos Ribeiro Tzaras
762c5986be run-docker: Don't cache container images
Without --no-cache newly "built" images end up just creating a new tag
for old images, see below.

$ podman images
REPOSITORY                                    TAG            IMAGE ID      CREATED       SIZE
registry.gitlab.gnome.org/gnome/calls/debian  v0.0.20221013  a1c2d79e4f72  4 weeks ago   1.53 GB
registry.gitlab.gnome.org/gnome/calls/debian  v0.0.20221117  4d2a38aa5bff  3 months ago  2.01 GB
registry.gitlab.gnome.org/gnome/calls/debian  v0.0.20220817  4d2a38aa5bff  3 months ago  2.01 GB
2022-12-03 20:56:06 +01:00
Evangelos Ribeiro Tzaras
f16cd28707 flatpak: Bump required feedbackd version to 0.0.1 2022-12-03 20:56:06 +01:00
Evangelos Ribeiro Tzaras
7b2368858f d/control: Bump required feedbackd version to 0.0.1
The latest changes to the ringer require fixes made available in 0.0.1
2022-12-03 20:56:06 +01:00
Evangelos Ribeiro Tzaras
3eee6ccda4 gcovr: Exclude sip-provider.c and dummy-provider.c
gcovr > 5.1 (which is included in the latest Debian CI image) fails an
assertion because two different functions with the same name end up on
different lines because they are #ifdef'ed

The offending code is this:

G_DEFINE_TYPE_WITH_CODE
  (CallsDummyProvider, calls_dummy_provider, CALLS_TYPE_PROVIDER,
  G_IMPLEMENT_INTERFACE (CALLS_TYPE_MESSAGE_SOURCE,
                         calls_dummy_provider_message_source_interface_init))

G_DEFINE_DYNAMIC_TYPE_EXTENDED
  (CallsDummyProvider, calls_dummy_provider, CALLS_TYPE_PROVIDER, 0,
   G_IMPLEMENT_INTERFACE_DYNAMIC (CALLS_TYPE_MESSAGE_SOURCE,
                                  calls_dummy_provider_message_source_interface_init))

There is already a gcovr issue here:
https://github.com/gcovr/gcovr/issues/586

The failed assertion looks like this:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/gcovr/workers.py", line 78, in worker
    work(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/gcovr/gcov.py", line 337, in process_datafile
    done = run_gcov_and_process_files(
  File "/usr/lib/python3/dist-packages/gcovr/gcov.py", line 514, in run_gcov_and_process_files
    process_gcov_data(fname, covdata, abs_filename, options)
  File "/usr/lib/python3/dist-packages/gcovr/gcov.py", line 165, in process_gcov_data
    insert_file_coverage(covdata, coverage)
  File "/usr/lib/python3/dist-packages/gcovr/merging.py", line 159, in insert_file_coverage
    return _insert_coverage_item(target, file.filename, file, merge_file, options)
  File "/usr/lib/python3/dist-packages/gcovr/merging.py", line 135, in _insert_coverage_item
    merged_item = merge_item(target_dict[key], new_item, options)
  File "/usr/lib/python3/dist-packages/gcovr/merging.py", line 178, in merge_file
    left.functions = _merge_dict(
  File "/usr/lib/python3/dist-packages/gcovr/merging.py", line 99, in _merge_dict
    _insert_coverage_item(left, key, right_item, merge_item, options)
  File "/usr/lib/python3/dist-packages/gcovr/merging.py", line 135, in _insert_coverage_item
    merged_item = merge_item(target_dict[key], new_item, options)
  File "/usr/lib/python3/dist-packages/gcovr/merging.py", line 268, in merge_function
    assert left.lineno == right.lineno
AssertionError
2022-12-03 20:56:06 +01:00
Дилян Палаузов
7ac92805a8 provider/sip: on_origin_pw_looked_up() display_name is read twice 2022-12-03 20:55:52 +01:00
Evangelos Ribeiro Tzaras
a09009a654 account-overview: Set window title
Set window title for the overview as well for adding or editing an account.
2022-12-03 20:55:45 +01:00
Evangelos Ribeiro Tzaras
f141a9dd6f account-overview: Close windows when pressing Escape
Closes: #511
2022-12-03 20:55:45 +01:00
Дилян Палаузов
9f74a167b3 SIP dial() convert the port from int to string 2022-12-03 20:55:45 +01:00
Evangelos Ribeiro Tzaras
a3085c9c91 application: Shut down graceful on SIGTERM/SIGINT
This will allow cleaning up after ourselves, e.g. closing the record DB.

Fixes: #508
2022-12-03 20:55:45 +01:00
Evangelos Ribeiro Tzaras
f96c9ded63 ringer: Break loop if triggered event was ended immediately
When the only feedback of an event is unavailable on a system (e.g. no
vibration motor or LED) the "feedback-ended" signal is emitted
immediately and the end reason will be LFB_EVENT_END_REASON_NOT_FOUND.

In this case we need to change the target state, so that our logic does
not end up retriggering the event infinitely.
2022-12-03 20:55:37 +01:00
Evangelos Ribeiro Tzaras
e36f9b4e95 ringer: Cancel async libfeedback calls on timeout
If libfeedback has not finished triggering/ending a feedback after one
second we give up and set an error state.
2022-12-03 20:55:37 +01:00
Evangelos Ribeiro Tzaras
01ca267c10 ringer: Never cancel async DBus calls and refactor
Previously our code assumed that g_cancellable_cancel() the async DBus
calls to libfeedback would guarantee that the underlying operation would
not be performed (i.e. triggering or ending a feedback).

However the endless ringing exhibited in #470 shows this assumption not
to hold. Therefore we avoid using g_cancellable_cancel () completely and
default to waiting for the async operation to finish.

update_ring () now sets the target state by inspecting managed calls and
the main logic will now step towards the target state:
Changing from regular/loud to soft/quiet ringing (or vice versa)
requires we first end feedback before (re)triggering it.

Additionally the "is-quiet" and "is-ringing" properties are replaced by
a new "state" property to allow changing the combination atomically.

Closes: #470
2022-12-03 20:55:37 +01:00
Evangelos Ribeiro Tzaras
db1f0e310c mock-lfb-event: Emit "feedback-ended" signal
This emulates lfb behaviour and the ringer will rely on this behaviour
when ending feedbacks.
2022-12-03 20:55:25 +01:00
Evangelos Ribeiro Tzaras
8b52ca5313 mock-lfb-event: Uncrustify 2022-12-03 20:55:25 +01:00
Evangelos Ribeiro Tzaras
d533c5dd60 test-ringer: Assert object finalization
This helps catching any dangling references.
2022-12-03 20:55:25 +01:00
Evangelos Ribeiro Tzaras
ad14d8ba82 mm-provider: Cancel ongoing operations
both when MM has appeared on DBus and
when disposing of the provider.
2022-12-03 20:55:25 +01:00
Evangelos Ribeiro Tzaras
48a77cda5c contact-provider: Allow can-add-contacts to be reset
Under normal conditions it is not expected that whether we can add
contacts or not (based on the presence of the appropriate action on
gnome-contacts) changes.

Nevertheless it can be beneficial for debugging when installing patched
and unpatched versions of gnome-contacts.
2022-12-03 20:55:25 +01:00
Evangelos Ribeiro Tzaras
d51151a028 contacts-provider: Remove unused variable 2022-12-03 20:55:25 +01:00
Evangelos Ribeiro Tzaras
caa74fa441 ui-call-data: Prevent timer being started multiple times
Fixes #502
2022-12-03 20:55:25 +01:00
Evangelos Ribeiro Tzaras
8a299d6dc7 ui-call-data: Add debugging for state changes
This should help fixing issues like #502 in the future.
2022-12-03 20:55:25 +01:00
Evangelos Ribeiro Tzaras
7ace8cbd4d sip-origin: Honour set port when completing address
This makes sure to include the port when dialing the short form.

Fixes: #506
2022-12-03 20:55:25 +01:00
Evangelos Ribeiro Tzaras
25e5e01008 media-pipeline: Dump dot graph without GST_DEBUG_DUMP_DOT_DIR set
gst_debug_bin_to_dot_file() NOOPs if GStreamer was initialized without
the enviroment variable GST_DEBUG_DUMP_DOT_DIR.

If SIGUSR2 was signalled we want to have a dot file dumped no matter
what. Functions for asynchronously writing the graph as obtained by
gst_debug_bin_dot_data() to a temporary file and print the path to
stdout.

Note: Usage of GST_DEBUG_BIN_DOT_FILE() on pipeline state change is left
as is, because we don't want to dump graphs for every change on every
pipeline.
2022-12-03 20:55:25 +01:00
Evangelos Ribeiro Tzaras
2eda998931 sip: media-manager: Simplify SDP generation
Use the newly added get_address_family().
2022-12-03 20:55:25 +01:00
Evangelos Ribeiro Tzaras
8567a93baa util: Add API to check address family of IP address 2022-12-03 20:55:25 +01:00
Evangelos Ribeiro Tzaras
25c87f9c2d util: Rename function to calls_find_in_model() and adjust documentation
Since it works for GListModel rename it appropriately.

It used to provide an inline implementation for g_list_store_find()
behind a glib version guard, but we bumped minimum version in
cfd3c2a7fe
so the docstring was updated and made more succinct.
2022-12-03 20:55:25 +01:00
Evangelos Ribeiro Tzaras
0b495de9eb util: Remove unused code 2022-12-03 20:55:25 +01:00
Evangelos Ribeiro Tzaras
3d541c4be6 test-util: Remove unused include 2022-12-03 20:55:25 +01:00
Evangelos Ribeiro Tzaras
e21155a35c application: Propagate verbosity to main instance
If another instance of calls was already running, invoking calls with
`-v` flag would set the verbosity for the newly created process and then
exit if it was not the primary instance.
2022-12-03 20:55:25 +01:00
Evangelos Ribeiro Tzaras
68c1a3f21e log: Use unsigned int for verbosity
Negative verbosity levels don't make sense.
2022-12-03 20:55:25 +01:00
Evangelos Ribeiro Tzaras
cfdc7de9ed application: Fix indentation 2022-12-03 20:55:25 +01:00
Evangelos Ribeiro Tzaras
c1f1a6417d new-call-box: Reindent 2022-12-03 20:54:55 +01:00
Evangelos Ribeiro Tzaras
d8446e680b new-call-box: Switch to using CuiDialpad
It has been in libcall-ui for some time, so let's use it.

This will also easy the transition to Gtk4 as it's one less widget we
have to worry about.
2022-12-03 20:54:55 +01:00
Evangelos Ribeiro Tzaras
527f3a72ca Revert "Disable g722 to avoid test failure with ffmpeg 5.0/gst-libav"
This reverts commit 857c375ab9.

The failure to register types due to invalid type names seems to be
resolved, so let's revert to reenable g722 codecs.
2022-12-03 20:54:55 +01:00
Evangelos Ribeiro Tzaras
3e984b0dca media-pipeline: Bind to the unspecified IPv6 address
IPv4 keeps working through the magic of IPv4 mapped IPv6 addresses.

Without this change errors about invalid address family will be raised
when trying to connect to a IPv6 host.

Bail out! CallsSipMediaPipeline-FATAL-WARNING: Error on the message bus: Could not get/set settings from/on resource. (../gst/udp/gstmultiudpsink.c(1228): gst_multiudpsink_configure_client (): /GstPipeline:media-pipeline/GstUDPSink:rtcp-udp-sink:
Invalid address family (got 10))

See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1019292
2022-12-03 20:54:55 +01:00
Evangelos Ribeiro Tzaras
9a71263c6f d/copyright: Update
This was updated recently in the official Debian package, so sync up
with that.
2022-12-03 20:54:55 +01:00
Evangelos Ribeiro Tzaras
d35d088c44 build: drop libmocka dependency
It is now unused
2022-12-03 20:54:55 +01:00
Evangelos Ribeiro Tzaras
ab0e5afb07 test-ringer: Use glib testing functions instead of mocka 2022-12-03 20:54:55 +01:00