ksmithandClaude Sonnet 5 aa812b0da7 macOS: fix launch crash, missing dylibs, and dmg volume icon
The app crashed at launch with "cannot be opened because of a
problem" because macdeployqt invalidates the code signature when it
rewrites library load paths; re-sign (ad hoc) after macdeployqt runs.

Also fixes the underlying cause of a Library-missing crash: orbithub's
INSTALL_RPATH used the Linux linker token $ORIGIN, which dyld does not
understand, and the bundled FreeRDP/WinPR/KodoTerm dylibs installed to
a sibling lib/orbithub/ directory outside OrbitHub.app rather than
Contents/Frameworks, so they were never copied into the dmg at all.
Both are now APPLE-specific, matching macdeployqt's own layout
(Contents/Frameworks, @executable_path/../Frameworks).

build-dmg.sh now also sets a custom volume icon (via SetFile or the
fileicon brew formula, whichever is available) instead of the
generic disk image icon, degrading gracefully if neither is present.

Also includes the StartupWMClass desktop-file fix from the prior
commit's message, which was never actually staged.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-08 14:00:46 -06:00

OrbitHub

OrbitHub is a cross-platform native desktop app for managing and launching remote sessions from one place.

It is implemented in C++17 with Qt6 Widgets and built with CMake.

Supported target platforms:

  • Windows
  • Linux
  • macOS

Current Status

OrbitHub is in active development.

  • Milestones completed: M0-M5, M7, and M8
  • Current milestone: Milestone 9 (Packaging and Distribution)
  • Deferred milestone: Milestone 6 (VNC Fully Working)
  • Latest checkpoint tag: v0-m8-done
  • VNC implementation milestone (M6) is currently deferred

Progress and milestone details:

Screenshots

Profile list with folders

Profiles organized into folders, with protocol, host, and tags shown at a glance. (Sample data shown; not real hosts.)

Implemented Features

Profile Management

  • SQLite-backed profile storage
  • Create, edit, delete profiles
  • Protocol-aware profile validation (SSH/RDP/VNC)
  • Profile search and sorting
  • Tags support
  • Folder/subfolder support
  • List and Folders profile views
  • Right-click profile tree actions:
    • New Folder
    • New Connection
  • Drag-and-drop profile moves between folders with persistence

Session Experience

  • Multi-tab session window
  • Auto-connect on tab open
  • Disconnect on tab close
  • Session state indicators on tabs
  • Timestamped event log with filtering and export

SSH

  • Embedded interactive terminal (in-app typing)
  • Theme support (Dark, Light, Solarized Dark)
  • Password and private-key auth flows
  • Known-hosts policy support

RDP

  • Embedded in-window RDP rendering surface (no external launcher)
  • Keyboard/mouse input forwarding
  • Resize handling and resolution renegotiation
  • Domain-aware authentication support
  • RDP security/performance profile options

App UX

  • App icon and themed About dialog
  • File menu:
    • New Profile
    • New Folder
    • Quit
  • Help menu:
    • About OrbitHub

Build and Run

Detailed platform instructions:

Quick start (Linux/macOS with Ninja):

cmake -S . -B build -G Ninja
cmake --build build
./build/orbithub

Packaging (Linux)

./packaging/linux/build-deb.sh

Optional Flatpak bundle:

./packaging/flatpak/build-flatpak.sh

Dependencies

Core dependencies:

  • Qt 6 (Widgets, SQL)
  • CMake 3.21+
  • C++17 toolchain

Protocol/runtime dependencies:

  • SSH client (ssh) available on PATH for SSH sessions

Bundled/vendored third-party components:

  • KodoTerm
  • libvterm
  • FreeRDP/WinPR

Licensing

Project license:

License links:

Important third-party license notes:

  • Qt6 is dynamically linked in this project build setup.
  • Qt6 is used under LGPLv3 terms in this project build setup.
  • KodoTerm and libvterm are MIT-licensed.
  • FreeRDP/WinPR is Apache-2.0 licensed.

Repository license files:

See in-app Help -> About OrbitHub for license links and third-party inventory.

Repository Structure

  • src/ - application source code
  • docs/ - build guide, spec, and progress tracking
  • third_party/ - vendored third-party dependencies
  • build/ - local build output (generated)

Notes

  • Passwords are requested at connect time and are not stored in the profile database.
  • This repository currently prioritizes integrated SSH and RDP workflows while VNC implementation is pending.
S
Description
No description provided
Readme MIT
12 MiB
2026-09-15 06:29:51 -06:00
Languages
C++ 93.6%
CMake 3.4%
Shell 2.1%
Inno Setup 0.5%
PowerShell 0.4%