• v1.4.11 c9ea977110

    Morphit v1.4.11
    All checks were successful
    morphit-ci / TypeScript typecheck (sweep all workspaces) (push) Successful in 42s
    morphit-ci / apps/web svelte-check (svelte-kit sync + svelte-aware tsc) (push) Successful in 37s
    morphit-ci / Integration tests (real Postgres 16) (push) Successful in 37s
    morphit-ci / ansible-lint (playbook quality gate) (push) Successful in 14s
    morphit-ci / Smoke suite (run-smokes.sh, triple-pulse) (push) Successful in 24m17s
    morphit-release / Build + publish release tarball (push) Successful in 25m0s
    Stable

    agorise released this 2026-07-13 23:31:29 +00:00 | 50 commits to main since this release

    Signed by agorise
    GPG key ID: 53524E1F1017EB9C

    Messages in a trade conversation show up right away

    When you're chatting about a specific order, new messages from the other person now appear almost instantly — the moment they're sent. Before, a reply inside an order conversation could take up to a minute to show, long enough to wonder whether it had arrived at all. That lag is gone: order conversations now keep pace with the rest of your chats.

    Paying in BLURT is clearer — and works for everyone

    The Pay now button for BLURT payments got a proper tune-up:

    • The amount now starts filled in with the order's minimum, so you're not guessing — nudge it higher if you'd like.
    • The box accepts only a valid number, and shows a clear red outline the moment what you've typed is empty, malformed, or below the order's minimum.
    • The Send button now appears reliably — a display quirk could previously hide it.
    • You can now pay even if you signed in with only your posting key. Morphit asks for your active key just for that one payment, uses it, and immediately forgets it.

    Tapping a notification takes you to the right place

    When you tapped a notification — a new message, a review, an outbid — it could sometimes land on a "page not found." Now every notification opens exactly where it should: the right conversation, profile, order, or review.

    The listing fee, shown in your currency

    When you post an order, the small listing fee is now also shown as an approximate amount in your preferred currency, right beside the coin amount — so you can see at a glance what it's worth to you, instead of only a dollar figure.

    A small convenience

    • When you unlock to post an order, your cursor now lands right in the password box, so you can start typing straight away.

    For operators

    • The chat tracer is still here, still switched fully off. As before, if you're ever diagnosing a message-delivery question you can turn on a detailed, privacy-safe console trace by adding ?chatdebug=1 to a chat URL (or localStorage.setItem('morphit.debug.chat','1')). It logs message metadata only — never contents — and does nothing unless you switch it on. It's what pinned down this release's message-timing fix.

    As always, Morphit's notifications carry no message content — only a nudge that something happened — and none of this changes what Morphit keeps about you: nothing.

    Downloads
  • v1.4.10 826b503fbc

    Morphit v1.4.10
    All checks were successful
    morphit-ci / TypeScript typecheck (sweep all workspaces) (push) Successful in 41s
    morphit-ci / apps/web svelte-check (svelte-kit sync + svelte-aware tsc) (push) Successful in 35s
    morphit-ci / Integration tests (real Postgres 16) (push) Successful in 37s
    morphit-ci / ansible-lint (playbook quality gate) (push) Successful in 13s
    morphit-ci / Smoke suite (run-smokes.sh, triple-pulse) (push) Successful in 23m47s
    morphit-release / Build + publish release tarball (push) Successful in 24m30s
    Stable

    agorise released this 2026-07-13 07:00:57 +00:00 | 51 commits to main since this release

    Signed by agorise
    GPG key ID: 53524E1F1017EB9C

    Archived chats speak up when there's something new

    If you've tidied a conversation away into Archived, it used to stay quiet there — even if the other person sent you a brand-new message. Now, when a fresh message arrives in an archived chat, that conversation quietly comes back to your Inbox and lights up your unread badge, so you never miss someone reaching out.

    Conversations you've simply read and left archived stay put — it's only genuine new activity that brings one back. And it works even when Morphit is open in another tab or you're off on another page: the little badge still lets you know something's waiting.

    A cleaner look when you're typing

    The boxes you type into — search fields, the amounts on an order, your chat message, and more — now show a single, crisp green outline the moment you tap into them. Before, a few of them drew two green edges stacked together, which looked a little off. Now every field across Morphit highlights the same clean way.

    Clearer help when notifications won't turn on

    Whether notifications will switch on depends a lot on which browser you use, and the old advice wasn't always right for yours. Now, if notifications can't turn on, Morphit recognizes your browser — Brave, Firefox, or Safari — and shows the exact setting to check for that browser, step by step, instead of a one-size-fits-all message.

    As always, Morphit's notifications carry no message content — only a nudge that something happened.

    A small tidy-up

    • A stray pop-up is gone. Sending a chat reply used to sometimes flash a little "moved to Messages" note that didn't mean anything — Morphit doesn't have a separate "Messages" area. It's been removed. Sending a message is just sending a message.

    For operators

    • A harmless upgrade warning is fixed. When upgrading to the previous release, morphit-ops upgrade could print a "schema changed in place" warning even though nothing was actually wrong — it was reacting to a blank line in the schema file, not a real change. That's now fixed. You may see it one last time on the upgrade to this release (from the older tool still on disk); after that it's gone. Your database was never affected — morphit-ops doctor confirms it.
    • The chat tracer is still here, still switched fully off. If you're ever diagnosing a message-delivery question, you can turn on a detailed, privacy-safe console trace by adding ?chatdebug=1 to the chat URL (or localStorage.setItem('morphit.debug.chat','1')). It logs message metadata only — never contents — and does nothing unless you switch it on.
    Downloads
  • v1.4.9 e1e8f91f3d

    Morphit v1.4.9
    All checks were successful
    morphit-ci / TypeScript typecheck (sweep all workspaces) (push) Successful in 41s
    morphit-ci / apps/web svelte-check (svelte-kit sync + svelte-aware tsc) (push) Successful in 33s
    morphit-ci / Integration tests (real Postgres 16) (push) Successful in 36s
    morphit-ci / ansible-lint (playbook quality gate) (push) Successful in 13s
    morphit-ci / Smoke suite (run-smokes.sh, triple-pulse) (push) Successful in 23m25s
    morphit-release / Build + publish release tarball (push) Successful in 24m6s
    Stable

    agorise released this 2026-07-13 01:51:49 +00:00 | 52 commits to main since this release

    Signed by agorise
    GPG key ID: 53524E1F1017EB9C

    Your chat folders now follow you everywhere

    This is the big one. However you like to keep your messages organized — a tidy Inbox, a few important chats kept in Starred, and the rest tucked into Archived — that arrangement now travels with you. Star a conversation on your laptop and it's already starred when you open Morphit on your phone. Archive something on your phone and it stays archived on your desktop.

    It works quietly in the background, and it's built the private way you'd expect from Morphit: your organization is encrypted before it ever leaves your device, using a key only you hold. Nobody else — not the people running a Morphit instance, not anyone watching the network — can see which conversations you keep or with whom. They'd only ever see a scrambled blur.

    And nothing hides on you. A brand-new message from someone always lands in your Inbox where you'll see it — even the very first time you sign in. Archiving and starring are choices you make; a conversation you've never touched simply waits in your Inbox.

    A quick guide to formatting your Terms

    When you write the Terms for an order, you can use a little Markdown to make them clearer — a heading here, some bold there, a bulleted list. Now there's a small ? next to the Terms box that opens a friendly one-look guide showing exactly what to type for each: headings, bold, italic, quotes, numbered and bulleted lists, a divider line, and links. No need to remember the symbols — just peek at the guide.

    Your orders, tidier

    • My Orders opens on your Live orders. The page now starts by showing the orders that are actually active, which is almost always what you came to check — instead of everything at once.
    • Smaller, neater action buttons. The buttons on each of your orders (feature it, review feedback, cancel, re-list) are a touch smaller now, so a busy list looks calmer and fits better on a phone.
    • A gentle note when a filter is empty. If you tap a filter — say Completed — and there's nothing there yet, you'll now see a quiet little "No orders are in this category" note, instead of a blank space that leaves you wondering.

    Cancelling an order feels instant now

    When you cancel one of your orders, it now updates right away — the order shows as cancelled the moment you confirm, and you land back on your orders list without any awkward pause where it still looks live. Behind the scenes it's still recorded properly on the chain; you just don't have to wait around to see it happen.

    A couple of little touches

    • New orders arrive with a gentle slide. When a fresh order appears at the top of the order book while you're looking, it now slides smoothly into place, so you can tell something new just showed up.
    • The Contact highlight lands on the right instance. When you use the Contact link in the footer, the soft highlight now reliably settles on the instance you're actually using — a warm amber flash so it's easy to spot.

    For operators

    • This release includes a small database update. On upgrade, your indexer adds one new table (chat_folders) that stores each user's encrypted folder organization for the new cross-device sync. It's opaque ciphertext — your node never learns what any user has filed. The migration is automatic and additive; no manual steps.
    • A new on-chain action, morphit_chat_folders_v1, carries that encrypted organization. It's per-user and opt-in (it only appears when someone stars or archives a chat), fully backward-compatible, and doesn't change the on-chain release format — a build can still be rolled back safely.
    • The chat tracer from the previous release is still here, still switched fully off. If you're diagnosing a delivery question, you can turn on a detailed, privacy-safe console trace by adding ?chatdebug=1 to the chat URL (or localStorage.setItem('morphit.debug.chat','1')). It logs message metadata only — never contents — and does nothing unless you switch it on.
    Downloads
  • v1.4.8 92237664e6

    Morphit v1.4.8
    All checks were successful
    morphit-ci / TypeScript typecheck (sweep all workspaces) (push) Successful in 43s
    morphit-ci / apps/web svelte-check (svelte-kit sync + svelte-aware tsc) (push) Successful in 34s
    morphit-ci / Integration tests (real Postgres 16) (push) Successful in 37s
    morphit-ci / ansible-lint (playbook quality gate) (push) Successful in 14s
    morphit-ci / Smoke suite (run-smokes.sh, triple-pulse) (push) Successful in 23m45s
    morphit-release / Build + publish release tarball (push) Successful in 24m19s
    Stable

    agorise released this 2026-07-12 05:38:33 +00:00 | 53 commits to main since this release

    Signed by agorise
    GPG key ID: 53524E1F1017EB9C

    Your replies now reach the right conversation

    This is the big one. When you're chatting with someone about a specific order and you send a message, that message now lands in that order's conversation for the other person too — reliably, in a second or two.

    Before this, something subtle could go wrong: if you opened a chat one way (say, from your inbox) and then moved into an order discussion with the same person, your messages could quietly file themselves under the wrong conversation. Both people were sending fine, but each was looking at a different thread — so it looked like the other person had gone silent, when really their replies were just sitting in another conversation. That's fixed. Messages now always go where you're looking.

    A cleaner sent message

    Sending stays fast — the moment your message goes out, the bubble stops looking busy and it's on its way. We've removed the little ✓ Sent tick that used to appear next to it; a few of you found it more clutter than comfort. Nothing about the speed changed, just the extra checkmark is gone.

    "Mark all as read" where you'd expect it

    The Mark all as read button now shows up on whichever tab actually has unread messages — your Inbox or your Starred list — instead of only appearing based on your overall total. It stays out of the way on the Archived tab, since there's nothing to mark there.

    A few chat touches

    • Opening a conversation now shows a friendly "…is loading… Say hi!" while your history comes in, instead of looking empty for a moment and making you wonder if anything's there.
    • The action buttons in a trade chat (share address, share mailing address, record shipment, and the pay/funds button) now all share the same clean green outline, so the bar looks tidy on phone and desktop alike.
    • The Contact link in the footer once again reliably flashes a gentle highlight around the instance you're actually on when it takes you to the instances page.

    Clearing a profile field now sticks

    If you emptied your bio, your Nostr link, or your blurt.media link and saved, the old value could stubbornly hang around. Now clearing a field and saving actually clears it — the same way removing your avatar already worked.

    Notifications reach you on other tabs

    If a new message arrives while you're off in a different browser tab, the little unread badge on your Morphit tab now updates right away, so you'll notice without having to click back first.

    Also in this release

    • Fixed a quiet under-the-hood error during page navigation that could interrupt other things loading. You'd never have seen a message, but it's tidier now and one less thing that can misbehave.

    For operators

    • The message-delivery problem some of you saw was order-thread routing, not the network. Messages were always being delivered on time; a client-side bug filed order-related messages under the wrong conversation, which looked like slow or missing delivery (and made the live fast-path seem broken when it wasn't). This release fixes the routing so both sides always see the same thread.
    • A built-in chat tracer ships with this release, switched fully off. If you're diagnosing a delivery question, you can turn on a detailed, privacy-safe console trace by adding ?chatdebug=1 to the chat URL (or localStorage.setItem('morphit.debug.chat','1')). It logs message metadata only — never message contents — and does nothing at all unless you switch it on.
    • No database changes ship in this release, and nothing here changes the on-chain release format — a build can be rolled back over it safely.
    Downloads
  • v1.4.7 8f86014a87

    Morphit v1.4.7
    All checks were successful
    morphit-ci / TypeScript typecheck (sweep all workspaces) (push) Successful in 42s
    morphit-ci / apps/web svelte-check (svelte-kit sync + svelte-aware tsc) (push) Successful in 34s
    morphit-ci / Integration tests (real Postgres 16) (push) Successful in 36s
    morphit-ci / ansible-lint (playbook quality gate) (push) Successful in 13s
    morphit-ci / Smoke suite (run-smokes.sh, triple-pulse) (push) Successful in 23m25s
    morphit-release / Build + publish release tarball (push) Successful in 24m11s
    Stable

    agorise released this 2026-07-11 23:57:48 +00:00 | 54 commits to main since this release

    Signed by agorise
    GPG key ID: 53524E1F1017EB9C

    Your message says "Sent" the moment it goes out

    A message you sent could sit on "Sending…" for close to a minute — not because it hadn't gone through, but because Morphit was waiting to see its own message come back around before it relaxed. Now, the instant your message is broadcast, the bubble shows a small ✓ Sent and stops looking busy. It's on its way in a second or two, and you're no longer left staring at a spinner wondering if it worked.

    Chat notifications are on by default

    If someone messages you about a trade, you should hear about it. Chat-message notifications are now switched on by default for everyone — including folks who set their preferences a while ago and had them off without realizing. You can still turn them off any time in Settings → Notifications, and if you already turned them off on purpose, we leave that exactly as you set it.

    Hiding someone now asks first

    The little eye icon on an order card hides that person from your orderbook — but a single stray tap used to hide them instantly, and it also quietly hid your chats with them, which was easy to miss. Now it asks you to confirm first and tells you plainly that your chats get tucked away too. Un-hiding is still one tap, no questions asked.

    If you've ever paid to feature an order, there's now a tidy "View prior Featured orders" link at the top of the Feature this order box. It opens a clean list of every order you've featured — newest first — each written in plain language ("I'm buying 40–70 AUD worth of XMR"), with what you paid and whether it's currently showing. The old cramped grey strip is gone.

    Prices in your own currency

    When you're featuring an order, the cost preview now shows the fee in the currency you picked in Settings, not just US dollars — so "is this worth it?" is an easier question to answer. The little time buttons (6h / 24h / 72h) also give a gentle highlight when you point at them.

    Also in this release

    • A new Contact link in the footer takes you to the instances page and gently flashes a highlight around the instance you're actually on, so you can find who runs it.
    • Powering down your whole BLURT balance now works — the "Max" amount no longer rounds a hair above what you actually have and gets rejected.
    • FAQ search now treats several words as "all of these must appear," so "hive engine" finds entries about both, not either.
    • Removed a stale "chat with the operator on Matrix" card from the Support page that duplicated what's already on the instance page.

    For operators

    • The RPC-endpoints panel can now actively check your nodes. The refresh button on Settings → RPC endpoints used to just re-show the last passive reading. It now asks the indexer to freshly ping every canonical node on demand. To keep this from becoming a way to hammer your server, the indexer pings the upstream nodes at most once every 5 seconds no matter how fast anyone clicks, and — as always — the pinging happens on the indexer, never from the visitor's browser, so a node operator never sees your users' addresses.
    • No database changes ship in this release, and nothing here changes the on-chain release format — a build can be rolled back over it safely.
    • Note: a small number of chat messages can still take longer than expected to arrive for the recipient when the live fast-path stream isn't connected. That path is unchanged in this release; if you're seeing it, check the fast-path status on your indexer's health endpoint.
    Downloads
  • v1.4.5 3a3afce990

    Morphit v1.4.5
    All checks were successful
    morphit-ci / TypeScript typecheck (sweep all workspaces) (push) Successful in 43s
    morphit-ci / apps/web svelte-check (svelte-kit sync + svelte-aware tsc) (push) Successful in 35s
    morphit-ci / Integration tests (real Postgres 16) (push) Successful in 36s
    morphit-ci / ansible-lint (playbook quality gate) (push) Successful in 13s
    morphit-ci / Smoke suite (run-smokes.sh, triple-pulse) (push) Successful in 23m14s
    morphit-release / Build + publish release tarball (push) Successful in 23m50s
    Stable

    agorise released this 2026-07-11 18:45:18 +00:00 | 56 commits to main since this release

    Signed by agorise
    GPG key ID: 53524E1F1017EB9C

    Sending a chat message is quick again

    Sending a message could sit on "Sending…" for up to a minute before it went through — and once in a while a second message looked like it never arrived at all. Both came down to the same thing: behind the scenes, a sent message was being fired to two chain nodes at once, and the second copy would stall until it timed out. Messages now go out through a single path and land in a second or two, the way they should.

    Your profile changes show up right away

    Change your display name, short bio, links, or avatar in Settings and you had to wait — sometimes a minute and a half — before the new details replaced the old ones elsewhere in Morphit. Now the moment your change is confirmed on-chain, it shows immediately everywhere your profile appears: the menu, your own order cards, and every place your name turns up.

    Related: right after Morphit updates itself (the "Load it now" refresh), your own orders on the orderbook could briefly show the plain placeholder icon and no name until you refreshed the page by hand. Your avatar and name now fill themselves back in on their own.

    New messages jump to the top of your inbox

    When a fresh message comes in, its conversation now slides up to the top of your inbox on its own, without a page refresh. (If you've asked your system to reduce motion, it simply moves without the animation.)

    Also in this release

    • The unread badge and the "Mark all read" action are back in sync — the badge no longer lingers after you've cleared everything, and "mark all read" clears the conversations it should.
    • Short chat bubbles (a quick "hi") no longer stretch across the width of the screen.
    • The emoji on the sign-in and register buttons line up evenly on mobile, in every language.
    • Inbox cards line their avatar and text up neatly.
    • Some background chain lookups were pointed at nodes that answer cleanly, clearing a batch of harmless-but-noisy browser console errors.

    For operators

    • The warrant canary no longer goes dark when one chain node is down. The daily canary refresh used to ask a single hard-coded node for the current block; when that node's certificate broke, the whole /canary.txt went missing site-wide. The refresh now walks the same rotating list of nodes the rest of Morphit uses — the first healthy one wins — so a single bad node is skipped automatically. If you want to pin it to one node anyway, MORPHIT_CANARY_BLURT_RPC still does that (it's now optional).
    • No database changes ship in this release, and nothing here changes the on-chain release format — a build can be rolled back over it safely.
    Downloads
  • v1.4.0 637133c8d4

    Morphit v1.4.0
    All checks were successful
    morphit-ci / TypeScript typecheck (sweep all workspaces) (push) Successful in 40s
    morphit-ci / apps/web svelte-check (svelte-kit sync + svelte-aware tsc) (push) Successful in 33s
    morphit-ci / Integration tests (real Postgres 16) (push) Successful in 36s
    morphit-ci / ansible-lint (playbook quality gate) (push) Successful in 13s
    morphit-ci / Smoke suite (run-smokes.sh, triple-pulse) (push) Successful in 22m31s
    morphit-release / Build + publish release tarball (push) Successful in 23m13s
    Stable

    agorise released this 2026-07-11 01:59:10 +00:00 | 58 commits to main since this release

    Signed by agorise
    GPG key ID: 53524E1F1017EB9C

    Star the conversations that matter, archive the ones you're done with

    Your chat is already an inbox of conversations — one card per order you've discussed. Now those cards live in three tabs.

    • Inbox is everything active, newest at the top, just as before.
    • Starred is the handful you want to keep an eye on. Tap the star on any conversation — on the inbox card or at the top of the conversation itself — and it moves here. Tap it again to send it back.
    • Archived is for discussions you're finished with. Each card has its own Archive button; archived conversations drop out of the Inbox but are never deleted, and Restore brings any of them back.

    Archiving an unread conversation also clears it from your unread count, so a discussion you've decided to set aside stops nagging the little badge in the corner.

    Nothing here talks to the blockchain — your folders are private to you, kept on the device you're using, and cleared when you lock your keys.

    Account pages in the explorer open right away

    Looking up an account used to mean staring at "Loading account…" until every last piece — balance, keys, avatar, and the full operation history — had arrived. Now the page appears the moment the balance is known, usually after a single round-trip. The keys and avatar fill in as they load, and the operation history streams in underneath behind a small "Loading operations…" note, so the page is useful immediately instead of blank until the slowest part finishes. If the history can't be fetched, you get a short line saying so rather than an empty page.

    Your notification settings now cover push notifications too

    The order / chat / feedback switches in Settings → Notifications used to govern only the alerts you saw with Morphit open in front of you. Push notifications — the ones that reach you with the tab closed — ignored them and always came through.

    They don't anymore. Turn a category off and that kind of push stops arriving on this device; turn it back on and it resumes. The choice syncs the moment you flip the switch, on each device separately. (Chat pings are on by default, so a fast-moving trade still reaches you unless you say otherwise.)

    Notifications arrive faster

    Push notifications now go out within a couple of seconds of the event instead of waiting in a queue. Combined with the block time of the chain itself, that keeps a "new message" or "your order" alert comfortably inside a few seconds end to end.

    Fixed: an order message could notify you twice

    When a message about one of your orders arrived while Morphit was open in a background tab, you could get two notifications for it — one from the open tab, one from the push. Both are now tagged the same way, so your browser shows a single notification for a single message.

    For operators

    • morphit-ops upgrade no longer cries wolf about your database. Every ordinary upgrade used to print "your database may need a reset," even though the numbered migration it ships applies itself automatically. It now says that only when the schema truly changed in a way an existing database won't pick up on its own — so the warning means something the day it finally appears.
    • Two automatic database changes ship in this release (a per-category push preference on subscriptions, and a shared tag on the push queue). Both are applied for you when the indexer starts, need no action, and are safe to roll a build back over.
    • The push-delivery worker's default drain interval is now 2 seconds (it was 30). If you set MORPHIT_RELAY_PUSH_POLL_INTERVAL_MS yourself, your value is kept.

    Also in this release

    • Loading text that ends in "…" now types its dots out one at a time (and holds still if you've asked your system to reduce motion).
    • Rows in an account's operation list tint the same soft green as the FAQ when you hover them.
    • The download-mirror cards show a hand cursor, so it's obvious they're links.
    Downloads
  • v1.3.5 f16a4bf44e

    Morphit v1.3.5
    All checks were successful
    morphit-ci / TypeScript typecheck (sweep all workspaces) (push) Successful in 45s
    morphit-ci / apps/web svelte-check (svelte-kit sync + svelte-aware tsc) (push) Successful in 36s
    morphit-ci / Integration tests (real Postgres 16) (push) Successful in 38s
    morphit-ci / ansible-lint (playbook quality gate) (push) Successful in 14s
    morphit-ci / Smoke suite (run-smokes.sh, triple-pulse) (push) Successful in 23m33s
    morphit-release / Build + publish release tarball (push) Successful in 24m31s
    Stable

    agorise released this 2026-07-10 06:46:01 +00:00 | 59 commits to main since this release

    Signed by agorise
    GPG key ID: 53524E1F1017EB9C

    Your chat inbox is now an inbox of conversations, not of people

    If you and the same trader have talked about three different orders, that is three different discussions — and now three different cards, newest at the top, each with its own RE: line and its own transcript. Open one and you see only the messages about that order. Messages that aren't about any order get their own card, with no RE: line at all.

    Each RE: line also tells you what the order is doing right now — (Live), (Cancelled) or (Expired) — on the inbox card and at the top of the conversation. A discussion about an order that no longer exists says so before you open it.

    Reading one of them marks only that one read. Three unread conversations with the same person stay three unread conversations, exactly as they would in an email client — on this device and on every other device you sign in from.

    Avatars on the inbox are larger, sized to the text beside them.

    Threads about an order that was cancelled or expired stay open: you and the person you were dealing with can keep talking. (Strangers still can't start a new conversation by pointing at a dead listing.)

    Note: conversations you already have will split into several cards, one per order you've discussed. Nothing is lost — your messages are on the blockchain, exactly where they were.

    Fixed: "Missing Posting Authority"

    Signing into two accounts in two browser tabs could leave one tab holding the first account's keys while believing it was the second. Everything it broadcast — display name, short bio — was rejected by the blockchain, which answered with three key authorities in a red box.

    Morphit now stores your account name against the key that owns it, so two tabs can never trade places. Before anything is signed, it checks that the account it's about to speak for really lists the key it's about to sign with. If that ever fails, nothing is broadcast and you get a sentence you can act on instead of a chain dump.

    Fixed: the avatar menu

    The menu could get stuck open, with the page dimmed behind it and clicks going nowhere. That's fixed. The blur now covers the whole page, including the bar at the top.

    Also in this release

    • On the chat page, the "Read the full walkthrough" link turns green on hover, like every other arrow link on the site.
    • The chat header now sits on the same soft green used by the FAQ, so it reads as its own band between the toolbar and the conversation.
    Downloads
  • v1.3.0 13e6d572bb

    Morphit v1.3.0
    All checks were successful
    morphit-ci / TypeScript typecheck (sweep all workspaces) (push) Successful in 45s
    morphit-ci / apps/web svelte-check (svelte-kit sync + svelte-aware tsc) (push) Successful in 36s
    morphit-ci / Integration tests (real Postgres 16) (push) Successful in 37s
    morphit-ci / ansible-lint (playbook quality gate) (push) Successful in 15s
    morphit-ci / Smoke suite (run-smokes.sh, triple-pulse) (push) Successful in 22m52s
    morphit-release / Build + publish release tarball (push) Successful in 24m6s
    Stable

    agorise released this 2026-07-09 21:52:45 +00:00 | 61 commits to main since this release

    Signed by agorise
    GPG key ID: 53524E1F1017EB9C

    Existing Blurt accounts can now spend

    Until now, signing in with a Posting key made Morphit read-mostly: the wallet's Send button was hidden outright, paying a trade partner in chat was blocked, and the BLURT listing fee was unreachable. The old advice — "sign in with your 12-word seed or Keyfile" — was advice for something no long-time Blurt user has.

    Morphit now asks for your Active key at the moment it's needed, in all three places, and resumes exactly where you left off. Nothing you typed is lost.

    • It accepts either an Active key (WIF) or your pre-fork Blurt master password, and works out which you gave it.
    • It checks the key against the account's on-chain authorities before doing anything.
    • It refuses your Owner key, and says so plainly. If your master password derives Owner but not Active, it refuses that too rather than quietly reaching for the most dangerous key you have.
    • By default the key signs once and is erased from memory.

    Keep my Active key on this device

    If you choose to, Morphit will store your Active key on this device, encrypted with your Morphit password — and then your Keyfile contains both your Posting and Active keys. No other Graphene-chain wallet offers an existing account an encrypted, portable key backup like this.

    Three promises:

    • Never silent. You chose Posting-only deliberately. The default answer is still "forget it".
    • Your password is the gate. Possession of the Active key alone cannot rewrite a keystore.
    • Disk only if disk. If you never asked Morphit to remember you on this device, nothing is written to it.

    Your Owner and Memo keys are never held, and there is no 12-word seed for an imported account — a seed derives keys, and it cannot be built backwards from keys you already had. Morphit says so instead of pretending otherwise.

    A red dot on your avatar tells you when you're holding key material you haven't backed up yet.

    Fixed: "Missing Posting Authority"

    Signing into two different accounts in two browser tabs could leave one tab holding the first account's keys while believing it was the second. Every broadcast it made — display name, short bio — was rejected by the blockchain, which dumped three key authorities at you by way of explanation.

    The account Morphit signs for is now derived from the signing key itself, not from a value another tab can overwrite. This also covers the order-with-fee transaction, which moves money.

    Also in this release

    • The chat header now reads like an order card: larger avatar, display name with the new-trader sprout, then the posting key, trade count and reputation. On a phone the reputation moves up beside the name rather than wrapping. The LIVE indicator moved into the ⋮ menu.
    • The orderbook no longer claims "1 of 3 slots filled today" when nothing is featured.
    • Clearer wording on the Settings → RPC endpoints card.
    Downloads
  • v1.2.0 0b6cdf9692

    Morphit v1.2.0
    All checks were successful
    morphit-ci / TypeScript typecheck (sweep all workspaces) (push) Successful in 43s
    morphit-ci / apps/web svelte-check (svelte-kit sync + svelte-aware tsc) (push) Successful in 34s
    morphit-ci / Integration tests (real Postgres 16) (push) Successful in 36s
    morphit-ci / ansible-lint (playbook quality gate) (push) Successful in 14s
    morphit-ci / Smoke suite (run-smokes.sh, triple-pulse) (push) Successful in 23m35s
    morphit-release / Build + publish release tarball (push) Successful in 25m6s
    Stable

    agorise released this 2026-07-09 02:53:42 +00:00 | 62 commits to main since this release

    Signed by agorise
    GPG key ID: 53524E1F1017EB9C

    A feature release on top of 1.1.5. Chat gets day dividers so you can find an
    old conversation, cancelled orders can be re-listed, featured orders finally show
    who's behind them, and a handful of the small things that make a wallet feel
    trustworthy got fixed — including two ways the Send screen could have sent the
    wrong amount.

    New

    • Day dividers in chat. A thin line with the date sits above the first
      message of each day, so scrolling back through hundreds of messages you can
      land on the day you're looking for instead of reading bubbles to work out
      where you are. Dates appear in your language.
    • Re-list a cancelled order. Cancelled an order and changed your mind? You
      can re-list it, the same way you already could with an expired one. The form
      is pre-filled with your original terms; the cancelled order stays cancelled.
    • Cancelling an order takes you somewhere. Confirming a cancel used to leave
      you on the same page, still looking at the red button, with nothing to show it
      had worked. It now takes you to your orders, where the order reads Cancelled.

    Fixes

    • Featured orders now show the trader's reputation. Featured cards were
      missing the new-trader sprout, the reputation score, the trade count and the
      poster's key — on exactly the cards a stranger is most likely to click. They
      now show the same trust signals as every other order card, drawn from the same
      filtered ratings.
    • Featured USDT, USDC and DAI orders now name their network. A featured
      order for a multi-network asset didn't say which chain it meant. Sending on
      the wrong chain loses the money, so this was worth fixing carefully.
    • The Send screen can't send more than you typed. Entering an amount with
      more decimal places than BLURT has (say 1.0006) would quietly round it up
      before sending. It now tells you instead of guessing. A very small amount
      (0.0004) would have been sent as zero.
    • "Send BLURT" stays disabled until your password is filled in. It was
      possible to click Send with the password field empty and only then be told it
      was required.
    • "Use full balance" fills in an amount you can actually send.
    • The "Feature this order!" panel tells the truth. It said there were 5
      featured slots. There are 3. It also now names the duration you picked (6, 24
      or 72 hours) rather than "the selected duration".
    • The warrant canary reads properly. Odd characters (â€", •) appeared
      in the published canary, and its dates were machine timestamps. The file is now
      plain ASCII — it can't be garbled by whatever you open it in — and dates read
      like "8 July, 2026 @ 23:45:18 UTC".
    • Wallet card spacing. The three columns are evenly spaced, and the value in
      your currency now lines up with your BLURT balance instead of sitting slightly
      low with a double space in front of it.
    • Form fields get a proper focus outline. Clicking into a field showed a very
      dim green glow in some places and a crisp green border in others. Now it's the
      crisp border everywhere — except on a field with an error, which stays red.
    • The download page cards respond to your mouse, like the order cards do.
    • The homepage is a little quieter. The "FEATURED RIGHT NOW" label above the
      featured cards is gone; the cards speak for themselves.
    • Polish translation improvements, contributed by a native speaker.

    For operators

    • morphit-ops reads the canary's new date format, and still reads the old one.
      Nothing to do — your existing signed canary keeps verifying.
    • Your canary is regenerated weekly by the timer. The new format arrives with the
      next regeneration; run your canary script after upgrading if you'd rather not
      wait.
    • GET /v1/orderbook/featured now returns a complete order record — the same
      shape as /v1/orderbook items, including reputation, asset_network and
      engagement_24h. Fields were added, so existing consumers keep working.

    Under the hood

    • The sock-puppet-filtered reputation aggregate (which excludes reciprocal
      ratings, linked accounts, pile-on attacks and review concentration) was written
      out in three separate places. It's now written once and shared, so the number
      on a featured card can't drift from the number on an orderbook card. The
      extraction was verified byte-for-byte identical, and a test fails if any of the
      four exclusions is ever dropped.
    • The featured endpoint's new reputation lookup is scoped to the three featured
      bidders rather than scanning every rating in the database — it's polled by every
      homepage visitor.
    • Chat day grouping, BLURT amount validation and the network chip are now pure,
      unit-tested modules rather than logic buried in components.
    • The canary timestamp is parsed strictly instead of relying on the JavaScript
      engine's lenient date parser, which would silently accept a misspelled month
      and read a timezone-less timestamp as local time.
    • 459 test runners, 13,606 assertions, all green.
    Downloads