[Beta Testing Invitation] UltraBARX for macOS

Hi everyone,:blush:

We are looking for testers to try the UltraBARX macOS test version and help us improve the product before the official release.

If you are interested in participating, please help us test the app and share your feedback on:

  • Installation and first-time setup
  • Compatibility with your macOS version and Mac model
  • Performance and stability
  • User experience and interface
  • Any bugs, crashes, or unexpected behavior
  • Features you would like to see improved or added

Test version: [Download link]

Supported macOS versions: [macOS version range]

Apple Silicon / Intel support: [Specify supported devices]

Please note that this is a test version, so you may encounter bugs or incomplete features. We recommend backing up important data before testing.

After trying it, please reply to this thread with the following information:

  1. Mac model and chip
  2. macOS version
  3. Steps to reproduce any issues
  4. Screenshots or crash logs, if available
  5. Suggestions or general feedback

Thank you for helping us test UltraBARX. Your feedback will help us make the final version more stable and user-friendly!

Hi Sanytron team,

I’d like to help test the macOS beta, but I can’t get past the CoreBar’s first-run screen, so the app has nothing to find.

CoreBar issue:

  • On power-up the CoreBar shows the UltraBARX logo and a red circle labeled “Start”
  • Tapping Start does nothing. I’ve tried normal taps, firm taps, long presses, and waiting several minutes
  • Swiping down from the top does nothing either, so I can’t reach Wi-Fi or Settings
  • Power: the included DC 12V adapter (not USB)
  • I’ve power-cycled it and tried with the modules removed. No change

macOS beta feedback:

  • Mac: MacBook Pro, Apple M4 Max
  • macOS: 27.0
  • The app launches, but Search Core Bar always comes back empty. This is expected, since the bar never reaches Wi-Fi setup
  • The build is ad-hoc signed and its Info.plist has no NSLocalNetworkUsageDescription. macOS never shows the Local Network permission prompt, and the app never appears under Privacy & Security > Local Network. Please add this key before release, or Mac users won’t be able to discover the CoreBar

Questions:

  1. Is there a way to get past the Start screen without touch (KnobKey/DotKey, a button combination, or a USB method)?
  2. Is there a factory reset or recovery procedure for the CoreBar?
  3. If this is a touchscreen fault, how do I start a warranty replacement?

I can send a video of the Start screen not responding. Thanks!

I can install the beta application. The application sees my Corebar, but cannot attach to it. I get an offline error.

Hi,David,

We have fixed the SSL issue in version 1.0.9 and have now released version 1.0.10.

Could you please help us test the new version when you have a chance? We would greatly appreciate it if you could verify that the SSL issue has been resolved and let us know if you encounter any other problems.

Thank you very much for your help, support, and valuable feedback. We truly appreciate your time and assistance.

Best regards,

Hi there,

Thank you for the incredibly detailed report — this is really helpful! Let me address each point:

Regarding the Start screen:

The “Start” circle on the first-run screen is actually swipe-based, not tap-based. Could you try swiping right across the Start circle (following the on-screen prompt direction) rather than tapping it? Tapping, long-pressing, or swiping down won’t work on this screen — it specifically expects a rightward swipe gesture.

If swiping right still doesn’t get you past it, could you please record a short video of the Start screen not responding? That would help us determine whether it’s a gesture-recognition issue or a touchscreen hardware fault, and speed up troubleshooting significantly.

Regarding the macOS app not finding the CoreBar:

You’re absolutely correct — since the CoreBar never reaches the Wi-Fi setup step, it can’t connect to the network, which is why the macOS app’s search comes up empty. Once you get past the Start screen and complete the initial Wi-Fi configuration, the app should be able to discover the device.

Also, great catch on the NSLocalNetworkUsageDescription missing from the Info.plist! You’re right — without this key, macOS won’t prompt for Local Network permission, and the app can’t discover the CoreBar on the network. I’ve passed this along to our R&D team, and it will be added before the macOS version is officially released. Thanks for flagging this!

