Since commit 6a0ad721 landed the client can no longer reply on
pre-filling JS page state before loading the message body HTML, since
it would be cleared when the JS page state is initialised in the
window-object-cleared handler.
Instead, set the load remote flag as a GObject data property on the
WebKit.WebPage object in the web process via the extension, and consult
that when determining whether to allow loading remote content.
Fixes#1170
Ensure a progress meter is shown even for remote resources loading
after the page load has completed, but don't bother showing it for the
page load itself.
At least one IMAP server has been observed to send a UIDVALIDITY 0 value,
for example, iCloud. This change allows Geary to work with such servers,
even though it's technically in violation of RFC 3501.
Fixes#1183
Pass an instance of the owning `Sidebar.Tree` through to `Sidebar.Entry`
when calling `internal_drop_received` instead of a
`Application.MainWindow` to remove a bidi relationship between the two.
Use the high level GTK API for determining the DnD action in
`FolderList.Entry`'s implementation of this method, rather than attempt,
to divine it from keyboard modifiers via the associated GDK window,
since under Wayland that will be null.
Fixes#1163
On slow connections and/or for large literal data blocks, commands can
time out while still reading literal data.
Ensure that command timeouts are updated whenever we also notify
higher level components of data being received.
Since `received_bytes` is emitted whenever a complete line is received
from the server, it can be emitted a *lot*. To reduce the CPU overhead
of this, and since it's only used for timekeeping at higher levels,
coalesce emission to only occur at most once a second.
Since `ClientConnection` emits `received_bytes` whenever *any* data is
received, updating the keep-alive and last-seen when data is received
and when higher level constructs are received is redundant.
We need to register our JS when the window-object-cleared signal is
emitted. Previously we did this when the WebPage object is created, but
this only worked due to luck. Since WebKit r271642, it no longer works.
window-object-cleared is emitted right after page-created, meaning that
right after Geary registers its JS, it all gets wiped away. Oops.
Fixes#1168