Minimal macOS menu bar companion app for DimiCheck.
- OAuth PKCE login with the server-seeded public client
dimicheck-mac-public - Refresh token persistence in Keychain
- Menu bar status icon and quick status changes
- Favorite status selection and right-click quick toggle
- Today view for timetable and meal
- Login-at-startup toggle
- Server-driven update policy for Homebrew and direct-download users
Recommended:
brew install --cask DimiCheck/dimicheck/dimicheck-macDirect download users can install the DimiCheck-Mac-<version>.dmg from GitHub Releases.
This app is currently ad-hoc signed because it is distributed without an Apple Developer ID certificate. macOS may show an unidentified-developer warning for direct downloads.
The app defaults to:
- Base URL:
https://dimicheck.com - OAuth client ID:
dimicheck-mac-public - Redirect URIs:
http://127.0.0.1:45823/oauth-callbackthroughhttp://127.0.0.1:45827/oauth-callback, fallbackdimicheckmac://oauth-callback - Scopes:
basic student_info status.read status.write
Environment variables supported at launch/build time:
DIMICHECK_SERVER_BASE_URLDIMICHECK_OAUTH_CLIENT_IDDIMICHECK_OAUTH_REDIRECT_URIDIMICHECK_OAUTH_REDIRECT_URISDIMICHECK_OAUTH_SCOPES
swift build
swift test
./scripts/build-app.sh./scripts/package-release.shThe packaging script creates:
dist/DimiCheck-Mac-<version>.zipdist/DimiCheck-Mac-<version>.dmgdist/SHA256SUMS
- Update
CFBundleShortVersionStringandCFBundleVersioninResources/Info.plist. - Run
swift test. - Run
./scripts/package-release.sh. - Create a GitHub Release tagged
v<version>and upload the zip, dmg, andSHA256SUMS. - Update the Homebrew cask sha256 with the dmg checksum.
- Set the DimiCheck server version policy:
MAC_APP_LATEST_VERSION=<version>MAC_APP_MIN_SUPPORTED_VERSION=<minimum allowed version>MAC_APP_DOWNLOAD_URL=https://dimicheck.com/mac.htmlMAC_APP_HOMEBREW_COMMAND=brew upgrade --cask DimiCheck/dimicheck/dimicheck-macMAC_APP_UPDATE_MESSAGE=<short update message>