Skip to content
This repository was archived by the owner on Nov 12, 2026. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions mseries/OS9-HANDOFF.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
## Dock launcher regression harness startup race — 2026-10-22

PR #518's validation run [39770268132](https://github.com/techmore/ElementaryOS_MSeries/actions/runs/39770268132)
exposed a test-only race: the SIGHUP case treated creation of the fake dock's PID file as proof that its contents had
been written. The harness now waits for a numeric PID and stops waiting if the wrapper exits. The focused launcher suite
passes 8/8 locally. No production launcher behavior, installed software, dock service, kernel, boot or hardware state
changed. PR #518 remains blocked on its separate source-preparation failure and base-branch conflict; wip4 has not been
built or staged. Next: land this harness fix after review, then refresh #518 against current `dev` and retry only when its
pinned-source preparation is viable.

## Bounded Aurora CI dependency downloads — 2026-10-22

The unified72 check spent 47m17s fetching 144 MB from the Azure Ubuntu
Expand Down
8 changes: 8 additions & 0 deletions mseries/ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,14 @@ suspend and controlled power remain open. Read latest handoff before proceeding.

# Roadmap, features and follow-ups (MacBook Pro 14" M1 Pro, elementary OS 9 on Asahi)

## Dock launcher regression harness startup race — 2026-10-22

The #518 PR validation run [39770268132](https://github.com/techmore/ElementaryOS_MSeries/actions/runs/39770268132)
found that the fake dock child PID file could exist before its contents were written. The SIGHUP test now waits for a
numeric PID and detects an early wrapper exit; the focused suite passes 8/8. This changes test synchronization only and
does not qualify the wip4 kernel candidate. PR #518 remains conflicted with `dev`, and its unified72 source preparation
needs a fresh successful pinned-source fetch before kernel build or payload inspection can run.

## Factory speaker protection wired into ARM64 images — 2026-10-21

Ubuntu Resolute `speakersafetyd` 1.1.2-4 now ships in the Apple Silicon overlay,
Expand Down
17 changes: 14 additions & 3 deletions mseries/dock-tests/test-launcher.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,10 +70,21 @@ def cleanup():
process.wait()
self.addCleanup(cleanup)
deadline = time.monotonic() + 3
while not self.child_pid.exists() and time.monotonic() < deadline:
child = None
while time.monotonic() < deadline:
if process.poll() is not None:
break
try:
value = self.child_pid.read_text().strip()
except FileNotFoundError:
value = ''
if value.isdecimal():
child = int(value)
break
time.sleep(.01)
self.assertTrue(self.child_pid.exists())
return process, int(self.child_pid.read_text())
self.assertIsNotNone(child, 'dock child did not publish a PID before timeout')
self.assertGreater(child, 0)
return process, child

def test_user_disabled_blocks_patched_and_stock_fallback(self):
marker = self.home / '.config/mseries/dock/user-disabled'
Expand Down
Loading