Commit Graph

2284 Commits

Author SHA1 Message Date
Guido Günther
a7caa59fba account-overview: Ref list models
GTK4's filters models swallow the reference.

Without this calls crashes like this:

```
    #0  g_type_check_instance (type_instance=type_instance@entry=0x555c0f84ce90) at ../../../gobject/gtype.c:4024
    #1  0x00007f0837af6e18 in g_signal_handlers_disconnect_matched
        (instance=0x555c0f84ce90, mask=mask@entry=(G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA), signal_id=signal_id@entry=0, detail=detail@entry=0, closure=closure@entry=0x0, func=func@entry=0x7f0836f828a0 <gtk_filter_list_model_items_changed_cb>, data=0x555c0f84f1b0) at ../../../gobject/gsignal.c:3007
    #2  0x00007f0836f82459 in gtk_filter_list_model_clear_model (self=self@entry=0x555c0f84f1b0 [GtkFilterListModel]) at ../../../gtk/gtkfilterlistmodel.c:497
    #3  0x00007f0836f824f4 in gtk_filter_list_model_clear_model (self=0x555c0f84f1b0 [GtkFilterListModel]) at ../../../gtk/gtkfilterlistmodel.c:493
    #4  gtk_filter_list_model_dispose (object=0x555c0f84f1b0 [GtkFilterListModel]) at ../../../gtk/gtkfilterlistmodel.c:661
    #5  0x00007f0837ae1289 in g_object_unref (_object=0x555c0f84f1b0) at ../../../gobject/gobject.c:4438
    #6  0x00007f08379b47f3 in g_hash_table_remove_all_nodes (hash_table=hash_table@entry=0x555c0f84d2c0, notify=notify@entry=1, destruction=destruction@entry=1)
        at ../../../glib/ghash.c:656
    #7  0x00007f08379b53a3 in g_hash_table_remove_all_nodes (hash_table=0x555c0f84d2c0, notify=1, destruction=1) at ../../../glib/ghash.c:578
    #8  g_hash_table_unref (hash_table=0x555c0f84d2c0) at ../../../glib/ghash.c:1438
    #9  g_hash_table_unref (hash_table=0x555c0f84d2c0) at ../../../glib/ghash.c:1432
    #10 0x0000555bf0b649b2 in calls_manager_finalize (object=0x555c0f84b800 [CallsManager]) at ../src/calls-manager.c:465
    #11 0x00007f0837ae14fe in g_object_unref (_object=0x555c0f84b800) at ../../../gobject/gobject.c:4509
    #12 0x0000555bf0b5b92d in finalize (object=0x555c0f82fcb0 [CallsApplication]) at ../src/calls-application.c:780
    #13 0x00007f0837ae14fe in g_object_unref (_object=0x555c0f82fcb0) at ../../../gobject/gobject.c:4509
    #14 0x0000555bf0b58cd4 in main (argc=1, argv=0x7fffc05d57a8) at ../src/main.c:47
```

Steps to reproduce:

- start calls
- open account dialog
- close account dialog
- hit control-c to end calls daemon
- observe above crash

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/777>
2025-05-05 12:37:05 +00:00
Guido Günther
d0b52dddcb build: Drop meson version check
We require meson 1.0 anyway

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/778>
2025-05-04 10:51:40 +02:00
Guido Günther
7c0fcbc158 call-box: Use correct property
There's no `selected-index` property. This makes sure we properly switch
between keypad and text entry.

Fixes ee3abc0 ("treewide: Replace libhandy with libadwaita")

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/775>
2025-04-28 16:19:32 +02:00
Bardia Moshiri
523ec151d1 ofono: fixup styling
Signed-off-by: Bardia Moshiri <bardia@furilabs.com>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/742>
2025-04-04 08:52:12 +00:00
Bardia Moshiri
524235b86c ofono: implement USSD interface
all the information for ofono USSD iface comes from https://github.com/FuriLabs/ofono/blob/trixie/ofono/doc/supplementaryservices-api.txt
the introspect for gdbo bindings comes from gdbus introspect -x

Signed-off-by: Bardia Moshiri <bardia@furilabs.com>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/742>
2025-04-04 08:52:12 +00:00
Guido Günther
c6f816687d data: Start calls as part of gnome-session
Since the "calls daemon" is the full app we depend on session services
and portls. Start within gnome-session startup to make sure we don't
start too early.

Closes: https://gitlab.gnome.org/GNOME/calls/-/issues/690

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/771>
2025-04-04 08:51:12 +00:00
Jan Tojnar
d46dd23e1c ci: Fix dist tarball name
The release service does not allow `v` prefix in version part of the tarball:
263345eaa9/gnome_release_service/gnome_release_system/modules/module_release.py (L79-87)

So renaming of the tarball in e028cc5c62
did not help – the pipeline instead started failing with:

    curl: (22) The requested URL returned error: 400{"detail":"Could not parse tarball name: calls-v48.0.tar.xz."}

