Commit Graph

2226 Commits

Author SHA1 Message Date
Guido Günther
ee198d2073 emergency-call-types: Make hash table static
This is only meant to be used from this compilation unit

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/790>
2025-10-16 13:45:49 +00:00
Guido Günther
467111ad14 build: Add gmobile
We'll use it for the provider info parsing

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/790>
2025-10-16 13:45:49 +00:00
Guido Günther
401d02f47d build: Depend on mobile-broadband-provider-info
This will be used for emergency number lookup

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/790>
2025-10-16 13:45:49 +00:00
Guido Günther
52555030fb emergency-call-types: Use strv builder
Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/790>
2025-10-16 13:45:49 +00:00
Guido Günther
3e7f5e77ab emergency-call-types: Fix copyright year and holder
The files were created 2022, the header stating 2021 is a copy and paste
error. Fix a typo while at that.

Gbp-Dch: Ignore
Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/790>
2025-10-16 13:45:49 +00:00
Guido Günther
e617599ef0 flatpak: Use newer libfeedback
Let's have the bug fixes

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/790>
2025-10-16 13:45:49 +00:00
Evangelos Ribeiro Tzaras
798c698463 treewide: Document changes and release 49.1.1
Signed-off-by: Evangelos Ribeiro Tzaras <devrtz@fortysixandtwo.eu>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/797>
2025-10-14 16:07:54 +02:00
Evangelos Ribeiro Tzaras
9fab9ec7a5 plugin-manager: Add API to unload all plugins
And add tests for it.

Signed-off-by: Evangelos Ribeiro Tzaras <devrtz@fortysixandtwo.eu>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/796>
2025-10-14 11:11:56 +02:00
Evangelos Ribeiro Tzaras
33e5b193a0 test-application: Check for expected plugins to be loaded
These tests helps ensure the application will always have plugins
loaded and prevent regressions.

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

Signed-off-by: Evangelos Ribeiro Tzaras <devrtz@fortysixandtwo.eu>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/796>
2025-10-14 11:09:24 +02:00
Guido Günther
7103f18e48 application: Load plugins early
Fixes: 574e1f79 ("application: Drop ignore_activation flag")
Closes: https://gitlab.gnome.org/GNOME/calls/-/issues/718
Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/795>
2025-10-13 21:31:16 +02:00
Guido Günther
e608c83273 app: Use automatic cleanup
Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/795>
2025-10-13 21:31:16 +02:00
Guido Günther
8f6b8bc6b9 application: Actually test for write ahead log
While the test was correct and checked if there is only
`record.db` in a given dir (and no other files) it wouldn't
tell us whether the file wasn't there or there were additional
files found. Hence replace the test by assertions that tell
use exactly what failed easing debugging in CI.

Fixes: e4bd4580 ("tests: Add application shutdown tests")
Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/795>
2025-10-13 21:31:16 +02:00
Guido Günther
85b65d030d tests: Make the application test depend on the binary
Otherwise it is not rebuilt when it changes

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/795>
2025-10-13 21:26:23 +02:00
Guido Günther
32a88ecd80 application: Wait until all async database operations finished
When shutting down make sure there are no in-flight database operations.
Otherwise the database might not be closed correctly.

Improves fix for https://gitlab.gnome.org/GNOME/calls/-/issues/508

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/795>
2025-10-13 21:26:23 +02:00
Guido Günther
a56f43b036 record-store: Track async operations
We need to be able to tell when all async operations finished.
Otherwise we might shut down the daemon with in flight operations
leaving a open database around.

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/795>
2025-10-13 21:26:23 +02:00
Guido Günther
57b99a3a55 main-window: Drop confusing cast
Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/795>
2025-10-13 11:59:02 +02:00
Markus Göllnitz
3d5ff3dbdc contacts-box: adjust search bar's margin inside toolbar
A toolbar view, per its docs, expects its toolbar
children to either be of a set of known widget types that
are supported by default, or otherwise be a Gtk.Box-like
container with the .toolbar CSS style class.

This expectation was not met, but instead similar, but
not identical margins manually applied. These similar yet
different margins made it look off.

While this now adheres to the toolbar child requirements
of libadwaita, and the margins look more familiar, it
still breaks with libadwaita's assumption that toolbars
are not stacked. Its stylesheet allows for stacking
toolbar views only if one is providing the top and the
other the bottom one.

This view, especially, deserves a more thorough design
overhaul, regardless of this. Thus, I will leave it at
this.

Link: https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.ToolbarView.html

Signed-off-by: Markus Göllnitz <camelcasenick@bewares.it>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/791>
2025-10-10 18:37:07 +00:00
Markus Göllnitz
cab52d464c new-call-box: wrap dialer in scrolled window
It was possible to increase the window's size below the
minimum size of the dialer view. As such it is important
to wrap it in a scrolled window in order not to lose
access to otherwise hidden interface components.

This is, of course, not a replacement for a better
adapting dialer.

Signed-off-by: Markus Göllnitz <camelcasenick@bewares.it>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/791>
2025-10-10 18:37:07 +00:00
Markus Göllnitz
f7da8ecfbb main-window: move bottom switcher to toolbar
The toolbar view is meant for these. This allows
libadwaita's style to apply the way it can be seen in
basically every other GNOME app.

The differences are with the scroll dependent undershoot
instead of an unconditional border.

Signed-off-by: Markus Göllnitz <camelcasenick@bewares.it>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/791>
2025-10-10 18:37:07 +00:00
Markus Göllnitz
ba3e0b47ed main-window: increase width of switcher breakpoint
The current breakpoint is more or less perfect for
English. However, there are other languages with longer
strings there, such as German. Increasing the width at
which the breakpoint sits to switch the switcher location
enables most languages to have no or minimal ellipses
while not looking too spacious with English.

Signed-off-by: Markus Göllnitz <camelcasenick@bewares.it>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/791>
2025-10-10 18:37:07 +00:00
Guido Günther
a02ff9504c doap: Update Evangelos email
The dropped one isn't used since ages

Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/794>
2025-10-10 11:49:13 +02:00
Guido Günther
ec64f4939f doap: Add Guido as co-maintainer
Signed-off-by: Guido Günther <agx@sigxcpu.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/794>
2025-10-10 11:49:13 +02:00
Evangelos Ribeiro Tzaras
08b61594df treewide: Document changes and release 49.1
Signed-off-by: Evangelos Ribeiro Tzaras <devrtz@fortysixandtwo.eu>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/793>
2025-10-10 11:29:04 +02:00
Zayar Lwin
2d7c27bc06 Update Burmese translation 2025-10-03 02:35:59 +00:00
Emilio Sepúlveda
3d878cb1e0 Add Interlingua translation 2025-10-01 18:01:24 +00:00
Iverson Briones
0c9c6d469f Add Filipino translation 2025-09-28 12:45:45 +00:00
Markus Göllnitz
4b5a217431 flatpak: update to resolve build errors
This also aligns it a bit more with the Flathub build
description.

It also builds more dependencies from main or master
branches, especially GNOME ones. That should allow (a)
future breaking changes be found early, and (b) to let
the Flatpak build description sit otherwise with less
maintenance for simple version bumps.

Signed-off-by: Markus Göllnitz <camelcasenick@bewares.it>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/792>
2025-09-25 12:17:42 +00:00
Abduqadir Abliz
5f49fdf5b4 Add Uighur translation 2025-09-23 15:12:06 +00:00
Ziri Sut
aa76cb31f8 Update Kabyle translation 2025-09-23 08:56:55 +00:00
Sabri Ünal
35cb76b9db Update Turkish translation 2025-09-20 15:41:38 +00:00
Kristjan SCHMIDT
62300f6299 Update Esperanto translation 2025-09-20 09:17:24 +00:00
Bjørn Mørkedal
74fc49404a Add Norwegian Nynorsk translation 2025-09-05 05:57:23 +00:00
Guido Günther
574e1f79a3 application: Drop ignore_activation flag
Rather use gapplication service. This makes the flow similar to what
Chatty does and makes us hold/release rather than having an application
window.

