-
Notifications
You must be signed in to change notification settings - Fork 0
Add macOS app and Finder badges for workspace status #16
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 our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
manuelgruber
wants to merge
89
commits into
main
Choose a base branch
from
C/Finder-Badges
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
89 commits
Select commit
Hold shift + click to select a range
f79feb4
Add MacOS Finder Badge
manuelgruber 9db859f
Bump softprops/action-gh-release to v3 for Node 24 runtime
manuelgruber 566a52e
Fix TUI sync hang by timing out gh calls and offloading auth to block…
manuelgruber ab05538
Add timeouts to SSH probe and pagination
manuelgruber 465e44c
Extract RepoScanService to separate backend API from frontend consumers
manuelgruber 5b20203
Harden daemon shutdown and scaffold Xcode project for Finder badge te…
manuelgruber d4fc443
Harden FinderSync extension sandbox and drawing for macOS 26 testing
manuelgruber 7403ae7
Switch macOS Xcode project to in-repo source of truth, drop XcodeGen …
manuelgruber e51dcd6
Trim FinderSync debug logging to lifecycle events
manuelgruber 3ab89f8
Group Finder context menu under one Git-Same submenu to reduce clutter
manuelgruber e78d693
Enrich Git-Same context menu with org aggregates and last-scan info
manuelgruber f4b7c2b
Group Git-Same menu data into Organization, Repositories, and details
manuelgruber e8618de
Classify owner folders as user/org via GitHub API for distinct badges
manuelgruber ddabff8
Add gray ambient badge case to Swift and ambient-repo tests
manuelgruber 50b4a78
Skip grey R placeholder for O and U badges to avoid letter swap on paint
manuelgruber 663fa90
Split menu into Organization+Workspace and adopt sentence-style Repos…
manuelgruber 4445f0f
Prefill Finder badge cache from status.json, drop grey to color timer
manuelgruber f0247bc
Fix grey R badge painted on every folder under monitored root
manuelgruber 6335f52
Update run.sh cheat-sheet with daemon, scan, and TUI commands
manuelgruber b7f7b1a
Nudge Finder daemon after sync so new clones get their repo badge imm…
manuelgruber b6c1e55
Seed StatusReader on first successful open so badges show without a s…
manuelgruber 515b243
Nudge daemon after reset and add gisa refresh for manual badge resync
manuelgruber cbb5398
Add nonconcurrent Conductor run mode to prevent install races
manuelgruber 7fb0c82
Bump version to 3.1.0 for next release
manuelgruber e33fc5d
Surface unreadable repos in status and stop calling [gone] branches s…
manuelgruber 6364c19
Extract RepoEntry and SyncHistoryEntry to types/ to break core to TUI…
manuelgruber 3afa34e
Rewrite intra-TUI imports to source RepoEntry and SyncHistoryEntry fr…
manuelgruber 5ef18ff
Drop lib-level cfg gate from pub mod setup
manuelgruber 2607e6e
Apply cargo fmt to reorder imports introduced in B0.2
manuelgruber ac8bebd
Split into Cargo workspace: git-same-core (engine) + git-same-cli (bi…
manuelgruber fbcd478
Update CI workflows and toolkit scripts for the workspace layout
manuelgruber f35cdf4
Update docs and CLAUDE.md to reflect the workspace split
manuelgruber 86257ae
Rename CLI crate's package back to git-same to preserve cargo install…
manuelgruber 4c13543
Move macOS IPC to app-group container and rename badges extension
manuelgruber 6d24db3
Rename SwiftUI host target from GitSameBadge to GitSameSwiftApp
manuelgruber 7fd2ae0
Move macOS IPC to app-group container and rename badges extension
manuelgruber e1a9eae
Add Tauri macOS app pipeline to ship GUI and Finder badges
manuelgruber 88a7539
Document Tauri app dev setup and ignore Tauri build artifacts
manuelgruber 9665be8
Boot Tauri app from Conductor setup/run scripts to cover full stack
manuelgruber 9aae4f2
Split Tauri app UI into routes and shared store for maintainability
manuelgruber 7d3727a
Fix Tauri dev launch by cd-ing into app dir instead of using cargo-on…
manuelgruber 89d8c52
Wire D-App + D-Finder to ship together in 3.1.0 with entitlement pari…
manuelgruber 994e499
Capitalize Git-Same brand string in Tauri app for consistent product …
manuelgruber bf85744
Add Tauri extension status command and first-launch banners for Finde…
manuelgruber 4f0097c
Ignore non-macOS Tauri icon CLI output to keep working tree clean
manuelgruber 01a6ea0
Regenerate Tauri app icons in 8-bit RGBA so the native window can launch
manuelgruber 139fac4
Grant core:event capability to fix blocked listen() in Tauri app
manuelgruber e168a25
Rename daemon to monitor and lift run-loop into core
manuelgruber 15e9ec6
Capitalize Git-Same in display strings, set cask desc, document monitor
manuelgruber 6e61f88
Rename FinderSync principal class to Principal
manuelgruber 91ef312
Rename macOS app bundle to Git-Same.app for release consistency
manuelgruber 89ed58f
Fix Tauri status fallback so dashboard works without monitor
manuelgruber fabb5ce
Add shared progress and setup core for GUI reuse
manuelgruber 804b641
Expand Tauri UI to manage workspaces, badges, and config
manuelgruber f92f177
Fix Tauri dev server port collision to prevent wrong UI loading
manuelgruber 0d3ca6b
Fix Conductor Tauri launch to use workspace dev port
manuelgruber 29bea06
Add monitor LaunchAgent repair actions to restore Finder badges
manuelgruber 6196a7f
Simplify brand logo to gradient wordmark in Tauri app UI
manuelgruber c6a3289
Pin sidebar so only main content scrolls in Tauri app
manuelgruber 3c87728
Pair GitHub and local repos in one table to align matching rows
manuelgruber 2187360
Speed up dev loop by switching run.sh to incremental debug build
manuelgruber 6c7ca26
Add monitor fullscan interval setting to Tauri Settings UI
manuelgruber 0218a90
Stop Tauri app from triggering protected-folder TCC prompts
manuelgruber ceb37ec
Disable show_ambient by default to fix Finder badges on default install
manuelgruber 6e9d19a
Bump pnpm to 11.0.9 in Tauri UI to track upstream patch release
manuelgruber d6a6386
Remove unused default_true helper to silence dead_code warning
manuelgruber 4792e24
Watch boot-volume alias paths so Finder requests badges through them
manuelgruber c2bf378
Update Tauri UI deps to latest in-range versions
manuelgruber cd120d9
Render FinderSync badges via SF Symbols to bypass macOS 26.4 bug
manuelgruber e045fec
Tune Finder badge visuals: white-on-color square, blue O/U, 20% darker
manuelgruber ea51878
Replace app icon with twin-tiles design and add regen tooling
manuelgruber d69cc00
Restyle app icon as Liquid Glass with Finder Badge palette
manuelgruber 4806524
Shorten BrandLogo subhead so it fits below the sidebar banner
manuelgruber 51e6703
Reword BrandLogo subhead and center it below the banner
manuelgruber d04b17b
Paint workspace roots with Git-Same folder icon for Finder branding
manuelgruber 171311a
Wire workspace folder icon hooks into Tauri commands and add tests
manuelgruber 55fde59
Sign monitor helper with app-group entitlement to stop TCC popups
manuelgruber 49b12d3
Update Cargo
manuelgruber 20442a5
Update app dependencies and isolate refresh socket tests to keep chec…
manuelgruber 880cffa
Make Finder badge extension container-only to stop TCC popups
manuelgruber dabe7f0
Set package authors to Manuel Gruber for crate metadata
manuelgruber 7bc010f
Fix bash 3.2 empty-array crash that skipped app signing
manuelgruber 17b522e
Fix stale Workspace source label and polish paired-table rows
manuelgruber f42618b
Update
manuelgruber c8f0cdf
Add filter, match-status gutter, and zebra rows to workspace repo table
manuelgruber fe7ddd7
Bump codecov-action from v6 to v7 to stay on the supported release line
manuelgruber 6a51a85
Update dependencies to latest, migrating notify 8 and objc2 0.6 APIs
manuelgruber 30e1e24
Update remaining dependency patches to keep lockfiles current
manuelgruber d9cdd2d
Resolve PR #16 review comments: mutex poisoning, socket framing, GHE …
manuelgruber File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🏁 Script executed:
Repository: ZAAI-com/git-same
Length of output: 114
🏁 Script executed:
Repository: ZAAI-com/git-same
Length of output: 1147
🌐 Web query:
GitHub Actions security best practices pinning commit SHA versus tags mutable references💡 Result:
Pinning GitHub Actions to a full-length commit SHA is considered the industry-standard security best practice [1][2][3]. Unlike tags or branch references, which are mutable and can be force-updated or redirected by anyone with write access to the action's repository, a full-length commit SHA provides an immutable, cryptographically verifiable reference [1][4][5][6]. Security Risks of Mutable References Using tags (e.g.,
@v1) or branch names (e.g.,@main) introduces significant supply chain risks [7][8][3]. Because these references can be moved, an attacker who compromises an action's repository can point a widely used tag to a malicious commit [7][5][6]. This allows them to execute arbitrary code within the workflows of every repository consuming that action, often with the high privileges typically granted to CI runners [7][8][3]. This vulnerability has been exploited in real-world supply chain attacks, where workflows silently began pulling malicious code without any changes to the user's workflow files [7][8]. Best Practices for Implementation 1. Pin to Full-Length SHA: Always use the 40-character full commit SHA [4][6]. Shortened SHAs are insecure as they are susceptible to collision attacks [9]. 2. Maintain Readability: To keep workflows maintainable, include the original version tag as a comment alongside the pinned SHA (e.g., uses: actions/checkout@b4ffde6 # v4.1.1) [10][5][6]. 3. Automate Updates: Use tools like Dependabot or Renovate to manage updates [10][6]. These tools are capable of monitoring new releases and automatically opening pull requests that bump the pinned SHA, allowing you to review changes before merging [10][5]. 4. Enforce via Policy: If you manage an organization or enterprise, use GitHub's built-in policy features to mandate SHA pinning [1][2][11]. This prevents the accidental use of mutable references by failing any workflow that does not adhere to the requirement [2][7][12]. 5. Trust Considerations: While SHA pinning is the primary defense against malicious updates, you should still only use actions from reputable, verified sources [1][9][13]. Additionally, be aware that even a pinned action may rely on other mutable dependencies at runtime (such as external Docker images or network-fetched scripts), so defense-in-depth remains essential [7].Citations:
Pin
softprops/action-gh-releaseto a commit SHA instead of a tag.@v2.6.2is a mutable reference. Tags can be moved or force-updated by repository maintainers (intentionally or through compromise), allowing malicious code to be injected into workflows without changing the workflow file. Pinning to the immutable commit SHA is the industry-standard security practice endorsed by GitHub.🧰 Tools
🪛 zizmor (1.25.2)
[error] 391-391: unpinned action reference (unpinned-uses): action is not pinned to a hash (required by blanket policy)
(unpinned-uses)
[info] 391-391: action functionality is already included by the runner (superfluous-actions): use
gh releasein a script step(superfluous-actions)
🤖 Prompt for AI Agents
Source: Linters/SAST tools