Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
be3899e188 | ||
|
|
286761e51a | ||
|
|
8e0d66468c | ||
|
|
ed64bcc9e5 | ||
|
|
b2275a74d3 | ||
|
|
3b05188a88 | ||
|
|
ea77454c10 |
@@ -0,0 +1,96 @@
|
||||
name: Release
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- 'v*'
|
||||
|
||||
jobs:
|
||||
release:
|
||||
runs-on: macos-latest
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Get version from tag
|
||||
id: version
|
||||
run: echo "version=${GITHUB_REF_NAME#v}" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
xcodebuild \
|
||||
-project ClaudeChecker.xcodeproj \
|
||||
-scheme ClaudeChecker \
|
||||
-configuration Release \
|
||||
-derivedDataPath build \
|
||||
clean build
|
||||
|
||||
- name: Zip app
|
||||
run: |
|
||||
ditto -c -k --keepParent \
|
||||
build/Build/Products/Release/ClaudeChecker.app \
|
||||
ClaudeChecker.zip
|
||||
|
||||
- name: Compute SHA256
|
||||
id: sha
|
||||
run: echo "sha256=$(shasum -a 256 ClaudeChecker.zip | awk '{print $1}')" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Create GitHub release
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
gh release create "$GITHUB_REF_NAME" ClaudeChecker.zip \
|
||||
--title "$GITHUB_REF_NAME" \
|
||||
--notes "$(cat RELEASE_NOTES.md 2>/dev/null || echo 'Release ${{ steps.version.outputs.version }}')"
|
||||
|
||||
- name: Update version.json
|
||||
run: |
|
||||
cat > version.json << JSON
|
||||
{
|
||||
"version": "${{ steps.version.outputs.version }}",
|
||||
"url": "https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/ClaudeChecker.zip",
|
||||
"notes": "$(cat RELEASE_NOTES.md 2>/dev/null || echo 'Release ${{ steps.version.outputs.version }}')"
|
||||
}
|
||||
JSON
|
||||
|
||||
- name: Update Homebrew cask
|
||||
run: |
|
||||
sed -i '' \
|
||||
-e 's/version "[^"]*"/version "${{ steps.version.outputs.version }}"/' \
|
||||
-e 's/sha256 "[^"]*"/sha256 "${{ steps.sha.outputs.sha256 }}"/' \
|
||||
../homebrew-tap/Casks/claudechecker.rb 2>/dev/null || true
|
||||
|
||||
- name: Update README badge
|
||||
run: |
|
||||
sed -i '' \
|
||||
's/version-[0-9][^-]*-orange/version-${{ steps.version.outputs.version }}-orange/' \
|
||||
README.md
|
||||
|
||||
- name: Commit version.json and README
|
||||
run: |
|
||||
git config user.name "github-actions[bot]"
|
||||
git config user.email "github-actions[bot]@users.noreply.github.com"
|
||||
git add version.json README.md
|
||||
git commit -m "Release ${{ github.ref_name }}"
|
||||
git push origin HEAD:main
|
||||
|
||||
- name: Update Homebrew tap
|
||||
env:
|
||||
TAP_TOKEN: ${{ secrets.TAP_TOKEN }}
|
||||
run: |
|
||||
git clone https://x-access-token:${{ secrets.TAP_TOKEN }}@github.com/${{ github.repository_owner }}/homebrew-tap /tmp/homebrew-tap
|
||||
sed -i '' \
|
||||
-e 's/version "[^"]*"/version "${{ steps.version.outputs.version }}"/' \
|
||||
-e 's/sha256 "[^"]*"/sha256 "${{ steps.sha.outputs.sha256 }}"/' \
|
||||
/tmp/homebrew-tap/Casks/claudechecker.rb
|
||||
cd /tmp/homebrew-tap
|
||||
git config user.name "github-actions[bot]"
|
||||
git config user.email "github-actions[bot]@users.noreply.github.com"
|
||||
git add Casks/claudechecker.rb
|
||||
git commit -m "Update claudechecker to ${{ github.ref_name }}"
|
||||
git push
|
||||
@@ -998,6 +998,12 @@ struct UpdateBanner: View {
|
||||
Button("Update") { showSheet = true }
|
||||
.buttonStyle(.borderedProminent)
|
||||
.controlSize(.small)
|
||||
Button { updater.updateAvailable = false } label: {
|
||||
Image(systemName: "xmark")
|
||||
.font(.system(size: 10, weight: .medium))
|
||||
.foregroundColor(.secondary)
|
||||
}
|
||||
.buttonStyle(.plain)
|
||||
}
|
||||
.padding(.horizontal, 16)
|
||||
.padding(.vertical, 10)
|
||||
|
||||
@@ -15,9 +15,9 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.0.0</string>
|
||||
<string>1.0.2</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>19</string>
|
||||
<string>21</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>13.0</string>
|
||||
<key>LSUIElement</key>
|
||||
|
||||
@@ -87,6 +87,8 @@ class UpdateManager: ObservableObject {
|
||||
}
|
||||
} else {
|
||||
print("[UpdateManager] Stable fetch returned nil")
|
||||
updateAvailable = false
|
||||
latestVersion = ""
|
||||
}
|
||||
|
||||
if let beta = await betaResult {
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
[](https://www.apple.com/macos/)
|
||||
[](https://swift.org)
|
||||
[](https://github.com/superdooper86/claudechecker/releases)
|
||||
[](https://github.com/superdooper86/claudechecker/releases)
|
||||
[](LICENSE)
|
||||
|
||||
</div>
|
||||
@@ -113,25 +113,29 @@ No API key required. It reads directly from your `claude.ai` session using a bui
|
||||
## Requirements
|
||||
|
||||
- macOS 13 Ventura or later
|
||||
- Xcode 15+ (to build from source)
|
||||
- A claude.ai account
|
||||
|
||||
---
|
||||
|
||||
## Installation
|
||||
|
||||
### Download (recommended)
|
||||
### Homebrew (easiest)
|
||||
```bash
|
||||
brew tap superdooper86/tap
|
||||
brew install --cask claudechecker
|
||||
```
|
||||
|
||||
### Download
|
||||
1. Go to [Releases](https://github.com/superdooper86/claudechecker/releases)
|
||||
2. Download `ClaudeChecker.zip` from the latest release
|
||||
3. Unzip and drag `ClaudeChecker.app` to `/Applications`
|
||||
4. Open from Applications — it will appear in your menubar
|
||||
|
||||
### Build from source
|
||||
```bash
|
||||
git clone https://github.com/superdooper86/claudechecker.git
|
||||
open ClaudeChecker/ClaudeChecker.xcodeproj
|
||||
```
|
||||
Then in Xcode: set your Team under Signing & Capabilities, then **⌘R** to run.
|
||||
> **macOS security prompt?** If macOS blocks the app on first launch, run this in Terminal:
|
||||
> ```bash
|
||||
> xattr -cr /Applications/ClaudeChecker.app
|
||||
> ```
|
||||
> This is not needed when installing via Homebrew.
|
||||
|
||||
---
|
||||
|
||||
|
||||
+3
-3
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"version": "1.0.0",
|
||||
"url": "https://github.com/superdooper86/claudechecker/releases/download/v1.0.0/ClaudeChecker.zip",
|
||||
"notes": "Initial release."
|
||||
"version": "1.0.1",
|
||||
"url": "https://github.com/superdooper86/claudechecker/releases/download/v1.0.1/ClaudeChecker.zip",
|
||||
"notes": "Update banner can now be dismissed. Fixes update state not clearing correctly."
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user