Skip to content

[INBOX/Practical OSS] CodeScanner 2.5.2:相机扫码配对 + 纯离线二维码阅读器 - #84

Draft
Righteous1776 wants to merge 13 commits into
mainfrom
agent-drop/practical-codescanner-20261025
Draft

Righteous1776 wants to merge 13 commits into
mainfrom
agent-drop/practical-codescanner-20261025

Conversation

@Righteous1776

Copy link
Copy Markdown
Owner

[AGENT-DROP] First practical third-party OSS integration, not an algorithm-count feature plan

Base main: 501ef814a0a9bea41419fe2d9f48315371b30320. Inbox: AGENT_INBOX/submissions/practical-oss-agent/20261025-live-qr-codescanner/.

Two immediate user-facing features

  1. Real-time camera scanning for current expiring Relay-pair QR. Preserve existing PhotosUI import unchanged; camera is explicitly opt-in, single-use, cancellable. Shape bound checked by staged FILES/VeilPairCameraInputGate.swift; existing VeilRemotePairQRCodeCodec.decode and Coordinator still enforce lifetime/authentication/SAS. Relay identity exchange still requires configured Internet Relay; camera scan itself doesn't.
  2. Generic offline QR text reader in ToolCenter. FILES/VeilOfflineQRReaderView.swift: opt-in camera scan, up to 4KiB UTF-8 text, no auto-open or network access; explicitly copy through existing local-only clipboard. Late scanner callbacks are ignored after dismiss.

Dependency / scope

  • Only new third-party SPM package: twostraws/CodeScanner exactVersion 2.5.2, MIT, Swift tools 5.9, iOS13+, no transitive packages. The CodeScannerView initializer inspected against the tagged upstream source. No vendor code/binary imported or database migration.
  • PATCH.diff: 4 existing product files (project.yml, RemotePairingView.swift, ToolCenterView.swift, Info.plist), 8 exact main-context-valid hunks, line counts verified. Does not modify product tree unless Governor explicitly applies.
  • FILES/VeilPairCameraInputGateTests.swift: 4 tests; Linux Swift 6.2.1 swift test 4 passed, 0 failed. Full iOS SDK/XcodeGen/XCTest + iPhone7 camera/gesture validation NOT RUN.
  • OSS_SHORTLIST.md: follow-up candidates SwiftSoup, MarkdownUI, swift-collections pinned, existing ZIPFoundation, deferred GRDB and Kingfisher, with tooling/performance/license caveats.

P0 and release gates

Touch and startup regressions #64/#65/#66 remain higher priority. ToolCenterView, Info.plist and project.yml are shared integration surfaces; manual Governor arbitration required against #67/#68/#70/#72/#76/other pending lanes. CodeScanner distribution requires full MIT license/NOTICE. Test iPhone7 iOS15 camera authorization, denied permission, scanner dismissal, local-only clipboard, expiry, session crypto, dark/light touch, fallback to photo import.

Status: INBOX_ONLY / Draft candidate; no Actions, IPA, source/main, signing, protocol, SQLite or Keychain mutation.

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