Overview: Where Development Is Heading
The backend repo is currently focused on bug fixes. Several fixes are landing to stabilize the existing flows. Recent commit subjects include: fix binUpload; fix: skip Joi validation on /binupload multipart route; Fix ipfs.io rate limiting: serialize requests, detect 504 lockout, cache duplicate CID fetches; Add chainWatch backfill mode (-u/-u-dry/-full): rewrite inline base64 + ipfs/http images to CDN, normalize CID URLs, per-chain + ipfs.io rate limits, per-minute stats; remove unused routes from server.js and update imports. The work is tightening the foundation before more blockchain-facing features ship.
Overview: Where Development Is Heading
The frontend repo is currently focused on bug fixes, documentation. Several fixes are landing to stabilize the existing flows. Recent commit subjects include: docs: add cross-repo DEX buy route design note to TODO; docs: add i18n translation-cache TODO — describing only, no edits; fix: MetaModal trait overlay styling - apply text-meta-border class and restore inline styles; fix: trait type font 1rem and outline sync; fix: MetaModal trait value font 1rem + 2px black outline. The work is converging on a more stable and maintainable user experience.
Project Direction — Both repos are converging on a stable, production-ready NFT marketplace. The backend is hardening core systems while the frontend improves architecture and user experience.
Backend Commits
5ddf977 2026-09-11 07:59:31
fix binUploadab23cec 2026-09-11 06:49:59 skip Joi validation on /binupload multipart route
fix:e4ccc9b 2026-08-26 02:53:59
Fix ipfs.io rate limiting: serialize requests, detect 504 lockout, cache duplicate CID fetcheseaba5d4 2026-08-26 00:30:07
Add chainWatch backfill mode (-u/-u-dry/-full): rewrite inline base64 + ipfs/http images to CDN, normalize CID URLs, per-chain + ipfs.io rate limits, per-minute stats63692a2 2026-08-25 03:55:20
remove unused routes from server.js and update importsf149a44 2026-08-25 03:54:09
Merge remote-tracking branch 'origin/refactor2026' into refactor2026601a398 2026-08-25 02:04:42 use = instead of LIKE for numeric for_coll_id in nftMetaById
fix:02ce78b 2026-08-25 02:03:42 use = instead of LIKE for numeric for_coll_id in nftMetaById
fix:e2fe3de 2026-08-25 01:24:33
remove unused routes from server.js and update importsfcb4dbe 2026-08-24 01:52:41
Separate blockscout cache by chainId in newmeta and gitignore newmeta0cb9b26 2026-08-24 01:10:51
test(nft): drop unsupported 'order' field from nftMetaById validation testsd198115 2026-08-24 01:10:21
fix(nft): correct slug resolution in nftMetaById6519a0a 2026-08-24 00:59:48
feat(nft): accept canonicalName + chainName (slug) in nftMetaById1776276 2026-08-23 18:51:26
fix(getCollections): apply net filter — number has no .length9fa19e6 2026-08-23 18:15:03
feat(collInfo): accept canonicalName+chainName or contractAddress+chainName5bb7844 2026-08-23 18:14:54 add canonicalName column and backfill helper
feat:f538183 2026-08-23 00:37:26 preserve null query params, store contract names, remove 1000 cap, normalize new input format, pass db/tokenType into ingestContracts, update existing collections rows, fetch metadata fallback, use null-preserving token pagination serializer
fix:61dac6c 2026-08-22 20:25:30
feat(chainWatch): show canonical signature names on stdout NFT lines9364571 2026-08-22 20:13:02
feat(db): add signatures table for chainWatch learned selectorsc2e7e43 2026-08-22 20:12:37
feat(chainWatch): persist learned signatures to MySQL signatures tableb6c58c8 2026-08-22 18:36:17
fix(db): widen collections.totalSupply to BIGINT UNSIGNEDb1148e0 2026-08-22 18:36:08
fix(chainWatch): make DB writes non-fatal; log full SQL + values on failure6f55254 2026-08-22 18:27:28
feat(chainWatch): gate imports on known NFT func selectors + event topics96fd0fb 2026-08-22 18:14:22
fix(chainWatch): snapshot loop index in subscribe goroutine (nil-pointer panic on startup)19f9bfa 2026-08-22 18:05:23
feat(chainWatch): add crash handling + retry totalSupply + ipfs.io gateway
Frontend Commits
4268d6fc7 2026-09-13 04:02:57 add cross-repo DEX buy route design note to TODO
docs:c0abe0489 2026-09-13 03:19:02 add i18n translation-cache TODO — describing only, no edits
docs:f91848541 2026-09-13 02:52:24 MetaModal trait overlay styling - apply text-meta-border class and restore inline styles
fix:404d41e36 2026-09-13 01:43:38 trait type font 1rem and outline sync
fix:a0bd04c2e 2026-09-13 01:40:10 MetaModal trait value font 1rem + 2px black outline
fix:b130c631d 2026-09-13 01:38:54 MetaModal trait value font larger with black 2px outline
fix:0c59db370 2026-09-13 01:36:44 MetaModal overlay trait info at image middle with gradient fade
fix:131dfd40c 2026-09-13 01:23:23 modal width max-content to fit image intrinsic width
fix:eeb9dcb60 2026-09-13 01:19:44 modal width fit-content / max-width 90vw to shrink to image size
fix:f24d32925 2026-09-13 01:17:51 MetaModal image fill card width, remove maxHeight cap
fix:8e8061060 2026-09-13 01:15:24 MetaModal image original aspect ratio — height auto, contain, 60vh max
fix:95ce10887 2026-09-13 01:11:22 modal image original aspect ratio (maxWidth/hw auto), imageUrl prop
fix:42fb9270a 2026-09-13 01:07:09 restore Collection index props, filterCollapsed state, logo fallback, no setMC duplicate
fix:c5fcb8681 2026-09-13 00:30:17 mobile — show only stats card below image/info, hide chain-card, restore order
fix:8b58ca3d8 2026-09-13 00:20:49 BreadcrumbNoMask stat cards — new .breadcrumb-stat/.breadcrumb-stat-label classes, vertical rules, mobile wrap, image 1/3, transparent bg, no border; mirror .breadcrumb-cards-col; style-guide sync
fix:e04b55acd 2026-09-12 15:15:29 update TODO.md with verified status and open tasks
chore:3bc903dbc 2026-09-11 15:56:26 add Pixel Editor link to Explore dropdown
feat:81d66c9fd 2026-09-11 07:55:18 update generated sitemaps (540 URLs)
chore:2843a4fd4 2026-09-11 07:52:08 avatar upload to use /api/v1/binupload (uploadFile)
fix:978738d7a 2026-09-11 06:36:24 initialize upload metadata fields up front
fix:f74d48c41 2026-09-11 06:29:47 use configured API base for profile uploads
fix:eee6621ab 2026-09-11 06:09:46 revert upload to JSON for /api/v1/upload contract
fix:6397e8659 2026-09-11 05:30:47 upload payload empty — send FormData directly and defer queue processing
fix:1e821c98a 2026-09-11 05:09:46 avoid parsing already parsed session token
fix:31549c017 2026-09-11 04:56:41 banner upload now branches on itype; guard hdrRef null; build passes
fix: