Skip to content

ci: CodeQL SAST (Swift) - #1

Merged
akurach merged 3 commits into
mainfrom
ci/codeql
Jun 23, 2026
Merged

ci: CodeQL SAST (Swift)#1
akurach merged 3 commits into
mainfrom
ci/codeql

Conversation

@akurach

@akurach akurach commented Jun 19, 2026

Copy link
Copy Markdown
Owner

Adds CodeQL static application security testing.

  • Language: Swift (autobuild of the SwiftPM package on macos-15).
  • Query suite: security-extended (broader security coverage than the default).
  • Triggers: push + PR to main, plus a weekly schedule.
  • Results land in Security ▸ Code scanning; SARIF uploaded with security-events: write.

This PR run is the first SAST pass — review findings in the Checks/Security tab before merge.

🤖 Generated with Claude Code

Static application security testing on push/PR to main + weekly schedule.
Builds the SwiftPM package on macos-15 and uploads results to code scanning.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-advanced-security

Copy link
Copy Markdown

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

akurach and others added 2 commits June 23, 2026 22:17
A mounted .dmg/.sparsebundle is a local ejectable APFS volume, so the
classifier fell through to the External-drives branch and tagged it
"External SSD". Detect it via DiskArbitration (DADeviceProtocol /
DADeviceModel == "Disk Image") and map to .virtualVolume (the kind
already existed but was never assigned). Adds VolumeClassifierTests
covering the DMG case, the real-SSD case, and internal precedence.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Move the disk-image fix into its own 0.9.7.1 CHANGELOG section (0.9.7
already shipped), bump Info.plist to 0.9.7.1, and refresh the README /
VISION current-version lines.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@akurach
akurach merged commit 9112579 into main Jun 23, 2026
3 checks passed
akurach added a commit that referenced this pull request Jun 24, 2026
Three more functional-depth items from the qSpace ergonomics backlog
(#1, #2, #4):

- Compare Folders. New pure Core diff (CompareFolders.swift) classifies
  each entry only-here / different / same by name+size+mtime;
  AppState.compareFolders tints both panes (green/orange), pre-selects
  the active pane's diffs for F5/F6, and clears on re-run or navigation.
  Reachable via palette + File Ops menu; a legend badge explains colours.
- ⌘Z undo. UndoAction stack (move/rename/trash only — copy & permanent
  delete excluded by design), 25-deep, existence-guarded so a changed
  tree is never clobbered. runTask gained an onSuccess hook to record
  the inverse only on a clean finish; trash now captures the resulting
  Trash URL for restore. Wired to the standard Undo menu slot + ⌘Z.
- Archive write. ArchiveService (actor) shells ditto/tar/zip — no shell,
  argument arrays only. Extract Here unpacks .zip + the .tar family into
  a collision-suffixed sibling folder; Compress zips the selection
  beside it. Row menu + palette + menu entries.

Tests: +4 (compare classification/mtime+dirs; archive round-trip +
unsupported-format). 98 pass. App smoke-launches clean. Docs: CHANGELOG,
ROADMAP (3 checked off), ARCHITECTURE, SECURITY (exec/path surface),
USER_GUIDE EN+RU.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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