Development Update — 2026-09-13

by Jamie

Development Update — 2026-09-13

Share

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 binUpload

ab23cec 2026-09-11 06:49:59
fix:
skip Joi validation on /binupload multipart route

e4ccc9b 2026-08-26 02:53:59
Fix ipfs.io rate limiting: serialize requests, detect 504 lockout, cache duplicate CID fetches

eaba5d4 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 stats

63692a2 2026-08-25 03:55:20
remove unused routes from server.js and update imports

f149a44 2026-08-25 03:54:09
Merge remote-tracking branch 'origin/refactor2026' into refactor2026

601a398 2026-08-25 02:04:42
fix:
use = instead of LIKE for numeric for_coll_id in nftMetaById

02ce78b 2026-08-25 02:03:42
fix:
use = instead of LIKE for numeric for_coll_id in nftMetaById

e2fe3de 2026-08-25 01:24:33
remove unused routes from server.js and update imports

fcb4dbe 2026-08-24 01:52:41
Separate blockscout cache by chainId in newmeta and gitignore newmeta

0cb9b26 2026-08-24 01:10:51
test(nft): drop unsupported 'order' field from nftMetaById validation tests

d198115 2026-08-24 01:10:21
fix(nft): correct slug resolution in nftMetaById

6519a0a 2026-08-24 00:59:48
feat(nft): accept canonicalName + chainName (slug) in nftMetaById

1776276 2026-08-23 18:51:26
fix(getCollections): apply net filter — number has no .length

9fa19e6 2026-08-23 18:15:03
feat(collInfo): accept canonicalName+chainName or contractAddress+chainName

5bb7844 2026-08-23 18:14:54
feat:
add canonicalName column and backfill helper

f538183 2026-08-23 00:37:26
fix:
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

61dac6c 2026-08-22 20:25:30
feat(chainWatch): show canonical signature names on stdout NFT lines

9364571 2026-08-22 20:13:02
feat(db): add signatures table for chainWatch learned selectors

c2e7e43 2026-08-22 20:12:37
feat(chainWatch): persist learned signatures to MySQL signatures table

b6c58c8 2026-08-22 18:36:17
fix(db): widen collections.totalSupply to BIGINT UNSIGNED

b1148e0 2026-08-22 18:36:08
fix(chainWatch): make DB writes non-fatal; log full SQL + values on failure

6f55254 2026-08-22 18:27:28
feat(chainWatch): gate imports on known NFT func selectors + event topics

96fd0fb 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
docs:
add cross-repo DEX buy route design note to TODO

c0abe0489 2026-09-13 03:19:02
docs:
add i18n translation-cache TODO — describing only, no edits

f91848541 2026-09-13 02:52:24
fix:
MetaModal trait overlay styling - apply text-meta-border class and restore inline styles

404d41e36 2026-09-13 01:43:38
fix:
trait type font 1rem and outline sync

a0bd04c2e 2026-09-13 01:40:10
fix:
MetaModal trait value font 1rem + 2px black outline

b130c631d 2026-09-13 01:38:54
fix:
MetaModal trait value font larger with black 2px outline

0c59db370 2026-09-13 01:36:44
fix:
MetaModal overlay trait info at image middle with gradient fade

131dfd40c 2026-09-13 01:23:23
fix:
modal width max-content to fit image intrinsic width

eeb9dcb60 2026-09-13 01:19:44
fix:
modal width fit-content / max-width 90vw to shrink to image size

f24d32925 2026-09-13 01:17:51
fix:
MetaModal image fill card width, remove maxHeight cap

8e8061060 2026-09-13 01:15:24
fix:
MetaModal image original aspect ratio — height auto, contain, 60vh max

95ce10887 2026-09-13 01:11:22
fix:
modal image original aspect ratio (maxWidth/hw auto), imageUrl prop

42fb9270a 2026-09-13 01:07:09
fix:
restore Collection index props, filterCollapsed state, logo fallback, no setMC duplicate

c5fcb8681 2026-09-13 00:30:17
fix:
mobile — show only stats card below image/info, hide chain-card, restore order

8b58ca3d8 2026-09-13 00:20:49
fix:
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

e04b55acd 2026-09-12 15:15:29
chore:
update TODO.md with verified status and open tasks

3bc903dbc 2026-09-11 15:56:26
feat:
add Pixel Editor link to Explore dropdown

81d66c9fd 2026-09-11 07:55:18
chore:
update generated sitemaps (540 URLs)

2843a4fd4 2026-09-11 07:52:08
fix:
avatar upload to use /api/v1/binupload (uploadFile)

978738d7a 2026-09-11 06:36:24
fix:
initialize upload metadata fields up front

f74d48c41 2026-09-11 06:29:47
fix:
use configured API base for profile uploads

eee6621ab 2026-09-11 06:09:46
fix:
revert upload to JSON for /api/v1/upload contract

6397e8659 2026-09-11 05:30:47
fix:
upload payload empty — send FormData directly and defer queue processing

1e821c98a 2026-09-11 05:09:46
fix:
avoid parsing already parsed session token

31549c017 2026-09-11 04:56:41
fix:
banner upload now branches on itype; guard hdrRef null; build passes