Repository navigation
Releases: link-foundation/meta-sovereign
Release list
v0.53.0
Keep late and duplicate WebRTC signaling answers from renegotiating an established connection, consume negotiation failures and report unexpected failures through client diagnostics. When macOS temporarily denies access to a device-protected TLS key, wait for the Mac to be unlocked instead of misreporting a copied key or replacing the trusted identity.
Add initial Work accounts support for Upwork, Fiverr, PeoplePerHour and Wellfound (issue #42): open a visible manual sign-in browser, reuse its app-owned profile, capture a selected profile into whitelisted local fields and show it in Connections and Profile. Preserve snapshots across server restarts, reject login/challenge pages and foreign-origin actions, and keep credentials and cookies out of profile metadata. Update all four user guides and exercise all four services with browser fixtures.
v0.52.0
Make Operator a live queue of unread conversation cards with embedded history and reply composer, without the chat list. Next preserves unread state; Done acknowledges the shown boundary, retains failures for retry and advances after success. Keep keyboard shortcuts out of text fields. Add accessible monochrome unread badges to Chat, Calls and Operator across navigation layouts, reusing the current chat feed and acknowledging reviewed missed-call notifications locally.
v0.51.2
Retry failed initial server discovery from GitHub Pages as well as the optional localhost app. Check immediately when a tab regains focus, becomes visible or the network returns, coalesce concurrent searches and stop listeners after recovery. Keep passcode requests off the static website when no server has been discovered, and show accurate connection and automatic retry notices in all four languages.
v0.51.1
v0.51.0
Prioritise the open conversation, share in-flight history reads and display loading, partial-history and retry status. Keep chat-type filters inside every folder, add saved column widths, move Calls into the main menu and Telegram account editing into Profile, and use neutral dark controls with white line icons. Store application data in the OS user's application folder, migrate legacy stores without replacing their certificate or saved history, and distinguish Telegram waits and transient avatar retries from unexpected failures in diagnostics.
v0.50.0
Import macOS Contacts, including synced iCloud accounts, or a vCard export into the local contact directory. Preview changes before saving, preserve source identities across repeated imports, and search email addresses and phone numbers. Add the same import flow to the CLI, paginate large directories, count contacts without messages, and keep system access behind an explicit click and OS permission.
Keep the Contacts directory current while Telegram and other sources sync. Batch live changes, refresh after reconnect or focus, keep a polling fallback, and provide a manual refresh without losing the current search.
Use GitHub Pages as the default web app and keep the local server as its backend. The localhost UI is disabled unless --local-ui=true or MS_LOCAL_UI=on is set; desktop shells explicitly enable their bundled UI. Update all four languages' guides and connection notices. Cached Telegram chats stop requesting history when no user account is connected and show how to connect instead of an endless spinner.
Interactive macOS startup now detects certificate trust, requests it only when needed, protects the per-installation TLS key at rest with a device-only Secure Enclave wrapping key, and opens the hosted app. Both JS and Rust restrict default browser access to the official GitHub Pages origin and the exact local origin, including socket upgrades; unrelated discovery responses are rejected.
v0.49.18
The README, user guide and a rewritten roadmap say who meta-sovereign is for — a person or an organisation represented online, for personal use, sales, marketing and user support — and map each scenario's critical paths to their status and the next steps (R-Z25). A VK community's own reply (Bots Long Poll message_reply) is shown as ours and named after the community; the VK matrix and every language's overview counts are brought up to date.
The passcode file, saved mail attachments and log rotation retry a rename that Windows refuses for a moment (antivirus, the search indexer), as the store already did; a log that stays held keeps being written instead of failing (R-Z19).
v0.49.17
The Connections import box streams any export file to the local server (POST /api/archive/upload): a Facebook, X or LinkedIn zip is read by its own importer instead of the WhatsApp one, and a WhatsApp export is no longer capped at 64 MB (R-Z23).
A web-UI send that fails while or after pressing Send is reported as "may have been sent" (send-unknown) and is never retried by the composer, so a message can no longer go out twice; the composer says so in every language.
Stopping the server waits for an inbox pull in flight (VK, GitHub, email, job boards) to store what it fetched, as it already did for a backup.
A composer send the network accepted is no longer reported as failed when the local store cannot save its copy (a full disk), so it is never sent twice (R-Z24).
A large export or Telegram file uploaded to the local server (over Wi-Fi from another device, for example) may take up to 3 hours to arrive instead of failing after Node's default 5 minutes.
Stopping the server also waits for a VK live-update batch in flight to be stored, so it can no longer write after the final flush; a restarted VK live loop never runs next to the old one.
The import boxes for X, LinkedIn, VK, email (Google Takeout) and Telegram accept the export .zip as it is; the local server reads it in place (R-Z23).
v0.49.16
Stopping the server waits for a backup in flight to finish and prune, so the archives kept match the setting (flaky on slow runners).
Contact notes, Share my contact link and QR code, contact and phone links, contact photos, suggested birthday, synced contacts and Block user in Replies; a change with no answer is reported as unknown (R-Y217).
Secret-chat protocol groundwork (TL layer 73, AES-IGE packets, key exchange, sequence numbers), tested and not exposed in the page or routes (R-Y219).
Login email change, Forgot password and reset request, passkey list and delete, add passkey through the browser's WebAuthn, and the sign-in code warning before a message is sent (R-Y218).
v0.49.15
Channel public link, appearance, delete for everyone and the inactive-channels list for the channel limit (R-Y216).
Custom emoji in the composer, the group's emoji pack and emoji groups in the emoji panel (R-Y214).
Local storage management, reaction notification settings, reset of all notifications and Telegram's auto-download preset (R-Y215).
Chat translate bar over foreign-language chats and a summary of long messages (R-Y213).