Phase 2A-1: Port ItemTag schema update from paid iOS#42
Merged
dadachi merged 1 commit intosubstrate-v2from Apr 24, 2026
Merged
Conversation
Ports nativeapptemplate/NativeAppTemplate-iOS#49 - ItemTag model: queueNumber → name; add description/position; remove scanState/customerReadAt/alreadyCompleted - ItemTagAdapter: parse name/description/position; drop legacy attrs - PermissionsRequest: maximum_queue_number_length meta now optional with default 256 (full removal deferred to 2A-3) - SessionController / App.swift null stub: maximumQueueNumberLength default 0 → 256 - ViewModels: queueNumber → name; validateQueueNumberLength → validateNameLength; hasInvalidDataQueueNumber → hasInvalidDataName - Drop 5 production call sites of the deleted fields (ShowTagInfoScanResultView, ScanViewModel, ShopDetailViewModel, ShopDetailCardView, MainViewModel) — each flagged // TODO: removed in Phase 2A-2 - Shop model: drop displayShopServerPath / displayShopServerUrl; drop "Open Server Number Tags Webpage" link from ShopDetailView; delete NumberTagsWebpageListView/ViewModel and the Shop Settings section that linked to it - Tests: update helpers and adapter fixtures for the new schema; delete ScanViewModelTest (queue/NFC-specific, goes away in 2A-2), completeTagWhenAlreadyCompleted test (asserted the removed branch), and NumberTagsWebpageListViewModelTest Main target and test target both compile. Some tests may fail at runtime (deferred to Phase 2A-4 per plan). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Ports https://github.com/nativeapptemplate/NativeAppTemplate-iOS/pull/49 (Phase 2A-1) to the Free iOS repo.
name,description,position; removesqueueNumber,scanState,customerReadAt,alreadyCompleted).substrate-v2; targets that branch.Key changes
ItemTag:queueNumber→name; addeddescription: String,position: Int?; removedscanState/customerReadAt/alreadyCompleted.toJson()emits new keys.scanUrl()kept for 2A-2.ItemTagAdapter: parsesname/description/position; drops legacy attrs.PermissionsRequest:maximum_queue_number_lengthmeta is now optional with default256(full removal deferred to 2A-3).SessionController/App.swiftnull stub:maximumQueueNumberLengthdefault0→256.queueNumber→name;validateQueueNumberLength→validateNameLength;hasInvalidDataQueueNumber→hasInvalidDataName. Form bindings and footer references updated.ShowTagInfoScanResultView,ScanViewModel,ShopDetailViewModel,ShopDetailCardView,MainViewModel) — each flagged with a// TODO: removed in Phase 2A-2marker.ShopdropsdisplayShopServerPath/displayShopServerUrl;ShopDetailViewloses the "Open Server Number Tags Webpage" link;ShopSettingsViewloses the Section that linked to the deletedNumberTagsWebpageListView.NumberTagsWebpageListView+ViewModel+ tests deleted.ScanViewModelTest(queue/NFC-specific) deleted ahead of 2A-2.completeTagWhenAlreadyCompletedtest removed.Test plan
make lintpasses (SwiftLint 0 violations, SwiftFormat 0 files require formatting)xcodebuild build—** BUILD SUCCEEDED **(iPhone 17, iOS 26.2)xcodebuild build-for-testing—** TEST BUILD SUCCEEDED **grep -rn "queueNumber" NativeAppTemplate/returns 0 matches (identifier was eliminated in production code)grep -rn "scanState\|customerReadAt\|alreadyCompleted" NativeAppTemplate/returns only// TODO: removed in Phase 2A-2markers🤖 Generated with Claude Code