Commit graph

7241 commits

Author SHA1 Message Date
Baurzhan Muftakhidinov
f696675000 Update Kazakh translation 2026-01-27 14:11:56 +00:00
Efstathios Iosifidis
0c049f26ac Update Greek translation 2026-01-12 22:13:45 +00:00
Muhammet Kara
59a0a1a4ef Update Turkish translation 2025-12-28 09:45:37 +00:00
Fran Diéguez
5c22019056 Update Galician translation 2025-12-23 11:42:31 +00:00
Anders Jonsson
a3aad5e4b7 Update Swedish translation 2025-12-21 21:50:30 +00:00
Juliano de Souza Camargo
4667a6dd43 Update Brazilian Portuguese translation 2025-12-15 17:22:53 +00:00
Niels De Graef
c5630d0567 ComposerPageStateTest: Don't use NBSP directly
In some WebKitGTK versions, we were getting the following error from
within WebKit when running the `replace_non_breaking_space` test:

> SyntaxError Invalid character: '\0'

Doing some further investigation, it seems like webkit was choking on
the raw non-breaking space character (NBSP) that we were using in the
test's string literals, specifically the first byte of its raw value
`U+00A0`.

Work around this for now by generating the NBSP in Javascript itself,
rather than passing on the raw value.
2025-12-15 00:40:52 +00:00
Niels De Graef
619bf5b4e0 Migrate to gcr-4 and gck-2
The older versions aren't maintained anymore. Luckily, this is quite a
minimal change, since we only use a very small subset of those APIs.
2025-12-15 00:40:52 +00:00
Yuri Chornoivan
1f058b8bf8 Update Ukrainian translation 2025-12-13 18:33:39 +00:00
Martin
de3b9459e0 Update Slovenian translation 2025-12-12 07:37:10 +00:00
luming zh
d9d0ba6e31 Update Chinese (China) translation 2025-12-12 00:25:05 +00:00
Niels De Graef
0dad64a81d Port plugins from libpeas-1 to libpeas-2
The newer version of libpeas was released a couple of years ago already,
and at this point should probably be consdered the only maintained
version.

The changes are pretty minimal, and most should be pretty obvious from
the libpeas migration guide. The only annoying thing is that we can't
use `Peas.Engine.create_extension()` directly, since it's not exposed to
language bindings (even to Vala, which supports varargs, but alas).

Link: https://gnome.pages.gitlab.gnome.org/libpeas/libpeas-2/migrating-1to2.html

Fixes: https://gitlab.gnome.org/GNOME/geary/-/issues/1690
2025-12-12 01:02:12 +01:00
Niels De Graef
f2d5f8b249 Remove subprojects/.wraplock
Looks like it was accidentally committed, oops.
2025-12-12 00:58:00 +01:00
Niels De Graef
9021d181d3 Follow GNOME Code of Conduct
This is a requirement anyway since we're hosted on GNOME infrastructure,
and seems to be compatible with Geary's old CoC (the Contributor
Covenant CoC) anyway.
2025-12-11 23:58:17 +01:00
Niels De Graef
d726e9a120 Rename meson_options.txt to meson.options
The former is the pre-Meson 1.1 version of defining build options, while
the latter is the newer way. Now that we've started requiring a newer
Meson version, we can move to this new form too.
2025-12-11 23:46:15 +01:00
Niels De Graef
b06da3175e meson: Bump minimal meson version to 1.7
We're already requiring a much newer version than we previously reported
anyway, since we were using for example `gnome.post_install()` which is
only available from Meson 0.57 and later.

So let's bump this to a somewhat more modern version which is available
in most distros.
2025-12-11 23:46:04 +01:00
Niels De Graef
12c453f84c meson: Use SPDX identifier in project license
The `license` named argument in Meson's `project` function is supposed
to be a SPDX license identifier. "LGPL2.1+" isn't correct here, so
replace it with the appropriate SPDX identifier.
2025-12-11 23:39:20 +01:00
Niels De Graef
dea6e6b364 Remvoe .gitattibutes
Most lines in there were from a very long time ago, when we didn't have
separate bulid directories yet, or from people's specific local
configuration (which they should put in their own local git repo).

The last line that was added was for mimicking syntax highlighting
support in the GitLab UI, but since then that has grown support for
Meson build syntax, so let's just use that instead.
2025-12-11 23:26:36 +01:00
Niels De Graef
2823c9da27 Point old wiki links to the new Geary Gitlab wiki 2025-12-11 23:20:40 +01:00
Niels De Graef
cef4cd0369 Drop COPYING.pyyaml
This was added as part of the JSON-to-YAML Flatpak manifest handling in
commit f7f72143e0. Since then, we've moved on to just use the JSON
flatpak manifest though in commit adca034818. Since those files got
dropped, we can drop their appropriate COPYING file as well.
2025-12-11 09:03:08 +01:00
Niels De Graef
81859bd3c3 Adapt vala-unit and tests to GLib 2.70 and later
`GLib.TestSuite` is a special type of object, as it doesn't actually
have an associated copy function or a reference/unreference function.
In practice, that actually means there's no way to actually have 2
strong references to such an object, or to copy it somehow. Due to the
way GObject properties in Vala work, that means you can't really use
them either.

Ever since vala commit 5f0a146f65, this got reflected properly in the
internally maintained GLib VAPI (as people were experiencing double
frees otherwise), but it was added only conditionally for GLib 2.70 or
later. In practice, that means you only get vala compiler issues if you
(impliclty) set `--target-glib=2.70` (or a later version).

To fix this for vala-unit and our own Geary tests, this commit changes
the `ValaUnit.TestCase` class to only allow "stealing" the strong
reference to the `GLib.TestSuite`, rather than somehowing allowing
people to hold a weak reference, and by also making it a protected field
rather than a property.

Since this changes the API of ValaUnit, we also bump the version. In
general though, I hope people aren't using ValaUnit externally, since
these types of API/ABI breaks can happen with Vala libraries.

Link: 5f0a146f65
2025-12-07 11:37:22 +01:00
Niels De Graef
6ce2373a75 Create a config.vapi for config.h
Currently, a lot of our build variables that are defined at
configuration time, are spread out across the code base, often declared
as `extern` which can break when moving around sections of the code
across files.

This commit introduces a "Config" namespace which basically maps to the
definitions in `config.h`, but allows us to properly access them too
from the Vala source code.

By doing so, it helps us to more explicitly see where we rely on a
build variable from this file (which should be obvious from the `Config'
namespace).

To make it ourselves a bit easier in Meson too, we can declare an
internal dependency, which helps ensure that we pull in the dependency
where needed.
2025-12-07 01:32:32 +01:00
Niels De Graef
dc14aa091c flatpak: Update snowball patch for latest master 2025-12-06 10:07:05 +01:00
Niels De Graef
1a5dd9ab25 Remove .gitignore
A lot of the .gitignore build was either outdated (for unused software,
or for the time we didn't have separate build & source directories), or
really should be something people shuld be putting in either their own
global `.gitignore`, or in `.git/info/exclude` for a local set of files
git should ignore.

This also removes the annoying problem that we can't easily add or
update .patch files we need to add for the flatpak build once in a
while.
2025-12-06 10:05:43 +01:00
Niels De Graef
f8f1e228e0 flatpak: Stop bundling libproxy
The fixes we need are now part of the nightly GNOME runtime, so we no
longer need to bundle the latest mainline.

Fixes: https://gitlab.gnome.org/GNOME/geary/-/work_items/1693
2025-12-06 00:32:14 +01:00
Niels De Graef
49f862a488 ci: Start using GNOME Release Service
See https://handbook.gnome.org/maintainers/making-a-release.html
2025-11-30 11:45:46 +01:00
Niels De Graef
fbb9ba1e49 flatpak: Stop bundling copy of libsecret
We started bundling libsecret in commit a085f90831 to workaround an
issue in the 0.20 version where looking up a password could indefinitely
hang.

Since version 0.21.4, this has been resolved, and this version is also
available in the GNOME runtime, so let's stop building it ourselves.
2025-11-28 00:07:44 +01:00
Niels De Graef
f470a1ed7d ci: Make Flatpak builds blocking again
The Flatpak builds are now fixed again in the CI, so let's no longer
allow them to break.
2025-11-27 20:42:46 +01:00
Niels De Graef
e4a50ed3b2 flatpak: Don't specify branch
Apparently, this breaks the Flatpak CI yaml assumptions and makes the
"build-bundle" step there break with the following error:

> error: Refspec 'app/org.gnome.Geary.Devel/x86_64/test' not found
2025-11-27 20:19:56 +01:00
Niels De Graef
3ba5c44ab8 flatpak: Temporarily bundle libunwind
Some of our `ComposerWidgetTest` tests are failing with SIGSEGV.

This seemingly happens because they create a new
`Geary.AccountProblemReport`; for example, because a `MockAccount`
doesn't actually implement `get_required_special_folder_async()`.

That in turns will indirectly create a `Geary.ErrorContext` which will
try to use libunwind to create a stack trace. And there, it seems that
`unw_get_proc_name()` is the function that is actually segfaulting.

Looking at libunwind recent history, a similar crash was reported [1]
which has been fixed in libunwind commit b32ce6ee36. Since that hasn't
been backported into a release, let's bundle the latest mainline from
libunwind instead to get the fixes in.

[1]: https://github.com/libunwind/libunwind/issues/827
2025-11-27 19:58:46 +01:00
Niels De Graef
54d6fe2601 tests: Fix ComposerWebViewTest:get_html_for_draft
Our test wasn't using the appropriate callback `.end()` function, which
was failing the test with the latest Vala nightly releases, breaking the
Flatpak build in our CI already too. This should fix that issue.
2025-11-26 00:23:19 +01:00
Niels De Graef
b1e53e5e7d flatpak: Patch libproxy
The latest main branch contains a fix that demotes a warning to a debug
message, which solves some of our tests failing.
2025-11-25 18:03:36 +01:00
Niels De Graef
e08e3a8c0c flatpak: Add test-args
This should fix several failures when running the test suite in our
Flatpak build, as they are not able to reach the Wayland compositor.
2025-11-24 23:39:15 +01:00
AsciiWolf
ba7f91b7c9 desktop: Fix circular component name 2025-11-24 22:17:04 +00:00
Daniel Rusek
40de6410d1 desktop: Remove the deprecated ".desktop" suffix from AppStream app id 2025-11-24 22:17:04 +00:00
Niels De Graef
932598f98f ci: Use latest flatpak-ci-templates again
The errors we were trying to avoid are now also visible with this
specific commit, so it looks like something else is the cause.
2025-11-24 12:44:04 +01:00
Niels De Graef
d44e934ccf webview: Don't register the same resources twice 2025-11-24 12:29:38 +01:00
Niels De Graef
3ff4fe5b6a flatpak: Use local directory for geary module
While we're at it, set "run-tests" to true to make sure people are
running tests with flatpak-builder.
2025-11-24 12:26:29 +01:00
Niels De Graef
fa129c5bbf Revert "flatpak: Fix gmime build"
The patch got merged upstream, so no need for us to carry it anymore.

This reverts commit 2572bef6dd.
2025-11-24 09:13:37 +01:00
Niels De Graef
70791ac59f flatpak: Adjust snowball patch for latest master
Add a bit more comments in the patch file.
2025-11-24 01:01:41 +01:00
Niels De Graef
2572bef6dd flatpak: Fix gmime build
Apparently it does a explicit version check for automake, but in such a
way that it needs to be patched on new automake versions. Patch this out
while we await the PR upstream to be merged into master.

See: https://github.com/jstedfast/gmime/pull/180
2025-11-24 00:44:03 +01:00
Niels De Graef
de42107661 flatpak: Update libical version
The current version doesn't build anymore, which is breaking CI
2025-11-24 00:22:26 +01:00
Niels De Graef
b7bd689bd8 ci: Make use of pre-built container images
Rather than continuously calling `dnf upgrade` and `dnf install`, let's
make use of pre-built containers that we can auto-generate thanks to the
FDO CI templates.

This should cut down on the CI time considerably.

Note that this commit drops Ubuntu as a distribution for now. With
Fedora, we should be close enough to figure out if non-Flatpak builds
are broken, without doing packaging work for every distro out there.
2025-11-24 00:17:12 +01:00
Niels De Graef
91d3cfb04c ci: Add package for g-ir-compiler in Ubuntu 2025-11-22 19:53:36 +01:00
Niels De Graef
fe9aeccb5c ci: Fix Fedora WebKitGTK dependency
The original `webkitgtk4-devel` package is no longer available in the
latest Fedora versions. Use `webkit2gtk-4.1-devel` instead.

Link: https://discussion.fedoraproject.org/t/what-is-the-status-of-the-webkit2gtk4-0-deprecation/88042/2
Link: https://blogs.gnome.org/mcatanzaro/2025/04/28/webkitgtk-api-versions/
2025-11-22 19:53:15 +01:00
Daniel Rusek
746efdc41b Update Czech translation 2025-10-27 08:23:01 +00:00
Hugo Carvalho
4aaba7bc1b Update Portuguese translation 2025-10-22 09:09:52 +00:00
Sabri Ünal
0547dc399a Update Turkish translation 2025-09-20 05:55:11 +00:00
Nathan Follens
0105ebab72 Update Dutch translation 2025-09-14 08:10:27 +00:00
Balázs Úr
efb1d8c9c4 Update Hungarian translation 2025-09-09 19:33:03 +00:00