Since it is not possible to use shell or other replacement mechanisms in `variables`,
let’s obtain the produced dist tarball path in `script` and pass it to `deploy` through `dotenv` artifact:
https://docs.gitlab.com/ci/variables/#pass-an-environment-variable-to-another-job

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/770>
2025-04-04 08:40:39 +00:00
Baxrom Raxmatov
7e9496d070 Add Uzbek (Latin) translation 2025-04-02 13:09:36 +00:00
Evangelos Ribeiro Tzaras
54326f0e1c treewide: Document changes and release 48.0
Signed-off-by: Evangelos Ribeiro Tzaras <devrtz@fortysixandtwo.eu>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/768>
2025-03-17 02:41:08 +01:00
Abdullah Ibrahim
e29c82c309 Add Arabic translation 2025-03-14 19:05:30 +00:00
Changwoo Ryu
04a540cdbb Update Korean translation 2025-03-04 12:20:22 +00:00
Pawan Chitrakar
e4b5da55ad Update Nepali translation 2025-02-27 09:43:02 +00:00
Evangelos Ribeiro Tzaras
3307b063a8 treewide: Document changes and release 48~beta.1
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/765>
2025-02-15 08:57:53 +01:00
Evangelos Ribeiro Tzaras
e028cc5c62 ci: Rename dist tarball so it will be found by the release pipeline
The TARBALL_ARTIFACT_PATH is formed from the name of the tag,
which is prefixed by a "v". Additionally special characters like the
tilde (e.g. 48~beta.1) are translated to underscores.

This resulted in the TARBALL_ARTIFACT_PATH Gitlab variable
not actually pointing to the generated tarball and therefore
a failing release job.

While I'd have preferred massaging the gitlab variable into the right
form, doing string substitution is not working on gitlab variable,
so I opted for a this workaround instead.

Fixes: aa8c1b571d

Signed-off-by: Evangelos Ribeiro Tzaras <devrtz@fortysixandtwo.eu>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/765>
2025-02-15 08:51:41 +01:00
Evangelos Ribeiro Tzaras
9340fb5e33 treewide: Document changes and release 48~beta.0
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/764>
2025-02-14 14:29:25 +01:00
Evangelos Ribeiro Tzaras
aa8c1b571d ci: Use GNOME release pipeline
And ensure we include subprojects in the tarball
while we're at it.

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/763>
2025-02-07 10:59:11 +01:00
Guido Günther
d275a1cedc ussd-dialog: Reindent
Done as a separate commit to ease review

Gbp-Dch: Ignore
Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/761>
2024-11-10 16:53:48 +01:00
Guido Günther
4bd12c1102 ussd-dialog: Use AdwSpinner
Make it a bit larger while at that

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/761>
2024-11-10 16:53:48 +01:00
Guido Günther
d5cc163801 main-window: Use AdwDialog for USSD
We grab the focus hence making the text entry easy to identify and by
following the content size we get a reasonable width.

Closes: https://gitlab.gnome.org/GNOME/calls/-/issues/681

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/761>
2024-11-10 16:53:48 +01:00
Guido Günther
047b5a1495 ussd-dialog: Simplify navigation
Focus the entry by default so we keep the OSK open when there's
additional input required

