Skip to content

build(release): promote 1.0.0-beta.8 to main - #54

Merged
scttbnsn merged 11 commits into
mainfrom
dev/m2
Nov 2, 2026
Merged

scttbnsn merged 11 commits into
mainfrom
dev/m2

Conversation

@scttbnsn

@scttbnsn scttbnsn commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

Promotes beta.8, build 13, from dev/m2 to main. It adds an About page in Settings and moves Sparkle to 2.10.1.

Also in this promotion: the process picker test fix, Codecov upload and badge, security.txt on the site, Lefthook commit checks, wider waits in the time-based tests, and the website checks in Chromium, Firefox and WebKit (#43 to #52). Every one of those PRs passed CI on dev/m2. Packaging and notarization follow from the signed tag once this is merged.

Summary by CodeRabbit

  • New Features
    • Added an About page in Settings with app version, license, project links, and update controls. The About menu item now opens this page.
    • Added a security contact page to the website.
  • Updates
    • Updated the public beta to 1.0.0-beta.8 (build 13), including the website’s download links and installation instructions.

About Dilated now opens a Settings page with the version, copyright, update check and project links instead of the stock panel.
Polling waits and the XPC deadline check used bounds that a loaded
runner with coverage on can blow through. Polls still exit as soon as
the condition holds, so passing runs aren't slower.
Add Playwright checks for the menu preview, layout, page controls and release
metadata, served with the CSP from vercel.json, as a step in the verify job.
* build(release): prepare 1.0.0-beta.8, build 13

* build(deps): update Sparkle to 2.10.1
@coderabbitai

coderabbitai Bot commented Nov 2, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 18 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

Learn how review limits work.

Review configuration:

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: f2a4b870-b5b9-49ab-bc89-217991a31644
Commits

Reviewing files that changed from the base of the PR and between 41358f1 and 8a66728.

Files selected for processing: 6
  • README.md
  • Tests/DilatedCoreTests/PackageHelperTests.swift
  • lefthook.yml
  • scripts/check-commit-msg.sh
  • scripts/coverage-lcov.sh
  • scripts/verify.sh
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: 92f52a45-cb2a-429f-a78e-f92ecfaeebc8
Commits

Reviewing files that changed from the base of the PR and between f709bf0 and 41358f1.

Files ignored due to path filters: 3
  • Package.resolved is excluded by !**/Package.resolved
  • website/dist/.well-known/security.txt is excluded by !**/dist/**
  • website/package-lock.json is excluded by !**/package-lock.json
Files selected for processing: 35
  • .github/workflows/ci.yml
  • .gitignore
  • Package.swift
  • README.md
  • Sources/DilatedUI/ApplicationDelegate.swift
  • Sources/DilatedUI/Automation/TriggersSettings.swift
  • Sources/DilatedUI/Menu/AwakeMenu.swift
  • Sources/DilatedUI/Menu/MenuBarController.swift
  • Sources/DilatedUI/Settings/AboutSettings.swift
  • Sources/DilatedUI/Settings/SettingsWindow.swift
  • Tests/DilatedCoreTests/PackageHelperTests.swift
  • Tests/DilatedUITests/AboutSettingsTests.swift
  • Tests/DilatedUITests/ActivityInputTests.swift
  • Tests/DilatedUITests/ClosedLidControllerTests.swift
  • Tests/DilatedUITests/DownloadTests.swift
  • Tests/DilatedUITests/FeedbackTests.swift
  • Tests/DilatedUITests/MountedSettingsTests.swift
  • Tests/ReleaseTests/test_publish_website.py
  • docs/INSTALLATION.md
  • docs/THIRD-PARTY.md
  • lefthook.yml
  • packaging/Info.plist
  • packaging/ReleaseNotes.txt
  • packaging/Version.plist
  • scripts/check-commit-msg.sh
  • scripts/coverage-lcov.sh
  • scripts/verify-website-browsers.sh
  • scripts/verify.sh
  • website/README.md
  • website/e2e/serve.mjs
  • website/e2e/site.spec.mjs
  • website/package.json
  • website/playwright.config.mjs
  • website/tests/security.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 adds an About page to Settings, advances release references to beta.8, adds website browser and security checks, and updates CI coverage, test timing, and commit-hook workflows.

Changes: About settings page

Layer / File(s) Summary
About content and metadata
Sources/DilatedUI/Settings/AboutSettings.swift, packaging/Info.plist, Tests/DilatedUITests/AboutSettingsTests.swift
The About page displays app metadata, updater status, and project links. Bundle metadata and copyright use fallback values when needed.
About navigation and menu integration
Sources/DilatedUI/Settings/SettingsWindow.swift, Sources/DilatedUI/Menu/*, Sources/DilatedUI/ApplicationDelegate.swift, Tests/DilatedUITests/AboutSettingsTests.swift
Settings navigation can select the About page. The menu’s About action presents that page. Tests cover navigation and the menu callback.

Beta 8 release and website

Layer / File(s) Summary
Beta 8 release metadata and links
Package.swift, README.md, docs/INSTALLATION.md, docs/THIRD-PARTY.md, packaging/ReleaseNotes.txt, packaging/Version.plist, website/README.md, website/vercel.json
Release references change to beta.8 and build 13. Sparkle changes to 2.10.1, and website download redirects point to beta.8 assets.
Browser-check harness and CI wiring
website/package.json, website/playwright.config.mjs, website/e2e/serve.mjs, scripts/verify-website-browsers.sh, .github/workflows/ci.yml, .gitignore, website/README.md
Playwright checks run in Chromium, Firefox, and WebKit against a local server. CI runs the checks and configures a Codecov upload.
Website behavior and publishing checks
website/e2e/site.spec.mjs, website/tests/security.test.mjs, website/vercel.json, Tests/ReleaseTests/test_publish_website.py
Browser tests cover layouts, menu behavior, page controls, and release metadata. Security checks validate the security.txt content and route. A publishing test checks that staging includes a committed dotfile.

Coverage and test verification

Layer / File(s) Summary
Swift coverage collection and export
scripts/verify.sh, scripts/coverage-lcov.sh, README.md
When enabled, verification saves Swift coverage profiles and exports a filtered LCOV report. The README adds a Codecov badge.
Editor inspection and asynchronous test deadlines
Sources/DilatedUI/Automation/TriggersSettings.swift, Tests/DilatedUITests/MountedSettingsTests.swift, Tests/DilatedCoreTests/PackageHelperTests.swift, Tests/DilatedUITests/ActivityInputTests.swift, Tests/DilatedUITests/ClosedLidControllerTests.swift, Tests/DilatedUITests/DownloadTests.swift, Tests/DilatedUITests/FeedbackTests.swift
Debug-only callbacks support mounted process-picker inspection. Several test deadlines and disk-image command timeouts increase.

Local commit checks

Layer / File(s) Summary
Commit hooks and contributor instructions
lefthook.yml, scripts/check-commit-msg.sh, README.md
Lefthook runs staged-file checks and a commit-message validator. The README adds hook setup instructions and a Star History link.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Change: Other

Sequence Diagram(s)

sequenceDiagram
  participant AwakeMenu
  participant ApplicationDelegate
  participant SettingsWindow
  participant SettingsContent
  participant AboutSettings
  AwakeMenu->>ApplicationDelegate: Invoke About callback
  ApplicationDelegate->>SettingsWindow: Present About page
  SettingsWindow->>SettingsContent: Pass requested page
  SettingsContent->>AboutSettings: Render selected page
Loading
sequenceDiagram
  participant Playwright
  participant PlaywrightConfig
  participant StaticServer
  participant WebsiteDist
  PlaywrightConfig->>StaticServer: Start local server
  Playwright->>StaticServer: Request website pages and metadata
  StaticServer->>WebsiteDist: Read files from dist
  StaticServer-->>Playwright: Return page responses
Loading

Possibly related PRs

Suggested reviewers: biggest-littlest

Merge Risk: Moderate · previous review 41358

The new About page wiring may not compile because the settings window initializer reads a property before its superclass is initialized. Confirm the app builds, or apply the small initializer change, before merging. The commit hook and CI shell syntax checks skip every script after the first, and coverage export can fail in a symlinked checkout. These are smaller follow-ups.

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 and concisely identifies the primary change: promoting release 1.0.0-beta.8 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 20 functions across 23 files. (12 skipped: 12 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

@coderabbitai coderabbitai Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

  • Fix comments: Fix CodeRabbit comments on this PR

Comment thread lefthook.yml Resolved
Comment thread README.md Resolved
Comment thread scripts/check-commit-msg.sh Resolved
Comment thread scripts/coverage-lcov.sh Resolved
@codecov

codecov Bot commented Nov 2, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 82.19178% with 13 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
Sources/DilatedUI/ApplicationDelegate.swift 0.00% 7 Missing ⚠️
Sources/DilatedUI/Settings/SettingsWindow.swift 80.00% 4 Missing ⚠️
Sources/DilatedUI/Menu/AwakeMenu.swift 66.66% 1 Missing ⚠️
Sources/DilatedUI/Menu/MenuBarController.swift 66.66% 1 Missing ⚠️

📢 Thoughts on this report? Let us know!

- fix(ci): run bash -n per file in verify.sh and the Lefthook hook; it only parsed the first file
- fix(hooks): allow git's amend! autosquash subjects
- fix(ci): resolve symlinks before filtering coverage paths
- test(core): keep the package-check child alive past the 30s poll
- docs(readme): point the coverage badge at main

@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 diff and the fixes from CodeRabbit's first pass. CI is green on 8a66728.

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