Skip to content

Fix update DMG installation flow#18

Merged
GordonBeeming merged 3 commits into
mainfrom
gb/fix-update-dmg
Jul 15, 2026
Merged

Fix update DMG installation flow#18
GordonBeeming merged 3 commits into
mainfrom
gb/fix-update-dmg

Conversation

@GordonBeeming

@GordonBeeming GordonBeeming commented Jul 15, 2026

Copy link
Copy Markdown
Owner

Summary

  • package Insomnia.app beside an /Applications shortcut in release DMGs
  • name the updater action after its actual download-and-open behavior

Why

The in-app download opened a bare disk image containing only Insomnia.app, leaving users without a clear installation path.

User impact

Downloaded updates now open as a conventional macOS installer where the app can be dragged to Applications.

Validation

  • actionlint .github/workflows/build.yml
  • swift build -Xswiftc -strict-concurrency=complete
  • swift test (133 tests)
  • created and mounted a local DMG; verified Insomnia.app and the /Applications shortcut

Summary by CodeRabbit

  • New Features
    • Updated the update flow so downloaded installer media opens automatically to streamline installation.
  • Bug Fixes
    • Improved disk image creation to ensure the installer is packaged correctly, including an Applications shortcut.
  • Updates
    • Refined the update download action naming/labeling to better reflect that the installer is downloaded and then opened.

Copilot AI review requested due to automatic review settings July 15, 2026 12:34
@coderabbitai

coderabbitai Bot commented Jul 15, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: d1999f8a-ae85-47da-91e2-95dbc562ba2d

📥 Commits

Reviewing files that changed from the base of the PR and between 7d58997 and 0c932cb.

📒 Files selected for processing (1)
  • Sources/Insomnia/Update/UpdateChecker.swift
🚧 Files skipped from review as they are similar to previous changes (1)
  • Sources/Insomnia/Update/UpdateChecker.swift

📝 Walkthrough

Walkthrough

The update menu action now calls a renamed method that downloads and opens the installer. The macOS release workflow creates the DMG from a temporary staging directory containing the app and an Applications symlink.

Changes

Installer download and DMG packaging

Layer / File(s) Summary
Open downloaded installer
Sources/Insomnia/Update/UpdateChecker.swift, Sources/Insomnia/Views/MenuBarView.swift
Renames the update download method and updates the menu button to invoke it.
Stage app for DMG creation
.github/workflows/build.yml
Stages Insomnia.app under RUNNER_TEMP, adds an /Applications symlink, and creates the DMG from the staging directory.

Estimated code review effort: 2 (Simple) | ~10 minutes

Possibly related PRs

Suggested reviewers: copilot

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly matches the main change: updating the DMG-based updater installation flow.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch gb/fix-update-dmg

Comment @coderabbitai help to get the list of available commands.

@gemini-code-assist gemini-code-assist 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.

Code Review

This pull request renames the downloadAndInstall() method to downloadAndOpenInstaller() in UpdateChecker.swift and updates its call site in MenuBarView.swift. The reviewer noted that downloadAndOpenInstaller() is asynchronous but lacks @MainActor isolation, which can lead to UI state updates and AppKit calls running on a background thread. It is recommended to mark this method with @MainActor to prevent potential runtime issues or SwiftUI warnings.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread Sources/Insomnia/Update/UpdateChecker.swift

Copilot AI 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.

Pull request overview

Improves the macOS update experience by making the in-app downloaded DMG behave like a conventional “drag to Applications” installer, and aligns internal naming with the actual update action.

Changes:

  • Renamed the updater action to reflect “download + open installer” behavior.
  • Updated the menu bar update button to call the renamed updater action.
  • Adjusted the release DMG build step to package Insomnia.app alongside an /Applications shortcut.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
Sources/Insomnia/Views/MenuBarView.swift Updates the update button to call the renamed updater method.
Sources/Insomnia/Update/UpdateChecker.swift Renames the updater method and updates section labeling to match behavior.
.github/workflows/build.yml Builds DMGs from a staging folder containing both the app bundle and an /Applications shortcut.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .github/workflows/build.yml
Copilot AI review requested due to automatic review settings July 15, 2026 12:37
@GordonBeeming

Copy link
Copy Markdown
Owner Author

@codex review

Copilot AI 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.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

Comment thread .github/workflows/build.yml
Copilot AI review requested due to automatic review settings July 15, 2026 12:39
@GordonBeeming

Copy link
Copy Markdown
Owner Author

@codex review

Copilot AI 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.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated no new comments.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. What shall we delve into next?

Reviewed commit: 28fa77c708

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@GordonBeeming
GordonBeeming merged commit a3290e0 into main Jul 15, 2026
5 checks passed
@GordonBeeming
GordonBeeming deleted the gb/fix-update-dmg branch July 15, 2026 12:45
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