Skip to content

refactor(dsl): move installationPath to macOS-only#12

Merged
kdroidFilter merged 1 commit intomainfrom
refactor/move-installationPath-macos-only
Feb 17, 2026
Merged

refactor(dsl): move installationPath to macOS-only#12
kdroidFilter merged 1 commit intomainfrom
refactor/move-installationPath-macos-only

Conversation

@kdroidFilter
Copy link
Copy Markdown
Owner

Summary

  • Move installationPath from AbstractPlatformSettings (shared) to AbstractMacOSPlatformSettings — it was never used by Windows or Linux targets
  • Fix productbuild in build-universal.sh that hardcoded /Applications instead of using $INSTALL_LOCATION from metadata JSON
  • Update docs: remove installationPath from Linux DSL table, improve description in macOS table

Test plan

  • preMerge passes with JDK 21
  • Verify macOS CI build still reads installationPath correctly via distributions.macOS.installationPath

… path

installationPath was defined on AbstractPlatformSettings (shared base),
exposing it in the DSL for Windows and Linux where it is never used.
Move it to AbstractMacOSPlatformSettings.

Also fix build-universal.sh productbuild call that hardcoded /Applications
instead of using $INSTALL_LOCATION from metadata JSON.
@kdroidFilter kdroidFilter force-pushed the refactor/move-installationPath-macos-only branch from 95860c9 to 21a26b9 Compare February 17, 2026 09:19
@kdroidFilter kdroidFilter merged commit 1cf20fe into main Feb 17, 2026
1 check passed
@kdroidFilter kdroidFilter deleted the refactor/move-installationPath-macos-only branch February 17, 2026 09:23
kdroidFilter added a commit that referenced this pull request Apr 19, 2026
X11 ICCCM compliance (#4/#5):
- SetSelectionOwner now uses real server timestamp via PropertyNotify probe,
  not XCB_CURRENT_TIME (violates ICCCM §2.1). Added get_server_timestamp_locked()
  which fires a zero-byte ChangeProperty to trigger timestamp event.
- TIMESTAMP replies now return g_own_ts (real value) instead of truncated 0.
- Verified: xclip -o -t TIMESTAMP returns non-zero after our clipboard write.

INCR cleanup (#3):
- On INCR read timeout, delete property to unblock sender waiting for
  PropertyNotify=Delete (ICCCM compliant termination).

Process lifecycle (#7):
- Wayland: runCaptureBytes, runSilently, writeBytes now escalate to
  destroyForcibly() if SIGTERM doesn't terminate after 500ms grace.

AccessBehavior mapping (#12):
- Kotlin: explicit when() mapping (0→AlwaysAllow, 1→AskEveryTime, 2→AlwaysDeny)
  instead of ordinal/entries.getOrNull (fragile with future macOS versions).
- ObjC: validate input 0..2 on set; return -1 if get() returns out-of-range.

Documentation & robustness (#13, #1):
- Clipboard.watch() doc: clarify poll interval is always honored; source of
  counter differs by backend (Mach IPC / XFixes / wl-paste).
- Re-check isActive after slow availableFormats() to avoid emitting to
  cancelled flow.

Added X11TimestampSmokeTest to verify real timestamps are used.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant