github streetwriters/notesnook-sync-server v1.0-beta.45

latest release: v1.0-beta.46
pre-release3 hours ago

Note: This is a beta version and NOT ready for use in production.

Identity

  1. Unregister users over WAMP without their password (internal use only)
  2. Replace the delete_user call with user_exists. delete_user stays for API servers older than this release.
  3. Clear cached tokens by calling each server, instead of publishing a message
  4. Keep ended sessions' cache keys until their tokens are cleared, so a retried clear can't succeed while revoked tokens still work

Sync

  1. Delete accounts in the background. The account is marked deleted and unregistered from Identity right away; UserPurgeJob removes its data after a grace period. Open sync connections of a deleted user are cut off.
  2. Reset accounts without deleting their data in the request. A reset increments the user's generation in one transaction, so the old data disappears immediately, and UserPurgeJob deletes it in the background. Pushes that cross a reset are rejected, and devices that fetch across one still do a full sync.
  3. Log out the other devices before a reset, and after a password change
  4. Count failed purges for alerting (users_purge_failures)
  5. Use less memory to send items: fetches send each chunk straight from the stored BSON, and chunks are bounded by stored size (3MB) and count (500)
  6. Drop the MessagePack hub protocol. Clients have used JSON since 2.6.17.
  7. Label fetch failures by reason (disconnected, timeout, client_error, server_error), and count refused sync connections (sync_v2_connection_rejections) instead of logging each one as an error

Upgrading

  1. Deploy Identity before the API. The API now calls Identity's user_exists, which older Identity servers don't have.
  2. Don't run API servers from before and after this release side by side. Replace them all at once.
  3. If you run more than one API replica, set CACHE_REDIS_CONNECTION_STRING. Without it, each replica keeps its own token cache, and a revoked token keeps working on the replicas that didn't clear it.

Test drive

wget https://raw.githubusercontent.com/streetwriters/notesnook-sync-server/v1.0-beta.45/docker-compose.yml
wget https://raw.githubusercontent.com/streetwriters/notesnook-sync-server/v1.0-beta.45/.env
docker compose up

Make sure everything is up and running:

docker ps

All the above services must show (healthy) in the output.

Full Changelog: v1.0-beta.44...v1.0-beta.45

Don't miss a new notesnook-sync-server release

NewReleases is sending notifications on new releases.