Releases: inguy24/Numisync-Wizard
Releases · inguy24/Numisync-Wizard
v1.1.5
New Features
- Use Stored Numista ID — skip search for previously matched coins — Coins with a known Numista type ID now skip the search step and load the matched coin directly via
GET /types/{id}, saving 1 API call per enrichment session.
Bug Fixes
- Session and monthly API counters showed 0 until first user action — status bar never populated on collection load —
loadCollectionScreen()updated the fetch-settings label but never calledrefreshSessionCounter(), soSession: 0 callsandMonth: 0/2,000persisted until some other action triggered a refresh. - Fast Pricing Mode session counter never updated — showed 0 calls after entire batch —
startFastPricingUpdate()calledloadCoins()andrenderCoinList()after the batch loop but never calledrefreshSessionCounter(). - Fast Pricing estimated time showed "0s" for all batch sizes — Two
function formatDurationdeclarations existed in app.js (line ~2369 taking seconds, line ~6111 taking milliseconds). - Price fields bypassed field mapping system — hardcoded mapping ignored user settings, stale prices never cleared —
extractPriceFields()hardcodedprice1=F … price4=UNCand was called directly in bothmapToOpenNumismat()andfast-pricing-update, completely bypassing the configurable field mapping system ... - Price grade→field mapping was reversed — UNC prices saved to Fine field, Fine prices saved to UNC field — OpenNumismat numbers price columns ascending from worst to best grade:
price1=F (Fine),price2=VF,price3=XF,price4=UNC. - Mintmark 'P' (Philadelphia) never auto-matched pre-1980 US coins despite "missing mint mark" setting being on —
matchIssue()filtered year-matched issues withi.mint_letter && mintmarksMatch(userMintmark, i.mint_letter), which excluded issues with no mint_letter (empty string) regardless of any setting. - Auto-propagate omitted obversedesigner, obverseengraver, reversedesigner, reverseengraver, obverseimg, reverseimg, edgeimg, and series from type-level writes — The
propagate-type-datahandler filtered user-selected fields against a hardcodedtypeLevelFieldsallowlist that was missing these eight fields. - Opening a coin detail then exiting without applying regressed the basic data icon from complete to in-progress — When the user clicked a match card on the match screen,
update-coin-statuswas called withstatus: 'matched', which unconditionally built a fresh metadata object withbasicData: PENDINGand `... - "Search Again" button on match screen had no event listener and never worked — The button (
id="searchAgainBtn") was present in the HTML but the corresponding click listener was never written inapp.js. - Iranian dinar coins return no matches ("10 Dīnār - Rezā Pahlavī" not found by search for "10 dinars") — Numista uses the diacritical transliteration "Dīnār" (macron ī/ā) as an invariant singular in all Iranian dinar coin titles regardless of quantity (e.g., "10 Dīnār", "50 Dīnār").
- External links open inside app window instead of system browser (Microsoft Store certification failure) — All
<a href="...">links to external URLs were opening a newBrowserWindowinside the app rather than the system browser. - Fractional denomination coins return no matches (Yemen 1/80 Rial 1931) + manual search year-in-q bug — Two bugs.
v1.1.4
Bug Fixes
- External links open inside app window instead of system browser — All
<a href="...">links to external URLs were opening a newBrowserWindowinside the app rather than the system browser. - Fractional denomination coins return no matches (Yemen 1/80 Rial 1931) + manual search year-in-q bug — Two bugs.
v1.1.3
Bug Fixes
- Match confidence penalised -20 for fractional denominations (e.g. "2 1/2 Shillings" scores 43% instead of ~63%) —
parseNumericValuehandled pure ASCII fractions ("1/2") and Unicode fractions ("2½") but not mixed-number notation ("2 1/2"or"21/2"). - Value field truncated for fractional denominations (e.g. "2½ Shillings" → "2") — Numista returns fractional face values using Unicode vulgar fraction characters (e.g.
- Historical sub-issuer coins return no matches (South Africa 1896 Shilling) — Coins labeled with a modern country name (e.g., "South Africa") resolve to a modern Numista issuer code (
afrique_du_sud) that only covers post-Union coins. - Alias-resolved issuers score 0 for country match / dead scoring function removed — Match confidence scoring was split across two functions:
calculateConfidenceinapp.js(active, called byrenderMatches()) andcalculateMatchConfidenceinnumista-api.js(dead code, never... - Mandatory Palestine returns no search results — "Mandatory Palestine" (the official name for the British Mandate territory 1920–1948) had no alias entry.
- East Africa Protectorate returns no search results — "East Africa Protectorate" had no alias entry, so fuzzy matching ran against all 11,756 Numista issuers.