github nikunjsingh93/react-glass-keep v1.0.21
Glass Keep 1.0.21 — Resumable imports and intact large notes

4 hours ago

These are client apps only. You need a running Glass Keep server. Update both the server and native clients to 1.0.21 for the new upload protocol.

Reliable large imports

  • Imports large notes intact through authenticated, account-scoped 256 KiB chunk uploads, replacing the old 19 MiB per-request barrier. Complete encoded notes may be up to 128 MiB; pictures are not resized, split into other notes or silently dropped.
  • Retries transient connection/proxy errors up to five times with backoff. Stable operation identifiers prevent duplicate saves after lost replies, even when duplicate skipping is off. If retries run out, leave the dialog open and use Resume import once the server is reachable.
  • Continues past individual invalid or oversized notes and lists their titles/reasons under Notes needing attention. Download a failure report or retry the failed notes. A note that fails preparation is not saved partially.
  • Removes repeated full-library image hashing, offline-cache rewrites and refresh storms during import. Duplicate fingerprints are indexed and invalidated on edits; realtime import notifications are batched per affected account.
  • Uses bounded uploads for Glass Keep backup restores too. Existing data, sessions, ownership, sharing and offline-edit behavior remain compatible. Recovery messages are translated into every supported language.

Addresses the latest follow-up in issue #37.

Limits and recovery

Google Keep images remain limited to 12 MiB each. A note larger than 128 MiB encoded, or with an unsupported/oversized image, is reported while other notes continue. Requests retain the global 20 MiB limit; the new transport sends small batches/chunks. Staging reserves at most 128 MiB per account and 512 MiB globally, and unfinished uploads expire after one hour without activity with automatic cleanup.

Imports still need a reachable server, plus storage/memory for the final note/image dataset. Resume state belongs to the open dialog. Reselecting files or reopening starts a new import: keep Skip duplicate notes enabled when restarting. Existing successfully saved notes are preserved.

See the Takeout import guide for exact archive limits and recovery steps.

Update and downloads

All web/server/Windows/macOS/Android versions are 1.0.21. Docker: nikunjsingh/glass-keep:1.0.21 or :latest, AMD64/ARM64. Pull and recreate in Portainer, preserving the existing data volume/settings, then refresh the web app. Install updated native clients separately.

Attached: Windows x64/ARM64 installers and portable executables, signed Android ARM64 APK, Apple Silicon/Intel Mac DMGs, and SHA-256 checksums. Android retains its signing identity for in-place updates. Windows lacks commercial publisher signing; portable clients need WebView2. Mac requires macOS 13+, uses ad-hoc signing and is not notarized; first launch may require Privacy & Security → Open Anyway.

Verification

  • 36 unit/server tests pass, including >20 MiB atomic commits, account isolation, expiry, duplicate-cache invalidation and preserved legacy sessions/data.
  • Actual browser recovery test imports 1,300 small notes and one intact note with two images over 20 MiB encoded. It loses six batch replies, explicitly resumes after retries run out, and loses a large-note commit reply. With duplicate skipping OFF there are no duplicate saves; a bad image note is reported and later notes import.
  • Web/native/export regressions, locale checks and both frontend builds pass. Compiled Windows x64/ARM64 clients verify the real Rust transport and an intact >20 MiB note with its original pictures. The 450 MiB synthetic archive still imports.
  • Both Docker architectures and all native build jobs pass. APK version/signing identity verified. No new physical Android or interactive Mac test was performed; the reporter's private archive was not available.

Client build run · Changelog.

Don't miss a new react-glass-keep release

NewReleases is sending notifications on new releases.