Commit graph

6353 commits

Author SHA1 Message Date
Michael Gratton
456b6cd55a Application.Client: Sort external const alphabetically 2020-10-03 23:34:31 +10:00
Michael Gratton
23bd2507a7 build: Update how build profiles are handled
Default to development build profile if a `.git` directory exists, else
error out of build configuration.

This make `auto` the default build profile and if set and a `.git`
directory is present default to `development`, else raise an error.
Add some docs to INSTALL describing build profiles and update how they
are used in the source to match.
2020-10-03 23:34:31 +10:00
Michael Gratton
aaa2934acf meson_options.txt: Update to use meson best practices and clean up
Convert to use meson features for features. Reorganise and rename
options for consistency. Make descriptions a bit less redundant.
2020-10-03 23:34:31 +10:00
Michael Gratton
d3badedad7 Merge branch 'mjog/1004-missing-labels' into 'mainline'
client: Fix not all folders being displayed in additional main windows

Closes #1004

See merge request GNOME/geary!594
2020-09-29 22:35:03 +00:00
Yosef Or Boczko
151f5ee66c Update Hebrew translation
(cherry picked from commit 710dd09e1bfbc8ce3fa7ec848cecc276c7e53dbe)
2020-09-29 14:05:53 +00:00
Michael Gratton
bfbc7f5d70 client: Fix not all folders being displayed in additional main windows
Application.MainWindow: Sort folders already available in an account
by path so that FolderListTree is able to add them all successfully.

Application.FolderContext: Implement Gee.Comparable so instances can
be sorted.

Fixes #1004
2020-09-29 23:03:31 +10:00
Michael Gratton
7dd098fc16 Merge branch 'mjog/989-flatpak-font-workaround' into 'mainline'
FormattedConversationData: Fix font settings being ignored under Flatpak

See merge request GNOME/geary!592
2020-09-28 13:01:06 +00:00
Michael Gratton
836a9ad384 FormattedConversationData: Fix font settings being ignored under Flatpak
Get the interface font from Gtk.Settings instead of GLib.Settings since
the latter can't actually access desktop settings under Flatpak.

Partial fix for #989

See also GNOME/glib#2213
2020-09-28 22:31:46 +10:00
Michael Gratton
af74b4577f Merge branch 'mjog/985-client-api-buld-failure' into 'mainline'
build: Fix build failure due to missing client API

Closes #985

See merge request GNOME/geary!590
2020-09-27 23:19:10 +00:00
Michael Gratton
b5abd3f966 build: Fix build failure due to missing client API
Don't use client lib vala ags when building the web process extension,
since that will cause it to also write a VAPI with the same name as
the client lib, causing the build to fail if the web process side wins
that race.

Fixes #985
2020-09-28 08:53:35 +10:00
Michael Gratton
d89ee32629 Merge branch 'mjog/composer-fixes' into 'mainline'
Misc composer fixes

See merge request GNOME/geary!587
2020-09-27 13:37:03 +00:00
Michael Gratton
70186163e8 Composer.Widget: Fix critical when immediately detaching a new composer
New composers have no associated GLib Application instance, so when the
main window is already showing a composer and another is opened, the
new composer has no application to pass its window.

Fix by requiring `Composer.detach` be passed an application instance
and find an appropriate instance at each call site.
2020-09-27 22:46:40 +10:00
Michael Gratton
bd85c4f1a8 Composer.Widget: Fix criticals when "mailto:" has empty body 2020-09-27 19:57:52 +10:00
Michael Gratton
13f5602446 Merge branch 'mjog/991-gcr-critical' into 'mainline'
Fix GCR critical

Closes #991

See merge request GNOME/geary!583
2020-09-24 22:59:08 +00:00
Michael Gratton
82f0ca8d0f Merge branch 'mjog/db-result-timing' into 'mainline'
Database contention and locking redux

See merge request GNOME/geary!578
2020-09-24 22:54:30 +00:00
Michael Gratton
0475d29f84 Application.CertificateManager: Warn when GCR not able to access stores
At least let people know somehow their GCR setup is lacking.
2020-09-25 08:27:36 +10:00
Michael Gratton
7f7c55e79a Application.CertificateManager: Fix critical when no GCR trust stores
Ensure GCR store not null before accessing it.
2020-09-25 08:25:34 +10:00
Michael Gratton
880705f2ab Update files for 40 development 2020-09-25 08:23:15 +10:00
Daniel Mustieles
571c10add8 Updated Spanish translation 2020-09-23 09:26:43 +02:00
Dušan Kazik
5942e30377 Update Slovak translation
(cherry picked from commit 2028c9dea3f1d8f6c5dcfdd44f5f1990121e0983)
2020-09-21 11:52:27 +00:00
Dušan Kazik
e56e2a8e54 Update Slovak translation 2020-09-16 11:28:54 +00:00
Goran Vidović
d26894046b Update Croatian translation 2020-09-15 23:26:19 +00:00
Goran Vidović
3e176af1e1 Update Croatian translation 2020-09-15 23:17:28 +00:00
Fabio Tomat
e957f0f8a7 Update Friulian translation 2020-09-15 06:56:54 +00:00
Fabio Tomat
acabdc9e73 Update Friulian translation 2020-09-15 05:52:24 +00:00
Fabio Tomat
4a4e6a6992 Update Friulian translation 2020-09-15 05:20:06 +00:00
Fabio Tomat
56b77cf0d7 Update Friulian translation 2020-09-14 19:32:40 +00:00
Michael Gratton
26f3878a7a Update files for 3.38.0.1 2020-09-14 23:36:32 +10:00
Michael Gratton
a67d55bff6 Merge branch 'mjog/forgotten-sql-files' into 'mainline'
sql: Remember to install new SQL migration files

