MOC Source의 버전 기록 - 4개 버전
MOC Source 제작자: moc-source
MOC Source의 버전 기록 - 4개 버전
이전 버전은 주의해서 사용하세요! 아래 버전들은 테스트 및 참조용으로만 제공됩니다.부가 기능은 항상 최신 버전으로 사용해 주세요.
최신 버전
버전 0.4.19
2026년 7월 29일에 출시 - 124.8 KBfirefox 142.0 이상에서 작동New:
GWP threshold support for Pick-A-Brick cart splitting — set a target dollar amount per cart in Project Setup, and Cart Jigsaw fills toward it before spilling into the next cart.
PAB-only / STD-only cart roles now actually route parts, not just labels.
Save-to-Cart confirmation now shows a clear breakdown per destination cart (added/removed/changed, lots, and totals) instead of one merged view.
Clear warning when every configured cart is full, instead of silently overflowing past the 200-lot limit.
Fixed:
"Any color" wanted-list items (BrickLink's "Not Applicable" color) could be silently mismatched to the wrong specific color, causing Auto Allocate to miss stock already sitting in a BrickLink cart under a different color — risking a duplicate purchase. Auto Allocate, pricing, and cart totals now correctly treat these as any-color and match existing cart stock in any color.
Cart and grand total amounts could silently undercount parts affected by the issue above.
"Below PAB" price badges now show the actual savings amount instead of repeating the reference price.GNU Affero General Public License v3.0 전용에 따라 릴리스된 소스 코드
이전 버전
버전 0.4.18
2026년 7월 19일에 출시 - 119.1 KBfirefox 142.0 이상에서 작동- Fixed (actual root cause): every Wanted List / Cart detail page has been permanently unable to load PAB prices since v0.4.17. That release's Project-detail listener-stacking fix accidentally also touched
attachDetailListeners(a completely unrelated function used by all list/cart detail pages), converting a workingcontent.addEventListener("click", ...)call intoaddClick(...)— butaddClickis only defined as a local helper insiderenderProjectDetail, not here. Calling it threwReferenceError: addClick is not definedon every single page visit, which abortedrenderDetailView()— and since that call happens beforerenderListDetail's PAB-price fetch loop, the fetch loop never ran at all, leaving every row frozen at its initial "…" placeholder. (Confirmed viagit log -pshowing the accidental find-replace, and by reproducing the exact call chain in Node to verify the fetch never fires once the throw happens.) GaveattachDetailListenersits own cleanup-trackedaddListener/addClickhelpers (same pattern asrenderProjectDetail's, since this function has the identical repeated-call-on-persistent-container structure) and converted its other two directcontent.addEventListenercalls to use them too, so they stop stacking across re-renders as well. - Hardened (real but secondary):
renderListDetailand the Project pool section each fetch every part's PAB price in parallel viaPromise.all, which fails the whole batch if even onechrome.runtime.sendMessagerejects (e.g. a transient MV3 message-channel hiccup). Switched toPromise.allSettledso one bad fetch can't block the rest of a page's prices from rendering. This wasn't the cause of the "stuck at …" reports above (theaddClickcrash was), but it's a legitimate robustness gap worth closing regardless. - Changed: standardized price rounding across the extension. User-facing prices now always show exactly 2 decimals — the BrickLink-page "below PAB"/"BL avg" caption dropped from 3 decimals, and the Cart Jigsaw SPA's Store Price columns (which previously showed BrickLink's raw scraped text verbatim, e.g.
$0.0812US) now parse and format to$X.XX. Cart cost calculations still sum true, unrounded per-item prices as before (no change there — they already did this correctly) but the final "what you'll pay" totals (LEGO cart total, BrickLink cart total incl. shipping, Project Grand Total) now round up to the next cent instead of to the nearest cent, via a newceilToCents()helper, so a total is never shown lower than what the real sum comes to. Per-channel subtotals and savings/delta figures (PAB Savings, "switch to save ~$X", Store Savings Scanner) are unaffected — still plain nearest-cent display, since they're informational breakdowns/estimates, not a standalone amount owed. Also widenedcontent.js'sscrapeRowPrice()regex, which previously truncated BrickLink's own displayed price to exactly 2 decimals before using it
GNU Affero General Public License v3.0 전용에 따라 릴리스된 소스 코드
- Fixed (actual root cause): every Wanted List / Cart detail page has been permanently unable to load PAB prices since v0.4.17. That release's Project-detail listener-stacking fix accidentally also touched
버전 0.4.17
2026년 7월 17일에 출시 - 116.46 KBfirefox 142.0 이상에서 작동Fixed: On the Project page, clicking things (dialogs, saving Scratch Space) could sometimes require multiple clicks or show duplicate popups after using the page for a while in one session. Now works correctly every time.
Fixed: Projects now correctly account for parts you already have. If you want 4 of a part and already have 2, the Project pool now only counts 2 as still needed — previously it ignored "Have" and could try to source more than you actually needed.GNU Affero General Public License v3.0 전용에 따라 릴리스된 소스 코드
버전 0.4.13
2026년 7월 14일에 출시 - 115.62 KBfirefox 142.0 이상에서 작동v0.4.13
Fixed unescaped part/list names in a handful of DOM-rendering locations (BrickLink wanted-list picker, cart-update modal, and the Projects pool/scratch-space row renderers) — names now consistently pass through HTML-escaping before being inserted into the page, matching the pattern already used everywhere else in the codebase.
Added browser_specific_settings.gecko.data_collection_permissions per Mozilla's new disclosure requirement (declared: websiteContent — part/color identifiers derived from BrickLink page content, sent to our own API for price lookups; nothing else is collected or transmitted).
First submission built from a shared Chrome/Firefox source tree — functionality matches the existing Chrome Web Store listing (ID hoglacgnlglnbpeffbdndnhaokiojigh), no Firefox-specific behavior differences.GNU Affero General Public License v3.0 전용에 따라 릴리스된 소스 코드