Overview: Where Development Is Heading
The backend repo is currently focused on bug fixes, new features. Several fixes are landing to stabilize the existing flows. New feature work is progressing in parallel. Recent commit subjects include: fix: health endpoint reported false negatives for database and IPFS; fix: prefer localhost DB host on pm6 host; fix: fetch IPFS content from internal gateway + race public gateways via Promise.any; fix: race local IPFS vs public gateway in urlFetcher via Promise.any; fix: include imageUrl in wallet owned_nfts + walletNfts queries. 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
5492e01 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 unknown9e06e74 2026-09-19 21:31:55
auctions: resolve + store collectionId on webhook insert220157a 2026-09-19 21:27:36
chainWatch: AM webhook -> /api/v1/auction-events; add msgSender (tx origin)8e870bf 2026-09-19 21:27:16
backend: add POST /api/v1/auction-events webhook + transactions/auctions persistence7f75be1 2026-09-19 20:56:52
chainWatch: add txValue (msg.value) to AM webhook payloade9030bd 2026-09-19 20:43:45
chainWatch: fix AM event ABI decode + IPv4-only webhook + chainId in decodeda1cbc6d 2026-09-19 20:33:34
chainWatch: log AM webhook POST payload to am.log and stdout771761e 2026-09-19 20:31:32
chainWatch: strip whitespace in sigTopic/sigSel so AM events match on-chain450c3a6 2026-09-19 19:59:58
chainWatch: bind AM log watcher to rootCtx so it cancels on ^C/shutdown0186d78 2026-09-14 00:25:25 add composite (for_coll_id, auctionID) index for nftMetaById listings order
perf:3f24e1f 2026-09-14 00:00:34
add X-STN-SERVEDBY header to responses from 404 handler5ddf977 2026-09-11 07:59:31
fix binUploadab23cec 2026-09-11 06:49:59 skip Joi validation on /binupload multipart route
fix:
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: