Skip to content

[pull] main from Lakr233:main#2

Open
pull[bot] wants to merge 42 commits into
CKwasd:mainfrom
Lakr233:main
Open

[pull] main from Lakr233:main#2
pull[bot] wants to merge 42 commits into
CKwasd:mainfrom
Lakr233:main

Conversation

@pull

@pull pull Bot commented Mar 21, 2026

Copy link
Copy Markdown

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 : )

@pull pull Bot locked and limited conversation to collaborators Mar 21, 2026
@pull pull Bot added the ⤵️ pull label Mar 21, 2026
Lakr233 and others added 24 commits March 22, 2026 12:36
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.
Lakr233 and others added 14 commits April 6, 2026 16:48
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>
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.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants