September 2026
42 versions to production, 437 development entries — security hardening across the admin panel, calls, accounts and payments, decoy contacts, a rebuilt notification path, connection and sync reliability across the web app and a fast-maturing desktop client, re-sized rate limits, exact daily billing with a no-balance notice, the new prices, cancellable Pro invitations, deletes that reach all your devices, photo and file groups, and a payment service that no longer keeps your account id
Sep 2
v6.04.126
DEV
A contact tunnel that can't be reached now properly gives up after about 30 minutes, instead of retrying forever
Sep 3
—
DEV
Closed 3 remaining data-integrity gaps in the tunnel-delete system, so a device offline at the moment of a delete correctly catches up instead of risking a resurfaced tunnel or message
Sep 3
v6.04.127
DEV
The already-used-invite-link warning shipped in August is now available in all 41 languages
Sep 3
v6.04.130
DEV
Security: recovery-phrase verification is now stored as a secure hash instead of in a form equivalent to plaintext
Sep 3
v6.04.130
DEV
Security: fetching TURN/ICE relay credentials now requires being logged in
Sep 3
v6.04.130
DEV
Security: added brute-force lockout and cross-site request forgery protection to the admin panel
Sep 3
v6.04.130
DEV
Security: the admin panel no longer loads a third-party CDN script
Sep 3
v6.04.131
DEV
Security: fixed a stored cross-site-scripting bug in the admin panel's diagnostic view
Sep 3
v6.04.131
DEV
Security: fixed a spoofable network-address header that could bypass every per-IP rate limit and abuse protection
Sep 3
—
DEV
Closed the underlying mechanism behind a recurring admin-panel double-login bug, so a future deploy can't reintroduce it
Sep 3
v6.04.133
DEV
Fixed the update banner needing two clicks and two reloads to actually apply an update
Sep 3
v6.04.134
DEV
Fixed the same two-click update problem in the separate "update required" recovery screen
Sep 3
v6.04.135
DEV
Fixed already-read messages reappearing as unread after a reconnect, or on a device that was offline when they were read
Sep 3
v6.04.135
PROD
A large batch reaches production: the contact-tunnel give-up timeout, the tunnel-delete data-integrity fixes, the invite-link warning in all languages, six security fixes (hashed recovery-phrase verification, authenticated TURN/ICE credentials, admin brute-force and CSRF protection, admin CDN removal, a stored-XSS fix, and a spoofable IP-header bypass that defeated per-IP rate limits), the admin double-login bug closed at its root cause, the two-click update-banner fix, and the stale unread-badge fix
Sep 3
—
DEV
Fixed a proactive-reconnect coordination gap where redialing a peer could wrongly reset its own backoff timer
Sep 3
—
DEV
Fixed a tunnel deleted on one of your devices not disappearing from another of your devices' contact list (native and the desktop client)
Sep 4
—
DEV
Fixed a timing gap in the desktop client's delete-tunnel flow that could tear down local state before the deletion notice was actually sent
Sep 4
—
DEV
Fixed a pairing bug where a reused invite link could make the real recipient's pairing attempt silently fail after a 7-day wait
Sep 4
—
DEV
The desktop client no longer freezes for a few seconds while receiving a large incoming file — big transfers are now absorbed a few chunks at a time
Sep 4
—
DEV
Privacy: the desktop client now strips photo location/metadata from sent images, matching what the web app already does
Sep 4
—
DEV
Security: hardened an existing device-identity check so it can no longer be silently bypassed by an unrelated code change elsewhere
Sep 4
—
DEV
Fixed a race condition that could in theory let more devices past the 2-device session limit than intended
Sep 4
v6.04.136
DEV
Security: the real-time signaling channel now enforces the same rate limit as the regular API path
Sep 4
v6.04.136
DEV
Fixed an always-connected device being unfairly frozen out in favor of newer sessions competing for the same connection slot
Sep 4
v6.04.136
DEV
Privacy: fixed a local-storage leak that stored a real contact identifier in a place meant to only ever hold a blinded one
Sep 4
v6.04.137
DEV
Added the Normal/Pro/Business plan choice to the invite-link sign-up flow — it was already available on direct sign-up
Sep 4
v6.04.138
DEV
Added a button to create and copy a fresh invite link directly from the pairing banner
Sep 4
v6.04.138
DEV
Security: an internal payment-reconciliation secret no longer appears in server access logs
Sep 4
v6.04.139
DEV
Security: fixed a bug where switching accounts in the same browser tab could leave an active call's camera/microphone running under the new account
Sep 4
v6.04.140
DEV
Fixed the mute button showing no pressed feedback, and the microphone icon getting stuck on "muted" after unmuting
Sep 4
v6.04.140
DEV
Fixed turning on the camera during a voice call doing nothing — the call view now properly switches to video
Sep 4
—
DEV
Fixed the "connection trouble" banner not clearing itself once the connection had already recovered on its own
Sep 4
—
DEV
The app can now detect a missing camera/microphone permission before a call starts and shows a clearer explanation
Sep 5
v6.04.143
DEV
Fixed the unread-message counter undercounting when catching up a batch of missed messages at once
Sep 5
v6.04.143
DEV
Deleting your account no longer force-erases your local data on this device by default — a new checkbox lets you keep it
Sep 5
v6.04.143
DEV
Corrected an install-prompt claim that said the app "takes no space" once installed — now accurately says it never appears in an app store's purchase history, in all languages
Sep 5
v6.04.143
DEV
Security: fixed other signed-in devices wiping their local data on an account-deletion signal sent before the deletion had actually succeeded
Sep 5
v6.04.143
DEV
Security: fixed a rare race condition that could in theory let a wallet balance go negative under concurrent transfers
Sep 5
—
DEV
Fixed GIFs that could get permanently stuck mid-delivery and never resend, even after reconnecting
Sep 5
—
DEV
Fixed the desktop client not responding when a peer asked it to resync shared conversation history
Sep 5
v6.04.145
DEV
Added a relationship check to ring/pulse notifications so they can no longer be sent to someone you're not actually paired with
Sep 5
—
DEV
The desktop client can now retry/reconnect a tunnel manually, instead of only waiting to be dialed into
Sep 5
—
DEV
The desktop client's presence indicator now shows whether a connection is direct (P2P) or via relay
Sep 5
—
DEV
Fixed the caller seeing "connected" before the callee's camera/microphone permission had actually been confirmed
Sep 5
—
DEV
Sped up reopening the app in the same browser tab by caching the derived encryption key instead of re-deriving it every time
Sep 5
—
DEV
Fixed the desktop client occasionally failing to resume syncing with a peer after a brief connection drop mid-sync
Sep 5
v6.04.147
PROD
A large batch reaches production: the connection-reliability and pairing fixes above, native/desktop parity work (large-file receiving, photo-metadata stripping, delete-tunnel sync), five more security fixes (session-limit race, signaling rate limit, an account-switch call-audio leak, a payment-secret log leak, and a device-identity hardening), the account-deletion opt-in checkbox, the unread-counter and GIF-delivery fixes, and the relationship check on ring/pulse notifications
Sep 6
—
DEV
The desktop client now shows a "DUP" badge when two contacts turn out to share the same underlying identity
Sep 6
v6.04.148
DEV
Replaced the static boot spinner with a 4-dot progress stepper reflecting real boot phases
Sep 6
v6.04.148
DEV
Added the missing translated label for the "keep local data" option on account deletion, in all 41 languages
Sep 6
—
DEV
Removed a redundant connection watchdog that could prematurely disconnect a self-tunnel between your own devices while it was still actively connecting
Sep 6
—
DEV
Fixed the desktop client showing two save-confirmation toasts for a single file save
Sep 6
v6.04.149
DEV
Fixed a specific connection race between your own devices that could repeatedly fail to connect for several seconds
Sep 7
v6.04.151
DEV
Added decoy contacts — every new account is now seeded with a few realistic-looking fake contacts, for cover if someone is ever forced to show their contact list
Sep 7
v6.04.152
PROD
A batch reaches production: decoy contacts, the desktop client's new boot stepper and duplicate-identity badge, the account-deletion translation fix, and a self-tunnel connection watchdog and race-condition fix
Sep 7
v6.04.154
DEV
Fixed a device losing its notification registration whenever another Chromium-based device on the same account started up — only the most recently started device ever received notifications
Sep 7
v6.04.154
DEV
Fixed notifications on iOS 18.4 and later opening the landing page instead of the chat, and showing a missing icon
Sep 7
v6.04.154
DEV
Notification registrations that the push service reports as dead are now removed, and a stalled push service can no longer tie up server resources
Sep 7
v6.04.154
DEV
Fixed notifications for a muted contact being dropped in a way that could make iOS revoke the app's notification permission
Sep 7
v6.04.154
DEV
A notification registration rotated by the browser now renews itself instead of silently going dead
Sep 7
v6.04.154
DEV
Fixed sending a touch skipping the server signal whenever the connection merely looked ready, so a sleeping phone or your contact's second device was never woken
Sep 7
v6.04.154
DEV
Fixed a touch delivered by notification triggering duplicate alerts
Sep 7
v6.04.154
DEV
A pending ring and touches from two different contacts no longer collapse into a single notification
Sep 7
v6.04.154
DEV
Notification text moved into the translation system instead of being hardcoded in Spanish, and Settings gained a "last notification received" line with a test button
Sep 7
v6.04.154
DEV
Push-notification delivery is now measured end to end (sent, shown, opened) instead of assumed
Sep 7
—
DEV
The desktop client got a full look-and-feel pass: a proper type scale with bold and sized text, and accented characters that render correctly
Sep 7
—
DEV
The desktop client's contact list and chat panel were restyled, including per-contact colours in the chat header
Sep 7
—
DEV
The desktop client now shows real image and PDF thumbnails in chat, and renders colour emoji
Sep 7
—
DEV
The desktop client gained a theme picker (its first saved setting) and small motion effects
Sep 7
—
DEV
Fixed the desktop client refusing to open any account created before September 6, caused by a database migration running in the wrong order
Sep 7
v6.04.155
DEV
Fixed a pasted invite link doing nothing — the manual-code field silently cut off the last character of longer links
Sep 7
v6.04.156
DEV
A paused or grace-period account's tunnel rows now say why they are off ("Account paused" / "Grace period") instead of a generic "Off"
Sep 7
v6.04.156
PROD
A batch reaches production: the notification-delivery rebuild, the pasted-invite-link fix and the paused-account tunnel labels
Sep 7
—
DEV
Fixed the desktop client dropping conversation records written by a newer app version when syncing from your other device — they are now stored untouched and readable once the client is updated
Sep 7
—
DEV
Fixed the sending side of that same sync: a device that cannot decode a newer-format record now passes it along untouched instead of leaving it out
Sep 7
—
DEV
Fixed a device that still held a contact deleted elsewhere resurrecting that contact's whole message and file history on its next sync
Sep 7
—
DEV
Fixed a contact's history catch-up sending or saving a blank message when a record was written by a newer app version — such records are now skipped and counted
Sep 8
—
DEV
Fixed a connection between your own devices dropping mid-sync and leaving stale sync state behind, which could make the next sync skip work
Sep 8
v6.04.157
DEV
Fixed the browser not announcing that the link to your other device was gone on every kind of failure, so the other side could keep treating it as live
Sep 8
v6.04.157
DEV
Security: the real-time channel now refuses connection attempts that come from another website's origin
Sep 8
—
DEV
The desktop client can now start the connection to your other device itself — before, two desktop clients on one account could never mirror each other
Sep 8
—
DEV
The desktop client now notices a silently dead connection (an unanswered heartbeat) and reconnects instead of forwarding into a dead link forever
Sep 8
—
DEV
The desktop client now sends connection signals over its open real-time channel instead of opening a new secure connection for each one, removing several seconds from connection setup
Sep 8
—
DEV
The desktop client no longer redials an offline contact forever, or slows its whole connection loop for one dead entry
Sep 8
—
DEV
The desktop client now corrects for a wrong local clock — a computer more than 30 seconds off had every connection signal silently rejected
Sep 8
—
DEV
The desktop client now waits out a brief network hiccup instead of tearing a connection down at the first sign of trouble, and detects the computer waking from sleep
Sep 8
v6.04.158
DEV
Connection-setup deadlines are now one shared table used by both the web app and the desktop client, with more time for a stage that is making progress — the two sides' timers had drifted 3–6× apart
Sep 8
v6.04.158
DEV
Fixed a device's own echoed connection signal being processed as if it came from the other device, and added a short cooldown after a failed connection
Sep 8
v6.04.158
DEV
Security: the "ring" connection signal is now encrypted like every other connection signal — the browser had been sending it in the clear
Sep 8
—
DEV
The desktop client's sync now reports honest file counts and no longer re-sends a message twice in one cycle
Sep 8
—
DEV
The desktop client's integrity check now compares the same fields as the web app, including records written by a newer version, so identical data no longer looks different
Sep 8
—
DEV
Fixed opening the payment page from the desktop client freezing the app while the browser launched
Sep 8
—
DEV
A device-to-device sync that ended with a mismatch now retries twice instead of giving up permanently
Sep 8
—
DEV
Fixed a burst of large files starving the desktop client's outgoing message queue long enough to time out — large-file sending now yields regularly
Sep 9
—
DEV
Fixed a message deleted on the desktop client becoming undeliverable forever once its 7-day delete record expired — a stale duplicate-detection entry made a re-sent copy look already stored
Sep 9
—
DEV
Deleting a message, or every message from a contact, now also removes its duplicate-detection entry
Sep 9
—
DEV
The desktop client's file transfers to your other device no longer wedge permanently when one transfer never completes — a 30-second safety timeout moves the queue on
Sep 9
—
DEV
Fixed device-to-device sync never reporting a match on a re-sync, because items the receiver already held were never counted
Sep 9
—
DEV
The desktop client now records the same anonymous connection-quality statistics as the web app, from one shared implementation
Sep 9
v6.04.159
DEV
The desktop client now sends its anonymous statistics, and the server-side receiver for the new metrics went live on dev — until then they were silently discarded
Sep 9
v6.04.159
DEV
Fixed the desktop client sending its statistics at every startup instead of once a day, because its saved "last sent" record was never read back
Sep 9
v6.04.160
DEV
The anonymous once-a-day statistics beacon now sends even when there is nothing to report — checked at startup, hourly and whenever the app becomes visible again — so a quiet day is distinguishable from a broken one
Sep 9
v6.04.160
PROD
Four versions reach production: the connection-establishment rework (shared stage deadlines, the desktop client starting its own device-to-device connection, heartbeat-loss recovery, signalling over the open channel, presence-gated redials, server clock sync, network-hiccup grace and wake detection, own-echo rejection, encrypted ring signals), plus the desktop client's anonymous statistics and the daily beacon
Sep 9
v6.04.161
DEV
The fullscreen image and PDF viewers now put close at the top left and download at the top right, the usual convention
Sep 9
v6.04.161
DEV
Fixed backups taken on an older app version silently leaving out every message written by a newer version — the export reported success with clean counts while the messages were missing
Sep 9
v6.04.161
DEV
Fixed the same silent loss for file attachments in a backup taken on an older app version
Sep 9
v6.04.161
DEV
Fixed one malformed record aborting an entire backup — a single bad record now only affects itself
Sep 9
v6.04.161
DEV
Fixed the readable export printing an empty line attributed to your contact for a message written by a newer app version — it now appears unattributed, with a marker
Sep 10
v6.04.161
DEV
Fixed a message written by a newer app version showing as "corrupted" or leaking raw internal text into the chat bubble and sidebar — it now shows a clear "unsupported message" placeholder, worded the same as the desktop client's
Sep 10
—
DEV
Fixed the desktop client's sync integrity check reporting false differences against the browser for identical data, from four separate causes: a blank contact id, an ignored filter, an unsorted digest and a fabricated empty result
Sep 10
v6.04.161
DEV
Sync integrity checks now count only contacts you still have, and stray index entries left by deleted contacts are cleaned up cautiously — never message content, and only after being seen twice 24 hours apart
Sep 10
v6.04.161
DEV
A sync that is still making progress now gets more time to finish instead of being cut off by a fixed timeout, and the follow-up integrity check also runs after a partial sync
Sep 10
v6.04.161
DEV
History catch-up now streams contact by contact, newest first, instead of one huge or slow contact holding back every other contact's messages
Sep 10
—
DEV
Fixed a message of a kind the app doesn't recognise being saved as an ordinary text message, permanently losing its real type
Sep 10
—
DEV
Fixed the desktop client rejecting a message of an unrecognised type instead of storing it
Sep 10
—
DEV
Fixed the desktop client syncing device-only notices that are supposed to never leave the device
Sep 10
—
DEV
Fixed hashing zero-length data in the browser's crypto module, which handed back an out-of-bounds memory pointer and could fail with a range error
Sep 10
v6.04.163
DEV
Fixed a message written by a newer app version arriving on your other device as undecryptable data that crashed on read — each device seals its data under its own key, so such records are now re-sealed for the receiving device and show the usual "update the app" placeholder
Sep 10
v6.04.164
DEV
The same fix for file records in a backup: an attachment entry from a newer app version now restores byte for byte
Sep 11
v6.04.166
DEV
Fixed a second process opening the same database silently discarding a running app's recent writes — the database's write-ahead log is now protected from being deleted, on the desktop client and on every server database
Sep 11
—
DEV
Fixed the desktop client's password change generating a brand-new master key on a device that already held data, which would have made every local record permanently unreadable — it now refuses and points to recovery, as the browser does
Sep 11
v6.04.166
PROD
Six versions reach production: backups and exports that keep messages and attachments written by a newer app version, the "unsupported message" placeholder, contact-by-contact newest-first history catch-up, the re-sealing fix for newer-format records crashing the receiving device, the empty-data hashing fix, and protection of the database write-ahead log on the production server
Sep 11
v6.04.167
DEV
Removed write-only acknowledgement and operation counters from the mirror-sync bookkeeping
Sep 11
v6.04.168
DEV
Photo and document scans now ask the camera for its real resolution (up to 4K) instead of a 1080p preview frame, so small print reads sharper — using the sensor's true still-photo mode where the browser offers it
Sep 11
v6.04.168
DEV
Taking a photo no longer asks for microphone permission — only video recording does; on iOS a refused microphone had made the whole camera fail
Sep 11
v6.04.168
DEV
Fixed document scanning copying the full-size image buffer back and forth before shrinking it, which had made higher-resolution scanning heavy on phones
Sep 11
v6.04.168
DEV
The notification texts and the "unsupported message" text are now translated into all 41 other languages (19 new keys)
Sep 11
v6.04.168
PROD
A batch reaches production: sharper photo and document capture with no microphone prompt for a photo, lighter document scanning, and the notification and "unsupported message" texts in all languages
Sep 11
v6.04.169
DEV
Fixed every live connection being dropped abruptly with no notice whenever the server was updated — the server now sends a proper "going away" close, so apps reconnect at once instead of backing off and showing "Connection problem"
Sep 11
v6.04.169
DEV
The real-time connection now has connect and sign-in watchdogs; before, it could hang silently for a minute or two half-open
Sep 11
v6.04.169
DEV
Added a periodic health check that starts a fast reconnect when the connection has been down too long, instead of waiting for a wake-up event
Sep 11
v6.04.169
DEV
A rejected login token now triggers a fresh sign-in instead of the app reconnecting forever with the same dead token
Sep 11
v6.04.169
DEV
The "connection problem" detector no longer fires just because your contacts are offline — it now reflects your own connection to the server
Sep 11
v6.04.170
DEV
The connection-problem message was reworded and translated into 42 languages, no longer implying the server is involved in your message content
Sep 11
v6.04.170
PROD
Two versions reach production: all five connection-reliability fixes and the reworded connection-problem message in 42 languages
Sep 11
—
DEV
The desktop client now allows only one running process per account vault, so a second instance can no longer silently discard a running one's data
Sep 11
—
DEV
Fixed the desktop client ignoring the "maximum security" account setting and saving the master key to disk anyway — the setting is now honoured and previously saved keys are cleared
Sep 12
—
DEV
The desktop client's command-line tool can now back up and restore an account's records, using the same backup container as the web app
Sep 12
—
DEV
The desktop client can now read why the real-time connection was closed and renew its own expired sign-in token — before, it had no way to renew even an ordinarily expired token
Sep 12
—
DEV
The desktop programs were renamed: solo2 is now the graphical app and solo2-cli the command-line tool
Sep 12
—
DEV
The desktop client's backups now carry real file contents, and the backup format is shared code with the web app — a backup exported by the desktop client, attachments included, restores byte for byte on another device
Sep 12
v6.04.172
PROD
The shared backup-format code and a few small server-side monitoring fixes reach production (no web-app changes)
Sep 12
v6.04.173
DEV
Fixed the recurring "Connection problem" pop-up: a session frozen by the two-device limit was never recognised, because the check only ran for successful replies, so the app never entered its proper "Session paused" mode
Sep 12
v6.04.173
DEV
Fixed repeated failed session refreshes piling up ghost session records that competed for the two-device limit
Sep 12
v6.04.173
PROD
The connection-pop-up fix reaches production: a session paused by the two-device limit now says "Session paused" instead of "Connection problem"
Sep 12
v6.04.175
DEV
Fixed devices sharing the two-device limit freezing and unfreezing each other about every 5 seconds — a fully connected device never refreshed its activity time, so it looked dead after 30 seconds
Sep 12
v6.04.175
DEV
Fixed a frozen session being reported as a fresh sign-in, which undid the app's own "Session paused" state during the same startup
Sep 12
v6.04.175
DEV
The app no longer restarts connections, tunnels and watchers while a session is paused
Sep 12
v6.04.175
DEV
A paused session now says so at startup instead of a generic "Session expired"
Sep 12
v6.04.175
PROD
The two-device-limit fixes reach production: several browsers sharing one account no longer cause a connection storm or a false "Connection problem"
Sep 13
v6.04.176
DEV
Found the real cause of the recurring "Connection problem" pop-up: nineteen app modules had been bundled twice since September 1, so the copy of the connection logic the rest of the app checked never actually connected — deploys now abort if any module would be bundled twice
Sep 13
v6.04.176
PROD
The duplicate-module fix reaches production: signals arrive over the real-time connection again and the false "Connection problem" pop-up is gone
Sep 13
v6.04.177
DEV
A connection the server reports as dead while the browser still thinks it is open is now replaced automatically, once per episode
Sep 13
v6.04.177
DEV
Fixed cross-chat search silently losing older results on every account: a fixed 256-field limit in the storage bridge made index entries for common words unreadable, and the next write overwrote them
Sep 13
v6.04.177
DEV
Fixed the plain-text export loading a second copy of the app's storage layer, which had probably kept it from working since mid-June
Sep 13
v6.04.178
DEV
The search index now repairs itself, with a paced one-time rebuild after login for accounts that had already lost entries
Sep 13
v6.04.179
DEV
The "server unreachable" banner is translated into all 41 other languages
Sep 13
—
DEV
The desktop client's contact list now updates live when a contact arrives through device sync
Sep 13
—
DEV
The desktop client's chat scrolls with PageUp and PageDown, the window remembers its size, and a leaked app icon at quit was fixed
Sep 13
—
DEV
Twelve out-of-bounds and memory-leak bugs in the core message, vault, pairing and packing decoders were fixed after a new fuzzing harness fed them deliberately mangled data — six of them only appeared on 32-bit builds
Sep 13
v6.04.179
DEV
The fullscreen image viewer gained zoom and pan: a slider zooms, a zoomed image can be dragged without ever leaving the screen, and it recentres exactly at 1×
Sep 13
v6.04.179
DEV
The fullscreen viewer gained previous and next arrows across photos, PDFs and videos — a PDF's page turns come first and hand off at its ends, and arriving at a PDF backwards opens its last page
Sep 13
v6.04.179
DEV
The blocking "Connection problem" pop-up became a non-blocking, closable banner under the chat header, with a Reconnect button, shown after 120 seconds of lost connection
Sep 13
v6.04.179
DEV
Fixed the identity export and the avatar editor running from a second copy of the crypto module — the export now shows the real fingerprint
Sep 13
v6.04.179
DEV
Fixed the release check misreading a code comment as a broken import, which had blocked a deploy
Sep 13
v6.04.180
DEV
Fixed a cross-account data-loss bug: switching between two accounts remembered on one browser silently deleted the other account's attachment files, because the start-up cleanup only checked the active account's own vault
Sep 13
v6.04.181
DEV
Fixed a fast reconnect inheriting the dead connection's missed-heartbeat count and being dropped again straight away
Sep 14
v6.04.181
PROD
Five versions reach production, everything since 176: the dead-socket replacement, the search-index fix and its rebuild, the plain-text export fix, image zoom and pan, viewer previous and next arrows, the non-blocking connection banner, the identity-export fix, the fix for another account's attachments being deleted on account switch, and the missed-heartbeat reconnect fix
Sep 14
v6.04.182
DEV
Fixed the chat header and banner staying stuck on "Off" after a page reload even though the connection was actually up — the header was drawn before the connection layer had finished starting and was never redrawn
Sep 14
v6.04.182
PROD
The stuck-header fix reaches production
Sep 14
v6.04.183
DEV
Fixed the desktop message column overflowing on windows narrower than about 1720px, which could push the sidebar off the left edge with no scrollbar to bring it back — the width was measured against the whole window instead of the chat panel
Sep 14
v6.04.184
DEV
Fixed that layout guard doing nothing in Chrome: it clipped one axis only, which browsers silently turn back into "hidden" — both axes are now clipped
Sep 14
v6.04.184
PROD
The desktop layout fixes reach production
Sep 14
v6.04.185
DEV
Added logging to the server's signal rate limit — which account, which signal type and whether it targeted its own account — after its silent drops made an ongoing rate-limit noise impossible to trace
Sep 14
v6.04.185
PROD
The signal rate-limit logging reaches production
Sep 14
v6.04.187
DEV
A persistent "MIRROR" text badge now marks a device that is mirroring another, replacing a subtle avatar ring that was easy to mistake for a fault
Sep 14
v6.04.187
PROD
Reaches production: the MIRROR badge and more detailed server-side diagnostics for the signal rate limit
Sep 14
v6.04.188
DEV
Fixed a stale "unrecognized contact" banner lingering for a contact whose account no longer exists — entries now expire after 7 days without a repeat ring
Sep 14
v6.04.189
DEV
Added an "X of Y connected" line under the tunnel list, counting direct and relayed connections and leaving out your own device link
Sep 14
v6.04.189
DEV
Moved the MIRROR badge onto the @alias line so it no longer crowds out the account name
Sep 15
v6.04.190
DEV
The connected counter now names the rows it leaves out, for example "0 of 7 connected · 1 removed"
Sep 15
v6.04.191
DEV
The counter's wording, including the removed-rows suffix, is translated into all 41 other languages
Sep 15
—
DEV
Closed the last nine fuzzing findings: five overflow and out-of-bounds bugs in the peer-to-peer decoders, a use-after-return that could corrupt a contact's identity key in some builds, and unchecked size arithmetic in the message decoder
Sep 15
—
DEV
Fixed two reference errors in the browser's file-transfer code — a missing import and a missing declaration
Sep 16
—
DEV
The desktop client now stamps the duplicate-detection fingerprint on the text messages it sends, as the web app does
Sep 16
v6.04.192
DEV
Fixed a decoy contact's fractional creation time making the sync bridge drop your whole contact list from another device, so two devices could show different contacts — it affected every account registered since September 6
Sep 16
v6.04.192
DEV
Decoy contacts' timestamps are now whole numbers like real contacts' — a fractional value was a giveaway
Sep 16
v6.04.192
PROD
Reaches production, everything since 187: the contact-list sync fix, the expiring unrecognized-contact banner, the "X of Y connected" line, the MIRROR badge on the @alias line, and the fuzzing fixes
Sep 16
v6.04.193
DEV
Fixed the two devices of one account sharing a single signal budget of ten per second, which dropped the answer to a reconnect and stalled the link between them for up to two minutes — signals now use a token bucket, and a reload reconnects in 6 to 10 seconds
Sep 16
v6.04.194
DEV
Fixed a mirror sync stamping every contact's "last seen" with the current time, which scrambled the sidebar order and the choice of which contacts to dial first
Sep 16
v6.04.194
PROD
Reaches production: the self-tunnel signal-budget fix and the last-seen fix
Sep 16
v6.04.195
DEV
The signal rate limit was widened so 150 tunnels reconnecting at once are never throttled (a burst of 4,000 and 100 per second), and a drop is now logged at most once per account per 10 seconds
Sep 16
v6.04.195
PROD
The wider signal rate limit reaches production
Sep 16
—
DEV
The desktop client's search key is now derived from the account's master key, as in the browser, so search keys agree between devices — verified byte for byte
Sep 16
—
DEV
Fixed the duplicate-detection fingerprint throwing an error when given a fractional timestamp — it now truncates it
Sep 16
—
DEV
A backup exported from the web app now restores on the desktop client — eight of eight real records matched exactly (file contents are still refused, a known gap)
Sep 17
—
DEV
The desktop client now recognises a new computer after login and asks for a device name
Sep 17
—
DEV
Fixed the desktop client crashing instead of reporting "never logged in" when its stored credentials could not be unsealed after a machine change
Sep 17
—
DEV
Mirror sync now moves on to its second phase when the first is really complete, instead of after a fixed 100 ms wait
Sep 17
v6.04.197
DEV
The sidebar's three-dot menu is now pinned to the profile card's top-right corner instead of sliding with the length of the name
Sep 17
v6.04.197
DEV
The server-connection dot was retired: reachability now shows as a green ring on your avatar, and manual connect and disconnect moved into the user menu
Sep 17
v6.04.197
DEV
The founder badge is no longer drawn next to names, and the sidebar's bottom tool buttons match the size of the contact names
Sep 17
v6.04.197
DEV
The chat header's call, video and search icons went back behind one menu — on a real phone they left no room for the contact's name — and the "Off / P2P / Relay" text became a ring on the contact's avatar
Sep 17
v6.04.198
DEV
Registration is no longer limited to 3 per day per address, which a taken username or an unticked box could use up: it now allows a burst of 20 plus one every 3 minutes, and a failed attempt gives its slot back
Sep 17
v6.04.198
DEV
Login backoff is now per address and username instead of per address alone, so one colleague's typos no longer make a whole office wait, while a separate ceiling still stops password spraying
Sep 17
v6.04.198
DEV
Security: password verification now has a backoff, and the session status and refresh routes got a per-address gate
Sep 17
v6.04.199
DEV
Fixed typing "Solo 2" in the sign-up anti-bot question producing a fake success — a zero token and a forced logout 15 seconds later, with no account — the answer is now checked before anything is cleared, tolerating case, spaces and punctuation
Sep 17
v6.04.199
PROD
Reaches production: the real-phone layout fixes, the re-sized rate limits and the anti-bot sign-up fix
Sep 17
—
DEV
The desktop client now broadcasts its own profile whenever a tunnel becomes ready
Sep 17
—
DEV
The desktop client's anonymous statistics now cover the same connection families as the browser's, and its tunnel list gained the same "N of M connected" line
Sep 17
—
DEV
Fixed the desktop client's tier update wiping every other flag on a contact, including the browser's re-pair marker
Sep 17
—
DEV
Fixed the desktop client overwriting the nickname you gave a contact with their own profile name on every ready signal from a browser peer
Sep 17
—
DEV
Fixed the desktop client mixing up a contact's touch preference with your own and erasing a held touch token on an empty one; contact avatars are now validated and can be cleared, as in the browser
Sep 17
v6.04.200
DEV
Fixed the admin panel not opening a user: its stylesheet path resolved to the landing's smaller build, so the user and balance windows opened below the page
Sep 17
v6.04.201
DEV
Fixed a double charge: an account whose balance sat between one and two days' cost could be charged twice in one run, and one that paid its last cents could be put in grace the same day — the daily charge now takes one step per account per run
Sep 17
v6.04.202
DEV
An account with no balance now says why it cannot connect: a "No balance" tag, and a notice that your data is still yours and when the account would be deleted — the server no longer says "Account suspended"
Sep 17
v6.04.202
PROD
Reaches production: the admin-panel fix, the double-charge fix and the no-balance notice
Sep 17
v6.04.203
DEV
Fixed a balance added from the admin panel not unblocking an account in grace — only a payment cleared it; a positive balance now does the same, never for a paused account, which is the owner's own choice
Sep 17
v6.04.204
PROD
The admin balance-unblock fix reaches production
Sep 17
v6.04.205
DEV
Fixed the account statement recording a mixed charge entirely as real money — a charge takes bonus first, and the statement now shows one entry per fund with the exact split
Sep 18
v6.04.206
DEV
The daily rate is now the month's price divided by that month's number of days, rounded down to the cent, instead of a fixed 30 — the fixed divisor had overcharged by about 1.3% a year
Sep 18
v6.04.206
DEV
The plan chooser now shows the advertised monthly prices instead of rebuilding them from the daily rate, which read 96.60 € for the 100 € plan in a 31-day month
Sep 18
v6.04.207
DEV
A closed QR invite code is now replaced on the spot the next time you show the QR, instead of showing a spent code with a warning
Sep 18
v6.04.208
DEV
Fixed the file bubble always drawing a green delivered check, so a document that never left the phone looked delivered
Sep 18
v6.04.208
DEV
Nine dialogs and menus that ignored the theme — invite and QR share, QR scanner, message menu, delete dialog, incoming call, install prompt, offline login, two recovery dialogs and the update overlay — now follow it
Sep 18
v6.04.209
DEV
Every message type now shows delivery status the same way: location messages had none, touches looked identical sent or not, and a rebuilt row repainted a waiting message as sent
Sep 18
v6.04.210
DEV
Added a "Gallery" entry to the + menu to attach photos and videos from the phone's library
Sep 18
v6.04.211
DEV
Chat image and PDF previews are sharper — they were rendered at 200 px and blown up 4 to 6 times on phones; there is now one source at 640 px with a size budget, and PDF previews follow the page's width instead of its height
Sep 18
v6.04.212
DEV
The Gallery, no-balance and daily-rate texts are translated into all 41 other languages
Sep 18
v6.04.212
PROD
Reaches production: exact billing (one statement entry per fund, the month's-days daily rate, the plan chooser), the QR refresh, themed dialogs, the file-delivery check, delivery status for every message type, the Gallery entry, sharper previews and the translations
Sep 18
v6.04.213
DEV
Fixed a re-paired contact's history never reaching your other device: that device still held an old deletion marker for the contact and dropped every message and file as if the tunnel had been deleted — a re-pairing now supersedes the older deletion (five separate causes)
Sep 18
v6.04.214
DEV
Fixed a tab left open across an update failing to load its own lazy-loaded parts — each release now keeps the previous nine releases' chunks, so an old tab's requests still resolve
Sep 18
v6.04.214
PROD
Reaches production: the re-paired contact history fix and the open-tab-across-update fix
Sep 18
v6.04.215
DEV
The vault diagnostic now names what became of each orphaned contact record (own, live, deleted or gone) with counts and date ranges, so the daily "orphan" cleanup churn could be traced
Sep 18
v6.04.216
DEV
Fixed every page reload re-saving every server alert already received (264 on one account) and counting each one as unread again, and the cleanup deleting that alert channel a day after it was first seen
Sep 18
v6.04.217
DEV
The admin panel's Alerts tab now also lists the server's alert channel, newest first, with paging and a filter
Sep 18
v6.04.217
PROD
Reaches production: the alert-duplication fix, the cleanup exemption and the alert view
Sep 18
v6.04.218
DEV
Fixed a mirror-sync request that arrived just before the link reached READY being answered too early and refused, leaving the requester to wait out a 50-second timeout — such a request is now held and answered once the link is ready
Sep 18
v6.04.218
DEV
Fixed two sync rounds starting on every device-to-device connection, which crossed their acknowledgements and re-sent every file's metadata — there is now one round per connection
Sep 18
v6.04.218
DEV
When the integrity check finds a mismatch it now names every differing tunnel and rotates which one it drills into, instead of always drilling the first
Sep 18
v6.04.218
PROD
Reaches production: the held sync request, the single sync round and the named differing tunnels
Sep 18
v6.04.219
DEV
The integrity check now starts on a different tunnel each time the app loads, instead of always drilling the same one
Sep 18
v6.04.219
PROD
The rotating integrity check reaches production
Sep 18
v6.04.220
DEV
Fixed a race where an integrity check started by the other device was discarded by this device's own delayed check, so the repair never ran
Sep 18
v6.04.220
DEV
The debug console's Copy button now copies only the lines that match its filter
Sep 18
v6.04.220
PROD
The integrity-check race fix reaches production
Sep 18
v6.04.221
DEV
Fixed the safety number never matching between two devices: each side showed its own signing key as "yours" and the contact's exchange key as "theirs" — all three safety views now use the exchange key, and both devices show the same number
Sep 19
v6.04.222
DEV
The safety number is now reachable and can be marked verified: the ⋮ menu row reads "Safety number" with the connection state as a note and a check once the contact is verified, and the panel it opens gains a "Mark verified" button that turns into "Identity verified"
Sep 19
v6.04.222
DEV
Fixed the safety-number menu and panel describing the wrong contact when opened from a sidebar row with no chat open, and retired an unreachable duplicate safety screen that drew a different grid
Sep 19
v6.04.222
DEV
Fixed a file sent before the connection was ready being lost for good if the page reloaded — the resend reported success the moment the transfer was dispatched, before the offer left; the transfer's own completion now settles the status
Sep 19
v6.04.222
DEV
Fixed a logged-out account's attachment files being deleted by the next account's start-up cleanup — the cleanup now checks every vault on the device and skips the whole pass if any cannot be listed
Sep 19
v6.04.222
DEV
Every server error reply now carries a stable error code beside its text, so apps can show translated messages; 21 new texts were sent for translation
Sep 19
v6.04.222
DEV
The new price structure was applied on the development site: the Normal plan at 4 € a month, top-up bonuses of 0, 10, 15 and 25 % on every tier, and a funding cap of 4 € per recipient per month
Sep 19
v6.04.222
DEV
An idle app's periodic contact-request checks were replaced by a push: the server now nudges both sides on every change, and the app checks every 120 seconds instead of every 10 while connected
Sep 19
v6.04.222
DEV
Fixed a restarted device's connection request being thrown away in three places, which made the link take about 45 seconds to re-form after a login — it is now answered at once
Sep 19
v6.04.222
DEV
Logging in with the 24-word phrase now finds your existing vault on the device
Sep 19
v6.04.223
DEV
The periodic check for contact presence and queued signals now rides the open real-time connection, with HTTP as the fallback if it does not answer within 3 seconds
Sep 19
v6.04.223
DEV
Fixed the "new version available" banner covering the bottom of the security panel, where the verify button sits
Sep 19
v6.04.224
DEV
Server alert replies are now pushed over the real-time connection and the fallback check runs every 5 minutes instead of every 30 seconds — an idle app's HTTP requests fell from about 22 a minute to under 2
Sep 19
v6.04.225
DEV
Fixed a text message being marked "sent" while its frame still sat in the tunnel's in-memory queue — it now reports sent, queued or failed, and settles when the frame actually leaves
Sep 19
v6.04.225
DEV
Fixed a duplicate touch still ringing, and a duplicate "delivered" acknowledgement pulling an already-read message back to delivered — statuses now only move forward
Sep 19
—
DEV
The desktop client now settles a file resent before the link is ready on the transfer's own completion, instead of marking it sent at dispatch
Sep 19
—
DEV
The desktop client's touch rows now show delivery ticks like every other message, and the neutral tier badge (NORMAL, FUND, DUP) follows the theme — it was white text on a translucent white pill, invisible on the light themes
Sep 19
—
DEV
The desktop client now sends and applies a contact's plan tier in both directions, its start-up orphan report names each contact, and its dial sweep is capped at 150 tunnels, most active first
Sep 19
—
DEV
The desktop client now marks a text as sent only once its frame has left the tunnel, and moves delivery status forward only
Sep 19
v6.04.226
DEV
Fixed messages typed into the support chat never leaving the device: they went through the contact chain, which found no tunnel, so every one sat queued — they now go over HTTP, are saved as delivered only on the server's OK, and a refusal shows a translated error
Sep 19
v6.04.227
DEV
The support chat now hides the touch button and the + menu, which handed touches, files and locations to the contact chain where they queued forever
Sep 19
v6.04.228
DEV
A file pasted or dropped onto the support chat is now refused with the usual file-send error instead of queueing forever
Sep 19
—
PROD
The new prices are live: the Normal plan at 4 € a month, top-up bonuses of 0, 10, 15 and 25 % on every tier, and a funding cap of 4 € per recipient per month
Sep 19
v6.04.229
DEV
The 21 server-error texts are now translated into all 41 other languages, and every place that shows a server error displays it in the user's language
Sep 19
v6.04.230
DEV
The support messages that never reached the server no longer sit in the chat forever: the old stuck ones are deleted, along with their copies on your other devices, and anything sent since the fix is untouched
Sep 19
v6.04.230
DEV
The unrecognized-contact row now shows when that contact last tried to connect
Sep 19
v6.04.230
DEV
The "No balance" notice now says that after a deletion the device keeps everything, readable with the 24 words
Sep 19
v6.04.230
DEV
When the server no longer accepts a session, the login screen now says the session could not be opened and that the data is still on the device — open it with the 24 words or log in again; it never says anything was deleted
Sep 19
v6.04.230
DEV
App-resume statistics now record how long the app was in the background together with whether the session survived it, as anonymous aggregate counts — nothing personal
Sep 19
v6.04.230
DEV
Server alerts in the support chat are now deleted automatically after 90 days — messages users wrote are never touched
Sep 19
v6.04.230
DEV
The per-address request and connection limits were raised so that many people behind one shared network address are never caught by them; the per-user limits and every sign-in, sign-up, pairing and signal limit are unchanged
Sep 19
—
DEV
Fixed the desktop client saving, extracting, rendering and backing up every file sent from the browser still encrypted: it now writes the real file, a half-written save is deleted on any error, and a backup no longer seals the file a second time
Sep 19
v6.04.220→230
PROD
Reaches production, everything since 220: the safety number that now matches on both devices and can be marked verified, the fixes for files and texts marked sent too early or lost on a reload, server errors in all 42 languages, far fewer background requests from an idle app, faster reconnection after a device restarts, the 24-word login finding its vault, support-chat messages that now reach the server, the unreachable-session and no-balance screens, and per-address limits re-sized for shared networks
Sep 20
v6.04.231
DEV
Fixed the first reconnection after a page reload sometimes stalling for about 20 seconds: a reloaded page could answer a connection attempt that had already ended, and the browser and the desktop client now ignore replies that belong to a different attempt; devices on the previous version still connect exactly as before
Sep 20
v6.04.231
DEV
Invite links no longer ask the server for a reply every 10 seconds forever: they check every 10 seconds for the first 10 minutes, then every minute for an hour, then every 5 minutes, and check again as soon as the app comes back into view
Sep 20
v6.04.231
DEV
The "server unreachable" notice, its "last attempt" line and the "your data stays" message are now translated into all 42 languages
Sep 20
v6.04.232
DEV
The anonymous error and diagnostics reports are now limited per client address instead of across the whole server, so one noisy client can no longer use up everyone's allowance
Sep 20
—
DEV
The desktop client now shows a dismissible strip when the server cannot be reached
Sep 20
v6.04.233
DEV
Fixed the paused-account notice in all languages: it told you that you would not be charged, and it now says that only part of the daily price is charged while the account is paused
Sep 20
v6.04.233
DEV
A Pro user can now cancel an invitation that has not been claimed yet from inside the app: the waiting account is deleted and the invite and the monthly allowance it used are given back; an invitation whose recipient has already chosen a password cannot be cancelled
Sep 20
v6.04.233
DEV
Trying to cancel an invitation that was already claimed now explains why nothing happened instead of showing a missing text
Sep 20
v6.04.235
DEV
Fixed formal wording in French, German, Dutch, Czech, Russian and Turkish: several texts addressed you formally and now use the same informal "you" as the rest of the app, except where a text speaks to two people
Sep 20
v6.04.235
DEV
The 13 texts for cancelling an invitation are now translated into all 41 other languages instead of appearing only in Spanish
Sep 20
v6.04.236
DEV
Fixed the Spanish "location unavailable" message, which was missing its accents
Sep 20
v6.04.236
DEV
Fixed the wrong message shown by a browser with no location support at all: it said the position was unavailable and to use a mobile device, and it now says the feature is not supported
Sep 20
v6.04.238
DEV
A contact you verified on one of your devices now shows as verified on your other devices too
Sep 20
v6.04.238
DEV
The connection indicator now follows one shared rule in the browser and the desktop client, so both agree on when a connection counts as live
Sep 21
v6.04.239
DEV
Commands and hints in French, Slovak, Portuguese, German, Czech, Russian, Dutch, Turkish and Ukrainian now use the informal "you" in their verbs too, not only in the pronouns
Sep 21
v6.04.239
DEV
Fixed the French "location unavailable" message, which had turned into a sentence about GPS: it again tells you to use a mobile device
Sep 21
v6.04.239
DEV
The new "location not supported" message is now translated into every supported language
Sep 21
v6.04.240
DEV
The server no longer keeps one of its shared request slots busy while it waits on the payment provider, so a slow checkout cannot hold back other people's requests
Sep 21
v6.04.241
DEV
Fixed the payment-options request failing for every client if a top-up list ever grew past a fixed size: an oversized entry now falls back to an empty list instead of a broken reply
Sep 21
v6.04.230→242
PROD
Reaches production, everything since 230: the first reconnection after a reload no longer stalling for about 20 seconds, invite links that stop asking the server every 10 seconds, Pro invitations that can be cancelled before they are claimed, the corrected paused-account notice, informal wording in nine languages, contacts verified on one device showing as verified on all of them, fixed location messages, a slow payment provider no longer holding back other requests, and diagnostics limits per client address
Sep 21
v6.04.243
DEV
Fixed peer connections re-dialling each other in a loop: a call signal the server re-delivered was being read as the other person restarting, so an already-processed signal is now ignored
Sep 21
v6.04.243
DEV
Fixed a related issue found while testing that repair, where a rapid burst of repeated call signals could keep growing in memory
Sep 21
v6.04.242→243
PROD
Reaches production: the repeated-reconnection fix
Sep 21
v6.04.244
DEV
The admin panel gains a view of store purchases per day and per store, with alerts for unconsumed purchases and unusual refund rates, and no personal identities anywhere in it
Sep 21
v6.04.245
DEV
Fixed actions being signed with an expired session after a silent re-login: taps, call rings, support messages and renames kept using the old credential until the page was reloaded, and every one of them now re-checks it first
Sep 21
v6.04.245
DEV
The admin load view now shows which actions make up the requests it counts, so a busy figure can be explained rather than guessed at
Sep 21
—
DEV
A device now shows whether it is the active one or a mirror, in all 42 languages, and a device demoted to mirror stops displaying "Offline"
Sep 21
—
DEV
The desktop client can send a file from disk, and resumes the transfer if it is interrupted
Sep 21
—
DEV
The desktop client accepts files dropped onto its window, with live progress while they send
Sep 21
—
DEV
Removing a photo's hidden metadata no longer leaves portrait pictures rotated onto their side
Sep 21
v6.04.243→246
PROD
Reaches production: actions signed correctly after a silent re-login, the active/mirror device indicator, the admin load view's per-action breakdown, and the store purchases view
Sep 21
v6.04.247
DEV
A desktop client receiving a file sent from disk now builds its own preview for it, instead of showing nothing until the file is opened
Sep 21
v6.04.247
DEV
The attach-file label and the message shown when no file picker is available became properly translated text in all 42 languages; the browser had been showing an untranslated English word
Sep 22
v6.04.248
DEV
The unread badge stops counting your own messages
Sep 22
v6.04.248
DEV
Files sent from the desktop client now respect the ephemeral conversation mode, matching the browser
Sep 22
—
DEV
The desktop client gains a fullscreen viewer for photos and PDFs, with zoom, pan, close and download — a click used to write the file straight to disk
Sep 22
—
DEV
The fullscreen viewer moves between a conversation's photos and documents with arrow keys and on-screen chevrons
Sep 22
v6.04.249
DEV
A device acting as your mirror no longer asks for the same unavailable files on every reconnect, and no longer marks your own older messages as failed
Sep 22
v6.04.249
DEV
Messages waiting to go out are no longer sent several times over when many arrive at once, which had made syncing between your own devices restart again and again
Sep 22
v6.04.249
DEV
Restoring a backup no longer brings back messages you had deleted
Sep 22
v6.04.249
DEV
Very long text messages are capped in height and scroll inside their own bubble
Sep 22
v6.04.249
DEV
The chat background pattern is half as dense
Sep 22
v6.04.249
DEV
The message menu also opens from the time row of a text message
Sep 22
v6.04.249
DEV
Updating the app clears outdated cached files on every update path, not just some of them
Sep 22
v6.04.249
DEV
A release can no longer go out with an outdated compiled component when that component fails to build: the build stops instead
Sep 22
—
DEV
Quick taps and clicks are no longer lost in the desktop client, and Escape reliably closes the wallet window
Sep 22
—
DEV
Typing or sending a message on the desktop client marks it as your active device, as in the browser
Sep 22
v6.04.250
DEV
Search stays fast as an account grows: adding a message no longer rewrites the whole index of a common word, in the browser and the desktop client
Sep 22
—
DEV
Sending a photo or PDF from the desktop client no longer freezes the app while the file is checked for hidden metadata
Sep 22
v6.04.250
DEV
A received file copied to your other device during catch-up is no longer shown as sent by you, and a delivered or read message is no longer downgraded to failed
Sep 22
v6.04.250
DEV
A contact who has never connected no longer shows the mirror label and a false sent tick; the message goes out once the connection really exists
Sep 22
—
DEV
The desktop client, as your active device, no longer re-sends the copies for your other device at every reconnect
Sep 22
—
DEV
Desktop search ranks results by how many of your words they match, like the browser
Sep 23
v6.04.250
DEV
Trying to reach an account that is paused or out of balance now shows "this person cannot connect right now" instead of silence, without saying why
Sep 23
v6.04.250
DEV
When the relay is full, the app counts down 30 seconds and tries once more; a tap cancels the retry
Sep 23
v6.04.250
DEV
An update no longer breaks a still-open page from the previous version while it finishes
Sep 23
v6.04.250
DEV
Photos can be rotated 90° per press; the rotation is only a display setting and syncs to your other devices
Sep 23
v6.04.250
DEV
Sending many files at once: photos are read two at a time, a second selection is no longer dropped as a duplicate, and batches go out in order
Sep 23
v6.04.250
DEV
Downloading several selected files gives a single download: the file itself, or one zip in chat order
Sep 23
v6.04.250
DEV
The skip-to-content link appears only when you navigate with the keyboard, and the hidden-metadata question now says photo, document or files as appropriate
Sep 23
v6.04.250
DEV
Clearing the unrecognised sign-in alert on one device clears it on your other devices too
Sep 23
v6.04.250
DEV
Asking another device to send you everything no longer turns received files into empty text messages, and no longer stops early
Sep 23
v6.04.250
DEV
Syncing between your devices no longer skips messages written in the same millisecond, and no longer stops early on a batch with nothing new
Sep 23
v6.04.250
DEV
A reload no longer shows again an incoming call signal that was already handled
Sep 23
v6.04.250
DEV
The browser tells your other device about every change of a message's status
Sep 23
v6.04.250
DEV
The relay's access credential is now per session and refreshed before it expires, so the relay no longer sees a stable identifier for your account
Sep 23
—
DEV
Payments: a payment whose credit fails to save is delivered again until it is credited, and an unconfirmed or cancelled Bitcoin payment can no longer be credited
Sep 23
—
DEV
The desktop client shows "this person cannot connect right now" too, and re-checks your own account state every two minutes
Sep 23
—
DEV
The desktop client shows the no-balance tag and notice, like the browser
Sep 23
—
DEV
The desktop client shows the Active / Mirror badge, and its viewer reports whether a download was saved
Sep 23
—
DEV
Settings changed on the desktop client (mute, metadata choice, conversation mode) now reach your other device, and an older setting can no longer overwrite a newer one
Sep 23
—
DEV
The desktop client records balance movements pushed by the server and fetches the ones it missed
Sep 23
—
DEV
The desktop client no longer silently drops 24 kinds of internal messages — deleting a contact, updating a name, unsending and requesting thumbnails among them now reach the other side
Sep 23
v6.04.251
DEV
Deleting a contact also stops the file transfers and pending sends of that conversation, in the browser and the desktop client
Sep 23
v6.04.251
DEV
A contact is kept when their conversation could not be deleted, instead of disappearing while its messages stay behind
Sep 23
—
DEV
The desktop client gains the payments statement, opened by clicking a balance line
Sep 23
—
DEV
The desktop client refreshes its relay access before it expires, and a backup import no longer overwrites newer settings
Sep 23
v6.04.252
DEV
The app starts faster: 19 scripts not needed at startup now load after the page
Sep 23
v6.04.252
DEV
Linking a contact to a new account clears the old conversation's activity the same way deleting it does
Sep 23
—
DEV
The desktop client sends read receipts when a message arrives in the open chat
Sep 23
—
DEV
Photo previews on the desktop client are prepared off the main thread, and a preview that arrives after its bubble is drawn now appears
Sep 23
—
DEV
Photo bubbles on the desktop client show their rotation
Sep 23
v6.04.254
DEV
Payments are cross-checked every day, one by one and by amount, against the payment processor, including days with no charges, with the result shown in the admin panel
Sep 23
v6.04.255
DEV
Every change made in the admin panel now alerts the administrator, including changes made through routes added later
Sep 23
v6.04.256
DEV
Neither the browser nor the desktop client falls back to a third-party connection server any more; only Solo2's own is used
Sep 23
v6.04.256
DEV
Admin edits that match no account now report an error instead of a false success
Sep 23
v6.04.257
DEV
Fixed a loop in development builds since 6.04.250 that could exhaust the page while syncing message statuses between your devices
Sep 23
v6.04.258
DEV
A file you send is saved together with its message, so an interrupted batch can no longer leave hidden, never-sent photos behind
Sep 23
v6.04.258
DEV
With three devices on one account, a device taking over the connection could leave two of them showing connected while no message crossed; fixed in the browser and the desktop client
Sep 23
v6.04.258
DEV
Stopping automatic reconnection also cancels the connection attempts still scheduled
Sep 23
—
DEV
The desktop client can open your history offline with your 24 words, read-only and without touching the network
Sep 23
v6.04.246→258
PROD
Reaches production, everything since 246: mirror devices no longer re-asking for files or re-sending messages, restores no longer bringing back deleted messages, faster search, the "cannot connect right now" notice, the relay-full retry, photo rotation, many-file sends and single downloads, per-session relay access, a faster start, contact deletion that stops its transfers, admin alerts, and the three-device connection fix
Sep 23
v6.04.259
DEV
The open chat stays at the newest message while photos load and while the app refreshes in the background, instead of creeping upward
Sep 23
v6.04.259
DEV
A device that stands down because you signed in elsewhere now stops its mirror badge and syncing correctly
Sep 23
v6.04.259
DEV
Forwarded files are saved together with their message
Sep 23
v6.04.259
DEV
The trial days-left tag matches the server exactly, in the browser and the desktop client, and no longer says "last day" a day early
Sep 23
v6.04.259
DEV
The payment service no longer receives or keeps your Solo2 account id: each top-up uses a single-use reference that is deleted once your balance is credited
Sep 23
—
DEV
The payment service now issues the credit note for an expired Bitcoin payment
Sep 23
—
DEV
The desktop client no longer leaves hidden leftovers when it is closed while sending a file, wipes its key from memory when it closes your data, and quits promptly while it cannot reach the server
Sep 23
v6.04.258→259
PROD
Reaches production, together with the payment service: the processor no longer keeping your account id, the chat holding its place while photos load, forwarded files saved with their message, and the corrected trial tag
Sep 23
—
PROD
Card top-ups work again; since September 5 the card payment form could not be submitted
Sep 23
v6.04.260
DEV
Asking another device to send you everything: it now asks its owner before sharing, a refusal is shown to you, reactions come along, and the files' contents follow their messages
Sep 23
v6.04.260
DEV
The French local-data notice shows its warning sign instead of a leftover placeholder
Sep 23
—
DEV
The desktop client can export a backup while offline, protected by a password or a new set of 24 words
Sep 23
v6.04.261
DEV
Importing a backup in the browser places the files of your own account correctly and reports anything it cannot place; a refused history request reads properly in English
Sep 23
—
DEV
A desktop backup and restore no longer loses files or forgets which messages were still waiting to be sent
Sep 23
v6.04.259→261
PROD
Reaches production: ask-before-sharing for "send me everything" with the files' contents, the backup import fixes and the French warning sign
Sep 23
v6.04.263
DEV
A balance change whose statement entry cannot be saved now fails as a whole instead of leaving your statement incomplete
Sep 23
v6.04.263
DEV
The trial bonus is paid back at the same daily rate the service charges, so short months no longer return less than they charge
Sep 24
v6.04.263
DEV
Signing out no longer dials a contact on the way out and breaks the next connection, and duplicate connection signals are ignored
Sep 24
v6.04.263
DEV
A conversation recovered with "send me everything" appears at once, without reopening it
Sep 24
v6.04.264
DEV
Requesting your history from another device shows a short floating notice: requesting, refused, or how many messages were recovered
Sep 24
v6.04.264
DEV
Photos can also be rotated to the left, and a rotated thumbnail no longer turns back when the pointer rests on it
Sep 24
—
DEV
The desktop client saves received files into the chat with their own preview, rotates left with Shift+R, and no longer shows an unread badge on the chat you are reading
Sep 24
—
DEV
The desktop client exports an online backup without freezing the app, even for a large account
Sep 24
v6.04.265
DEV
In Spanish, "La Bóveda" becomes "Mis datos", and delete messages say exactly what they delete
Sep 24
v6.04.265
DEV
Messages that manage your own devices are accepted only from your own devices; a contact can no longer trigger them
Sep 24
v6.04.261→265
PROD
Reaches production: the device-management protection, the matching trial bonus, sign-out and duplicate-signal fixes, the floating history notice, rotate left, and "Mis datos" in Spanish
Sep 24
v6.04.266
DEV
Deletes made on one device now reach your account's other devices, including those made from the Mis datos screen, and are never synced back; two options are renamed "Delete tunnel messages" and "Delete local data"
Sep 24
v6.04.267
DEV
Clearing a conversation removes its older content on all your devices, deleting a contact respects a later re-pairing, and delete records no longer expire
Sep 24
v6.04.267
DEV
An explicit "Recover history" brings back everything the other device shares, even messages you had deleted before; a later delete still wins
Sep 24
v6.04.267
DEV
Messages recovered while reconciling with your other device appear in place, without reloading the whole chat and losing your scroll position
Sep 24
v6.04.267
DEV
The backup import panel shows records it could not attach to a conversation, and a desktop backup restores in the browser with the same counts
Sep 24
—
DEV
The desktop client accepts connection requests: from its own invitation link and from Pro invitations
Sep 24
v6.04.268
DEV
Your record of deletions is kept inside your encrypted data on each device, instead of being wiped at every update and sign-out
Sep 24
v6.04.269
DEV
"Delete everything" now reaches all your devices while keeping your account and settings; contacts re-paired afterwards and a later history recovery are kept
Sep 24
v6.04.269
DEV
Signing out no longer carries one account's delete state into the next account on the same device
Sep 24
v6.04.270
DEV
Several photos or videos sent together within a second show as one grid (up to 2×2 with "+N"), in the browser and the desktop client
Sep 24
v6.04.270
DEV
Clearing a conversation first stops the files still being sent into it
Sep 24
v6.04.271
DEV
"Delete everything" removes each conversation exactly as deleting it alone does, telling each contact and your other devices
Sep 24
v6.04.271
DEV
Support becomes a regular conversation you can open from the app, reachable even from a paused account
Sep 24
v6.04.273
DEV
The app asks for notification permission only when you tap to allow it, the sidebar links the Terms, and the account-deletion warning says any balance is lost
Sep 24
v6.04.273
DEV
A top-up that arrives while an account without balance is being removed now keeps the account
Sep 25
v6.04.275
DEV
A contact you deleted no longer appears among the unrecognised contacts trying to reach you, and the delete confirmation says they cannot contact you again without a new invitation
Sep 25
v6.04.275
DEV
A one-time suggestion on first sign-in invites you to turn on notifications, with a single tap
Sep 25
v6.04.276
DEV
The new "Mis datos" names, the delete wording and the notification suggestion reach all 42 languages
Sep 25
v6.04.277
DEV
A support reply you deleted no longer comes back
Sep 25
v6.04.278
DEV
A backup restored right after "delete everything" is no longer wiped again on your other devices
Sep 25
v6.04.278
DEV
Clearing a single chat no longer shows the whole-device wipe title
Sep 25
v6.04.279
DEV
One send is limited to 50 files: the first 50 go out and a notice says what was left behind
Sep 26
v6.04.280
DEV
Syncing between the browser and the desktop client now completes even with many files: every sync message stays within size limits instead of being refused silently
Sep 26
—
DEV
The desktop client's contact list scrolls
Sep 26
v6.04.281
DEV
A photo preview that arrives late appears in its bubble instead of a broken image, and a reload looks the same as the live chat
Sep 26
v6.04.282
DEV
A group of more than four photos can be expanded to show them all and folded again, in the browser and the desktop client
Sep 26
v6.04.283
DEV
Select several messages to forward them in chat order or delete them at once; the desktop client can select and delete too
Sep 26
v6.04.284
DEV
Restoring a backup shows steady progress instead of freezing at a third and then jumping
Sep 26
v6.04.285
DEV
Exporting a backup is 2.5 times faster, and its progress moves steadily until the file is really handed over
Sep 26
v6.04.286
DEV
Very long texts and oversized profile pictures are limited at entry
Sep 26
—
DEV
The desktop chat keeps your place while previews load or a photo group is expanded
Sep 26
v6.04.287
DEV
A photo group leaves clearly more space after it than between its cells
Sep 26
—
DEV
The desktop client can forward messages and files through a contact picker; a forward lands whole or not at all
Sep 26
v6.04.289
DEV
A plain text from your desktop device no longer shows as unsupported in the browser
Sep 26
v6.04.289
DEV
Several forwarded messages reach the contact in the order you composed them
Sep 26
v6.04.289
DEV
The invitation-link dialog asks in one sentence whether to connect with whoever sent the link, and no longer shows or records the raw code
Sep 26
v6.04.289
DEV
Three Spanish backup-reminder texts get their accents back
Sep 26
—
DEV
The desktop client keeps every file body encrypted on disk, and its metadata question names photos, documents or both
Sep 26
—
DEV
The desktop client really connects to contacts on its own and hands relayed files over as proper transfers
Sep 26
v6.04.290
DEV
A file body arriving from your other device retries the sends still waiting for that contact
Sep 26
v6.04.265→290
PROD
Reaches production, everything since 265: deletes that reach all your devices, including "delete everything", Support as a conversation, photo grids with expand, multi-select forward and delete, the 50-file limit, steadier backup progress and a faster export, restores that survive a clear, sync size limits, and the forwarding fixes
Sep 26
v6.04.291
DEV
Files of any type sent in one gesture form one group, with mixed cells and a text note showing its first lines; the viewer pages through the whole group
Sep 26
v6.04.292
DEV
An arriving file appears where a reload would place it, so a group no longer looks split until you reload
Sep 26
—
DEV
The desktop client draws mixed file groups too, with a card for files it cannot preview
Sep 26
v6.04.294
DEV
A received file is stored once, whichever arrives first, its offer or its message
Sep 26
v6.04.295
DEV
The update banner no longer offers the version you are already running
Sep 26
v6.04.296
DEV
Unsending or reacting to a forwarded file also reaches the sender's own other device
Sep 26
v6.04.297
DEV
File contents reach your other device again after a large send, and a file still syncing shows "Syncing…" instead of "Queued"
Sep 27
v6.04.298
DEV
Signing in again keeps the open chat's recipient, so a message typed right away is no longer lost
Sep 27
v6.04.298
DEV
A burst of arriving files no longer marks already delivered files as failed
Sep 27
v6.04.299
DEV
A file's delivery time is recorded when the other side confirms it, so your other devices no longer think delivered files still need sending
Sep 27
v6.04.290→299
PROD
Reaches production: file contents syncing to your other device again, file groups of any type, the recipient kept after signing in again, no false failures after a burst of files, and file delivery times
Sep 27
v6.04.300
DEV
Your devices tell each other which messages still need sending, instead of guessing it
Sep 27
v6.04.300
DEV
The messaging core handles running out of memory safely in about 80 places where it could leak or crash
Sep 27
v6.04.301
DEV
Your devices merge their delivery confirmations, keeping the earliest
Sep 27
v6.04.302
DEV
A delete is recorded before the message is removed, and a contact's unsend is no longer echoed back
Sep 27
v6.04.303
DEV
A deleted message leaves a permanent marker in your encrypted data, and backups carry it
Sep 28
v6.04.304
DEV
A deleted message is replaced by its marker in one step, in the browser and the desktop client
Sep 28
v6.04.305
DEV
A deleted message stays deleted through sync and reconnection, while restoring a backup still brings back every message it holds; no more stray "Today" divider
Sep 28
v6.04.299→305
PROD
Reaches production: devices sharing what still needs sending and merging delivery confirmations, the delete fixes, permanent delete markers with per-message backup restore, the memory-safety fixes in the messaging core, and no stray "Today" divider
Sep 29
v6.04.306
DEV
Your devices keep each other's deleted-message markers in step, each catching up from where it left off
Sep 29
v6.04.307
DEV
Each deleted message's marker now crosses between your own devices once, and the old capped list of deletes is gone
Sep 29
v6.04.308
DEV
Restoring a backup now reproduces it: its deletions apply to messages you still have too
Sep 29
v6.04.309
DEV
Restoring a backup asks before deleting a message you still have: one question per message, with an “apply to the rest” option
Sep 29
v6.04.309
DEV
Fixed a red “transfer stalled” strip appearing over a file that had already arrived, after the same file was requested from two sources at once
Sep 29
v6.04.309
DEV
Every red error notice is now translated; none shows raw technical text any more
Sep 29
v6.04.309
DEV
The GIF picker speaks your language instead of English
Sep 29
v6.04.310
DEV
The Pro invitation window shows how many of this month's 30 invitations and gifts you have left
Sep 29
v6.04.312
DEV
Running out of memory during a restore no longer shows up as a wrong password
Sep 29
v6.04.312
DEV
Fixed the “tunnel recreated” separator being sent to your contact as if it were a message
Sep 29
—
DEV
Fixed a contact being able to crash the desktop client with one malformed file offer
Sep 29
v6.04.313
DEV
Account types are renumbered so that a missing or unknown type can never be read as Admin, including by older app versions
Sep 29
v6.04.313
DEV
Fixed a failed send on one device clearing the “needs resending” state on your other devices
Sep 29
v6.04.313
DEV
A backup made by a newer app now tells you to update instead of failing
Sep 30
v6.04.314
DEV
The relay is now called “Espejo” in the app, shown in orange, and sync between your own devices says “Sincronizado”
Sep 30
—
DEV
Fixed a desktop-client crash when offering files between devices
Sep 30
v6.04.315
DEV
Fixed file status marks: a waiting file no longer shows as sent, and a reloaded file keeps its delivered and read ticks
Sep 30
—
DEV
Fixed the desktop client resuming a crashed large-file transfer from the wrong place, so the file never completed
Sep 30
—
DEV
Fixed the desktop client crashing when its display connection disappeared while you were logged in
Sep 30
v6.04.319
DEV
Four app texts that wrongly said “server” were corrected in Spanish
Sep 30
v6.04.320
DEV
Deleting your account now clears only the device you are using, and tells your other devices their data was kept
Sep 30
v6.04.321
DEV
Fixed a brand-new account being unable to connect to anyone until the page was reloaded