Skip to content

Updates from brightdigit.com - #3

Merged
leogdion merged 8 commits into
v1.0.0from
brightdigit-com-260406
Jul 22, 2026
Merged

Updates from brightdigit.com#3
leogdion merged 8 commits into
v1.0.0from
brightdigit-com-260406

Conversation

@leogdion

Copy link
Copy Markdown
Member

No description provided.

leogdion added 8 commits July 16, 2026 11:47
Leaf Publish-stack packages had lint tooling but no workflows; mirror the
Ink/Contribute leaf template (no path-dep rewrite needed).

Co-authored-by: Cursor <cursoragent@cursor.com>
Files/Publish stack need iOS 18 / tvOS 18 / watchOS 11 for Synchronization.Mutex; ContributeRSS/WordPress declare iOS/tvOS 16 to match standalone CI deps.

Co-authored-by: Cursor <cursoragent@cursor.com>
Publish stack (Files/Ink/Publish):
- Move build-macos + build-macos-platforms off [self-hosted, macOS] to the
  GitHub-hosted xcode-27 runner (/Applications/Xcode_27.0.app, Swift 6.4-dev,
  27.0 SDKs); add download-platform: true on the sim legs.
- Files: remove the stale legacy Files.xcodeproj (schemes Files-iOS/-macOS/-tvOS
  shadowed swift-build's auto-calculated "Files" scheme) and the dead
  buddybuild_postbuild.sh, so xcodebuild resolves the SPM auto-scheme like Plot.
- Ink: add iOS 18 / tvOS 18 / watchOS 11 platform floors for Synchronization.Mutex
  used in InkTests, mirroring Files.

Lint:
- TailwindKit: remove the superseded legacy 2022 Tailwind.* API
  (TailwindKit.swift's Tailwind struct + Flexbox/AspectRatio/Display/Breakpoints
  and their XCTest suites), exclude the Danger DSL script from SwiftLint; lint now
  clean (0 violations).
- ReadingTimePublishPlugin: doc-comment public API, split test helpers into
  fixtures files, explicit ACL, rename ReadingTime.swift -> ReadingTimeMetadata.swift
  to satisfy file_name; lint clean, 8 XCTest tests pass.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Files hardcoded POSIX `/` separators while Foundation returns native `\` paths on
Windows, producing broken hybrid paths (C:\Users\foo/.filesTest/, /C:/Users/foo/)
and an internal inconsistency where makeParentPath rejoined URL.pathComponents with
`/` so a folder's computed parent.path never string-== its stored path.

Fix: store every path in canonical forward-slash form; keep all `/`-based internal
logic; convert to native separators only at FileManager / URL(fileURLWithPath:)
boundaries. New Sources/Path.swift adds String.canonicalizedPath / .nativePath /
.isDriveRoot and Path.rootPath / .nativeSeparator, all no-ops off Windows (so
macOS/Linux behavior is provably unchanged). makeParentPath preserves the Windows
drive prefix (C:/Users/foo/ -> C:/Users/); `~` resolves via
homeDirectoryForCurrentUser (drops a POSIX-only HOME force-unwrap); Folder.root is
the current volume root on Windows.

Tests stay XCTest: 3 assertions made platform-aware via a rootPath/canonical helper
(no `#if` in test bodies), plus a filesystem-free PathTests suite exercising the
separator + drive-prefix math on every platform. All 71 tests pass on macOS; lint
clean (CI=1 LINT_MODE=STRICT). Pragmatic scope: UNC best-effort, == stays
case-sensitive on all platforms. Windows CI is the ground truth.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
homeDirectoryForCurrentUser is unavailable on iOS/tvOS/watchOS, so the previous
commit's ~ change broke the Apple-platform builds (which were green). NSHomeDirectory()
is available on every Apple platform AND is platform-aware on Windows (resolves the
user profile, not the POSIX-only HOME variable). Verified: iOS simulator build
succeeds; 71/71 tests pass on macOS; lint clean.

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

coderabbitai Bot commented Jul 22, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 9d43f47e-885b-4103-a841-ae0a0642d629

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch brightdigit-com-260406

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@leogdion
leogdion merged commit c2c97e8 into v1.0.0 Jul 22, 2026
22 checks passed
@leogdion
leogdion deleted the brightdigit-com-260406 branch July 22, 2026 17:09
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.

1 participant