Evangelos Ribeiro Tzaras
edbf046bfd
ui-call-data: Implement "active-time" property
2022-01-31 15:51:45 +01:00
Evangelos Ribeiro Tzaras
8543fc7ab5
Update libcallui subproject and adjust to CuiCallState changes
...
We already had our mapping between CallsCallStates and CuiCallStates in place,
but the _DIALING state got renamed to _CALLING.
Additionally bundle CallsCallStates that map to the same CuiCallState to remove
some code.
2022-01-31 15:25:46 +01:00
Evangelos Ribeiro Tzaras
ab3ff5772b
settings: Fix memory leak
...
g_settings_get_string() and g_settings_get_strv() are transfer full,
so we should use g_value_take_string() instead of g_value_set_string() and
g_value_take_boxed() instead of g_value_set_boxed()
2022-01-27 18:02:15 +01:00
Evangelos Ribeiro Tzaras
7587efb78a
log: Fix One Definition Rule
...
As caught by running with enabled address sanitization.
2022-01-27 18:02:15 +01:00
Evangelos Ribeiro Tzaras
a8de63f838
dummy: origin: Fix memory leaks
2022-01-27 18:02:15 +01:00
Evangelos Ribeiro Tzaras
7cba40ff60
tests: origin: Fix memory leaks
2022-01-27 18:02:15 +01:00
Evangelos Ribeiro Tzaras
1d1489e167
call: Fix memory leaks
2022-01-27 18:02:15 +01:00
Evangelos Ribeiro Tzaras
6c857ba94a
tests: call: Prefer G_SOURCE_REMOVE instead of FALSE
2022-01-27 18:02:15 +01:00
Evangelos Ribeiro Tzaras
f6e6d08332
sip: origin: Fix memory leak
2022-01-27 18:02:15 +01:00
Evangelos Ribeiro Tzaras
9569afa073
origin: Add transfer annotation for calls_origin_get_calls ()
2022-01-27 18:02:15 +01:00
Evangelos Ribeiro Tzaras
1b4af654f1
sip: origin: Fix comment style
2022-01-27 18:02:15 +01:00
Evangelos Ribeiro Tzaras
14930ba82f
Document and release 42.beta.1
2022-01-26 14:35:20 +01:00
Evangelos Ribeiro Tzaras
79a7e8c59f
Update libcall-ui subproject to v0.0.1
...
This brings a few UI fixes and updated translations
2022-01-26 14:22:05 +01:00
Evangelos Ribeiro Tzaras
a7677798d1
dbus-manager: Fix critical when transforming call states
...
Fixes c796df9260
2022-01-26 08:27:31 +01:00
Evangelos Ribeiro Tzaras
40cb9edf43
readme: Mention that documentation is available as gitlab page
2022-01-26 06:16:42 +00:00
Evangelos Ribeiro Tzaras
55028565aa
ci: Deploy documentation as gitlab pages
2022-01-26 06:16:42 +00:00
Evangelos Ribeiro Tzaras
1c253c0604
Document and release 42.beta.0
2022-01-25 14:22:43 +01:00
Evangelos Ribeiro Tzaras
0dc761d87c
tests: sip: Switch to state notify signal
2022-01-20 10:23:09 +00:00
Evangelos Ribeiro Tzaras
7c5dcd37d7
sip: origin: Switch to state notify signal
...
We don't need the old state here, so let's use the "notify::state" signal
instead of the "state-changed" signal.
2022-01-20 10:23:09 +00:00
Evangelos Ribeiro Tzaras
470475e531
mm: origin: Switch to state notify signal
...
We don't need the old state here, so let's use the "notify::state" signal
instead of the "state-changed" signal.
2022-01-20 10:23:09 +00:00
Evangelos Ribeiro Tzaras
58507556e5
dummy: origin: Switch to state notify signal
...
We don't need the old state here, so let's use the "notify::state" signal
instead of the "state-changed" signal.
2022-01-20 10:23:09 +00:00
Evangelos Ribeiro Tzaras
656643c522
call: Temporarily hold ref while setting new state
...
This is needed to make sure the object stays alive, because some implementations
will unref the call after it has been set to a disconnected state.
This has become apparent because tests started failing when origins switched
from the "state-changed" to the "notify::state" signal (as is done in the next
commits).
2022-01-20 10:23:09 +00:00
Evangelos Ribeiro Tzaras
c2c8b1acd9
dummy: origin: Use g_assert in non public functions
2022-01-20 10:23:09 +00:00
Evangelos Ribeiro Tzaras
85c6ac2ff8
tests: dummy origin: Use correct origin
...
And unref it after we're done. Otherwise we're leaking memory because the dummy
provider only keeps actively unrefs the origin it added itself.
2022-01-20 10:23:09 +00:00
Evangelos Ribeiro Tzaras
c594726ce5
best-match: Fix potential memory leak
...
We would leak memory if calls_best_match_set_phone_number would be called a
second time with a SIP address.
2022-01-20 10:23:09 +00:00
Evangelos Ribeiro Tzaras
ebc5e584bb
manager: Use ternary operator instead of if/else block
...
Less code is better code.
2022-01-20 10:23:09 +00:00
Evangelos Ribeiro Tzaras
f01c99c587
ui-call-data: Remove unused struct
2022-01-20 10:23:09 +00:00
Evangelos Ribeiro Tzaras
36c4f2b349
ui-call-data: Add license header
2022-01-20 10:23:09 +00:00
Evangelos Ribeiro Tzaras
6567b7cad7
call-selector-item: Codestyle
...
Move public functions to the bottom
2022-01-20 10:23:09 +00:00
Evangelos Ribeiro Tzaras
c0a67d2cce
contacts-provider: Remove static from action name string
...
There was no reason to have it static in the first place.
2022-01-20 10:23:09 +00:00
Evangelos Ribeiro Tzaras
99057452c5
dbus: Document interface in a way that gtk-doc can use
...
Fixes #394
2022-01-20 10:50:48 +01:00
Evangelos Ribeiro Tzaras
12ae596352
contacts-provider: Overhaul documentation
...
This commit describes what CallsContactsProvider is used for,
documents signals, properties and the public API.
2022-01-20 10:17:26 +01:00
Evangelos Ribeiro Tzaras
bcdb703ec3
origin: Remove unused parameter from docstring
2022-01-20 10:17:26 +01:00
Evangelos Ribeiro Tzaras
4dd4ba3be3
provider: Remove unused parameter from docstring
2022-01-20 10:17:26 +01:00
Evangelos Ribeiro Tzaras
52eebaad83
message-source: Fix typo
2022-01-20 10:17:26 +01:00
Evangelos Ribeiro Tzaras
558393a8cb
meson: Don't access the network when validating metadata
...
Build servers might not allow network access and this shaves off a little time
in the test suite.
It shouldn't be a problem running the validation manually when adding new
screenshots.
2022-01-20 10:17:26 +01:00
Evangelos Ribeiro Tzaras
c796df9260
dbus-manager: Use CuiCallStates instead of CallsCallStates
...
CallsCallStates are considered internal call states and do not map 1:1 to
CuiCallStates.
2022-01-20 07:42:08 +00:00
Evangelos Ribeiro Tzaras
e3afefcef2
ui-call-data: Add call state mapping to public API
...
This allows it to get used in the DBus manager in a GBindingTransformFunc
until to make sure we don't use emit deprecated values over DBus.
2022-01-20 07:42:08 +00:00
Evangelos Ribeiro Tzaras
4bc8e82ff6
ui-call-data: Don't use deprecated states in mapping
...
For the UI we don't distinguish between dialing and alerting or between
waiting and incoming.
2022-01-20 07:42:08 +00:00
Evangelos Ribeiro Tzaras
6e9fadbee2
dbus: document states
2022-01-20 07:42:08 +00:00
Evangelos Ribeiro Tzaras
7c7110996c
meson: Warn when using misleading indentation
...
This allows catching bugs like the infamous 'goto fail goto fail' bug.
2022-01-18 05:25:49 +01:00
Evangelos Ribeiro Tzaras
54092e45d4
call: Fix typos in section docstring
2022-01-18 03:53:11 +00:00
Evangelos Ribeiro Tzaras
3eda1119ad
potfiles: Add src/account.c
2022-01-18 02:50:04 +00:00
Evangelos Ribeiro Tzaras
827594dc2e
record-row: Add context menu entry for adding a new contact
...
Fixes #157
2022-01-18 02:12:37 +00:00
Evangelos Ribeiro Tzaras
5588bd934a
contacts-provider: Add API to add new contacts
2022-01-18 02:12:37 +00:00
Evangelos Ribeiro Tzaras
c6d867cd72
contacts-provider: Add GDBusActionGroup to query if contacts can be added
...
As this requires a patched GNOME Contacts, we want to be able to query if the
necessary actions to add new contacts is available before trying to use it.
2022-01-18 02:12:37 +00:00
Evangelos Ribeiro Tzaras
56da32d1b6
contacts-provider: Remove unused config.h include
2022-01-18 02:12:37 +00:00
Evangelos Ribeiro Tzaras
8ad21b211c
contacts-provider: Codestyle
2022-01-18 02:12:37 +00:00
Evangelos Ribeiro Tzaras
bc4ed210b2
contacts-provider: Sort includes
2022-01-18 02:12:37 +00:00
Evangelos Ribeiro Tzaras
339093876c
manager: Propagate messages from account
...
Not all portions from the user interface are listening directly to messages from
accounts, so the manager should propagate them to allow the UI to pick them up.
Closes #340
2022-01-11 12:00:10 +00:00
Evangelos Ribeiro Tzaras
cc8da717b1
account-overview: Reindent ui file
...
This was done to avoid the diff noise in the previous commit introducing
the in app notifications to the account overview.
2022-01-11 12:00:10 +00:00
Evangelos Ribeiro Tzaras
2a9791a9a3
account-overview: Show notification on account message
...
Accounts implement the CallsMessageSource interface and emit messages when
there are state changes of which the user should be informed.
Closes #340
2022-01-11 12:00:10 +00:00
Evangelos Ribeiro Tzaras
695839a2d9
sip: origin: Emit user feedback on state change
2022-01-11 12:00:10 +00:00
Evangelos Ribeiro Tzaras
4cd3a0dcc3
account: Add message emission API
...
This can be used when wanting to show a human readable description in the UI
for example when the account state changes.
2022-01-11 12:00:10 +00:00
Evangelos Ribeiro Tzaras
cdb6f90acc
account: Rework account states
...
Introduce a state-changed signal which also gives a reason for why the state
changed. This will allow the UI to give some meaningful feedback to the user.
Additionally we can get rid of a number of things that were not really states,
but rather reasons for why a state changed (f.e. authentication failures).
2022-01-11 12:00:10 +00:00
Evangelos Ribeiro Tzaras
d5fd098479
sip: origin: Make go_online() a no-op in the direct connection case
...
This avoids some special casing in init_sip_account()
2022-01-11 12:00:10 +00:00
Evangelos Ribeiro Tzaras
6d877fd9d3
manager: Implement message source interface
...
This allows the user interface to pick up messages by having them propagate
from the managed providers, origins, calls, etc.
2022-01-11 12:00:10 +00:00
Evangelos Ribeiro Tzaras
6de5e9a54c
manager: Remove the "error" signal and adapt to changes
...
We can now use the message source interface to signal any feedback to the user.
2022-01-11 12:00:10 +00:00
Evangelos Ribeiro Tzaras
d1b20bec39
message-source: Add API to emit message
2022-01-11 12:00:10 +00:00
Evangelos Ribeiro Tzaras
e148930cc4
application: Sort includes alphabetically
2022-01-11 12:00:10 +00:00
Evangelos Ribeiro Tzaras
6a3702dea3
manager: Clean up includes
...
The manager is not using the account providers anywhere.
2022-01-11 12:00:10 +00:00
Evangelos Ribeiro Tzaras
8a6787d959
message-source: Get rid of unnecessary semicolon
...
Our .dir-locals.el makes Emacs understand that we don't need a semicolon after
the various G_* macros.
2022-01-11 12:00:10 +00:00
Evangelos Ribeiro Tzaras
7d05508ace
message-source: Clean up includes
...
Include directly what's being used here.
2022-01-11 12:00:10 +00:00
Evangelos Ribeiro Tzaras
3c32739369
message-source: Use pragma once instead of include guard
2022-01-11 12:00:10 +00:00
Evangelos Ribeiro Tzaras
c6a8dcf140
util: Use pragma once instead of include guard
2022-01-11 12:00:10 +00:00
Evangelos Ribeiro Tzaras
eab45610bd
manager: Codestyle
...
We use two empty lines between functions, unless they are documented with
docstrings in which case there is only one empty line.
2022-01-11 12:00:10 +00:00
Evangelos Ribeiro Tzaras
69b615a2c2
sip: origin: Codestyle
2022-01-11 12:00:10 +00:00
Evangelos Ribeiro Tzaras
eeb97c82c0
sip: origin: Purge own IP when uninitialising account
...
This will make sure that we're not using a stale IP address if we're resetting
the account after an IP change.
2022-01-10 08:27:08 +01:00
Evangelos Ribeiro Tzaras
38f9e0b608
sip: media-manager: Get rid of global session IP
...
Since we're now passing the IP to be used to retrieve the capabilities
for the SDP message body, this has become dead code.
2022-01-08 21:25:09 +00:00
Evangelos Ribeiro Tzaras
8b126484cb
sip: Use per origin IP instead of a global IP
...
Sofia detects a NAT by presence of the "received" parameter in the Via header in
the response to a REGISTER. Sofia will then update the Contact header to use the
IP as reported by the registrar.
The "received" parameter MUST be included in the response according to
https://datatracker.ietf.org/doc/html/rfc3261#section-18.2.1
when the registrar detects a difference between the domain part of the top Via
header and the packet source address but practice has shown that this will not
always be the case.
Addditionally this change allows us to have origins bound to different network
interfaces which would be useful when a registrar can only be accessed through a
VPN.
This also fixes an issue with SDP introduced in
36880c3d34 which was only seen on some SIP
providers:
The session name ("s=") line is not relevant for establishing a connection,
the connection data (c=") line is.
See https://datatracker.ietf.org/doc/html/rfc4566 section 5.3 and 5.7
2022-01-08 21:25:09 +00:00
Evangelos Ribeiro Tzaras
ae4053e1c9
sip: call: Remove unnecessary code
...
The call state depending on whether a call is inbound or not is handled in the
constructed() method of the CallsCall base class.
2022-01-08 21:25:09 +00:00
Evangelos Ribeiro Tzaras
ba00665c36
sip: origin: Decouple TLS usage from target address
...
Since we cannot do encrypted media streams yet, we should hardcode whether or
not we want to use SRTP to FALSE, so that sips target URLs can be used in SIP
calls at all.
2022-01-07 16:34:25 +01:00
Evangelos Ribeiro Tzaras
8f85c42ba3
meson: Don't use deprecated meson.source_root()
...
This function is deprecated since 0.56.0:
WARNING: Project targeting '>= 0.56.0' but tried to use feature deprecated since
'0.56.0': meson.source_root. use meson.project_source_root() or
meson.global_source_root() instead.
2021-12-29 11:10:21 +01:00
Evangelos Ribeiro Tzaras
de834bcfe9
meson: Don't use deprecated meson.build_root()
...
This function is deprecated since 0.56.0:
WARNING: Project targeting '>= 0.56.0' but tried to use feature deprecated since
'0.56.0': meson.build_root. use meson.project_build_root() or
meson.global_build_root() instead.
2021-12-29 11:10:21 +01:00
Evangelos Ribeiro Tzaras
112098405b
meson: Don't use deprecated Dependency.get_pkgconfig_variable()
...
This function is deprecated since 0.56.0:
WARNING: Project targeting '>= 0.56.0' but tried to use feature deprecated since
'0.56.0': Dependency.get_pkgconfig_variable.
use Dependency.get_variable(pkgconfig : ...) instead
2021-12-29 11:10:03 +01:00
Evangelos Ribeiro Tzaras
0cadf24ed0
sip: origin: Fix host being passed as number
...
Closes #389
Fixes e2acfd3794
2021-12-28 16:40:46 +01:00
Evangelos Ribeiro Tzaras
e2acfd3794
sip: origin: Pass telephone number to the call object
...
If the origin is used for PSTN telephony extract the number from the
SIP dialstring (i.e. sip:+49160123456789@my-sip-host.de ) and pass that
to call object for contact matching.
2021-12-26 17:57:14 +01:00
Evangelos Ribeiro Tzaras
992a243de6
sip-account-widget: Add switch to specify account can handle tel URI
...
Fixes #277
2021-12-26 17:45:12 +01:00
Evangelos Ribeiro Tzaras
fbbe17139d
sip: origin: Add property tracking usage for tel URIs
...
Fixes #277
2021-12-26 17:45:12 +01:00
Evangelos Ribeiro Tzaras
66224c9a48
origin: Get rid of "numeric-addresses" property
2021-12-26 17:45:12 +01:00
Evangelos Ribeiro Tzaras
6d031e2ab6
new-call-box: Decide if numeric input is needed based on the origins protocol
...
The numeric addresses property conveys no additional information.
By changing the logic here we can get rid of the "numeric-addresses" property
alltogether.
2021-12-26 17:45:12 +01:00
Evangelos Ribeiro Tzaras
cd6917dcf6
sip: origin: Include address in warning when we cannot dial
...
This allows figuring out which call failed.
2021-12-21 14:52:14 +00:00
Evangelos Ribeiro Tzaras
8575adf998
media-manager: Take preferred audio codecs into account for SDP
...
Fixes #349
2021-12-21 15:05:47 +01:00
Evangelos Ribeiro Tzaras
0b8fb4a448
media-codecs: Clarify that codec availability should be checked before use
2021-12-21 15:05:47 +01:00
Evangelos Ribeiro Tzaras
27463212d9
media-codecs: Add codec availability check to public API
...
This will be useful for building a list of preferred audio codecs.
2021-12-21 15:05:47 +01:00
Evangelos Ribeiro Tzaras
7fe8a90d77
settings: Add GSetting for preferred audio codecs
2021-12-21 15:05:47 +01:00
Evangelos Ribeiro Tzaras
da4434564d
test: sip: Add debug messages
2021-12-21 15:05:47 +01:00
Evangelos Ribeiro Tzaras
dc809e54e5
settings: Add docstring for autoload-plugins setter and getter
2021-12-21 15:05:47 +01:00
Evangelos Ribeiro Tzaras
a63023e315
settings: Chain up to parents constructed() early
...
Not strictly necessary since we're not depending on anything the parents
constructed() might be doing, but it's a good practice.
2021-12-21 15:05:47 +01:00
Evangelos Ribeiro Tzaras
b49041a3f2
sip: codecs: Fix transfer annotation of media_codecs_get_candidates()
2021-12-21 15:05:47 +01:00
Evangelos Ribeiro Tzaras
4e09ada0df
best-match: Fix header include
...
We only need gio.h here because of GLoadable.
2021-12-21 15:05:47 +01:00
Evangelos Ribeiro Tzaras
2026573e64
project: Do not allow deprecated gtk/gdk symbols
...
This will make sure that we're not introducing deprecated symbols which
could make it harder to migrate to Gtk4.
2021-12-21 15:05:47 +01:00
Evangelos Ribeiro Tzaras
f068e20f68
ci: Use prebuilt debian images
...
This should speed up CI jobs.
Close #380
2021-12-21 14:16:49 +01:00
Evangelos Ribeiro Tzaras
a21fded449
gitlab-ci: Use prebuilt containers
...
This image has all build dependencies to speed up build and tests.
Copied from
phosh (https://gitlab.gnome.org/World/Phosh/phosh/-/commit/d8b2e5651b837adb6698c9868a9d278ef7929400 )
with minor modifications for Calls.
Use
.gitlab-ci/run-docker.sh --base debian build --version 0.0.<date>
.gitlab-ci/run-docker.sh --base debian push --version 0.0.<date>
to update.
2021-12-21 14:16:47 +01:00
Evangelos Ribeiro Tzaras
c12b7a8c69
call: Use protocol fallback
...
We're falling back to "tel" as the default case.
2021-12-20 12:25:19 +01:00
Evangelos Ribeiro Tzaras
dbfa593a07
call: Move name property to base class
...
This let's us avoid some duplication in the derived classes.
2021-12-20 12:25:19 +01:00
Evangelos Ribeiro Tzaras
a1fefcdbac
call: Move id property into base class
...
This allows us to avoid some duplication in the derived classes.
2021-12-20 12:25:19 +01:00
Evangelos Ribeiro Tzaras
a048b4c83d
call: Move state property into base class
...
This let's us get rid of a lot of duplication in the derived classes.
Additionally we set the initial state to CALLS_CALL_STATE_INCOMING if
inbound is TRUE and CALLS_CALL_STATE_DIALING otherwise.
2021-12-20 12:25:19 +01:00
Evangelos Ribeiro Tzaras
ddf1dd7349
call: Move inbound property into base class
...
This avoids some repetition in the derived classes.
2021-12-20 12:25:18 +01:00
Evangelos Ribeiro Tzaras
88cd7ce222
call: Add unknown state
...
This is the default fallback state and is useful f.e. in the oFono plugin
if the GDBOVoiceCall doesn't provide a state in its' properties.
2021-12-20 12:25:18 +01:00