Three parity gaps found reviewing Home against CollectionOverviewView: - The toolbar's contextual search icon rendered on Home but contextualSearchQuery is only ever read by CollectionOverviewView — clicking it and typing did nothing. Hidden specifically on the Home landing page per explicit request (sidebar's global search already covers this); goHome() also clears the stale query/expanded state so it can't leak back in when returning to a collection. - Home had no periodic remote-changes check, unlike CollectionsTreeView and CollectionOverviewView. Added the same 45s-poll + banner pattern, fingerprinting pinned docs and the current tab's docs against fresh fetches; bails silently on a fetch failure instead of false-positive triggering the banner. - Tab load errors showed a message but no way to retry short of switching tabs and back. Added a Retry button matching the collection document list's. Also hardens CODEOWNERS ahead of going public: kept `* @psmattas` as the catch-all but pinned supply-chain/governance/CI paths (Package manifests, .gitea/, xcodeproj build settings, scripts/, LICENSE, CONTRIBUTING/SECURITY/SETUP, CLAUDE.md, docs/ARCHITECTURE.md) explicitly to @psmattas so they stay owner-gated even if `*` opens up to other contributors later.
38 lines
1.3 KiB
Plaintext
38 lines
1.3 KiB
Plaintext
# Outpost Code Owners
|
|
# These users are automatically requested for review on PRs.
|
|
# Format: path @username
|
|
#
|
|
# Rules are evaluated in order, last match wins — so the specific paths
|
|
# below stay pinned to @psmattas even if `*` is ever opened up to other
|
|
# contributors/reviewers as the project grows. These are the
|
|
# supply-chain, governance, and CI-relevant files where an accidental or
|
|
# malicious change has outsized blast radius for a public repo.
|
|
|
|
* @psmattas
|
|
|
|
# Repo governance / legal — changes here affect every contributor.
|
|
/LICENSE @psmattas
|
|
/CODEOWNERS @psmattas
|
|
/CONTRIBUTING.md @psmattas
|
|
/SECURITY.md @psmattas
|
|
/SETUP.md @psmattas
|
|
|
|
# CI, issue/PR automation, review requirements — tampering here can
|
|
# bypass the protections this very file is trying to set up.
|
|
/.gitea/ @psmattas
|
|
|
|
# Dependency supply chain — a swapped or re-pinned package here can pull
|
|
# in arbitrary code at build time.
|
|
/OutlineKit/Package.swift @psmattas
|
|
/OutlineKit/Package.resolved @psmattas
|
|
/Outpost.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @psmattas
|
|
|
|
# Build/signing/versioning config and release tooling.
|
|
/Outpost.xcodeproj/project.pbxproj @psmattas
|
|
/scripts/ @psmattas
|
|
|
|
# Project direction — architecture/scope decisions shouldn't drift via a
|
|
# drive-by PR.
|
|
/CLAUDE.md @psmattas
|
|
/docs/ARCHITECTURE.md @psmattas
|