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(ops): harden chainWatch supervisor + surface watcher health on /health (Phase 4); fix(chainwatch): bound startup DB connect + standard-detection probes (Phase 3); fix(chainwatch): decouple per-chain goroutine panics from process exit (Phase 2); fix(chainwatch): recover-and-log panics in fire-and-forget goroutines (P0) so one bad item can't abort the watcher; fix(webhook): protect chainWatch AM webhooks with a shared secret — fail closed, return 404. 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, new features, performance improvements, maintenance tasks. Several fixes are landing to stabilize the existing flows. New feature work is progressing in parallel. Recent commit subjects include: chore: stop tracking SQLite sidecar files (conversation.db-shm/wal); fix: wallet NFT cards use shimmer placeholder for missing/broken images; fix: wallet NFT image URLs use canonical CDN path with 404-fallback query; fix: restore NFT-detail shimmer placeholder background inside modal; fix: modal placeholder min-width 33vw (was 25vw). 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
1970a3d 2026-09-24 19:16:29
fix(ops): harden chainWatch supervisor + surface watcher health on /health (Phase 4)aa1940e 2026-09-24 18:59:58
fix(chainwatch): bound startup DB connect + standard-detection probes (Phase 3)ea923a6 2026-09-24 18:45:48
fix(chainwatch): decouple per-chain goroutine panics from process exit (Phase 2)32ec3dc 2026-09-24 18:09:19
fix(chainwatch): recover-and-log panics in fire-and-forget goroutines (P0) so one bad item can't abort the watcher1e73347 2026-09-23 22:04:54
fix(webhook): protect chainWatch AM webhooks with a shared secret — fail closed, return 404162eda7 2026-09-23 21:48:15
fix(chainwatch): self-heal AM ws subscriptions — reconnect every 10s on drop5c0583c 2026-09-23 21:40:56
fix(poller): backfill watermark + provenance + sale/type schema; point aManager at latest Anvil proxyc9769ad 2026-09-23 21:40:56
feat(events): record AM offers + refunds in SQL; full AM event coverage across chainWatch + webhookee6ca2f 2026-09-23 18:33:44
fix(poller): skip chains without working rpc — kill ethers detect-retry log flood7ef302e 2026-09-23 17:46:58
fix(server): make SMTP failures non-fatal + default to localhost:25206639f 2026-09-23 16:50:23
feat(poller): scale to thousands of listings — chunked multicall + parallel DB4a467f7 2026-09-23 16:40:20
feat(poller): AuctionManager reconciliation poller via Multicall35492e01 2026-09-20 11:54:54 health endpoint reported false negatives for database and IPFS
fix:30a78f2 2026-09-20 10:18:03 prefer localhost DB host on pm6 host
fix:ef45c29 2026-09-20 09:34:45 fetch IPFS content from internal gateway + race public gateways via Promise.any
fix:33a77d6 2026-09-20 01:49:13 race local IPFS vs public gateway in urlFetcher via Promise.any
fix:f199a97 2026-09-20 00:45:41 include imageUrl in wallet owned_nfts + walletNfts queries
fix:73d6241 2026-09-20 00:13:46 populate auctions.endTime via getActiveAuction + clear token auctionID on finalize
fix:d3f4a6d 2026-09-19 23:10:25 /api/v1/wallet 500 — auctions.sellerID column does not exist
fix:495ac1b 2026-09-19 23:01:09 failed-tx webhook rejected on empty chainName
fix:b553789 2026-09-19 22:56:48 drop nonexistent updatedAt column from tx-update patch
fix:374a76d 2026-09-19 22:51:49 log reverted AuctionManager txs via known function selectors
feat:c5bf91f 2026-09-19 22:33:37 tx-update endpoint + receipt gas/revert reporter for auction events
feat:22a26e1 2026-09-19 21:45:31
auction webhook: upsert per-token ipfs_metadata row on newListingc7ebfe0 2026-09-19 21:40:34
auction webhook: auto-create collection when listing's contract is unknown
Frontend Commits
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:7793c29b2 2026-09-20 00:13:35 extract reusable NftDetailModal; use for collection + wallet owned-NFT cards
feat:245793808 2026-09-19 23:25:11 restyle wallet page to web3 style guide + fix collection View link
feat:0b39d9e43 2026-09-19 22:04:00
collection page: render tokens with no metadata yet + 'for sale' banner2bf8246fb 2026-09-14 10:18:55 remove preloader shell from index.html
chore:728d644d3 2026-09-14 10:18:07 regenerate sitemap index timestamps (build artifact)
chore:244c28071 2026-09-14 09:13:39 SSR prepopulates collection grid img src with CDN cache URL
feat:2ef330778 2026-09-14 09:03:23 SSR prepopulates collection card img src with CDN cache URL
feat:6d2a502f9 2026-09-13 23:27:30 reuse grid metadata in item modal to skip backend fetch
perf:7b5ba168a 2026-09-13 23:16:42 clicking outside the open mobile nav panel collapses it
fix:e029cd8b3 2026-09-13 23:05:54 collapse mobile nav panel when an item or sub-item is selected
fix:3ea57eee5 2026-09-13 22:59:57 reuse grid image URL in item modal to avoid duplicate CDN fetch
perf:dec994c51 2026-09-13 22:52:47 fade+slide transition on mobile nav show/hide
feat:d6882e7e9 2026-09-13 22:50:51 mobile nav top offset calc(var(--header-height) - 20px)
fix:dafef3132 2026-09-13 22:49:27 mobile nav panel drops just below burger, right edges aligned
fix:07a5e35b6 2026-09-13 22:44:57 remove dead sidenav-toggler li from SecNavItem
refactor:c0a8211a3 2026-09-13 22:37:43 right-align caret on mobile nav items with submenus
fix:ee6cb32e1 2026-09-13 22:37:05 left-align text in mobile nav dropdown items
fix:dcb9d560b 2026-09-13 22:36:25 mobile nav items fill full panel width
fix: