Commit Graph
100 Commits
Author SHA1 Message Date
Evangelos Ribeiro Tzaras 31a11b0abc tests: Rename functions
This is done as a follow up commit after the cancellation test was
removed in order to (slightly) ease review.
2022-10-11 07:41:07 +00:00
Evangelos Ribeiro Tzaras 280527d7a7 tests: Mock libfeedback
Copied from libfeedback as of 2e081602f627505e566cc0bdb6cd96c7642d8b65
and adjusted for our mocking needs.

The mocked library will be LD_PRELOADED for the moment,
but further changes to the build should allow us to simply link
to it in the future.
2022-10-11 07:41:07 +00:00
Evangelos Ribeiro Tzaras b4887fa68a test-ringer: Remove cancellable test
This will get removed soon while refactoring the ringer as cancelling
the async methods would not guarantee that the requested operation would
not be performed.

It could actually already be started (e.g. starting or stopping the
feedback), but we have not yet received the reply, so it was always a
bit flaky.
2022-10-11 07:41:07 +00:00
Evangelos Ribeiro Tzaras 6da2924d30 flatpak: Fix flatpak build
Mostly updating of dependencies.

Notable changes:
- Build abseil with position independent code
- Drop patch for libphonenumber and use -DREGENERATE_METADATA=OFF
  instead to drop the java build dependency
- Drop gstreamer as it's included in the runtime already
- Drop cmocka as we're about to drop it's usage completely anyway
2022-09-21 19:45:44 +02:00
Evangelos Ribeiro Tzaras 247af2339a Post release bump to 44.alpha.0 2022-09-21 12:46:04 +02:00
Evangelos Ribeiro Tzaras f2a22d0c02 meson: Sort sources alphabetically 2022-09-21 12:40:31 +02:00
Evangelos Ribeiro Tzaras c3c315d8e7 application: Don't show application window if started as daemon
If calls was already running as a daemon it and were invoked again with
`--daemon` it ended up showing the UI.

Now we always set the `daemon` variable and simplify activation logic as
a side effect.

Fixes #500
2022-09-20 13:41:43 +02:00
Evangelos Ribeiro Tzaras 3badf72725 application: Don't return value in start_proper()
It never returned FALSE, so change function prototype accordingly.
2022-09-20 13:30:31 +02:00
Evangelos Ribeiro Tzaras 8c6d64ddaf ringer: Cancel any ongoing actions on shutdown 2022-09-20 12:27:38 +02:00
Evangelos Ribeiro Tzaras 97626c467f ringer: Move libfeedback related cleanup to finalize()
Leave the LfbEvent self->event alive in dispose()
to give potentially pending GAsyncReadyCallback invocations
or running GSources a better chance of finishing gracefully.
2022-09-20 12:27:26 +02:00
Evangelos Ribeiro Tzaras e28b15b41a ringer: Remove deprecated CuiCallStates
They haven't been used since
4bc8e82ff6
and could probably have been removed sooner.
2022-09-20 12:27:23 +02:00
Evangelos Ribeiro Tzaras 991512e196 record-store: Removed deprecated CuiCallStates
They haven't been used since
4bc8e82ff6
and could probably have been removed sooner.
2022-09-20 12:27:21 +02:00
Evangelos Ribeiro Tzaras 4348e794a9 manager: Remove unused include 2022-09-20 12:26:43 +02:00
Evangelos Ribeiro Tzaras cfbb149c19 meson: Post release bump 2022-09-19 20:49:39 +02:00
Evangelos Ribeiro Tzaras fcee1a3b6a d/changelog: Fix version 2022-09-19 20:47:10 +02:00
Evangelos Ribeiro Tzaras 18ef729e00 Document and release 43.0 2022-09-19 20:33:53 +02:00
Evangelos Ribeiro Tzaras e8a7485086 metainfo: Correct screenshot URLs
Fixes #497
2022-09-19 20:17:20 +02:00
Evangelos Ribeiro Tzaras a35cd09cdb tests: Remove unused code 2022-09-19 19:14:17 +02:00
Evangelos Ribeiro Tzaras 39c182ffca i18n: mm-call: Clarify "transfer" and "deflect"
Closes: #499
2022-09-17 09:11:12 +02:00
Evangelos Ribeiro Tzaras a9288a2739 Update libcall-ui to always reset audio profile
The new version contains a fix that makes sure audio profile switching
(using libcallaudio) always gets properly reset.

Closes: #452
2022-09-11 11:05:19 +02:00
Evangelos Ribeiro Tzaras aafcd62071 Document and release 43.rc.0 2022-09-03 20:51:56 +02:00
Evangelos Ribeiro Tzaras 7587d0a5c9 Update libcall-ui to v0.0.5
Brings a redesigned call display, a couple of smaller UI fixes and
updated translations.
2022-09-03 17:53:17 +00:00
Evangelos Ribeiro Tzaras f44e8025c9 mm-provider: Don't leak MMManager 2022-09-03 18:26:55 +02:00
Evangelos Ribeiro Tzaras d0c4374a0b mm-provider: Prefer g_clear_*() in dispose() and finalize() 2022-09-03 18:26:55 +02:00
Evangelos Ribeiro Tzaras a4f845206e mm-provider: Remove unused variable 2022-09-03 18:26:55 +02:00
Evangelos Ribeiro Tzaras 551bb00e20 hacking: Refresh links 2022-09-03 16:52:16 +02:00
Evangelos Ribeiro Tzaras 1cbc948e12 readme: Update links to d/control 2022-09-03 16:52:16 +02:00
Evangelos Ribeiro Tzaras 2f56836720 ci: Publish pages for main branch (not master)
This is a follow up to renaming the default branch
2022-09-03 16:52:16 +02:00
Evangelos Ribeiro Tzaras eae9fb0ef0 ci: (Slightly) rename flatpak CI job 2022-09-03 16:52:16 +02:00
Evangelos Ribeiro Tzaras adb1cdb18a ofono-provider: Don't g_error() without good reason
Use g_warning() for things are not fatal.

Closes: #4
2022-09-03 08:40:56 +00:00
Evangelos Ribeiro Tzaras 1016505357 mm-provider: Avoid using g_error()
First steps in closing #4.
2022-09-03 08:40:56 +00:00
Evangelos Ribeiro Tzaras e7c3775f42 mm-provider: Don't leak error 2022-09-03 08:40:56 +00:00
Evangelos Ribeiro Tzaras b543d61f3b ofono-provider: Add TODO about preferring async functions 2022-09-03 08:40:56 +00:00
Evangelos Ribeiro Tzaras 396152bd24 d/gbp.conf: Set default branch to 'main' (was 'master')
The default branch of Calls has switched to 'main'.

See #490
2022-09-01 19:46:37 +02:00
Evangelos Ribeiro Tzaras 09688a1e80 call: Document call states 2022-09-01 18:08:27 +02:00
Evangelos Ribeiro Tzaras 1d20998e9a call: Prefer using enum values 2022-09-01 18:06:55 +02:00
Evangelos Ribeiro Tzaras 4592194c11 application: Fix typo in message emission 2022-09-01 18:06:55 +02:00
Evangelos Ribeiro Tzaras 5869296c14 application: Consistent use of user_data in action "activate" callbacks. 2022-09-01 18:06:55 +02:00
Evangelos Ribeiro Tzaras b893c81375 application: Whitespaces style nitpicks 2022-09-01 18:06:55 +02:00
Evangelos Ribeiro Tzaras f8c65b9326 Revert "new-call-box: Clear entry after dialing"
This reverts commit 528fb11dcd.

It is cumbersome having to retype everything
if you've made a mistake when entering a number.
2022-09-01 17:52:52 +02:00
Evangelos Ribeiro Tzaras 8a928f2008 call: Remove waiting state
The waiting state is not used any more and made wrong assumptions to
begin with, so let's get rid of it.
2022-09-01 17:48:02 +02:00
Evangelos Ribeiro Tzaras 4b99660e3f mm: call: Check call direction when mapping waiting state
MM_CALL_STATE_WAITING may also be used on outgoing calls,
so we need to check the call direction.

Fixes #465
2022-09-01 17:48:02 +02:00
Evangelos Ribeiro Tzaras a4c4687208 sip: origin: Actually set "auto-connect" property
Closes: #466
Fixes ef56c8f51c
2022-09-01 07:08:23 +00:00
Evangelos Ribeiro Tzaras 6f2808c7cd ci: Include flatpak_ci_initiative.yml and remove inline copy
The copy was originally done because the include failed while Calls was
still being hosted at source.puri.sm.
2022-09-01 06:57:51 +00:00
Evangelos Ribeiro Tzaras 0e271226dc plugins: Fix install directory typo
Plugins could no longer be found because we installed the plugins
outside the search path:
The directory structure uses singular 'provider', not plural
'providers'.

Fixes 11ba83c16e
2022-08-24 21:21:08 +02:00
Evangelos Ribeiro TzarasandGuido Günther 92e7b962cc plugins.in: Add package version and update copyright 2022-08-19 08:43:57 +00:00
Evangelos Ribeiro TzarasandGuido Günther 11ba83c16e Move plugin specific tests into dedicated directory
This will prove beneficial when we also add tests for the policy engine
plugins. The increased locality is also nice to have.
2022-08-19 08:43:57 +00:00
Evangelos Ribeiro TzarasandGuido Günther 86a8f3ae22 Move provider plugins into a dedicated directory
Since we will introduce another type of plugin for the policy engine
we want to have each plugin type in separate directories.

We also have to adjust:

- plugin search directories
- po file location
- update paths for calls-doc target
2022-08-19 08:43:57 +00:00
Evangelos Ribeiro Tzaras dea8b111d4 ci: Update Debian image
From now on intltool will be part of the image,
so we don't need to install it explicitly any more.
2022-08-17 12:28:07 +02:00
Evangelos Ribeiro Tzaras e49614d203 ci: Include intltool in Debian image
We run it and currently also install it in the check-po script.
Having it preinstalled let's us get rid of the `apt install` stage.

This will help avoiding CI failures like this:

$ apt-get -y install intltool
Reading package lists...
Building dependency tree...
Reading state information...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
 libc6-dev : Breaks: libglib2.0-dev (<= 2.72.3-1) but 2.72.1-1 is to be installed

From https://gitlab.gnome.org/devrtz/calls/-/jobs/2213858#L39
2022-08-17 11:59:51 +02:00
Evangelos Ribeiro Tzaras 55be6cd39e manager: Remove unused has_active_call() function
Introduced in f69c597387
but was never really used, so let's drop the dead code.
2022-08-10 16:00:00 +02:00
Evangelos Ribeiro Tzaras 21ae0a67c4 manager: Drop unused get_contact_name() declaration
The function has been removed since quite some time,
but the declaration did not get removed.

Fixes 889d5a0981
2022-08-10 15:07:02 +02:00
Evangelos Ribeiro Tzaras 3cbe2c781a Document and release 43.beta.0 2022-08-06 20:24:53 +02:00
Evangelos Ribeiro Tzaras 65dfc1293b ci: Update debian image 2022-08-05 17:21:05 +00:00
Evangelos Ribeiro Tzaras 857c375ab9 Disable g722 to avoid test failure with ffmpeg 5.0/gst-libav
Bail out! CallsSipMediaPipeline-FATAL-WARNING: Error trying to setup codecs for pipeline: Could not create 'decoder' element of type avdec_g722
stderr:

(gst-plugin-scanner:196349): GLib-GObject-WARNING **: 07:29:24.149: type name '-a-png-encoder-pred' contains invalid characters

See
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1055
2022-08-05 17:21:05 +00:00
Evangelos Ribeiro Tzaras d19aa10534 Update libcall-ui to v0.0.4
Brings some UX improvements and updated translations
2022-08-05 15:05:18 +00:00
Evangelos Ribeiro Tzaras 757351b39c record-row: Add SMS action
Add a menu entry in the history popover to open the default "sms" URI
handler.

Closes: #182
2022-08-05 10:30:06 +02:00
Evangelos Ribeiro Tzaras 01f3757ce1 record-row: Simplify add-action logic
Get rid of some code by avoiding special casing
and potentially fix an issue (WIP).
2022-08-05 10:30:06 +02:00
Evangelos Ribeiro Tzaras 0d6095b42a record-row: Use STR_IS_NULL_OR_EMPTY macro 2022-08-05 10:30:06 +02:00
Evangelos Ribeiro Tzaras 8e23d77508 record-row: Chain up early to constructed() 2022-08-05 10:30:06 +02:00
Evangelos Ribeiro Tzaras d94792f3c5 record-row: Rename callback to conform to on_* naming scheme 2022-08-05 10:30:06 +02:00
Evangelos Ribeiro Tzaras 37eba7b66f record-row: Remove unused code 2022-08-05 10:30:06 +02:00
Evangelos Ribeiro Tzaras b81b216cf0 history-box: Cap size of slice at number of call records
This helps avoiding some log spam when scrolling to the bottom:

16:29:17.1053      CallsHistoryBox[2798409]:   DEBUG: Increasing history slice from 1825 to 1875
16:29:17.1215      CallsHistoryBox[2798409]:   DEBUG: Increasing history slice from 1875 to 1925
16:29:20.6739      CallsHistoryBox[2798409]:   DEBUG: Increasing history slice from 1925 to 1975
16:29:23.1919      CallsHistoryBox[2798409]:   DEBUG: Increasing history slice from 1975 to 2025
16:29:24.2533      CallsHistoryBox[2798409]:   DEBUG: Increasing history slice from 2025 to 2075

for a history of ~1400 records.
2022-07-27 16:54:26 +02:00
Evangelos Ribeiro Tzaras 9209a7801c history-box: Allow transition from non-empty to empty history
Since call records may be deleted, the transition from non-empty to
empty is also possible.
2022-07-27 16:45:42 +02:00
Evangelos Ribeiro Tzaras a6faac2940 history-box: Dynamically adjust slice list model size
The slice get's increased by 50 items if scrolled to the bottom
and reset to the initial 75 items if scrolled back to the top.

The defined threshholds make sure that the UX still feels smooth.
2022-07-27 16:29:39 +02:00
Evangelos Ribeiro Tzaras 8ae03a1321 history-box: Switch to GtkSliceListModel
Having more than ~200 widgets in a GtkListBox comes with a very
performance impact. This is especially noticable during while the main
window is being realized (even if Calls already runs in daemon mode).

We can limit the amount of widgets by using a slice list model.

Fixes: #374
2022-07-27 16:27:07 +02:00
Evangelos Ribeiro Tzaras 3568af8553 meson: Add gtk sources to build 2022-07-27 16:26:25 +02:00
Evangelos Ribeiro Tzaras 44c892b6f7 Drop use of volatile
The volatile qualifier was mostly used for historical reasons,
the documentation for `g_once_init_enter()` and `g_once_init_leave()`
has the following to say:

While `location` has a `volatile` qualifier,
this is a historical artifact and the pointer passed to it
should not be volatile.

See also https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719
2022-07-27 16:26:25 +02:00
Evangelos Ribeiro Tzaras fd5a24f853 history-box: Chain up to constructed() early 2022-07-27 16:26:24 +02:00
Evangelos Ribeiro Tzaras 01aa8c04c2 Add various gtk list models
This is an exact copy from GTK4.
as grabbed by chattys commit 1ed5084fb965908e3ee0304781b0de06479c869b

Slightly adapted for Calls.

Based on GTKs 01bd4cc4e18a1ea697fe61791ba710d0d55e8290
2022-07-27 16:06:57 +02:00
Evangelos Ribeiro Tzaras 4188af73af sip: origin: Drop comparison that always evaluates as true
This avoids the following warning:

