Skip to content

Releases: cozy-labs/cozy-desktop

Release v3.17.0-beta.1 (#1782)

10 Dec 11:24
df00b4f
Compare
Choose a tag to compare
Pre-release

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)

25 Nov 17:37
ae718ca
Compare
Choose a tag to compare

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 to file 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 to file 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 an Invalid 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)

22 Nov 20:48
4e2de43
Compare
Choose a tag to compare
Pre-release

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)

20 Nov 13:04
3e100b6
Compare
Choose a tag to compare
Pre-release

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)

19 Nov 15:28
9fe794e
Compare
Choose a tag to compare
Pre-release

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)

15 Nov 17:44
26062e7
Compare
Choose a tag to compare
Pre-release

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 to file 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 to file 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 an Invalid 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

08 Nov 16:22
35f6d98
Compare
Choose a tag to compare

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 just Cozy-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!

08 Nov 14:02
32a01a0
Compare
Choose a tag to compare
Pre-release

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 just Cozy-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

06 Nov 17:13
2843d60
Compare
Choose a tag to compare
Pre-release

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

06 Nov 11:39
8e14ffe
Compare
Choose a tag to compare
Nice and clean Pre-release
Pre-release

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.