Helps: https://gitlab.gnome.org/GNOME/calls/-/issues/681

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/761>
2024-11-10 16:53:48 +01:00
Guido Günther
39d953c011 ussd-dialog: Set phone input purose on entry
USSD menus are usually navigatable with dumb phone keyboards
so this makes a good default.

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/761>
2024-11-10 16:53:48 +01:00
Guido Günther
52e7f56efd main-window: Set log domain
Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/761>
2024-11-10 16:53:48 +01:00
Guido Günther
8d1a339cf1 build: Bump libadwaita dependency to 1.6
Needed for AdwSpinner

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/761>
2024-11-10 16:53:48 +01:00
Guido Günther
10dc68c7a7 ci: Use newer image
We want libadwaita 1.6

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/761>
2024-11-10 16:53:48 +01:00
Милош Поповић
75c4072c4e Add Serbian (Latin) translation
(cherry picked from commit 0a60e31199f12cfb4325045a6d315395b3670894)
2024-10-30 11:13:19 +00:00
Милош Поповић
7d29e6b990 Update Serbian translation
(cherry picked from commit c7dc22ef8909aae7ae9042d4e616810df2e4c219)
2024-10-30 11:12:49 +00:00
Nathan Follens
ace44a9fb8 Update Dutch translation
(cherry picked from commit 0a87e448911730412677573b075554de9069de14)
2024-10-27 21:08:34 +00:00
Fabio Tomat
df56bf80ba Update Friulian translation 2024-10-07 13:19:09 +00:00
Juliano de Souza Camargo
879c5a6182 Update Brazilian Portuguese translation 2024-09-29 16:16:31 +00:00
Guido Günther
38ad7dae2a call-record-row: Turn the realized check into a critical
This makes sure we don't ignore it should it happen again.

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/756>
2024-09-21 06:23:20 +00:00
Guido Günther
4baa4f5141 call-record-row: Unparent popover in dispose
Finalize is too late to break reference cycles.

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/756>
2024-09-21 06:23:20 +00:00
Guido Günther
6d9b88546d util: Drop now unused macros
Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/756>
2024-09-21 06:23:20 +00:00
Guido Günther
08a01fb1c5 call-record-row: Use g_clear_signal_handler
glib is recent enough nowadays

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/756>
2024-09-21 06:23:20 +00:00
Guido Günther
2f8877b107 call-record-row: Drop superfluous cast
Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/756>
2024-09-21 06:23:20 +00:00
Guido Günther
f4e8373eaa history-box: Keep ref on list model
The gtk_*list_model_new() functions are `transfer: full` for the model.

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/756>
2024-09-21 06:23:20 +00:00
Guido Günther
12812f64c6 history-box: No need to unparent the stack
GTK cleans up for us

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/756>
2024-09-21 06:23:20 +00:00
Guido Günther
e2f3f5ef53 settings: Don't leak autoload plugins
Use the correct cleanup func

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/756>
2024-09-21 06:23:20 +00:00
Guido Günther
313d18509d settings: Don't leak audio codecs
Use the correct cleanup func

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/756>
2024-09-21 06:23:20 +00:00
Guido Günther
141eb85580 calls-manager: Don't leak hash tables
Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/756>
2024-09-21 06:23:20 +00:00
Guido Günther
fc9aabb1ec calls-manager: Keep ref on list models
The gtk_*list_model_new() functions are `transfer: full` for the model.
Since we keep accessing the underlying models we keep the refs for clear
ownership and drop them in finalize.

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/756>
2024-09-21 06:23:20 +00:00
Guido Günther
2b5d2f53a9 calls-notifier: Use official notification category
See https://gitlab.freedesktop.org/xdg/xdg-specs/-/merge_requests/50

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/748>
2024-09-21 06:15:19 +00:00
Evangelos Ribeiro Tzaras
40504ab4e5 ci: Update image
We want to use images that include

 - appstreamcli and
 - desktop-file-validate

so that metainfo and desktop files are validated in CI.

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/759>
2024-09-15 10:23:49 +02:00
Evangelos Ribeiro Tzaras
775d503715 ci: Include appstreamcli and desktop-file-utils in images
We require appstreamcli and desktop-file-validate
to validate metainfo and desktop files,
without them, these tests will be simply skipped.

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/759>
2024-09-15 10:22:47 +02:00
Evangelos Ribeiro Tzaras
11ce0eae72 metainfo: Remove links
Fixes the error that occurs during validation:
E: org.gnome.Calls:390: description-para-markup-invalid a
   This description paragraph contains invalid markup. Currently, only <em/> and <code/> are
   permitted.

Somehow CI missed this.
2024-09-14 22:29:28 +02:00
Evangelos Ribeiro Tzaras
d179a2b32a treewide: Document changes and release 47.0
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/758>
2024-09-14 22:02:20 +02:00
Evangelos Ribeiro Tzaras
598758026a libcall-ui: Bump to 0.2.1
Brings fixes to the keypad layout in RTL locales
and updated translations.

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/757>
2024-09-14 19:22:51 +00:00
Evangelos Ribeiro Tzaras
b15d557106 record-row: Only popup context menu if row is realized
This works around the long press gesture
(mis?) firing the "press" signal on a
row that is not realized anymore
(because the slice model in the history box
 currently rebuilds all rows when the items change).

Fixes: https://gitlab.gnome.org/GNOME/calls/-/issues/666
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/755>
2024-09-14 17:43:15 +02:00
Evangelos Ribeiro Tzaras
d9e6fb3717 record-row: Prefer g_signal_connect_object() over a plain connect()
Apparently the slice list model in the history box
rebuilds the whole list when a single new record gets added.

Additionally, the "pressed" signal gets emitted on the
GtkGestureLongPress controller even when the call button is tapped
(i.e. should not have been pressed down for longer than the required timeout).
This then causes the callback to be invoked with a disposed record row.

This commit ensures the signals get properly disconnected
even in the face of unforeseen cleanup of the record row.

Helps with https://gitlab.gnome.org/GNOME/calls/-/issues/666

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/755>
2024-09-14 17:42:51 +02:00
Evangelos Ribeiro Tzaras
f810e0a9b1 tree: Remove custom clearing macros
The macros was emulating g_clear_handle_id() and friends
let's use the glib functions directly instead.

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/755>
2024-09-14 11:59:27 +02:00
Evangelos Ribeiro Tzaras
5eabbb2ada record-store: Simplify struct setup of record call data
Just a mechanical change that results in -2 lines.

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/755>
2024-09-14 11:59:11 +02:00