Overview: Where Development Is Heading
The backend repo is currently focused on general improvements. Recent commit subjects include: feat(util): verify ipfs_metadata listing status against the chain; feat(close): acknowledge closeItem immediately, verify async in a worker; feat(utils): randomize collections.imageUrl from own ipfs_metadata rows; fix(logger): add missing pino-pretty devDependency; refactor(chainwatch): count -u batch backfill inserts in the run total; go.mod tidy. The work is tightening the foundation before more blockchain-facing features ship.
Overview: Where Development Is Heading
The frontend repo is currently focused on general improvements. Recent commit subjects include: fix(chains): correct Flare finality/tokenomics and Songbird status from primary sources; feat(chains): researched reference pages for all supported chains; fix(modal): give buy/sell/manage the image+meta modal's width; feat(buy): refetch after bid and poll live auctions every 30s; feat(listing): owner-aware sell/manage lifecycle + immediate close notify. The work is converging on a more stable and maintainable user experience.
Project Direction — The frontend is modernizing its architecture so future NFT marketplace features can be delivered faster.
Backend Commits
45771fe 2026-10-01 22:46:36
feat(util): verify ipfs_metadata listing status against the chaina667974 2026-10-01 21:59:50
feat(close): acknowledge closeItem immediately, verify async in a workerb01ff09 2026-09-30 21:44:20
feat(utils): randomize collections.imageUrl from own ipfs_metadata rows7d0502b 2026-09-30 21:44:16
fix(logger): add missing pino-pretty devDependency0bb8fef 2026-09-29 15:52:45
refactor(chainwatch): count -u batch backfill inserts in the run total; go.mod tidy3056915 2026-09-29 15:52:40
feat(chainwatch): webui "Meta items fetched" tile counts this run's new items5809c8e 2026-09-29 15:52:33
feat(chainwatch): /api/stacks goroutine dump endpointda0f3b8 2026-09-29 15:52:29
fix(chainwatch): deadlock in rateState.backoff (self-deadlock on rs.mu)fd066be 2026-09-28 21:55:45
test(chainwatch): prove the rendered progress string carries the token namef6fa7bd 2026-09-28 21:54:38
feat(chainwatch): show the token's name in a walk's progress line370ee1f 2026-09-28 21:32:26
fix(chainwatch): iterate the chain registry in registration order, not Go's randomised map order4cf5a1e 2026-09-28 21:32:15
fix(chainwatch): a consecutive-skip abort must leave the chunk loop, not just the inner oneae648d1 2026-09-28 20:44:44
feat(chainwatch): start per-chain watchers even when the startup dial fails, so clients[] self-heals6d862bd 2026-09-28 20:18:11
fix(chainwatch): range the configs map; a chain at a high index was silently unwatched308c87e 2026-09-28 20:10:52
perf(db): add indexes for query shapes the existing ones don't coverda787cc 2026-09-28 20:05:33
feat(chainwatch): opportunistic metadata scheduler (idle chains pick a random incomplete collection every 10m)34faeab 2026-09-28 19:04:54
fix(chainwatch): a host-scoped stop must break the chunk loop, not just the inner oneac34f9c 2026-09-28 16:48:54
fix(chainwatch): bound metadata fetches + per-host circuit breaker (unblocks the whole job queue)d113eef 2026-09-27 20:47:05
docs(chainwatch): document closed-pooled-client recovery + batch ceiling 100c9ef357 2026-09-27 20:46:43
fix(chainwatch): recover metadata walks from a closed pooled RPC client + drop batch ceiling 200->100df0eee4 2026-09-27 19:11:59
fix(chainwatch): reconnect the new-heads subscription + buffer the head channel57eabc6 2026-09-27 18:50:11
feat(chainwatch): report every token outcome in job progress + abandon a walk after 5 consecutive metadata skipsc9b8ff3 2026-09-27 18:13:04
feat(chainwatch): Cancel button and cancelled badge in the webui3c22fe6 2026-09-27 18:12:53
fix(chainwatch): make a mint on a sparse collection actually reach the DB0710cc1 2026-09-27 18:12:34
fix(chainwatch): a permanent 403 must not trigger per-chain backoff
Frontend Commits
593cc7ba9 2026-10-01 23:45:15
fix(chains): correct Flare finality/tokenomics and Songbird status from primary sourcesa3c1d04fa 2026-10-01 23:32:25
feat(chains): researched reference pages for all supported chainsdcbea85b4 2026-10-01 22:30:27
fix(modal): give buy/sell/manage the image+meta modal's widthcf0d008ca 2026-10-01 22:12:31
feat(buy): refetch after bid and poll live auctions every 30sa934c6563 2026-10-01 22:00:12
feat(listing): owner-aware sell/manage lifecycle + immediate close notify7f2d6d06f 2026-10-01 19:36:16
chore(manifest): sync AuctionManagerCore ABI with escrow recovery functions303f29d28 2026-10-01 19:10:55
feat(auction): add fee-settings getters to hook + sync Core ABI796e9f6ce 2026-10-01 18:55:04
feat(auction): add getEarlyFinalizeFee read to hook + sync Core ABIec7496096 2026-10-01 18:48:23
feat(auction): add getRemovalFee read to useAuctionManager hook + sync Core ABIaad143489 2026-10-01 18:43:07
feat(auction): sync AuctionManager ABI with removeListingBeforeEndTime + cancelSaleListing782241952 2026-09-30 22:45:09
feat(collection): tappable contract address with copy/explorer menu29af0b56b 2026-09-30 22:08:15
fix(collection): show real totalSupply instead of hardcoded 1000ba1c342c3 2026-09-29 00:15:51
fix(minting): stop the embed spinner wedging on a lost iframe load event3713c8d72 2026-09-28 01:55:30
fix(auction manifest): sync the six facet ABIs from market-contractsce32350be 2026-09-28 00:36:03
fix(auction hook): route sale listings to Sales facet; pass account on readsdb3f45a31 2026-09-27 21:10:40 buyer fee was zero because the FeeModel enum was read inverted
fix:f6f6bc8ac 2026-09-27 21:01:28 sale modal must read the token's own chain, not the collection's name
fix:c90781af8 2026-09-27 20:43:25 port wagmi marketplace hooks and add on-chain sale particulars modal
feat:94cf64430 2026-09-20 01:53:52 stop tracking SQLite sidecar files (conversation.db-shm/wal)
chore:156111045 2026-09-20 01:06:07 wallet NFT cards use shimmer placeholder for missing/broken images
fix:e2bdd7acb 2026-09-20 00:45:34 wallet NFT image URLs use canonical CDN path with 404-fallback query
fix:31a0692e4 2026-09-20 00:40:13 restore NFT-detail shimmer placeholder background inside modal
fix:c07da384f 2026-09-20 00:35:07 modal placeholder min-width 33vw (was 25vw)
fix:9fe5dc7d7 2026-09-20 00:34:25 modal placeholder at least 25vw and 1:1 aspect
fix:dc4189209 2026-09-20 00:33:46 NftDetailModal shows shimmer placeholder when image missing/fails
fix: