Evangelos Ribeiro Tzaras
ea5d7038e7
new-call-box: Use STR_IS_NULL_OR_EMPTY macro
2023-04-18 08:34:39 +00:00
Evangelos Ribeiro Tzaras
0452d8a2bf
manager: Use STR_IS_NULL_OR_EMPTY macro
2023-04-18 08:34:39 +00:00
Evangelos Ribeiro Tzaras
3e43ba2975
call-window: Remove dead code
2023-04-18 08:34:39 +00:00
Evangelos Ribeiro Tzaras
2550141585
application: Remove unused macro
2023-04-18 08:34:39 +00:00
Evangelos Ribeiro Tzaras
12161080bc
test-manager: Remove unused include
2023-04-18 08:34:39 +00:00
Evangelos Ribeiro Tzaras
62f6f75667
test-manager: Remove unused variable
2023-04-18 08:34:39 +00:00
Evangelos Ribeiro Tzaras
4e900e1ac5
main-window: Codestyle
2023-04-18 08:34:39 +00:00
Evangelos Ribeiro Tzaras
0261271560
main-window: Sort includes
2023-04-18 08:34:39 +00:00
Evangelos Ribeiro Tzaras
9ff06561e8
resources: Sort alphabetically
2023-04-18 08:34:39 +00:00
Evangelos Ribeiro Tzaras
0cb25d9e3c
build: Sort enum headers
2023-04-18 08:34:39 +00:00
Evangelos Ribeiro Tzaras
cf52fbba67
test-contacts: Add more test cases
...
Testing lookup of both empty string and NULL ensures we won't regress.
2023-04-13 06:01:05 +00:00
Evangelos Ribeiro Tzaras
23ee0475dd
best-match: Don't special case NULL best match
...
We always get a valid best match, even for NULL or empty ids,
so there is no more need to special case it.
2023-04-13 06:01:05 +00:00
Evangelos Ribeiro Tzaras
830906f57a
contacts-provider: Handle NULL and empty strings graceful in lookup
...
Fixes a crash where we asserted on best match when the id was NULL or
empty.
Closes : #567
2023-04-13 06:01:05 +00:00
Evangelos Ribeiro Tzaras
10d74634ba
contacts-provider: Simplify refcounting in lookup_id()
...
g_autoptr usage was a bit pointless here since
calls_contacts_provider_lookup_id() is transfer full
2023-04-13 06:01:05 +00:00
Evangelos Ribeiro Tzaras
ac2dc8573d
best-match: Add gtk-doc annotations to the public API
...
Notably this adds ownership and nullable annotations, where appropriate.
2023-04-13 06:01:05 +00:00
Evangelos Ribeiro Tzaras
3fb016f6b2
best-match: Allow both NULL and empty strings as phone number
...
This allows us to get rid of some special casing when retrieving
primary and secondary display information.
2023-04-13 06:01:05 +00:00
Evangelos Ribeiro Tzaras
94cfbd83b2
sip-provider: Chain up to constructed early
2023-04-12 09:17:40 +00:00
Evangelos Ribeiro Tzaras
243753d064
sip-provider: Improve debugging of account loading
...
This should help diagnosing why the flatpak sometimes fails to add SIP accounts.
2023-04-12 09:17:40 +00:00
Evangelos Ribeiro Tzaras
208438236c
sip-provider: Don't leak keyfile
...
The reference taken in new_origin_from_keyfile_secret() was never
released in the async callback.
2023-04-12 09:17:40 +00:00
Evangelos Ribeiro Tzaras
c84f2a2bd9
sip-provider: Remove unused variables
2023-04-12 09:17:40 +00:00
Evangelos Ribeiro Tzaras
13d57f19bf
tests: Add CALLS_SIP_ACCOUNT_FILE to environment
...
Otherwise the application test will try using the users
configured SIP accounts.
2023-04-10 08:03:21 +02:00
Evangelos Ribeiro Tzaras
36fdbc28e6
emergency-calls-manager: Don't leak origin
...
g_list_model_get_item is transfer full
2023-04-09 16:08:22 +02:00
Evangelos Ribeiro Tzaras
0de7599567
emergency-calls-manager: Add missing argument for on_origins_changed handler
...
The "removed" argument of the models "items-changed" signal was
forgotten making it misbehave when origins do get removed:
GLib-GObject[1287799]: WARNING: invalid (NULL) pointer instance
GLib-GObject[1287799]:CRITICAL: g_signal_connect_object: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed
2023-04-09 16:08:00 +02:00
Evangelos Ribeiro Tzaras
9a52c57ffe
emergency-calls-manager: Fix indentation
...
By running uncrustify
2023-04-09 12:18:55 +02:00
Evangelos Ribeiro Tzaras
3647f8f8c2
Update libcall-ui to v0.1.0
...
From NEWS:
* Breaking change: Drop deprecated call states
* Fix audio-mode reset
* Improve keyboard navigation
Also includes updates to translations.
2023-04-08 18:53:30 +02:00
Evangelos Ribeiro Tzaras
8963218478
Document and release 44.0
2023-03-17 11:36:29 +01:00
Evangelos Ribeiro Tzaras
d6619d68c9
tests: Don't override XDG_CONFIG_HOME
...
It was introduced in 4b51f340c8
to prevent accessing user home during tests:
The only place where this the home is currently accessed is when loading
SIP accounts and these can already be overriden with
CALLS_SIP_ACCOUNT_FILE.
It seems that XDG_CONFIG_HOME is propagated to the flatpak runner,
even though it was only overriden for the test suite.
========================================================================
Building module calls in /builds/devrtz/calls/.flatpak-builder/build/calls-1
========================================================================
Error: module calls: Error opening directory '/builds/devrtz/calls/_build/calls': Permission denied
Reported at https://gitlab.gnome.org/Infrastructure/GitLab/-/issues/596#note_1654082
2023-02-12 10:26:48 +01:00
Evangelos Ribeiro Tzaras
d790e35bc3
sip-provider: Remove duplicated check
...
init() already checked if CALLS_SIP_TEST was set,
no need to do it again in constructed()
2023-02-12 10:26:46 +01:00
Evangelos Ribeiro Tzaras
4d402d2f79
sip-provider: Use STR_IS_NULL_OR_EMPTY macro
2023-02-12 10:26:46 +01:00
Evangelos Ribeiro Tzaras
e4bd4580e7
tests: Add application shutdown tests
2023-02-09 19:07:32 +00:00
Evangelos Ribeiro Tzaras
d901e4c8a6
application: Delay shutting down until database is done
...
Operations on the database are not cancellable, so we need to ensure any
critical code (such as database migration) has completed.
Otherwise we risk leaving the database in a locked state (or worse):
WARNING **: 09:24:53.428: Failed to determine schema version: sqlite3_prepare_v2 failed: database is locked: CREATE TABLE IF NOT EXISTS _gom_version (version INTEGER);
2023-02-09 19:07:32 +00:00
Evangelos Ribeiro Tzaras
fb07e0122d
record-store: Emit signal once DB is migrated
...
This helps letting CallsApplication decide if it should run a few more
iterations to ensure any critical code finishes executing.
2023-02-09 19:07:32 +00:00
Evangelos Ribeiro Tzaras
4b51f340c8
tests: Prevent tests from accessing user home
...
User files such as call records and VoIP account configs should be left
alone during tests.
2023-02-09 19:07:32 +00:00
Evangelos Ribeiro Tzaras
01b8a1c873
record-store: Allow overriding database location
...
By setting the environment variable CALLS_RECORD_DIR the database
location can be overriden which is useful for testing.
2023-02-09 19:07:32 +00:00
Evangelos Ribeiro Tzaras
4ff33a4566
ci: Update debian image
2023-02-01 08:48:35 +01:00
Evangelos Ribeiro Tzaras
a1892f9421
debian: Ran wrap-and-sort -ast
2023-02-01 08:48:35 +01:00
Evangelos Ribeiro Tzaras
767fbdad01
d/control: Add svg pixbufloader
...
As needed for the application test.
2023-02-01 08:48:35 +01:00
Evangelos Ribeiro Tzaras
656c8f96bf
account-overview: Respect object lifecycle for signals
2023-02-01 08:48:35 +01:00
Evangelos Ribeiro Tzaras
ffc3c984b0
application: Respect object lifecycle for signals
2023-02-01 08:48:35 +01:00
Evangelos Ribeiro Tzaras
6ab5905a9b
call-window: Respect object lifecycle for signals
2023-02-01 08:48:35 +01:00
Evangelos Ribeiro Tzaras
63d065118f
main-window: Respect object lifecycle for signals
2023-02-01 08:48:35 +01:00
Evangelos Ribeiro Tzaras
e168170f9e
new-call-box: Respect object lifecycle for signals
2023-02-01 08:48:35 +01:00
Evangelos Ribeiro Tzaras
46736a63fa
record-store: Ensure store stays alive during async tasks
...
As GOM does not allow us to cancel asynchronous tasks,
we need to hold references temporarily.
2023-02-01 08:48:35 +01:00
Evangelos Ribeiro Tzaras
b49e086549
application: Guard against setting application name twice
...
This is useful for testing the CallsApplication.
2023-02-01 08:48:35 +01:00
Evangelos Ribeiro Tzaras
ac6aff798d
application: Shut down cleanly when application quits
...
Previously the application was only properly shut down
when it received SIGTERM/SIGINT.
2023-02-01 08:48:35 +01:00
Evangelos Ribeiro Tzaras
0c004b5204
application: Only destroy previously created widgets
...
If this is not the primary instance self->main_window and
self->call_window will not have been created in the first place.
Fixes: e878fabb27
2023-02-01 08:48:35 +01:00
Evangelos Ribeiro Tzaras
481c67a707
application: Coding style
2023-02-01 08:48:35 +01:00
Evangelos Ribeiro Tzaras
257278da2c
record-store: Fix coding style
2023-02-01 08:48:35 +01:00
Evangelos Ribeiro Tzaras
673164803f
new-call-box: Uncrustify
2023-02-01 08:48:35 +01:00
Evangelos Ribeiro Tzaras
205f691570
mm-origin: Disable call waiting
...
As Calls cannot deal with call waiting we should disable it entirely.
This works around issues where call audio get's completely broken once
the waiting call is disconnected on the BM818 modem shipped with the
Librem 5.
See https://source.puri.sm/Librem5/OS-issues/-/issues/311
2023-01-31 08:55:38 +00:00
Evangelos Ribeiro Tzaras
72a85d62fa
mm-origin: Ensure objects stay alive during async operations
2023-01-31 08:55:38 +00:00
Evangelos Ribeiro Tzaras
0f9a89aa3b
mm-origin: Remove unnecessary cast
...
g_signal_connect takes a gpointer, so the instance parameter does not
need to be cast explicitly.
2023-01-31 08:55:38 +00:00
Evangelos Ribeiro Tzaras
3dcb1881bf
mm-origin: Don't leak ID
2023-01-31 08:55:38 +00:00
Evangelos Ribeiro Tzaras
5379907cf8
mm-origin: Don't leak MMModem
...
mm_object_get_modem() is transfer full,
so we need to unref it when we're done.
2023-01-31 08:55:38 +00:00
Evangelos Ribeiro Tzaras
9c8e70088c
mm-origin: Don't leak MMModemVoice
...
mm_object_get_modem_voice() is transfer full,
so we need to unref it when we're done.
2023-01-31 08:55:38 +00:00
Evangelos Ribeiro Tzaras
6f771b1685
mm-origin: Avoid unnecessary allocation
2023-01-31 08:55:38 +00:00
Evangelos Ribeiro Tzaras
0232430ae1
mm-origin: Prefer g_autoptr instead of explicit reference counting
2023-01-31 08:55:38 +00:00
Evangelos Ribeiro Tzaras
f09852bc19
mm-origin: Prefer STR_IS_NULL_OR_EMPTY macro to explicit checks
2023-01-31 08:55:38 +00:00
Evangelos Ribeiro Tzaras
ab6f1a4c45
mm-origin: Explicitly cast ussd state
...
This is better than the implicit conversion of the enum.
2023-01-31 08:55:38 +00:00
Evangelos Ribeiro Tzaras
e5780677f6
mm-origin: Chain up to to parent's constructed() early
...
Not strictly needed here, because we don't depend on the parent being
constructed but this is how it should generally be done.
2023-01-31 08:55:38 +00:00
Evangelos Ribeiro Tzaras
2e43639d03
mm-origin: Codestyle
...
- Prefer char* over gchar*
- g_auto* variables come first
- Two newlines between functions
2023-01-31 08:55:38 +00:00
Evangelos Ribeiro Tzaras
1793035683
mm-call: Guard public API
2023-01-31 08:55:38 +00:00
Evangelos Ribeiro Tzaras
9ee436135f
mm-call: Codestyle
...
Prefer char over gchar and some whitespace cleanups.
2023-01-31 08:55:38 +00:00
Evangelos Ribeiro Tzaras
4733d0e033
Revert "flatpak: Adjust to sofia-sip tarball magically changing"
...
Today the tarball magically changed back.
This reverts commit 228982819a .
2023-01-31 07:43:33 +01:00
Evangelos Ribeiro Tzaras
6c60c935f0
Revert "flatpak: Adjust to libphonenumber tarball magically changing"
...
Today the tarball magically changed back.
This reverts commit 745987f32b .
2023-01-31 07:42:01 +01:00
Evangelos Ribeiro Tzaras
228982819a
flatpak: Adjust to sofia-sip tarball magically changing
...
GitHub is great. Probably no malware ¯\_(ツ)_/¯
2023-01-30 20:45:11 +01:00
Evangelos Ribeiro Tzaras
745987f32b
flatpak: Adjust to libphonenumber tarball magically changing
...
GitHub is great. Probably no malware ¯\_(ツ)_/¯
2023-01-30 20:27:15 +01:00
Evangelos Ribeiro Tzaras
0e6d5d9745
record-store: Don't crash on unexpected call state changes
...
It has been reported that the BM818 sometimes unexpectedly
changes the call state from "active" back to "ringing-in"
(as reported by ModemManager) shortly after accepting an incoming call.
ModemManager[734]: <info> [modem1/call1] user request to accept call
ModemManager[734]: <info> [modem1/call1] call is accepted
ModemManager[734]: <info> [modem1/call1] call state changed: ringing-in -> active (accepted)
ModemManager[734]: <info> [modem1/call1] call state changed: active -> ringing-in (unknown)
This leads to a failed assertion and program termination.
Instead of crashing raising a critical warning is more appropriate
and may allow the user to pick up the call after all.
Closes : #547
2023-01-30 08:34:24 +00:00
Evangelos Ribeiro Tzaras
c0140b4109
contacts-box: Show favourites at the top
...
Closes : #493
2023-01-30 07:34:04 +00:00
Evangelos Ribeiro Tzaras
55147aed97
best-match: Add API to query if individual is a favourite
2023-01-30 07:34:04 +00:00
Evangelos Ribeiro Tzaras
18173f067f
sip-provider: Use STR_IS_NULL_OR_EMPTY macro
2023-01-26 12:03:39 +00:00
Evangelos Ribeiro Tzaras
204772abbd
sip-provider: Sort includes
...
We want the configuration to be included first
2023-01-26 12:03:39 +00:00
Evangelos Ribeiro Tzaras
7dc99aab13
HACKING: Update and clarify
2023-01-26 12:03:39 +00:00
Evangelos Ribeiro Tzaras
4d2f3f0b3b
README: Fix typo
2023-01-26 12:03:39 +00:00
Evangelos Ribeiro Tzaras
3aedb46501
gcovr: Exclude src/gtklistmodels
...
These are copied from Gtk and should not be considered for coverage
reports.
2023-01-22 08:29:46 +00:00
Evangelos Ribeiro Tzaras
bb6b76107c
build: Rename util.{c,h} to calls-util.{c,h}
...
"util" is a very generic name. This guards against accidentally
including similarly named headers from elsewhere.
2023-01-22 07:33:02 +00:00
Evangelos Ribeiro Tzaras
ba77fb8de4
origin: Remove unused include
2023-01-22 07:33:02 +00:00
Evangelos Ribeiro Tzaras
575569398b
provider: Remove unused include
2023-01-22 07:33:02 +00:00
Evangelos Ribeiro Tzaras
ee56c8e87c
new-call-box: Add explicit include
...
util.h is included transitively, but explicit is better than implicit.
2023-01-22 07:33:02 +00:00
Evangelos Ribeiro Tzaras
94e940d5ff
dbus-manager: Add explicit include
...
util.h is included transitively, but explicit is better than implicit.
2023-01-22 07:33:02 +00:00
Evangelos Ribeiro Tzaras
5890aae5f8
manager: Add explicit include
...
util.h is included transitively, but explicit is better than implicit.
2023-01-22 07:33:02 +00:00
Evangelos Ribeiro Tzaras
6bcc95c691
notifier: Add explicit include
...
util.h is included transitively, but explicit is better than implicit.
2023-01-22 07:33:02 +00:00
Evangelos Ribeiro Tzaras
c0cfaeaffe
contacts-row: Use g_autoptr
...
folks 0.14 (shipped in Debian Bullseye) has cleanup functions defined.
2023-01-22 07:33:02 +00:00
Evangelos Ribeiro Tzaras
9b49b0bc4f
contacts-provider: Use STR_IS_NULL_OR_EMPTY macro
2023-01-22 07:33:02 +00:00
Evangelos Ribeiro Tzaras
b799605d01
contacts-provider: Codestyle
2023-01-22 07:33:02 +00:00
Evangelos Ribeiro Tzaras
cf2004e02c
Post release bump
...
According to the schedule
https://wiki.gnome.org/FortyFour
the next version will be 44.beta.0
2023-01-22 07:36:21 +01:00
Evangelos Ribeiro Tzaras
8ee72b9a5d
ci: Don't build flatpaks when PKG_ONLY is set
...
This is needed to prevent calls-next from trying to build flatpaks.
2023-01-22 06:36:24 +01:00
Evangelos Ribeiro Tzaras
6137a93ce2
test-dbus: Test basic call interaction
...
Test that call gets exported on the bus and that basic interactions
such as accepting and hanging up works.
2023-01-20 17:12:02 +01:00
Evangelos Ribeiro Tzaras
4aa6884e43
tests: Add skeleton DBus API client test suite
2023-01-20 17:12:02 +01:00
Evangelos Ribeiro Tzaras
ae6e232f98
tests: Add DBus server binary
...
This should facilitate DBus API testing.
2023-01-20 17:12:02 +01:00
Evangelos Ribeiro Tzaras
ac83323de6
ui-call-data: Always use calls_best_match_get_avatar() to retrieve avatars
...
self->best_match is never NULL:
The test suite used to wrap calls_contacts_provder_new() to always return
NULL which in turn caused the best match to be NULL.
This was done to avoid warnings raised by libfolks
about missing the primary store (eds).
This is no longer necessary as the environment now tells folks which
backend to use.
2023-01-20 17:12:02 +01:00
Evangelos Ribeiro Tzaras
28f0ee42ee
ui-call-data: Assert best_match is set
...
self->best_match is never NULL:
The test suite used to wrap calls_contacts_provder_new() to always return
NULL which in turn caused the best match to be NULL.
This was done to avoid warnings raised by libfolks
about missing the primary store (eds).
This is no longer necessary as the environment now tells folks which
backend to use.
2023-01-20 17:12:02 +01:00
Evangelos Ribeiro Tzaras
60ece1a656
ui-call-data: Use the name of the best match if individual was found
...
self->best_match is never NULL:
The test suite used to wrap calls_contacts_provder_new() to always return
NULL which in turn caused the best match to be NULL.
This was done to avoid warnings raised by libfolks
about missing the primary store (eds).
This is no longer necessary as the environment now tells folks which
backend to use.
2023-01-20 17:12:01 +01:00
Evangelos Ribeiro Tzaras
e5a6ace32d
tests: Don't mock calls_contacts_provider_new()
...
Having set which folks backends to use the real function can be used
without causing any warnings leading to the build to fail.
2023-01-20 17:12:01 +01:00
Evangelos Ribeiro Tzaras
b6bdfaca99
tests: Use key-file folks backend
...
If folks is built with the 'eds' backend it will get used by default.
During testing the system address book should not be queried.
It might even be impossible if the environment is not set up to
connect to the session bus raising the following warning:
(process:701522): folks-WARNING **: 09:13:54.291: Failed to find primary PersonaStore with type ID 'eds' and ID 'system-address-book'.
Individuals will not be linked properly and creating new links between Personas will not work.
The configured primary PersonaStore's backend may not be installed. If you are unsure, check with your distribution.
Fixes : #427
2023-01-20 17:12:01 +01:00
Evangelos Ribeiro Tzaras
82c3cea464
tests: Remove unused mock-libfeedback.h
2023-01-20 17:12:01 +01:00
Evangelos Ribeiro Tzaras
35953ff4d1
tests: ui-call: Prefer type specific assertions
...
This will make it easier to see what's going wrong when an assertion fails.
2023-01-20 17:12:01 +01:00
Evangelos Ribeiro Tzaras
a7678e496f
Document and release 44~alpha.1
2023-01-12 10:50:29 +01:00
Evangelos Ribeiro Tzaras
e878fabb27
application: Remove and destroy application windows on shutdown
...
The windows need to be removed from the GtkApplication because they are
holding references to the application which prevents proper cleanup.
Fixes : #508
2023-01-11 18:50:22 +01:00
Evangelos Ribeiro Tzaras
177199467f
application: Set unix signal handler source ID to 0
...
g_clear_signal_handle_id() will complain about unknown sources otherwise.
2023-01-11 18:47:43 +01:00