MOC Source 版本历史 - 5 个版本
MOC Source 作者: moc-source
MOC Source 版本历史 - 5 个版本
小心旧版本!显示这些版本是为了测试和参考目的。您应该始终使用附加组件的最新版本。
最新版本
版本 0.4.20
发布于 2026年8月10日 - 129.57 KB适用于 firefox 142.0 及更高版本Fixed: BrickLink store prices and Pick-A-Brick prices now show their real currency instead of always displaying "$" — e.g. a EUR store now correctly shows "€", a Sweden-region PAB price shows "kr" instead of a fake dollar sign.
Added: cart totals and the Grand Total now show a second "≈ (home currency)" conversion alongside the store's native price, so BrickLink and PAB costs can be compared side-by-side even when they're in different currencies. (Re-save affected carts from BrickLink to pick up currency data.)
Fixed: wanted-list items with no color preference ("(Not Applicable)") could show a misleading, seemingly random specific color instead of "Any." Your underlying wanted-list data was never affected — this was a display-only bug.
Changed: the Configure Project page's wanted-list and store-cart lists are now sorted alphabetically.源代码遵循 仅 GNU Affero 通用公共许可证 v3.0 发布
较早版本
版本 0.4.19
发布于 2026年7月29日 - 124.8 KB适用于 firefox 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 通用公共许可证 v3.0 发布
版本 0.4.18
发布于 2026年7月19日 - 119.1 KB适用于 firefox 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 通用公共许可证 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 KB适用于 firefox 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 通用公共许可证 v3.0 发布
版本 0.4.13
发布于 2026年7月14日 - 115.62 KB适用于 firefox 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 通用公共许可证 v3.0 发布