../plugins/sip/calls-sip-origin.c: In function ‘sip_r_register’:
../plugins/sip/calls-sip-origin.c:483:26: warning: the comparison will always evaluate as ‘true’ for the address of ‘m_url’ will never be NULL [-Waddress]
  483 |     if (sip->sip_contact && sip->sip_contact->m_url && sip->sip_contact->m_url->url_host) {
      |                          ^~
In file included from /usr/include/sofia-sip-1.12/sofia-sip/nua.h:47,
                 from ../plugins/sip/calls-sip-util.h:28,
                 from ../plugins/sip/calls-sip-call.h:30,
                 from ../plugins/sip/calls-sip-origin.c:31:
/usr/include/sofia-sip-1.12/sofia-sip/sip.h:477:23: note: ‘m_url’ declared here
  477 |   url_t               m_url[1];     /**< SIP URL */
      |                       ^~~~~
../plugins/sip/calls-sip-origin.c: In function ‘sip_callback’:
../plugins/sip/calls-sip-origin.c:779:23: warning: the comparison will always evaluate as ‘true’ for the address of ‘a_url’ will never be NULL [-Waddress]
  779 |     if (sip->sip_from && sip->sip_from->a_url &&
      |                       ^~
/usr/include/sofia-sip-1.12/sofia-sip/sip.h:386:22: note: ‘a_url’ declared here
  386 |   url_t              a_url[1];      /**< URL */
      |                      ^~~~~
2022-07-27 16:06:57 +02:00
Evangelos Ribeiro Tzaras 74beff0c98 ci: Allow flatpak failures
That does of course not mean that we shouldn't investigate,
but I like to have passing CI in the meantime.
2022-07-06 07:12:05 +02:00
Evangelos Ribeiro Tzaras 5fc07678d1 d/gbp.conf: Adjust debian-tag-msg
Tag messages have been a bit inconsistent in the past, because we
created signed tags by hand.

With this change we can just `gbp tag` and get consistently named tags
and messages.
2022-06-27 04:37:38 +02:00
Evangelos Ribeiro Tzaras 03543142e6 Post release bump
According to the schedule
https://wiki.gnome.org/FortyThree
the next version will be 43.beta.0
2022-06-27 04:36:53 +02:00
Evangelos Ribeiro Tzaras 3d7c671034 Document and release 43.alpha.2 2022-06-26 15:47:47 +02:00
Evangelos Ribeiro Tzaras 879a214baf dir-locals: Use the linux coding style 2022-06-22 10:17:30 +02:00
Evangelos Ribeiro Tzaras fae760c541 dir-locals: Exhaustive projectile setup
This expands on the minimal projectile setup we had before by including
compilation directory, configure and run commands.
2022-06-22 10:17:30 +02:00
Evangelos Ribeiro Tzaras 36b10bc764 new-call-box: Don't auto select offline accounts 2022-06-21 12:19:38 +02:00
Evangelos Ribeiro Tzaras ee64b33e24 new-call-box: Fix memory leak
calls_new_call_box_dial was taking a reference it never released.
2022-06-21 11:52:40 +02:00
Evangelos Ribeiro Tzaras 581c82fcd7 new-call-box: Order includes alphabetically 2022-06-21 11:52:40 +02:00
Evangelos Ribeiro Tzaras e5e19fcd5f doc: Add call state diagram
Having this makes it easier to reason about the call states.
2022-06-20 15:59:17 +00:00
Evangelos Ribeiro Tzaras 82a03ac0b1 record-store: Add debug statement for call state changes
This can help debugging issues such as #463 and #455
2022-06-20 13:00:37 +00:00
Evangelos Ribeiro Tzaras 7094363894 sip: origin: Reduce logspam from REGISTER keep-alives 2022-06-20 13:00:37 +00:00
Evangelos Ribeiro Tzaras bf8bc5db3c sip: origin: Only set own IP if it has changed
This helps to reduce some logspam.
2022-06-20 13:00:37 +00:00
Evangelos Ribeiro Tzaras 2c7569c608 sip: origin: Don't fetch the contact header repeatedly
This somewhat reduces the logspam:
response to get_params: 200 OK

origin->contact_header
2022-06-20 13:00:37 +00:00
Evangelos Ribeiro Tzaras 6d7feec690 mm: call: Better debugging
Including the error domain should help in identifying errors.
Use the DBus object path as the primary identifier for a call.
2022-06-20 13:00:37 +00:00
Evangelos Ribeiro Tzaras 07aa990601 mm: call: Use correct enum type
They both have the same value (=0), and things worked because of
implicit conversion, but was still confusing and technically wrong.
2022-06-20 13:00:37 +00:00
Evangelos Ribeiro Tzaras 654664799b data: Add D-Bus service file
Heavily inspired by
https://gitlab.com/mobian1/callaudiod/-/commit/cf329d0a050899f036f677d8d5e16a749c6a80ba

Fixes #464
2022-06-20 05:39:31 +02:00
Evangelos Ribeiro Tzaras 01b214c5fb sip: origin: Don't mix code and declarations
Move (and reorder) declarations to avoid warnings triggered by
-Wdeclaration-after-statement

Closes #459
2022-06-14 17:48:43 +00:00
Evangelos Ribeiro Tzaras 7847c72560 sip: origin: Codestyle 2022-06-14 17:48:43 +00:00
Evangelos Ribeiro Tzaras 35eebcbfe7 debian: Install manpage 2022-06-08 08:25:36 +00:00
Evangelos Ribeiro Tzaras 8cb6c3e5a9 flatpak: Don't build manpage 2022-06-08 08:25:36 +00:00
Evangelos Ribeiro Tzaras 6738962073 meson: Build manpage with rst2man
Closes #457
2022-06-08 08:25:36 +00:00
Evangelos Ribeiro Tzaras c86df0f564 ci: Update debian bookworm image for rst2man 2022-06-08 08:25:36 +00:00
Evangelos Ribeiro Tzaras 73109fb235 Add python3-docutils as build dependency
We want to use rst2man for generating manpages.
2022-06-08 08:25:36 +00:00
Evangelos Ribeiro Tzaras 0d6ceca324 doc: Add manpage as reStructuredText 2022-06-08 08:25:36 +00:00
Evangelos Ribeiro Tzaras b713141384 README: Update section on debugging 2022-06-02 01:39:48 +02:00
Evangelos Ribeiro Tzaras 1e44ae56d3 Fix version bumpage
Next version will still be "43~alpha.2" (not "43~beta.0").
2022-06-01 19:33:56 +02:00
Evangelos Ribeiro Tzaras fc10a1ce71 Post release bump 2022-05-30 11:25:40 +02:00
Evangelos Ribeiro Tzaras 138f882643 Document and release 43.alpha.1 2022-05-25 21:07:22 +02:00