Releases: cozy-labs/cozy-desktop
Release v3.17.0-beta.1 (#1782)
Improvements for all users:
- Merging multiple changes at once often requires that they are in the correct
order (i.e. the order in which they were made) or we might not be able to
merge some of them. We don't always get those changes in the correct order
from the Cozy and this can block the synchronization although we have all the
required changes in the list.
We introduced a retry mechanism in this part of the application that will put
any change that we failed to merge at the end of the list so we can retry
after we've merged the others and thus potentially unlock the situation.
See also known issues.
Happy syncing!
Release v3.16.2 (#1780)
Improvements for all users:
- In some situations like unsigned Terms of Service, requests to the remote Cozy
will result in errors and the synchronization will fail. To anticipate those,
we have a poller that requests from the Cozy required user actions and that
turns them into alerts that Cozy Desktop will show you. A technical error in
the poller resulted in failure to schedule polls past the first one and you
would miss those very precious information unless you would restart the
application.
You should now be shown those alerts as early as possible without restarting
the application thus enabling you to anticipate synchronization errors. - With version 3.16.1 of the app, we decided to increase the visibility of the
synchronization activity especially during the upload of large files or the
preparation of local changes. This made the application's status and icon
"blink" for some users and would give a bad feeling about its behavior.
We made some more changes to the status display so you should now see no
blinking and better delimited activity phases that should better reflect the
ongoing synchronization. - We use a local Pouch database to keep track of all documents and their
metadata. Part of this metadata are the remote identifier of each document on
the Cozy and its last known revision. Whenever we make a change on a document,
we fetch its previous version from the local Pouch database so we can access
its old metadata. When the change happened locally, we pass along to the Cozy
this old metadata's remote revision so it can validate we're not overwriting a
document that was changed on the Cozy without our knowledge. It appears we
made a mistake in the order old revisions are returned to us by Pouch and that
we were not always fetching previous revision but usually the second known
revision. This would mean local changes on the document would not get
propagated to the remote Cozy.
We fixed this revision selection which should avoid quite a lot of propagation
issues and further down the road conflicts as well. - We found out that if you encountered a network timeout during the release
availability check, we would stop alerting you whenever a new release is
available unless you'd restart the app.
We're now making sure that each successful availability check (we're running
a check every 24 hours) we'll offer you to install any update. - In case you encounter an error such as a synchronization error, we're now
making sure you'll get notified only once and not every time you open the
application window. - If you look at the Settings application on your Cozy, you will list is
Connected Devices tab. This page lists all clients that were ever connected to
your Cozy and were not revoked. This page also tells you when each client was
synchronized for the last time. Unfortunately, the Desktop client was not
updating this date so you would only see its device name.
We're now updating this date each time the app reaches the up-to-date status,
be there any changes to sync or not.
Improvements for Windows and GNU/Linux users:
- The library we use to watch for changes on the local filesystem, Atom Watcher,
can sometimes generate events without a document type for deletions. In those
situations we had decided to force the type tofile
but this would lead to
type mismatches when a directory was deleted.
When the event type is unknown, we're now looking into the local Pouch
database for an existing document at the deleted path and if one does exist,
we use its type. If we can't find any existing document, we resort back to
forcing the type tofile
as we don't have any mean to detect the actual type
(i.e. the file or directory does not exist anymore so we can't request stats
from the filesystem).
Improvements for Windows users:
- We found out that when applying on the local filesystem a file modification
from the Cozy, a rename event was generated from the file path to itself, thus
firing anInvalid move
error.
While we have no indications that this would have any impact on your usage,
we've made sure this event is not generated anymore. - We introduced in Cozy Desktop v3.13.1 a mechanism to identify files and
directories with more precision on Windows. This required to modify every
single document in the local Pouch database to make sure the new identifier
was saved and could be used (e.g. in movement detection). While this worked
for most documents, users who had local unsynchronized documents when this
migration took place, ended up with an unsyncable version of those which could
not be fixed.
Fortunately, those versions were not actually saved in the database and we
could fix the migration itself so those documents will get their precise
identifier and will be synchronized from now on.
Improvements for GNU/Linux users:
- Since the v3.16.0 and the Electron update to v5, the Chromium sandbox is
activated by default and since it requires kernel features that are disabled
by default in Debian issued kernels, users of those kernels could not start
the application without using the--no-sandbox
flag. This would mean either
launching the app from the command line or modifying the.desktop
file used
as a shortcut.
We found a way to detect when the kernel feature is disabled and apply the
--no-sandbox
flag in those situations without any actions from the user.
See also known issues.
Happy syncing!
Release v3.16.2-beta.4 (#1779)
Improvements for all users:
- We found out that if you encountered a network timeout during the release
availability check, we would stop alerting you whenever a new release is
available unless you'd restart the app.
We're now making sure that each successful availability check (we're running
a check every 24 hours) we'll offer you to install any update. - In case you encounter an error such as a synchronization error, we're now
making sure you'll get notified only once and not every time you open the
application window. - If you look at the Settings application on your Cozy, you will list is
Connected Devices tab. This page lists all clients that were ever connected to
your Cozy and were not revoked. This page also tells you when each client was
synchronized for the last time. Unfortunately, the Desktop client was not
updating this date so you would only see its device name.
We're now updating this date each time the app reaches the up-to-date status,
be there any changes to sync or not.
See also known issues.
Happy syncing!
Release v3.16.2-beta.3 (#1774)
Improvements for all users:
- We use a local Pouch database to keep track of all documents and their
metadata. Part of this metadata are the remote identifier of each document on
the Cozy and its last known revision. Whenever we make a change on a document,
we fetch its previous version from the local Pouch database so we can access
its old metadata. When the change happened locally, we pass along to the Cozy
this old metadata's remote revision so it can validate we're not overwriting a
document that was changed on the Cozy without our knowledge. It appears we
made a mistake in the order old revisions are returned to us by Pouch and that
we were not always fetching previous revision but usually the second known
revision. This would mean local changes on the document would not get
propagated to the remote Cozy.
We fixed this revision selection which should avoid quite a lot of propagation
issues and further down the road conflicts as well.
See also known issues.
Happy syncing!
Release v3.16.2-beta.2 (#1772)
Improvements for all users:
- With version 3.16.1 of the app, we decided to increase the visibility of the
synchronization activity especially during the upload of large files or the
preparation of local changes. This made the application's status and icon
"blink" for some users and would give a bad feeling about its behavior.
We made some more changes to the status display so you should now see no
blinking and better delimited activity phases that should better reflect the
ongoing synchronization.
See also known issues.
Happy syncing!
Release v3.16.2-beta.1 (#1768)
Improvements for all users:
- In some situations like unsigned Terms of Service, requests to the remote Cozy
will result in errors and the synchronization will fail. To anticipate those,
we have a poller that requests from the Cozy required user actions and that
turns them into alerts that Cozy Desktop will show you. A technical error in
the poller resulted in failure to schedule polls past the first one and you
would miss those very precious information unless you would restart the
application.
You should now be shown those alerts as early as possible without restarting
the application thus enabling you to anticipate synchronization errors.
Improvements for Windows and GNU/Linux users:
- The library we use to watch for changes on the local filesystem, Atom Watcher,
can sometimes generate events without a document type for deletions. In those
situations we had decided to force the type tofile
but this would lead to
type mismatches when a directory was deleted.
When the event type is unknown, we're now looking into the local Pouch
database for an existing document at the deleted path and if one does exist,
we use its type. If we can't find any existing document, we resort back to
forcing the type tofile
as we don't have any mean to detect the actual type
(i.e. the file or directory does not exist anymore so we can't request stats
from the filesystem).
Improvements for Windows users:
- We found out that when applying on the local filesystem a file modification
from the Cozy, a rename event was generated from the file path to itself, thus
firing anInvalid move
error.
While we have no indications that this would have any impact on your usage,
we've made sure this event is not generated anymore. - We introduced in Cozy Desktop v3.13.1 a mechanism to identify files and
directories with more precision on Windows. This required to modify every
single document in the local Pouch database to make sure the new identifier
was saved and could be used (e.g. in movement detection). While this worked
for most documents, users who had local unsynchronized documents when this
migration took place, ended up with an unsyncable version of those which could
not be fixed.
Fortunately, those versions were not actually saved in the database and we
could fix the migration itself so those documents will get their precise
identifier and will be synchronized from now on.
Improvements for GNU/Linux users:
- Since the v3.16.0 and the Electron update to v5, the Chromium sandbox is
activated by default and since it requires kernel features that are disabled
by default in Debian issued kernels, users of those kernels could not start
the application without using the--no-sandbox
flag. This would mean either
launching the app from the command line or modifying the.desktop
file used
as a shortcut.
We found a way to detect when the kernel feature is disabled and apply the
--no-sandbox
flag in those situations without any actions from the user.
See also known issues.
Happy syncing!
It's the little things
Improvements for all users:
- We use a monitoring system (hosted on our own infrastructure) to receive
reports of errors happening when you use Cozy Desktop. This system requires a
client to be setup in our app to send those reports to the server. We used an
older version of that client which stopped working when we upgraded Electron
in the previous version and that lead to app crashes whenever we tried to send
a report.
We've migrated to the latest version of that client so you shouldn't
experience those crashes anymore and we'll even get a bit more of information
in each report which might help us help you. - We have detected that in some very specific situations, the app can enter a
local loop of conflict renaming on one or more documents. Those loops would
prevent your document to be synchronized with the remote Cozy or for it to be
continuously renamed and, in the most extreme cases, lead to app crashes on
start-up due to the size of the document (each conflict renaming would
increase its size).
One of those situations is the presence of more than one document in our
database with the same unique filesystem identifier, resulting from the
mis-interpretation of some filesystem events. We've taken some steps to
prevent the presence of those 2 documents at the same time, not preventing
possible future conflicts on the sole document left but preventing a conflict
loop to start from there. - For those of you who have already experienced extreme local conflict loops and
can't get the app to start without crashing, we have re-evaluated our strategy
to load all the existing documents during start-up so their size would not
matter and the app keep working. - We have decided to reassess how we compute the application state and how we
communicate it, especially via the systray icon, so that you're more aware of
its activities. This is notably true for the upload of large files during
which the spinner would stop and the app would state it is up-to-date while
the upload is actually not finished and shutting done the application would
cancel it.
Improvements for Windows users:
- We brought back the systray icon contextual menu (i.e. the one showing up on
right-clicks) mistakenly removed in a previous version, meaning you would have
to open the app window and use the button in the Preferences tab to shut it
down. - The library used to package our binaries changed the format of the created
Uninstall Windows registry subkey without cleaning up old keys when updating
the application. This means that Windows users updating from a version prior
to v3.16.0 to v3.16.0 will have 2 Cozy Drive applications listed in the
Windows programs manager and uninstalling the old version will actually
uninstall the most recent and leave them with a Cozy Drive version seemingly
seemingly impossible to uninstall.
We added some cleanup logic to Cozy Drive to take care of removing the old
registry subkey automatically.
Improvements for GNU/Linux users:
- On Linux, every time you updated the application, you had to re-enable
auto-launch if it was previously enabled because the auto-launch entry
contained the application's version and would not match the new version.
We've changed the entry's name to justCozy-Desktop
so all versions will
match and the auto-launch will stay enabled after an update.
See also known issues.
Happy syncing!
Auto-wash, uh, launch!
Improvements for GNU/Linux users:
- On Linux, every time you updated the application, you had to re-enable
auto-launch if it was previously enabled because the auto-launch entry
contained the application's version and would not match the new version.
We've changed the entry's name to justCozy-Desktop
so all versions will
match and the auto-launch will stay enabled after an update.
See also known issues.
Happy syncing!
We dig public resources
Improvements for Windows users:
- Files within the app's asar archive are not accessible at run time while the
library we use to modify the Windows registry loads.vbs
files to execute
the modifications.
We've bypassed this limitation by copying the.vbs
files to the app's
resources
folder and telling the library where to find them for our registry
modifications to work.
See also known issues.
Happy syncing!
Nice and clean
Improvements for Windows users:
- The library used to package our binaries changed the format of the created
Uninstall Windows registry subkey without cleaning up old keys when updating
the application. This means that Windows users updating from a version prior
to v3.16.0 to v3.16.0 will have 2 Cozy Drive applications listed in the
Windows programs manager and uninstalling the old version will actually
uninstall the most recent and leave them with a seemingly un-uninstallable
Cozy Drive version.
We added some cleanup logic to Cozy Drive to take care of removing the old
registry subkey automatically.