Repository navigation
Conversation
* test(drive-alive): wait on events instead of wall-clock deadlines The suite is MainActor, so a test sleeping toward a 5 s deadline could wake after a busy main thread and fail before the controller's queued cycle ran. The waits now await the pulse, schedule and write events directly, with a one-minute time limit. * test(drive-alive): let a waiting signal end on cancellation Signal.wait() now throws CancellationError when its task is cancelled, so a test timeout ends a never-fired wait instead of hanging the run.
… in sync (#33) * fix(settings): save duration presets on focus loss and keep the field in sync The field only saved on Return and was never re-synced, so clicking away lost edits and it showed unsorted or stale text after a save or reset. It now commits on Return or focus loss through AppModel.applyPresets and re-renders from the saved presets. * fix(settings): report preset save failures and clear stale preset errors applyPresets now builds one settings value and writes it once, so a failed save returns false and the field keeps the typed text. A successful apply, or leaving the field with no edits, clears a leftover presets validation message.
…34) * fix(settings): unblock recorder keys and refresh update availability * fix(updates): notify menu consumers when startup disables checks
* feat(build): verify dev app launch and stream bounded logs * fix(triggers): identify actions by rule and condition for accessibility * fix(settings): loop glyph previews through every state * fix(build): normalize the validated dev app path
* fix(updates): cancel Settings sheets after package preparation * fix(helper): discard superseded power readbacks
* build(release): prepare 1.0.0-beta.6, build 11 * docs(release): match acceptance wording to the current schema
* fix(settings): clear preset save errors after a successful retry * fix(settings): keep preset drafts when glass appearance changes * fix(settings): preserve identical errors from other settings saves
test(async): await work completion and isolate drive fixtures test(settings): cover mounted row identity and process loading fix(site): describe the public beta before metadata loads chore(qlty): scan the Swift dependency lockfile locally test(settings): edit and save surviving trigger conditions fix(settings): open each page at the top test(settings): account for native scroll content insets ci(swift): isolate mounted rendering from deadline tests test(download): reject successful reads after model shutdown ci(swift): isolate existing settings bitmap suites
* build(release): prepare 1.0.0-beta.7, build 12 * docs(release): align website beta version
|
No actionable comments were generated in the recent review.
|
| Layer / File(s) | Summary |
|---|---|
Beta.7 release metadata README.md, packaging/Version.plist, docs/INSTALLATION.md, website/README.md |
Release references advance to beta.7 and build 12. The README adds a CodesWhat attribution. |
Release links and notes website/vercel.json, website/tests/release.test.mjs, packaging/ReleaseNotes.txt |
Website redirects point to beta.7 artifacts. The release-page test checks beta and availability-link content. Release notes add a Settings pane-switching note and remove several prior notes. |
Settings and trigger editor
| Layer / File(s) | Summary |
|---|---|
Settings page identity and mounted tests Sources/DilatedUI/Settings/SettingsWindow.swift, Tests/DilatedUITests/MountedSettingsTests.swift, Tests/DilatedUITests/SettingsScrollTests.swift |
The settings content receives an identity keyed to the selected page. UI tests cover scroll position, settings-row value, identity and focus, and process-picker content. |
Trigger editor interactions Sources/DilatedUI/Automation/TriggersSettings.swift, Tests/DilatedUITests/TriggerEditorInteractionTests.swift, Tests/DilatedCoreTests/TriggerTests.swift |
A DEBUG-only editor appearance callback is added. Tests cover condition removal, retained field state, saving criteria, and active hold identity. |
Test scheduling and synchronization
| Layer / File(s) | Summary |
|---|---|
Async work and callback test control Sources/DilatedUI/Automation/Downloads.swift, Sources/DilatedUI/Automation/WiFi.swift, Sources/DilatedUI/Feedback/FeedbackController.swift, Tests/DilatedUITests/DownloadTests.swift, Tests/DilatedUITests/WiFiTests.swift, Tests/DilatedUITests/FeedbackTests.swift |
Test accessors expose pending download reads and feedback deliveries. WiFiObserver accepts an injectable scheduler. Tests await pending work or explicitly run queued callbacks. |
Test readiness and suite execution Tests/DilatedCoreTests/PackageHelperTests.swift, Tests/DilatedUITests/DriveAliveTests.swift, scripts/verify.sh |
The package-helper test polls for child-process readiness. Native-volume tests run in a serialized main-actor suite, and the verification script runs mounted-view suites separately. |
Qlty scanner configuration
| Layer / File(s) | Summary |
|---|---|
Configure osv-scanner .qlty/qlty.toml |
Qlty lists dependency manifests and lockfiles for osv-scanner and pins the plugin to version 2.4.0. |
Estimated code review effort: 3 (Moderate) | ~25 minutes
Change: Other
Possibly related PRs
- CodesWhat/dilated#38: Promotes the preceding beta and updates release, installation, website, and package metadata.
- CodesWhat/dilated#23: Implements stable trigger-row identity, which is covered by the trigger-editor interaction tests here.
- CodesWhat/dilated#12: Adds stable trigger-condition row IDs, related to the condition-removal test in this change.
Suggested reviewers: alargecompany
Merge Risk: 
Minimal · up to 48afb
-
Settings panes reset their scroll position, and release-download validation remains in place. No merge-blocking issue was identified.
Pre-merge checks: 
4 · 
1
-
Failed checks: 1 warning Passed checks: 4 passedFull details: Docstring Coverage
-
Explanation
Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 11 functions across 16 files. (7 skipped: 7 unsupported.)
Resolution
Write docstrings for the functions missing them to satisfy the coverage threshold.
-
Finishing Touches
-
Generate docstrings
-
- Commit to this branch
- Create a new PR
Generate unit tests (beta)
-
- Commit to this branch
- Create a new PR
-
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
The merge-base changed after approval.
biggest-littlest
left a comment
There was a problem hiding this comment.
Verified that the beta.6 main tree equals the reviewed dev ancestor before linking promotion history. The resulting beta.7 tree is unchanged from reviewed source PR #41. Required current-head CI and actual CodeRabbit review still apply.
|
@coderabbitai review Review beta.7 promotion48afb54fa487399d25ab22cb73b7db73a56ba8bb against main. This is a single-user local macOS app. Check Settings scroll-state behavior, release-version/download consistency, native test/fixture safety and verified-download gating. The ancestry merge preserves the tested tree; hardware limitations and earlier evidence revisions remain explicit. |
Action performed
|
Promote beta.7, build 12, from dev/m2 to main. Settings pages open at the top when switching panes. This includes the reviewed native-view regressions, async readiness, local Swift advisory coverage and website fixes from #40, plus the release metadata from #41.
Validation: the full local gate passed 391 Swift cases (two opt-in native fixture cases skipped), 67 release checks and 20 website tests. Local Qlty passed. Both source PR CI lanes passed. Packaging and notarization follow the reviewed main promotion and signed tag; earlier-beta hardware receipts keep their original revisions and unresolved checks remain explicit.
The earlier squash promotion left main outside the dev ancestry. Commit48afb54 links that history after proving beta.6 main0b9bf35 equals reviewed dev cut7c3b5f0, which is already an ancestor of this source. The before/after beta.7 tree is identical; no files changed. Fresh promotion checks still apply.
Summary by CodeRabbit