To answer your questions:

  1. Getting past Start without touch: The first-run screen currently requires the swipe gesture on the touchscreen — there isn’t a KnobKey/DotKey/USB workaround for this initial setup screen. If the touchscreen is unresponsive to swipes, that’s what we need to investigate first.
  2. Factory reset / recovery: A factory reset option is available in the Settings menu (Settings → System → Advanced → Reset), but since you can’t get past the Start screen, that’s not accessible right now. We’re looking into whether there’s a hardware-level recovery method.
  3. Warranty replacement: If we confirm it’s a touchscreen hardware fault after reviewing your video, we’ll absolutely help you with a warranty replacement.

Could you try the right-swipe on the Start circle first, and if that doesn’t work, send over that video? We’ll get this sorted out for you!

Best regards,
UltraBARX Technical Support

Hello, I have installed the version attached to this post and I am also receiving the same “offline” message in the app even though I was able to connect the bar itself to wifi. I am on a Mac mini M4 running IOS 27.

The IP address in the ultraworkspace app matches the IP address on the ultrabar when I go to the network settings. I have also double checked under the Mac privacy settings that the ultraworkspace app has permissions to connect to devices on the network. However, I still receive an “offline” error in ultraworkspace. If I attempt to deploy a project to the ultrabar I get an error for API timeout.

I’m not sure if it’s related, but in the ultrabar settings under “Auth” all I receive when entering that tile is “unauthorized” with nothing else on the screen.

pc-link also appears to not be working. Utilizing the front ports on the Mac mini registers the device as USB2 hub with a max speed of 480mb/s utilizing a thunderbolt 4 cable. The software does not connect to the Ultrabar via this link. Swapping to the rear ports on the Mac mini causes the device not to register at all. I have also tried non-thunderbolt cables.

same cable, same front port registers iPhone as USB3 Gen2 hub at 10gb/s. This result is duplicated with the rear port, USB3 10gb/s.

Follow-up — got 1.0.10 connected on Apple Silicon. Root cause of the “Offline” / “API timeout” errors (@davidturetsky, @joshputman)

Setup: MacBook Pro M4 Max, macOS 27.0.1, UltraWorkSpace V1.0.0-10, CoreBar on the same 2.4GHz Wi-Fi.

1.0.10 still fails on Apple Silicon. The app’s own log (launched from Terminal) shows three packaging problems:

1) Discovery: NSLocalNetworkUsageDescription is still missing in 1.0.10. As noted in post #2, macOS never prompts, the app never appears in Local Network, and UDP discovery on port 5319 is silently blocked. Adding the key and re-signing fixed discovery.

2) “Offline”: Qt uses the SecureTransport TLS backend. Log: ssl:Secure Transport, then SecureTransport does not support TLS 1.3 and [CoreBarConnectionTcp] Socket error: 20, Unable to init SSL Context. The CoreBar API on port 7431 is TLS 1.3 only, so the connection can never succeed. This is likely the “SSL issue” from 1.0.9, and it isn’t fixed on Apple Silicon.

3) The OpenSSL backend can’t load: the bundled libssl.3.dylib and libcrypto.3.dylib are x86_64 only. The app runs as arm64, so libqopensslbackend reports “Failed to load libssl/libcrypto” and Qt falls back to SecureTransport.

Fix I applied locally: removed PlugIns/tls/libqsecuretransportbackend.dylib, replaced the two OpenSSL dylibs with arm64 OpenSSL 3 builds (install names set to @rpath and @loader_path), and re-signed ad-hoc. Result: ssl:OpenSSL 3.6.4, connect succeed, request token succeed, CoreBar state 2 (online).

Suggested fixes for the release build:

  • Add NSLocalNetworkUsageDescription to Info.plist
  • Bundle universal (arm64 + x86_64) libssl/libcrypto, and/or call QSslSocket::setActiveBackend("openssl")
  • Remove the SecureTransport TLS plugin (deprecated, no TLS 1.3)
  • Sign with a Developer ID and notarize (currently ad-hoc, bundle ID com.yourcompany.UltraWorkSpace)
  • Minor: the device certificate’s CN is ultrabar.local, so connecting by IP logs a hostname-mismatch SSL error. It still connects.

Happy to share full logs.

Update (Oct 11): App widgets can’t be added (every item in the App list is greyed out)

Setup: UltraWorkSpace V1.0.0-10 on macOS (Apple Silicon), CoreBar on LineOS 1.0.8 / CoreBridge 1.0.3.

Steps: Widget List → App. All installed apps are listed (Calculator, Alarmclock, Space Dodger, White Noise, AuroraSniper), but they’re greyed out and none can be dragged onto the CoreBar.

Log (app launched from Terminal), once for each app every time the list loads:

[E] [CBAppWidgetItem] new CBAppWidgetItem error:[json.exception.out_of_range.403] key 'application' not found

Dragging an item then sends an empty config, and the drop is rejected:

[D] [CoreBarDeviceUI] mime data:{"config":null,"from":"configPanel","id":86,"widgetType":"app"}

Cause: the CoreBar’s app list (act 1002, sys.widget.apps) returns items with no application key:

{"icon":"http://<corebar>:8080/widget/icon?id=com.ultrabar.calculator&type=application&scheme=30",
 "id":"com.ultrabar.calculator","last":true,"name":"Calculator","type":"APPS"}

The Mac app requires application, so every item fails to load.

Suggested fix: in CBAppWidgetItem, treat application as optional and fall back to id for the package name (or use json.value("application", item["id"])). Alternatively, have LineOS include application in the 1002 response.

Workaround: adding the widget row to the project file by hand with deploymentData: {"id": "<package>", "name": "...", "type": "APPS", "icon": "<icon url>"} deploys fine, and the tile launches the app on the CoreBar. So the bar side works; only the Mac app’s list parsing is broken.

Photoshop plugin pack (v1.0.0, from the App and Plugin Store) uses Windows shortcuts — 12 of 23 commands don’t work on macOS

Same setup as my post above (MacBook Pro M4 Max, macOS 27.0.1, UltraWorkSpace 1.0.10). I checked every command in the pack’s config.json against Photoshop’s Mac shortcuts. Every command that uses a modifier sends Ctrl (HID 224), but Mac Photoshop uses Cmd (HID 227). These all fail on a Mac:

Command Pack sends Mac Photoshop needs
Camera Raw Filter Shift+Ctrl+A Shift+Cmd+A
Hue/Saturation Ctrl+U Cmd+U
Invert Ctrl+I Cmd+I
Black & White Ctrl+Shift+U Opt+Shift+Cmd+B
Lens Correction Ctrl+Shift+R Shift+Cmd+R
Content-Aware Fill Shift + forward Delete (HID 76) Shift + Delete/Backspace (HID 42)
Curves Ctrl+M Cmd+M
Color Balance Ctrl+B Cmd+B
Levels Ctrl+L Cmd+L
New Layer Ctrl+Shift+N Shift+Cmd+N
Guides (show/hide) Ctrl+; Cmd+;
Liquify Ctrl+Shift+X Shift+Cmd+X

The single-key tool shortcuts are fine on both platforms: Brush (B), Move (V), Hand (H), Text (T), Gradient (G), Eraser (E), Eyedropper (I), Direct Selection (A), Lasso (L), Rectangular Marquee (M), Crop (C).

Also wrong on Windows: “Black & White” sends Ctrl+Shift+U, which is Desaturate in Photoshop. Black & White is Alt+Shift+Ctrl+B (Windows) / Opt+Shift+Cmd+B (Mac).

Duplicate IDs in the pack: Eyedropper and Direct Selection share id rR2zG7fH2cL0sV9tI6xY8cK9aQ7nK5uD, and Rectangular Marquee and Crop share id zD1jL8aW6gJ6bL3yX0tC6vK7nN5dT3zR. This could cause the editor to mix them up.

