[pull] main from Lakr233:main#2
Open
pull[bot] wants to merge 42 commits into
Open
Conversation
- address PACE OpenSSL review fixes - expand PACE end-to-end reader coverage - bump example app version to 1.0.1 build 6
Replace custom UITableViewController implementations with ObjectListViewController subclasses for Scanner, NDEF, and Dump lists. Stores now conform to ObjectListDataSource directly, consolidating cell rendering, search filtering (via ObjectListItem.matches), and CRUD operations. Removes ~600 lines of duplicated boilerplate while preserving all existing functionality including drag-drop, context menus, multi-select editing, import/export, and NFC operations. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Adopt ObjectList abstractions and ConfigurableKit across the example app: - Make ScanStore, NDEFStore and DumpStore conform to ObjectListDataSource/ObjectListItem, add Combine change publishers, @mainactor annotations, item configuration helpers, and CRUD/reordering methods. - Add matches(query:) implementations for records to support searching. - Remove custom ReorderableTableViewDiffableDataSource and refactor ScannerViewController to inherit from ObjectListViewController, simplifying drag/drop, context menus, import/export, and editing logic. - Add ConfigurableKit imports where needed, update project package requirement for ConfigurableKit, and ignore *.resolved in .gitignore.
Introduce OpenURLRouter to determine destination (scanner, ndef, passport) for opened files using declared UTType, path extension, or by inspecting file payload. Update SceneDelegate to use the router and route files to the appropriate tab and view controller (with a helper to fetch navigation controllers). Make PassportViewController.importFile non-private so it can be invoked by the router, and add OpenURLRouterTests to cover extension- and payload-based routing.
i18n and some app improvements
- Fix trailing comma in Localizable.xcstrings (invalid JSON) - Fix missing spaces in NDEFIcon.swift extension/property declarations - Rename NDEFMessage to ndefMessage (Swift lowerCamelCase convention) - Use fallback icon "questionmark" instead of empty string
Add Japan IC (Suica/PASMO/ICOCA), Korea T-Money/Cashbee (KS X 6924), and China T-Union transit card balance reading as a standalone tool in the Tools tab. Includes i18n (en/zh-Hans), tests, and fixes locale- sensitive TabBarControllerTests. Bump example app to 1.0.3.
Introduce docs/Tested-Cards.md containing a table of 24 real-card scans (exported .cenfc via CENFC on 2026-04-06) covering FeliCa, ISO 15693, DESFire, Ultralight, NFC Type 4, and NTAG variants. Update README.md to reference the new Tested Cards doc in the hardware coverage and testing notes so real-world validation is discoverable.
Introduce ISO7816Application enum and CardInfo.knownISO7816Application to represent known ISO 7816 AIDs. Use ISO7816Application.match(...) in CardInfoRefiner to hint card types and remove old AID normalization helper. Display known ISO 7816 application info in CardDetailViewController and CardInfoDetailViewController. Also add several AIDs to Example Info.plist, update Package.resolved, fix import ordering, correct JapanICReader transaction type expression, and adjust many test functions to use simplified @test declarations/backticked names; add ISO7816Application tests.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add proper baseConfigurationReference for Development/Release xcconfig on project-level and CENFC target build configurations - Remove hardcoded DEVELOPMENT_TEAM, MARKETING_VERSION, and CURRENT_PROJECT_VERSION from pbxproj (now sourced from xcconfig) - Clean up stale Recovered References group and fix file reference IDs - Update Version.xcconfig to 1.0.4 (build 10) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Introduce EmptyStateView (SnapKit-based) and hook it into Scanner, Dump, NDEF, Passport and Passport list controllers to show/fade empty-list placeholders and handle scroll/layout updates. Rewrite LogsViewController from a StackScrollController to a table-driven view with search, level/source filtering menu, share/clear actions, and improved background/scroll behavior. Change info-row behavior: ConfigurableInfoView truncates values to one line; StackScrollController info rows now expose inline UIMenu actions (including Copy) and show a copied banner. Update PassportDetail to provide contextual menu actions for data groups. Bump Example app version (1.0.4 → 1.0.5) and project file references/paths in the Xcode project. Add Example App Conventions to AGENTS.md (SnapKit, feedback patterns, empty-state and localization conventions). Also include formatting/updates to Localizable.xcstrings and other minor utility adjustments.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace MainActor.assumeIsolated with a safe MainActor.isolated helper that dispatches synchronously to main thread when called from a non-main thread, preventing assertion failures in CoreNFC delegate callbacks. Bump version to 1.0.6 (13). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add My Number card reading support
Squash merge transit balance reader fixes, real card fixtures, and formatting.
Add LookInsideServer for Debug builds, exclude it from Release builds, and update README sponsor placement.
Refine CardInfoRefiner to verify suspected Classic tags via Type 2 manufacturer pages and UID/BCC before falling through to GET_VERSION, so Ultralight/NTAG tags are no longer misidentified as MIFARE Classic (issue #12). Bumps to 1.0.9 (16). Adds the new GitHub Pages docs site under docs/ with a Pages deploy workflow, and updates AGENTS.md to require docs-site updates as part of release readiness. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Change WelcomePageViewController.Configuration and Feature to use String instead of String.LocalizationValue, and update callsites (FeatureRowView and WelcomePageViewController) to work with pre-localized strings. Localizable.xcstrings formatting/structure was updated to match the new string handling. Bump project version info (CURRENT_PROJECT_VERSION = 18, MARKETING_VERSION = 1.1.0) in the Xcode project and add a new Swift Package pin (lookinside-release) to Package.resolved.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )