E.g. https://gitlab.gnome.org/GNOME/geary/-/jobs/156541
On a sufficiently (non?) parallel system, targets that depend on
geary-engine.h may get built before the geary_engine_internal_vapi
custom target that fixes its location is executed. This removes the
workaround for b.g.o #731322 since that was fixed in 0.40, and updates
workaround for the internal VAPI to be minimally intrusive.
This ensures amoungst other things that when a connection goes bad and
a reply queue command sends an IMAP command anyway, that the replay op
will get notified and retried.
This ensures that starting the account's incoming service actually
starts the pool, and hence the user can use the problem report retry
button to recover from this.
Make most abstract methods virtual and provide appropriate no-op impls
to simplify subclasses. Add a FolderSession arg to replay local_async
since in 90% of the cases the operations needs one and since this makes
the queue itself the only remaining user of
MinimalFolder.claim_remote_session async, pending its removal.
Also tidyied up ListEmailById so there is no chance of the local op
executing a remote call.
This doesn't make any sense for local-only folders, and only gets used
for internal implementation details for IMAP folders, so remove the
public API and replace its use internally.
This will be useful for displaying this status to the user in the
future, and allows removing MinimalFolder.is_remote_available, which is
hopelessly innacturate in the face of network problems.
Follow GTK+ reccomendation for (not) setting folder paths in save file
choosers, ensure UTF-8 display names and file system encodings are used
as appropriate, and report errors to the user when they occur.
This seems to be a bit more accurate than the previous calculation.
Force the doc element's border to zero as well to make using
scrollHeight more reliable.
Queue a preferred height check on resize and transition end so we catch
cases where the user resizes the window and transitions cause a height
change after loading has completed, etc.
Follow-up to commit 14bb8161, this ensures the current conversation
viewer's height is updated when zooming in/out/reset by keeping the web
content's height around and recalculating and queuing a resize when the
zoom level is changed.
Make the controller manage the store's lifecycle, and pass that around
to the conversation viewer and notifications to use, instead of
a soup cache and/or doing HTTP calls themselves.