mirror of
https://github.com/dredx/prole.git
synced 2026-09-24 19:24:32 +00:00
- Replaced all IRCKit (0.16) usage with NozeIO `swift-nio-irc-client` (SwiftPM). - Enabled IRC window with new client: connects and joins `#prole` (plain TCP for now; SSL checkbox displays a notice). - Enabled RoyalVNC and removed all optional/flag-based handling. Integrated RoyalVNC via SwiftPM (`royalvnc` on `main`). - Updated VNC UI to current RoyalVNC API: `VNCConnection` + `VNCCAFramebufferView` with a strong delegate reference. - Simplified build to use SwiftPM for both IRC and RoyalVNC. - Fixed runtime embedding and loader issues: - Copy SwiftPM-built `.dylib` products (e.g., `libRoyalVNCKit.dylib`) into `Contents/Frameworks` and codesign them. - Added `@executable_path/../Frameworks` to app rpaths with `install_name_tool`. - Removed manual RoyalVNCKit `.xcframework` building/embedding and any IRCKit traces. #### Key changes - `prole-app/build.sh`: - Build app via SwiftPM; removed IRCKit and manual RoyalVNC build logic. - Embed SwiftPM `.dylib` outputs into `Contents/Frameworks` and set app rpath. - Cleaned usage text; dependencies now handled by SwiftPM. - `prole-app/Package.swift`: - Add `swift-nio-irc-client` (NozeIO) dependency. - Add RoyalVNC via SwiftPM: `https://github.com/royalapplications/royalvnc` on `main`. - `prole-app/Sources/IRCWindowController.swift`: - Migrate to NozeIO `IRC` package API; re-enable Connect; join `#prole`. - Import AppKit; provide convenience init for transcript view. - `prole-app/Sources/WorkstationWindowController.swift`: - Import `RoyalVNCKit`; use `VNCConnection` + `VNCCAFramebufferView`. - Implement `VNCConnectionDelegate` and keep a strong reference to the delegate. - `prole-app/debug.sh`: - Removed IRCKit logs section; kept RoyalVNC logs earlier; then removed manual RoyalVNC altogether. This build now launches successfully (no dyld errors), opens the Workstation window (RoyalVNC), and the IRC window connects via the new client. ### Suggested follow-ups - If TLS is required for IRC, add `NIOSSL` integration and wire SSL checkbox to TLS connection. - Optionally remove leftover Vendor references if any local cache remains.
74 lines
2.0 KiB
Bash
Executable File
74 lines
2.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
# Prole debug script — runs a build with logs preserved and prints the most relevant tails
|
|
# Usage:
|
|
# ./debug.sh # build for host arch and print log tails
|
|
# ./debug.sh --universal # build universal and print log tails
|
|
#
|
|
# Notes:
|
|
# - This script forces KEEP_DEPS=1 so dependency artifacts and logs are retained.
|
|
# - It will not stop on build failure; it captures the exit code and prints logs.
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
ROOT_DIR="$SCRIPT_DIR"
|
|
BUILD_DIR="$ROOT_DIR/.build-cli"
|
|
DEPS_OUT_DIR="$BUILD_DIR/deps/out"
|
|
DEPS_LOGS_DIR="$DEPS_OUT_DIR/logs"
|
|
APP_LOGS_DIR="$BUILD_DIR/logs"
|
|
|
|
cmd="build"
|
|
if [[ ${1:-} == "--universal" ]]; then
|
|
cmd="build-universal"
|
|
shift || true
|
|
fi
|
|
|
|
echo "[debug] Xcode:"
|
|
/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -version || xcodebuild -version || true
|
|
echo
|
|
|
|
echo "[debug] Cleaning prior artifacts (but will preserve new deps via KEEP_DEPS=1)"
|
|
KEEP_DEPS=1 "$SCRIPT_DIR/build.sh" clean || true
|
|
|
|
echo "[debug] Starting ${cmd} with KEEP_DEPS=1"
|
|
set +e
|
|
KEEP_DEPS=1 "$SCRIPT_DIR/build.sh" "$cmd" "$@"
|
|
status=$?
|
|
set -e
|
|
echo "[debug] build.sh finished with status: $status"
|
|
|
|
echo "[debug] ===== Dependency logs (RoyalVNCKit) ====="
|
|
for f in \
|
|
"$DEPS_LOGS_DIR/royalvnc-archive-arm64.log" \
|
|
"$DEPS_LOGS_DIR/royalvnc-archive-x86_64.log" \
|
|
"$DEPS_LOGS_DIR/royalvnc-create-xcframework.log" \
|
|
; do
|
|
if [[ -f "$f" ]]; then
|
|
echo "----- tail: ${f} -----"
|
|
tail -n 200 "$f" || true
|
|
echo
|
|
fi
|
|
done
|
|
|
|
echo "[debug] ===== App compile/link logs ====="
|
|
for f in \
|
|
"$APP_LOGS_DIR/swiftc-arm64.log" \
|
|
"$APP_LOGS_DIR/swiftc-x86_64.log" \
|
|
; do
|
|
if [[ -f "$f" ]]; then
|
|
echo "----- tail: ${f} -----"
|
|
tail -n 200 "$f" || true
|
|
echo
|
|
fi
|
|
done
|
|
|
|
echo "[debug] ===== Summary ====="
|
|
if [[ -d "$DEPS_LOGS_DIR" ]]; then
|
|
echo "Dependency logs directory: $DEPS_LOGS_DIR"
|
|
fi
|
|
if [[ -d "$APP_LOGS_DIR" ]]; then
|
|
echo "App logs directory: $APP_LOGS_DIR"
|
|
fi
|
|
echo "build.sh exit status: $status (0 means success)"
|
|
exit $status
|