Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

chore: make helper launchdaemon approval mandatory#205

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
ethanndickson merged 4 commits intomainfromethan/mandatory-helper
Aug 6, 2025

Conversation

ethanndickson
Copy link
Member

@ethanndicksonethanndickson commentedJul 24, 2025
edited
Loading

First step in addressing#201.

This PR installs and kickstarts the LaunchDaemon as part of the.pkg installer, instead of requiring it be approved via the UI. As such, we no longer distribute the app contained within a.zip.

This PR adds a build script to install the LaunchDaemon when developing locally, to ensure it stays up to date when changes are made. Installing the LaunchDaemon requires administrator privileges, so to minimise password prompts, we only restart it when the binary itself, or any of it's frameworks have changed.

There's an Apple Developer Forum thread where I replied, enquiring about this installer approach vs the existing SMAppService approach, esp. w.r.t deploying the app via MDM:https://developer.apple.com/forums/thread/766351?answerId=850675022&page=1#851913022

(This PR previously had UI changes, and I did some refactoring. That refactoring is still in the diff.)

@ethanndicksonGraphite App
Copy link
MemberAuthor

ethanndickson commentedJul 24, 2025
edited
Loading

@ethanndicksonethanndickson self-assigned thisJul 24, 2025
@ethanndicksonethanndicksonforce-pushed theethan/mandatory-helper branch 4 times, most recently from21a8db1 tof4ebbbfCompareAugust 4, 2025 08:07
@ethanndicksonethanndickson marked this pull request as ready for reviewAugust 4, 2025 08:07
(cd"$ARCHIVE_PATH/dSYMs"&& zip -9 -r --symlinks"$DSYM_ZIPPED_PATH" ./*)

# Add zipped app to build artifacts
zip -9 -r --symlinks"$APP_ZIPPED_PATH""$BUILT_APP_PATH"
Copy link
MemberAuthor

@ethanndicksonethanndicksonAug 4, 2025
edited
Loading

Choose a reason for hiding this comment

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

We can no longer distribute the app outside of a pkg (i.e. a zip), as the pkg is responsible for installing the LaunchDaemon.

Copy link

@CopilotCopilotAI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR transitions the helper LaunchDaemon from optional UI-based approval to mandatory installation via the .pkg installer. This eliminates the previous SMAppService approach in favor of a traditional LaunchDaemon setup that doesn't require user interaction.

Key changes:

  • Adds automatic LaunchDaemon installation during package install/postinstall phases
  • Implements development-time helper management with conditional admin privilege prompts
  • Removes UI components and services related to optional helper approval

Reviewed Changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated 2 comments.

Show a summary per file
FileDescription
scripts/upsert-dev-helper.shNew script for installing/updating helper daemon during local development
scripts/update-cask.shAdds helper process to uninstall quit list
scripts/build.shRemoves zipped app artifact generation
pkgbuild/scripts/preinstallAdds helper daemon shutdown before installation
pkgbuild/scripts/postinstallAdds helper daemon installation and startup
Coder-Desktop/project.ymlAdds post-build script for development helper management
Coder-Desktop/Coder-DesktopHelper/com.coder.Coder-Desktop.Helper.plistChanges from BundleProgram to absolute Program path
Coder-Desktop/Coder-Desktop/Views/VPN/VPNState.swiftRefactors UI components into reusable view modifiers
Coder-Desktop/Coder-Desktop/Views/Settings/Settings.swiftRemoves experimental settings tab
Coder-Desktop/Coder-Desktop/Views/Settings/HelperSection.swiftRemoves helper management UI components
Coder-Desktop/Coder-Desktop/Views/Settings/ExperimentalTab.swiftRemoves experimental settings tab
Coder-Desktop/Coder-Desktop/HelperService.swiftRemoves helper service management code
Coder-Desktop/Coder-Desktop/Coder_DesktopApp.swiftRemoves helper service dependencies

@ethanndicksonGraphite App
Copy link
MemberAuthor

ethanndickson commentedAug 6, 2025
edited
Loading

Merge activity

  • Aug 6, 3:39 AM UTC: A user started a stack merge that includes this pull request viaGraphite.
  • Aug 6, 3:40 AM UTC:Graphite rebased this pull request as part of a merge.
  • Aug 6, 3:41 AM UTC:@ethanndickson merged this pull request withGraphite.

@ethanndicksonethanndickson merged commit99c912b intomainAug 6, 2025
4 checks passed
@ethanndicksonethanndickson deleted the ethan/mandatory-helper branchAugust 6, 2025 03:41
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers

Copilot code reviewCopilotCopilot left review comments

@deansheatherdeansheatherdeansheather approved these changes

Assignees

@ethanndicksonethanndickson

Labels
None yet
Projects
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

2 participants
@ethanndickson@deansheather

[8]ページ先頭

©2009-2025 Movatter.jp