Commit graph

5894 commits

Author SHA1 Message Date
Michael Gratton
e56b155c27 Plugin.EmailStore: Ensure email-sent is emitted by email plugins 2020-03-30 21:05:00 +11:00
Michael Gratton
88c049e1d0 Plugin.EmailStore: API doc fixes 2020-03-30 21:05:00 +11:00
Michael Gratton
9bb7b77f17 Plugin: Add EmailExtension plugin extension type
Add EmailExtension plugin extenion with context object and
Application.EmailContext implementing it. Check for plugins with
this type in PluginManager and init/deinit their contexts as needed.
2020-03-30 21:05:00 +11:00
Michael Gratton
77def2d9c2 Merge branch 'mjog/build-updates' into 'mainline'
Build updates

See merge request GNOME/geary!477
2020-03-30 09:08:48 +00:00
Michael Gratton
016998359b src/client/plugin: Rename plugin data files so they get translated
Since xgettext doesn't recognise .plugin files as desktop files,
rename them to `….plugin.desktop.in`. Add missing plugins to POFILES.in.
2020-03-30 19:51:01 +11:00
Michael Gratton
87ca799104 **/*/meson.build: Update meson files to be more idiomatic 2020-03-30 19:24:57 +11:00
Michael Gratton
4c5a3e860a meson.build: Bump version for new unstable branch 2020-03-30 19:08:20 +11:00
Michael Gratton
9597942116 src/client/application/main.vala: Remove explicit Poodle mitigation
Remove explicit Poodle SSL 3.0 exploit mitigation - distros are doing
a better job of enabling secure TLS algos now.
2020-03-30 18:59:53 +11:00
Michael Gratton
f7d111eab2 Merge branch 'mjog/752-no-sent-sound' into 'mainline'
org.gnome.Geary.yaml: Add Pulse Audio and FDO sound theme

Closes #752

See merge request GNOME/geary!476
2020-03-30 06:36:04 +00:00
Michael Gratton
ab635f4937 org.gnome.Geary.yaml: Add Pulse Audio and FDO sound theme
Former fixes Sent Mail plugin from being able to play, latter provides
it with something to play.

Fixes #752
2020-03-30 17:01:19 +11:00
Michael Gratton
c8a19a37be Merge branch 'mjog/779-resetted-unpossible-english' into 'mainline'
Geary.Db.Statement: Fix poorly worded signal name

Closes #779

See merge request GNOME/geary!472
2020-03-30 04:59:41 +00:00
Michael Gratton
353f48c71f Merge branch 'mjog/777-copyright-year' into 'mainline'
Application.Client: Update copyright year

Closes #777

See merge request GNOME/geary!473
2020-03-30 04:58:32 +00:00
Michael Gratton
a38ac6f324 Merge branch 'mjog/make-client-lib-private' into 'mainline'
Install client library in private lib sub-directory

Closes #775

See merge request GNOME/geary!470
2020-03-30 04:44:36 +00:00
Michael Gratton
96183f076b Merge branch 'settable-revno' into 'mainline'
Allow explicit setting of revision string

See merge request GNOME/geary!471
2020-03-30 04:44:23 +00:00
Michael Gratton
f1a7a868dd Application.Client: Update copyright year
Fixes #777
2020-03-30 15:40:16 +11:00
Michael Gratton
18e70b0fe8 Merge branch 'mjog/424-remove-empty-folder-menu-items' into 'mainline'
Remove empty trash/spam menu items

Closes #424

See merge request GNOME/geary!448
2020-03-30 04:36:12 +00:00
Michael Gratton
f3905a6577 Geary.Db.Statement: Fix poorly worded signal name
Fixes #779
2020-03-30 15:33:45 +11:00
Daniel Kahn Gillmor
43b5213799 Allow explicit setting of revision string
This lets a packager ensure that the binary object built from an
unpacked source tarball is identical to the binary object created from
a live git tree.

I hope to use it in debian with something like -Drevno=debian/3.36.1-1
during the meson configuration, so that the help dialog box and the
bug reporting logs can identify the specific build.

Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2020-03-30 00:18:35 -04:00
Michael Gratton
83be745e95 Install client library in private lib sub-directory
Use Geary's private lib sub-directory so that the library won't be found
on the global library search path. Version the library name to avoid
clashes. Update the binary's rpath on install so it can find the lib
still.

Fixes #775
2020-03-30 14:13:49 +11:00
Michael Gratton
6dd2d1bcc1 Update THANKS 2020-03-30 11:31:50 +11:00
Piotr Drąg
aac64df91d Update Polish translation 2020-03-29 13:06:42 +02:00
Yuri Chornoivan
ef90d4d974 Update Ukrainian translation 2020-03-29 06:10:12 +00:00
Michael Gratton
850d7f1c28 Merge branch 'mjog/771-html-not-wrapped-on-send' into 'mainline'
HTML not wrapped on send

Closes #771

See merge request GNOME/geary!468
2020-03-29 05:52:02 +00:00
Michael Gratton
6ee30c99c2 Merge branch 'fix/remove_double_dot_from_from_label' into 'mainline'
Composer.Widget: Do not set double dot after 'From' label

See merge request GNOME/geary!467
2020-03-29 05:38:40 +00:00
Michael Gratton
2eb597fec1 Geary.RFC822.Message: Always re-determine the encoding for body parts
When attaching body parts to a message from a composed email, don't
re-use the transfer encoding used from the plain part for the HTML part,
since the latter may be different if e.g. the HTML contains no line
breaks and hence is a single long line.

See #771
2020-03-29 16:29:30 +11:00
Michael Gratton
f3c02c7800 Geary.RFC822.Utils: Ensure best encoding/charset not missing data
By not closing/flushing the buffer, ::get_best_charset and
::get_best_encoding were not including the last line of the buffer, and
missing single very long lines when guessing the encoding.

Fixes #771
2020-03-29 16:24:58 +11:00
Michael Gratton
42152d00ba Geary.RFC822.Message: Work around long HTML lines exceeding SMTP max len 2020-03-29 09:51:17 +11:00
Yuri Chornoivan
cc01afed4c Update Ukrainian translation 2020-03-28 16:19:16 +00:00
Rafael Fontenelle
1016b95de1 Update Brazilian Portuguese translation 2020-03-28 11:57:51 +00:00
Björn Daase
dbfa640e76 Composer.Widget: Do not set double dot after 'From' label
We do not set double dots after the other labels so remove it for the
'From' label as well.
Therefore, adjust the .ui file to have the right label (with the
mnemonic underscore) and remove the adjustment of it in code.
2020-03-28 12:09:32 +01:00
Michael Gratton
79125d1c1a Geary.Imap.Serializer: Remove unused id and to_string members 2020-03-27 08:29:14 +11:00
Michael Gratton
47945cbde0 Geary.Imap.ClientConnection: Simplify serisaliser buf handling
Now that Serialiser isn't using a DataOutputStream, remove workarounds
for glad-handling it.
2020-03-27 08:29:14 +11:00
Michael Gratton
52a9102f78 Geary.Imap.Serializer: Trivial doc comment update 2020-03-27 08:29:14 +11:00
Michael Gratton
7347451338 Geary.Imap.Serialiser: Stop using GDataOutputStream
We're getting another report of segfaults from GDataOutputStream's
internal thread (in addition to the issue that commit 479e9946 was
workgin around), so just stop using it.

By using a buffered stream and writing directly to it, we won't block
the main thread except for commands with very large parameter sets,
which shouldn't happen too often.
2020-03-27 08:29:14 +11:00
Michael Gratton
31260ab1e0 Fix Geary.Imap.ClientService sometimes not closing sessions
Update to ensure sessions are always closed and dropped as needed.
2020-03-27 08:29:14 +11:00
Michael Gratton
b53d5b2470 Simply Geary.Imap.ClientService selected mailbox handling
Convert mailbox and mailbox RW/RO state accessors to properties and
rename to be more explicit about what they mean. Remove mailbox arg
from ::getProtocolState() since it's unused.
2020-03-27 08:29:14 +11:00
Michael Gratton
9e01d8dca0 Remove Geary.Imap.ClientSession::server-data-received signal
This was only being used internally, and it leaks low level details out
of the mid-level abstraction.
2020-03-27 08:29:14 +11:00
Michael Gratton
7ac72379bb Update Geary.Imap.ClientSession namespace handling
Add namespace accessors, handle updating namespaces when processing
the received data, not when executing the command so that unsolicited
namespaces are still recognised. Clear namespaces when new data is
receieved and when not in selected and auth states. Add unit tests.
2020-03-27 08:29:14 +11:00
Michael Gratton
b46838f100 Update Geary.Imap.Capabilities handling
Move Capabilities to the api directory and make immutable.

Don't pass around out params to simply increment the revision and use a
field in ClientSession, just use the last capability instance. Ensure
after starting a TLS session capabilities are cleared. Add unit tests
for getting both implicit and explicity capaibilities when initiating
a client session.
2020-03-27 08:29:14 +11:00
Michael Gratton
53ce727c03 Minor fixes 2020-03-27 08:29:14 +11:00
Michael Gratton
13d43d41b2 Update Geary.Imap.ClientSession connect timeout handling
Allow specifying the connect greeting timeout length, ensure that
any connect errors are in place before releasing the connect waiter,
add unit test to ensure it works properly.
2020-03-27 08:29:14 +11:00
Michael Gratton
54156003b4 Add TestCase.assert_double 2020-03-27 08:29:14 +11:00
Michael Gratton
ca7cc04ab2 Remove Geary.Imap.ClientSession lifecyle signals
They aren't being used, and clients should use lifecycle methods to
determine these events anyway.
2020-03-27 08:29:14 +11:00
Michael Gratton
57a1ef3f73 Fix Geary.Imap.ClientSession::disconnect_async not working
By not setting proceed in the FSM, the method would never actually
proceed.
2020-03-27 08:29:14 +11:00
Michael Gratton
cd924e5568 Clean up Geary.Imap.ClientSession disconnect handling
Drop standalone async callbacks and common method when handling
logout/error disconnects.
2020-03-27 08:29:14 +11:00
Michael Gratton
79ba094f0e Fix Geary.Imap.Command never receiving a response timeout 2020-03-27 08:29:14 +11:00
Michael Gratton
e0b973be2e Update Geary.Imap.Deserialiser implementation
Rename private fields to be more descriptive. Don't keep both a
SocketConnection and an IOStream around and always try to close both.
In the case of a TLS connection, just check if the stream is a TLS class
and close the inner stream if needed. Tidy up serialiser and
deserialiser management.
2020-03-27 08:29:14 +11:00
Michael Gratton
67e9a4ccc2 Update Geary.Imap.Deserializer
Remove converter since it is unused, ensure DataOutputStream is closed
when the deserialiser is stopped. Rename dins property to be something
more descriptive.
2020-03-27 08:29:14 +11:00
Michael Gratton
62f1df12cb Rework Geary.Imap.ClientConnection signal and error handling
Remove connect, disconnect and close_error signals, since they are
implied by their respective methods completing and/or throwing an
error. Remove Deserializer pass-through signals, treat all three kinds
as generic receive errors instead.

Make Deserializer emit end-of-stream signal only on EOS, not on EOS and
on receive error, so it only signals an error condition once.
2020-03-27 08:29:14 +11:00
Michael Gratton
7e77133bda Update Geary.Imap.Command API
Make the class abstract, since it only gets used by subclases. Allow
a null cancellable when waiting for the command to complete.
2020-03-27 08:29:14 +11:00