1
0
Fork 0
mirror of https://gitlab.gnome.org/GNOME/calls.git synced 2024-07-04 16:09:29 +00:00
Commit graph

1608 commits

Author SHA1 Message Date
Julian Sparber 6265f055f1 flatpak: Set build_dir properly 2022-12-03 20:56:06 +01:00
Julian Sparber 40f00caa2d ci: Build and deploy nightly flatpaks for aarch64 and x86_64 2022-12-03 20:56:06 +01:00
Julian Sparber 77dc693533 manager: Only set search path from CALLS_PLUGIN_DIR when path exists
Libpeas has issues searching in a path that doesn't exsist.
2022-12-03 20:56:06 +01:00
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