Suggestions:

  • Ship a macOS variant of the pack (or per-OS key sets in config.json), using Cmd (227) wherever Windows uses Ctrl (224)
  • Or have the Mac app automatically swap Ctrl for Cmd in PC_CONTROL shortcuts
  • The other store packs (OBS, Excel, Word, etc.) probably need the same check

Related feature question: is SceneShift (switching profiles automatically based on the frontmost app, e.g. Photoshop) planned for the Mac app? I couldn’t find it in 1.0.10, and the SceneShift help page on hub.sanytron.com returns 404.

Crash: clicking “Add Action” in a module editor quits the app (macOS)

Same setup (MacBook Pro M4 Max, macOS 27.0.1, UltraWorkSpace 1.0.10). Steps: select a module (Dot Key) → Event: Click → Add Action. The app quits immediately, every time. 3 crash reports (UltraWorkSpace-2026-10-11-192518.ips, -192530.ips, -193305.ips).

Exception from the log:

*** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndexedSubscript:]: index 18446744073709551615 beyond bounds [0 .. 0]'
  ... libqcocoa.dylib (accessibility)
  ... AppKit NSAccessibilityPostNotificationForObservedElementWithUserInfo
  ... QtWidgets QWidget::setFocus(Qt::FocusReason)
  ... QApplicationPrivate::giveFocusAccordingToFocusPolicy

Cause: when the new action row receives focus, macOS posts an accessibility notification. Qt 6.5.3’s Cocoa accessibility code then looks up the element at index -1 (18446744073709551615 as unsigned) and throws. It only happens when an accessibility client is running, in my case Grammarly Desktop. With Grammarly quit, Add Action works. VoiceOver, text expanders, and other assistive tools will likely trigger the same crash.

Workaround for other testers: quit Grammarly (or similar accessibility apps) while editing actions, or turn Grammarly off for UltraWorkSpace.

Suggested fix: update the bundled Qt (6.5.3 has several known macOS accessibility crashes fixed in later 6.5.x / 6.8 LTS releases), or make sure new widgets are fully added to their parent/layout before calling setFocus(). Happy to send the .ips files.


Update: tested where the Add Action crash happens

I tested each editor with Grammarly Desktop running (the accessibility client that triggers it), relaunching after each crash. Same Mac / macOS 27.0.1 / UltraWorkSpace 1.0.10.

Test Result
Dot Key → Click → Add Action :cross_mark: Crash
Knob Key → Click → Add Action :cross_mark: Crash
Multi-Action widget → Add Action :cross_mark: Crash
Click into an existing text field (Prompt Dialog → Name) :white_check_mark: OK
Profile → New Profile… (dialog with focused Name field) :white_check_mark: OK
Dot Key → Add Action with Grammarly quit :white_check_mark: OK

Every crash is the same exception: NSRangeException ... index 18446744073709551615 beyond bounds [0 .. 0] from QWidget::setFocus into the macOS accessibility layer. 6 crash reports total (UltraWorkSpace-2026-10-11-1925xx … -194709.ips).

Conclusion: it’s specific to the shared Add Action component, which appears in every module editor and in Multi-Action. Ordinary text fields and dialogs are fine. Right after the new action row is created, it gets focus before it’s fully in the accessibility tree, and Qt 6.5.3 looks up index -1. Any user with Grammarly, VoiceOver, or another accessibility client running can’t add actions at all, which blocks programming the modules.

Suggested fix: in the Add Action handler, finish adding the new row to its layout and let the event loop run before calling setFocus() (e.g. QTimer::singleShot(0, ...)), and/or update to a newer Qt where these Cocoa accessibility crashes are fixed.

I updated and still cannot get past that screen… same experience. OS 27.2, Mac Studio

Dude, this is great, but I have no idea how to do those things. I will wait until the new package arrives. :slight_smile: Thank you for the hard work on this.