<p>Appinstallsnowshowarealdownloadprogressbar—sameaccuracyasthesystemupdatebar.You'll see "Downloading: 50.5 / 200.0 MB (25%)" with a live percentage instead of a generic spinner. The bar keeps streaming even when the install falls back from one registry to another, so you'llneverseea"stuck at 0%"again.</p>
<p>Uninstallsnowshowwhat's actually happening: "Stopping containers (2/5)", "Cleaning up volumes", "Removing app data" — labelled per app so you can fire off multiple uninstalls in parallel and watch each one'sstageonitsowncard.</p>
<p>OVH(146.59.87.168)isnowbakedinasServer3bydefaultforbothupdatesandtheappregistry—extramirror,completelyindependentnetworkpathsoasingle-provideroutagecan't take everything down.</p>
<p>New App registries page in Settings — same experience as Update mirrors, but for the container registries your node pulls app images from. Add a mirror, test reachability with one click, pick the primary.</p>
<p>New nodes default to the VPS registry as the primary for both app installs and the app catalog, with tx1138 as the automatic fallback if the VPS is slow or unreachable. Existing nodes keep whatever registry order they'vealreadyset.</p>
<p>Rebootscreennowshowstheanimated"a"logointhecenterofthering—matchingthescreensaver's look so you get something nice to watch while the node comes back up.</p>
<p>Reboot now shows a proper progress screen. Click Reboot and you'llseeafull-screenoverlaywiththefamiliarpulsingringanimation,arebooting/reconnecting/back-onlinestatus,andanelapsedcounter—nomoreblackscreenofmysterywhileyouwait.</p>
<p>NewnodesnowdefaulttotheVPSmirrorasServer1(primary)andtx1138asServer2(fallback).Existingnodeskeepwhatevermirrororderthey've already set — use Set Primary on the System Update page to change it.</p>
<p>The Update page now shows which mirror delivered your update — a small "Served by" line under the new version tells you whether Server 1, Server 2, or a custom mirror was the one your node actually reached. Great for spot-checking that mirror fallback is doing its job.</p>
<p>Every mirror row has a new lightning-bolt button that pings the mirror and shows whether it'sreachable,plustheround-triplatencyinmilliseconds.Nomoreguessingifamirroryoujustaddedisresponding.</p>
<p>Downloadsautomaticallyfollowthemirrorthatservedthemanifest.Previouslyeverymirrorservedthesamemanifest,andthemanifest's download URLs were hardcoded to a single server — so even picking a faster mirror couldn'tspeeduptheactualdownload.NowthebackendrewritesdownloadURLstomatchwhichevermirrorsucceeded.</p>
<p>Shipswithtwodefaults:Server1(tx1138)andServer2(VPS).AddtheURLformat<code>https://host/.../releases/manifest.json</code> for custom mirrors.</p>
<p>YournodecannowreachthebroaderFIPSpublicmesh,notjustyourownfederatedcluster.TheFIPSdaemonnowbindsbothUDP(fastmeshforwarding)andTCP(NAT-friendlybootstrap)transports—matchingtheupstreamfactorydefault.ThepublicanchorcurrentlyanswersonTCP,soUDP-onlynodescouldn't reach it; this fixes that without any action needed on your end.</p>
<p>Upgrading the config happens automatically. On next startup, if the installed FIPS yaml doesn'tmatchthenewtwo-transportschema,thenodereinstallsandrestartsthedaemonsotheTCPtransportcomesonline.NomanualReconnectrequired.</p>
<p>Frontendupdatesnowactuallyship.Sinceroughlyv1.7.17thereleasepipelinehadbeenrebuildingthebackendeveryversionbutsilentlyskippingthefrontendbundle—apermissionsissueonthebuildservermeantvue-tscfailedbeforeviteeverran,andnobodynoticedbecausethepublishedtarballsstillextractedcleanly.TheresultwasthebackendmovingforwardwhiletheUIstayedfrozenatitsv1.7.9-erastate,whichiswhytheFIPSgeariconandtheWhat's New entries for every release since then had been missing on your node.</p>
<p>Once this update applies, your node gets the real v1.7.24 frontend: the FIPS Seed Anchors modal (gear icon on the FIPS Mesh card), the current What'sNewhistory,thecancel-downloadbutton,andeveryotherUItouchfromthereleasesinbetween.</p>
<p>TheFIPSanchorstatusnolongershowsredjustbecauseonespecificpublicanchorisunreachable.Itnowlightsgreenwheneveranyauthenticatedpeerisarecognisedanchor—that's either the public anchor or something you added under Seed Anchors. A federated cluster that routes through its own seed anchor finally reports the truth.</p>
<p>Reconnect also re-pushes your seed anchors after the restart, so you don'thavetowaitfiveminutesforthebackgroundapplylooptore-dialthem.</p>
<p>Fixedacriticalbugwherenodesontheautomaticdaily-updateschedulecouldendupofflineaftertheirnightlyupdate.Theschedulerwaskillingtheserviceamomenttooearly,beforethebuilt-inrestarthandlerhadachancetobringthenewversionbackup—leavingthenodedeaduntilsomeoneSSH'd in and started it manually. The scheduler now hands off cleanly to the same restart path the 'InstallUpdate' button uses, so auto-applied updates come back online on their own.</p>
<p>Applies to any node configured for 'Check&ApplyDaily' — no change required on your end, the fix ships with this update.</p>
<p>Your node no longer offers a version you'vealreadypassedasan"available update".Ifyousideloadorskiparelease,anystoredpointertoanearlierversionisdroppedonnextrestart,andtheSystemUpdatepageoffersonlythegenuinelynewerrelease—nomoreseeinganolderversionlistedassomethingtoinstall.</p>
<p>Versioncomparisonisnownumeric,notalphabetic.1.7.10correctlyoutranks1.7.9(earliernaivestring-orderwouldhavegotthisbackwardsoncethepatchnumberhitsdoubledigits),soupdatepromptsand"up to date"checksstayaccuratepastthenines.</p>
<p>Astalemanifestfromaslowcacheorproxycannolongerdowngradeyournode.Ifthemanifestreportsaversionequaltoorbehindwhat's running, your node treats that as "up to date" rather than offering the older version as an update.</p>
<p>Nodes discovered through a trusted peer now land as Trusted instead of Observer. When your federated peer shares its own peer list with you, those nodes get the same trust level as a direct invite — the link they came through is already one you vetted, so you no longer need to promote them by hand before they can be used normally.</p>
<p>The update flow now writes clearer logs at every step. Start of download, cancel, and apply each emit a one-line entry to the system journal with the staging path and the affected files, so if a download misbehaves on your node it'seasytoseeexactlywhereitgotto.</p>
<p>Downloadsthatstallfor30secondsormorenowsayso.Theprogressbarturnsamberandshows'Download appears stuck — try Cancel and start again'insteadofjustsittingsilentlyatwhateverpercentitreached.</p>
<p>Cancelingisfast.Itnolongerhastowaitouttheretrytimer—thedownloadbailswithinhalfasecond,soyou're not stuck watching a stuck screen while you wait to unstick it.</p>
<p>Federation is now bidirectional and instant. When someone joins using your invite code, their node appears on your Federation page automatically — no need for the inviter to click Sync or wait for the next poll. Names and node details populate within seconds of the handshake finishing.</p>
<p>New nodes can no longer federate with themselves. Accepting an invite that points back at the local node (by DID, public key, or onion address) is rejected up front, so self-peering no longer clutters the node list with a duplicate card.</p>
<p>Transitive discovery: if nodes A and B are already federated and node C joins A, all three nodes now learn about each other. The new peer is pulled in as an Observer entry on existing federation members, so you can promote to Trusted with one click instead of trading a second invite code.</p>
<p>The Federation page auto-refreshes every five seconds while it'sopen.Statuschanges,newpeers,andincomingjoinrequestssurfaceontheirown—clickingSyncremainsavailableforanon-demandpull.</p>
<p>Updatecheckitselfretriesonslowresponses.Ifgit.tx1138.comismomentarilyoverloaded,thenodetriesthreetimeswithafive-secondwaitbetweenattemptsbeforeconcludingyou're up to date.</p>
<p>Installing an update now shows a full-screen progress overlay with the Archipelago logo, a status message, and an animated bar. The page reloads itself automatically once the new version is up — no manual refresh. If something stalls, a 'Reloadnow' button appears after a few minutes.</p>
<p>Download progress no longer looks frozen near the end. The bar pauses at 95% with a 'Finishingdownload—verifyingchecksum…' message and spinner while the last bytes arrive and are hashed.</p>
<p>FIPS Reconnect now genuinely tries to fix the anchor. It runs a proper recovery sequence (stop → start → wait for the bootstrap window → check peers) and tells you the likely reason it'sstillunreachable—corruptidentitykey,seednotunlocked,networkblockingUDP,ortheanchorserverbeingdown—insteadofageneric'try again'.</p>
<p>HealedalatentFIPSidentitybug:thepublic-keyfilewasbeingwrittenintextform(an'npub1…'string)onsomenodes,whichthedaemoncouldn't parse and silently authenticated with a garbage key. The Reconnect button now rewrites the file in the correct binary format and re-installs the config before restarting — nodes stuck with no peers for 'noreason' should come back online.</p>
<p>AIUI (Claude sidebar) is back. The installer now ships AIUI in the frontend bundle and preserves it across future updates — it was being wiped on every OTA because it lived outside the Vue build.</p>
<p>Installing a big app (IndeedHub, Bitcoin, Penpot) no longer gives up early and shows 'didn't work'whilethedownloadisstillrunninginthebackground.Theclientwaitsupto45minutesfortheinstallpipelinetofinish.</p>
<p>'Rollback to Previous'isnowlabelled'Rollback Available'—clearerthatit's a choice you have, not a status you'restuckwith.</p>
<p>Appcatalognowloadsreliably.Before,theMarketplace/Discoverpagecouldn't fetch the catalog of apps because the upstream host wasn'tsendingtherightCORSheadersandthenode's security policy didn'tallowthefallbackURLeither.Thenodenowfetchesthecatalogserver-sideandservesitsame-origintothebrowser—nomoreblankapplists.</p>
<p>InstallUpdateactuallyappliesnow.Theinstallerhadtowriteintosystemfoldersthatthebackendservicewassandboxedoutof—everyearlier'Failed to apply update'wasalayerofthatonion.Fixedbyrunningthefileswapsinaseparatesystemcontext.</p>
<p>FIPSstatusontheHomeandServerpagesnowreflectswhetherthepublicanchorisreachable.You'll see 'Active·Npeers' (green) when healthy or 'Noanchor' (orange) when the network is blocking the bootstrap — same signal as the full FIPS card.</p>
<p>Pasting an https://… URL into the profile picture or banner now previews correctly. Before, if the URL failed to load, the UI would silently blank out instead of showing your initial as a placeholder.</p>
<p>Uploaded profile pictures under 64 KB are now embedded directly in your Nostr profile (as a data URL), so any Nostr client can see them — not just ones routing over Tor. Larger uploads keep the onion URL for now, with a hint to paste a public URL for wider visibility.</p>
<p>OTA verification release — nothing new to see. Click Install Update, grab a coffee, and watch the sidebar flip to 1.7.9-alpha on its own. If this one works end to end, the pipeline is solid and future updates will flow the same way.</p>
<p>Install Update finally works end-to-end over the air. The installer was trying to overwrite the running backend binary with a tool that fails on in-use files (ETXTBSY) — swapped it for an atomic rename, which the kernel allows on a live executable. Every previous 'Failedtoapplyupdate' attempt was this one root cause.</p>
<p>Over-the-air update test — no feature changes, just a version bump so your node can walk through the whole update flow end-to-end using the new robust installer. Safe to apply; nothing to do afterwards.</p>
<p>Install Update is now more robust. Each install gets its own uniquely-named staging folder and then moves files into place — the previous version had a small cleanup step that could hit a transient filesystem hiccup and bail out halfway. You'llalsostillseearollbackfolderafterasuccessfulinstall.</p>
<p>InstallUpdateactuallyinstallsnow.Before,thefinalstepextractedthenewUIintothewrongfolderandbailedwith'Failed to apply update'—yournodeendedupbackingupcleanlybutneverswappinginthenewfiles.Fixed.</p>
<p>Downloadprogressnolongerovershoots100%.You'll see the bar climb smoothly to 95% and then jump to 100% when the download actually finishes.</p>
<p>The version number in the sidebar now always matches the actual running version — no more lying to you about being on an older release after an update.</p>
<p>FIPS Mesh card on the server page: cleaner layout on desktop (no more awkward gaps), and a one-click Reconnect button when the public anchor is unreachable — it restarts the FIPS daemon so it can re-bootstrap from the anchor.</p>
<p>Profile pictures now show correctly in the identity list and editor. Before, uploaded images silently failed to render because the URL was only reachable over Tor; the UI now rewrites them to a local path while keeping the external URL for other Nostr clients.</p>
<p>Identity rows now show your Display Name first (from your Nostr profile) with the internal identity name beside it in parentheses, so you see the name other people will see — not just the one you picked when creating it.</p>
<p>Install Update now actually installs. Before, the button would back up your current version then fail with 'Failedtoapplyupdate' because the installer couldn'twriteintosystemfolders.</p>
<p>Thebutton's also been renamed to 'InstallUpdate' (previously 'ApplyUpdate') and the node restarts itself a moment after you click it — no more manual restart step.</p>
<p>Your existing identities now show the generated avatar instead of just their initials — same look as freshly created ones.</p>
<p>Everything from 1.7.0-alpha and 1.7.1-alpha carries over (default avatars on creation, one-click Save publishes to Nostr relays, public blob URLs for profile pictures, 30-minute download window, VPN peer restore on reboot, reconciler-only-repairs, filebrowser fix).</p>
<p>Over-the-air update test — same features as 1.7.0, just a fresh version number so your node can try the new download-and-apply flow end-to-end. Safe to apply; nothing to do afterwards.</p>
<p>Every identity now gets a personal avatar the moment it'screated.Yourmainnodeidentitygetsadistinctivehexagonal-networkicon;otheridentitiesgetacolourfulgeneratedpatternuniquetoeachone.</p>
<p>Profileeditor:uploadaprofilepictureandabanner,thentapSave—yourNostrprofilenowgoesouttotherelaysinonestep.Nomore'Save'vs'Save & Publish'confusion.</p>
<p>NostrVPN is now a native system service. Peer discovery via Nostr relays, WireGuard tunnels. Auto-configured with your node'sidentityduringonboarding—nosetuprequired.</p>