1
0
Fork 0
mirror of https://gitlab.gnome.org/GNOME/calls.git synced 2024-11-16 05:15:36 +00:00
Commit graph

1615 commits

Author SHA1 Message Date
Evangelos Ribeiro Tzaras
68b42e2768 Document and release 43.2 2022-12-03 21:04:01 +01:00
Evangelos Ribeiro Tzaras
83390e9b04 log: Use feature test macro before any include
_GNU_SOURCE is needed for strcasestr().

The macro should be defined before including any headers. This broke
recently because glib.h seems to include string.h now.
2022-12-03 20:56:06 +01:00
Evangelos Ribeiro Tzaras
3ac414fd84 application: Print positive delta when changing verbosity
Since we already take into account if it's increasing or decreasing
we should make the amount (Increased/Decreased by N) positive.
2022-12-03 20:56:06 +01:00
Evangelos Ribeiro Tzaras
8710ca778a log: Fix returned verbosity delta
When we increase verbosity we want values > 0 returned.
2022-12-03 20:56:06 +01:00
Julian Sparber
fdd91951df flatpak: Don't run calls:sip tests in CI 2022-12-03 20:56:06 +01:00
Julian Sparber
81f53f9891 tests: Ensure that plugins are build for tests that need them 2022-12-03 20:56:06 +01:00
Julian Sparber
27302dc5a5 tests: Make ringer test depend on mocked libfeedback
This makes sure that the mocked libfeedback library is build before
running tests and drops the need of LD_PRELOAD.
2022-12-03 20:56:06 +01:00
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