See merge request GNOME/geary!581
2020-09-13 14:22:45 +00:00
Michael Gratton
1e2ae9410f sql: Remember to install new SQL migration files 2020-09-13 23:59:00 +10:00
Jordi Mas
b72a8491c6 Update Catalan translation 2020-09-13 09:34:47 +02:00
Michael Gratton
22b642edef Update files for 3.38 2020-09-13 14:21:30 +10:00
Michael Gratton
3d8b86dd4e Geary.ImapDB.Folder: Drop create/merge batch size down
We've had reports on Matrix that existing batch transactions in
`create_or_merge_email_async` are taking up to 30s to run, which is
getting uncomfortably close to the 60s timeout.

Drop the batch size down from 25 to 10 to reduce the chance that this
will eventually fail with a "database is locked" error.

See #921 for context.
2020-09-12 12:02:49 +10:00
Michael Gratton
915a38faca Geary.ImapDb.Account: Slice up search table population work better
Although populating the search table had been broken up into batches
of 50 email, it was still search for and loading every single message
id in both the MessageTable and MessageSearchTable, doing a manual
join, and then updating the batch, for *each* batch, and in a RW
transaction.

Break this up so that the ids are loaded and joined only once, the
queries happens in a RO transaction, the manual join happens in a side
thread, leaving each RW transaction only having to load the messages
and update the search index for up to 50 messages.
2020-09-11 00:00:02 +10:00
Michael Gratton
0f60c285df Geary.Db: Update SQL logging
Ensure all code paths that execute SQL are logging it if enabled, and
clean up the log formatting.

Add new `enable_result_logging` static property to control result
logging separately from SQL logging, so we can get SQL logged without
having to see email. Clean up result formatting, and keep track of the
current result row number and log that as context.
2020-09-10 23:59:05 +10:00
Michael Gratton
e39853db62 Geary.ImapEngine.GenericAccount: Set database logging parent per account
Set the database's logging parent so its log statements are associated
with its account in the inspector.
2020-09-10 19:07:42 +10:00
Michael Gratton
940ca83195 Geary.Db.Context: Remove separate logging_parent property
Since each context type already has access to the object that is its
context parent, don't bother with a stand-alone `logging_parent`
property, just have context types implement it and return the
appropriate object.
2020-09-10 19:07:42 +10:00
Michael Gratton
0fa0d0ea4d Geary.Db.Statement: Minor code cleanup
Make `sql` a proper auto property. Remove expanded sql workaround.
Minor code style cleanup.
2020-09-10 19:07:42 +10:00
Michael Gratton
485868d570 Geary.Db.DatabaseConnection: Check elapsed time for exec statements
Re-work elapsed timer to be usable in other context objects, use it
for timing exec query execution.
2020-09-10 19:07:28 +10:00
Jordi Mas
ea40569251 Update Catalan translation 2020-09-08 22:42:52 +02:00
Fabio Tomat
d3905e141d Update Friulian translation 2020-09-08 14:22:36 +00:00
Michael Gratton
a1d31847b1 Geary.Db.Result: Log large elapsed query times as a warning
Help ensure that long-running queries get some visibility during
development.
2020-09-08 22:13:39 +10:00
Michael Gratton
3b6dd30332 Geary.Db.Context: Update access to DatabaseConnections
Ensure internal code can access a DatabaseConnection from context
objects to get access to connection-specific code, but make the
polymorphic context accessors internal so transactions can't access
them.
2020-09-08 22:13:19 +10:00
Michael Gratton
5b64939490 Update files for 3.37.92 2020-09-06 08:48:36 +10:00
Michael Gratton
45c27dffa4 Merge branch '921-slow-old-detach-query' into 'mainline'
Fix query performance regression in old message detachment

See merge request GNOME/geary!577
2020-09-05 05:09:30 +00:00
Michael Gratton
4ae97ab74b Merge branch 'mjog/921-db-locked' into 'mainline'
Database is locked error

See merge request GNOME/geary!576
2020-09-05 04:51:32 +00:00
Michael Gratton
6d473a2655 Geary.Logging.Record: Stop keeping a ref on logging source objects
When constructing a new record, rather that getting the state object
from a source and hanging on to it, just keep a few salient details
and then release it, so we don't keep a ref to the source hanging
around. This also means we need to pre-fill well-known up front, adding
some overhead when not logging.

This fixes hitting resource limits like memory and file descriptors
when lots of objects are logged, as seen when logging is enabled for
the DB, and in particular for `DatabaseConnection` objects, since each
one represents an open SQLite database file and related state.

It also ruins the glorious future in which we could inspect logged
objects in the Inspector in the same way that Firefox allows you to
inspect objects in the JS console, but c'est la ve. The way forward
there is probably adding structured data to state objects, allowing
sources to provide a curated set of properties to log.
2020-09-05 13:25:41 +10:00
Michael Gratton
2983990eca Application.Client: Ensure DB log messages show up in the inspector
Stop suppressing the db's logging domain by default for the moment.
2020-09-05 13:25:41 +10:00
Michael Gratton
dcad419b03 Geary.Db.DatabaseConnection: Add SQL debug logging when txns fail
This isn't a good place to do it, but neither GLib's error model not the
engine's database model makes it possible to getting access to
transaction state otherwise at the moment.
2020-09-05 13:25:41 +10:00
Michael Gratton
51ad8458a9 Geary.Db: Update logging implementation
Fix infinite recursion logging from DatabaseConnection caused by
`to_string` and Context implementing `to_logging_state` that calls that.
Make individual objects implement `Logging.Source` instead and have
them return appropriate, custom logging state individually.
2020-09-05 13:25:41 +10:00