It also allows us to drop the --daemon.

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/760>
2025-08-30 10:52:20 +00:00
Guido Günther
fbfe680f6a application: Validate daemon flag only on first startup
The activate method is used when the application is activated via
various means - e.g. via the `Activate` DBus method. We don't want to
ignore that activation just because calls was started with the
`--daemon` option. Rename the variable to better match what it means.

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/760>
2025-08-30 10:52:20 +00:00
Guido Günther
0c3adf840b data: Switch calls to DBus activation
This makes sure it gets correctly activated when launched e.g. in
phosh while calls is running in `--daemon` mode as the necessary
platform data containing the activation token is now passed via DBus.

This also helps situations when e.g. pressing the call button in chatty
or contacts.

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/760>
2025-08-30 10:52:20 +00:00
Guido Günther
24542d3bc2 application: Don't try to remove inexistent window
If the app never showed a window (e.g. in daemon mode) this
would otherwise raise a critical.

Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/760>
2025-08-30 10:52:20 +00:00
Boris Shtrasman
b640733424 emergency-call-types: add Israeli emergency numbers
Signed-off-by: Boris Shtrasman <41102-borissh@users.noreply.gitlab.gnome.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/785>
2025-07-19 00:43:55 +03:00
Evangelos Ribeiro Tzaras
5b1c702924 ci: Bump image
We haven't bumped it in a while,
let's have our image close to what will become Debian Trixie soon.

Gbp-Dch: Ignore

Signed-off-by: Evangelos Ribeiro Tzaras <devrtz@fortysixandtwo.eu>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/783>
2025-07-03 22:46:08 +02:00
Evangelos Ribeiro Tzaras
e170a76bc9 metainfo: Wrap old release notes in paragraph
This fixes the following warnings in `appstreamcli validate`:

W: org.gnome.Calls:239: description-spurious-text
   The description element contains raw text that is not in any paragraph or other permitted tag.
   This is not allowed and the additional text may be ignored by parsers or raise errors.

W: org.gnome.Calls:239: description-no-valid-content
   The description element does not contain any valid content (paragraphs, enumerations, etc.).

Signed-off-by: Evangelos Ribeiro Tzaras <devrtz@fortysixandtwo.eu>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/781>
2025-05-24 20:30:56 +02:00
Vivek wagdare
23b2208c1c contacts-box: Add vertical margins to SearchEntry in contacts view
Add proper vertical margins (12px) to the SearchEntry widget in the
contacts view to improve spacing and visual consistency. This matches
the existing horizontal margins and follows GNOME design guidelines.

This change improves the visual appearance by preventing the search bar
from appearing cramped, especially when using high-contrast themes.

Closes: https://gitlab.gnome.org/GNOME/calls/-/issues/672
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/762>
2025-05-24 18:03:09 +02:00
knoppix
ef9db6ce84 main-window.ui: add a proper callback for Close button
The signal click of Close button is connected to "gtk_widget_hide".
As a result the window is hided, but still active and the whole
program renders unresponsive.

The Close button can appear for example if USSD_STATUS_IDLE comes
before a user press Cancel button in dialog window
(could be for example because of carrier timeout).
The "adw_dialog_close" function should be called instead.

Signed-off-by: knoppix <knoppix@4d2.org>
Part-of: <https://gitlab.gnome.org/GNOME/calls/-/merge_requests/776>
2025-05-24 15:53:43 +00:00
Yi-Jyun Pan
c3b2314583 Update Chinese (Taiwan) translation 2025-05-13 06:20:54 +00:00
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