Sync subrepo branch brightdigit-com-260406#1
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
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>
Welcome to Codecov 🎉Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests. Thanks for integrating Codecov - We've got you covered ☂️ |
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>
Draft PR to sync the git-subrepo tracking branch into the default branch.
Opened as part of the brightdigit.com monorepo subrepo maintenance sweep (branch
brightdigit-com-260717batch). Contains the changes pushed from the monorepo viagit subrepo push.🤖 Generated with Claude Code