Slicermorph not on arm64 catalogue

@ebrahim @Sam_Horvath

looks like MacOS arm64 build is now integrated to the downloads site. Congrats on the milestone.

I noticed SlicerMorph is not available for arm64. Any idea why?

For information, other extensions seem to be missing such as the Dental Segmentator.

On a related note, the MacOS arm64 is currently the only platform in the previews using Qt6.
To bump the extensions, it would probably be a good idea to make the switch for the other platforms as well to avoid a Qt5 / Qt6 dual compat.

Hi Murat,

So there are a number of issues occurring here.

  • There is a bug that is redirecting the extension page back to the intel version
  • The intel version is the one that is missing

We will have this fixed soon

And the Intel is missing because I cut off the intel extension build yesterday to fix some things on that system. Intel macOS extensions are always lagging behind everything else due to the long build times on that machine, I have been working on speeding that up

@muratmaga Try launching your arm64 download again and checking for SlicerMorph, it should be there now

The full Qt6 switchover is next on my list

When I tried to run the extension manager and install slicermorph, I got these errors (and nothing was installed):slight_smile:

Added {--remote-allow-origins=*} to command-line arguments to avoid web socket connection errors during remote debugging.



DevTools listening on ws://127.0.0.1:1337/devtools/browser/4b3064fa-2a78-4d6a-8013-599816100856

Remote debugging server started successfully. Try pointing a Chromium-based browser to http://127.0.0.1:1337

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Extension metadata response missed required 'extensionname' field

Download of extension failed, could not find an extension with id = 6adb253632e5d6bfbf6eb47f

2026-10-23 10:06:46.307 SlicerApp-real[70747:23511547] TSMSendMessageToUIServer: CFMessagePortSendRequest FAILED(-1) to send to port com.apple.tsm.uiserver

@Sam_Horvath From claude it if it useful:


Found the cause. The server side is fine: the /api/v1/app/.../extension?app_revision=35403&os=macosx&arch=arm64 query returns all 230 extensions, each with meta.baseName. The problem is in qRestAPI under Qt6.

qRestAPI::qVariantMapFlattened() (commontk/qRestAPI@5c4a76e, the commit Slicer currently pins) uses QVariant::canConvert<QVariantMap>() / canConvert<QVariantList>() to decide whether to recurse. In Qt6, QVariant(QString).canConvert<QVariantList>() returns true. So every string field gets treated as a list, converted with toMap() into an empty map, and dropped. After flattening, each record has only size and meta.tier. With no extensionname, onExtensionsMetadataFromServerQueryFinished skips all of them (one warning per extension). Install then can’t find the extension id. The catalog still displays because the web frontend queries the server directly.

I reproduced this with a small test against Qt 6.11.2 using the same parse/flatten code on the live server response:

name type QString  canConvert<QVariantMap> false  canConvert<QVariantList> true
flattened keys: ("meta.tier", "size")

Checking the actual type fixes it, and it works for both Qt5 and Qt6:

if (value.userType() == QMetaType::QVariantMap)    // was canConvert<QVariantMap>()
...
if (value.userType() == QMetaType::QVariantList)   // was canConvert<QVariantList>()

With that change all fields come through, including meta.baseName. This will hit every Qt6 build, so it should be fixed in qRestAPI and the pin bumped before the full Qt6 switchover.

Awesome, thanks Murat. I am getting a fix ready for this now

Fix has been merged: BUG: Fix Extensions Manager failing to install extensions with Qt 6 by sjh26 · Pull Request #9498 · Slicer/Slicer · GitHub

This will be available after tonight’s build is done, so tomorrow after 10 AM ET

@Sam_Horvath

The 10-24 arm64 nightly (447e3ef, which includes the qRestAPI fix) didn’t produce a package. The Slicer build stopped in qSlicerSslTest.cxx from f70357c: line 79 QNetworkRequest request(QUrl(url)); is parsed as a function declaration (most vexing parse), so lines 82–83 fail to compile. QNetworkRequest request{QUrl(url)}; should fix it.

The download site is still serving 35403.

PR is up: COMP: Fix qSlicerSslTest build error caused by most vexing parse by sjh26 · Pull Request #9501 · Slicer/Slicer · GitHub

We will get that merged today, fingers crossed for tomorrows build :crossed_fingers:

Works. Thanks Sam. I will announce the availability of arm64 on SlicerMorph mailing list