Skip to content

build(release): promote 1.0.0-beta.7 to main - #42

Merged
scttbnsn merged 10 commits into
mainfrom
dev/m2
Oct 31, 2026
Merged

scttbnsn merged 10 commits into
mainfrom
dev/m2

Conversation

@scttbnsn

@scttbnsn scttbnsn commented Oct 31, 2026 •

Copy link
Copy Markdown
Contributor

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

  • Bug Fixes
    • Settings pages now start at the top when you switch between panes, making it easier to find content on the selected page.
  • Release
    • Updated the public beta to version 1.0.0-beta.7 (build 12). The installation instructions and download links now reference this release.
  • Documentation
    • Updated release information across the project documentation and website to reflect the new beta version.

* 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
@coderabbitai

coderabbitai Bot commented Oct 31, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 0ac50977-54aa-4358-a75e-679601cfba80
Commits

Reviewing files that changed from the base of the PR and between 0b9bf35 and 48afb54.

Files ignored due to path filters: 1
  • website/dist/index.html is excluded by !**/dist/**
Files selected for processing: 23
  • .qlty/qlty.toml
  • README.md
  • Sources/DilatedUI/Automation/Downloads.swift
  • Sources/DilatedUI/Automation/TriggersSettings.swift
  • Sources/DilatedUI/Automation/WiFi.swift
  • Sources/DilatedUI/Feedback/FeedbackController.swift
  • Sources/DilatedUI/Settings/SettingsWindow.swift
  • Tests/DilatedCoreTests/PackageHelperTests.swift
  • Tests/DilatedCoreTests/TriggerTests.swift
  • Tests/DilatedUITests/DownloadTests.swift
  • Tests/DilatedUITests/DriveAliveTests.swift
  • Tests/DilatedUITests/FeedbackTests.swift
  • Tests/DilatedUITests/MountedSettingsTests.swift
  • Tests/DilatedUITests/SettingsScrollTests.swift
  • Tests/DilatedUITests/TriggerEditorInteractionTests.swift
  • Tests/DilatedUITests/WiFiTests.swift
  • docs/INSTALLATION.md
  • packaging/ReleaseNotes.txt
  • packaging/Version.plist
  • scripts/verify.sh
  • website/README.md
  • website/tests/release.test.mjs
  • website/vercel.json

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

Walkthrough

This change promotes the public beta to 1.0.0-beta.7, updates settings identity and test behavior, adds an osv-scanner configuration, and adjusts test execution.

Changes: Beta.7 release

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: Passed 4 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Docstring Coverage Warning 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. Documentat… Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed Passed checks: 4 passed
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly identifies the main change: promoting release 1.0.0-beta.7 to the main branch.
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full 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.

Share

@biggest-littlest biggest-littlest left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed the promotion against source PRs #40 and #41. The dev tree matches the reviewed metadata head. Source CI passed and hardware limitations remain explicit; the promotion still needs its required checks and CodeRabbit review.

@scttbnsn
scttbnsn dismissed biggest-littlest’s stale review October 31, 2026 20:42

The merge-base changed after approval.

@biggest-littlest biggest-littlest left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@scttbnsn

Copy link
Copy Markdown
Contributor Author

@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.

@coderabbitai

coderabbitai Bot commented Oct 31, 2026 •

Copy link
Copy Markdown
Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@scttbnsn
scttbnsn merged commit f709bf0 into main Oct 31, 2026
3 of 4 checks passed
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.

2 participants