Skip to content

Add aot-runtime module for AOT mode detection#3

Merged
kdroidFilter merged 1 commit intomainfrom
codex/aot-runtime-detector
Feb 9, 2026
Merged

Add aot-runtime module for AOT mode detection#3
kdroidFilter merged 1 commit intomainfrom
codex/aot-runtime-detector

Conversation

@kdroidFilter
Copy link
Copy Markdown
Owner

Summary

  • add a new JVM module aot-runtime with a small helper API to detect AOT mode at runtime
  • expose AotRuntime.mode(), AotRuntime.isRuntime(), and AotRuntime.isTraining()
  • detect mode from JVM args (-XX:AOTCacheOutput= for training, -XX:AOTCache= for runtime) with optional override via composedeskkit.aot.mode
  • wire the new module into root settings.gradle.kts and preMerge
  • document usage in README.md with a simple app-side example

Validation

  • JAVA_HOME=$(/usr/libexec/java_home -v 21) ./gradlew :aot-runtime:check

@kdroidFilter kdroidFilter merged commit 3b7bb70 into main Feb 9, 2026
1 check failed
@kdroidFilter kdroidFilter deleted the codex/aot-runtime-detector 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