Development Update — 2026-08-23

by Jamie

Development Update — 2026-08-23

Share

Overview: Where Development Is Heading

Recent backend development is centered on maturing the chainWatch NFT monitoring system, with work focused on improving cross-chain reliability, expanding supported contract standards, and strengthening data persistence and observability. The team is adding support for additional NFT standards, implementing a dedicated database table for learned contract signatures, hardening the watcher against crashes and edge cases across all registered chains, updating the database schema to accommodate new collection metadata and larger supply values, and refining contract ingestion and audit logging workflows to improve data accuracy.

Overview: Where Development Is Heading

Recent frontend development is heavily focused on enhancing SEO, content discoverability, and infrastructure reliability, with significant investment in building out fully localized, mobile-optimized sitemap functionality that includes dynamic JSON-LD metadata, prefixed sitemap variants, and polished responsive styling for sitemap pages across all device sizes. The team is also expanding the frontend's backend integration capabilities with a new minimal MCP JSON-RPC server that exposes site search and sitemap tools, alongside updates to official Monad testnet and mainnet chain data and improved secure MariaDB access for Tailscale users.

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

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

78cd2a1 2026-08-22 17:40:52
docs(chainWatch): track clean crash-handling as an open task in AGENTS.md

4f49917 2026-08-22 17:39:58
docs(chainWatch): add AGENTS.md capturing current watcher state

e017176 2026-08-22 17:36:28
feat(chainWatch): add db.log audit trail for collection writes

e645ebf 2026-08-22 03:10:44
feat(chainWatch): import ERC-721/1155/404/6909 + record standard

3009349 2026-08-22 02:56:02
feat(chainWatch): track TX/collection stats and print on SIGINT

db831df 2026-08-22 02:49:37
perf(chainWatch): reuse per-chain client in importToken instead of re-dialing

216aec0 2026-08-22 02:35:52
fix(chainWatch): consume new-heads for ALL registered chains, not just 0-4

a9dcd18 2026-08-22 02:27:42
feat:
add popScore column to collections

26318e9 2026-08-22 02:24:30
fix(chainWatch): drop non-existent 'activity' column from collections UPDATE

e7c4edd 2026-08-22 02:20:01
feat(chainWatch): register all WS chains; store real chain ID + isListed=1

31ddb22 2026-08-22 02:14:11
fix:
allow NULL site_userid on watcher-imported collections

9020afc 2026-08-22 02:00:13
fix(chainWatch): fail loud on missing DB env; add env-sourcing launcher

128f716 2026-08-22 01:50:24
fix(chainWatch): use WebSocket RPCs for FLR/SGB so eth_subscribe works

8415650 2026-08-22 01:37:35
fix(chainWatch): source MySQL DSN from env instead of hard-coded creds

c9c26fa 2026-08-22 01:34:15
test(chainWatch): verify every WS chain RPC connects and streams live blocks

8f8cb79 2026-08-22 01:26:45
feat(chainWatch): register free public WebSocket RPCs for all chains.js chains

Frontend Commits

3ca396c80 2026-08-20 17:09:39
chore:
update Monad testnet/mainnet chain data from official docs/RPC

09a7de22e 2026-08-20 01:18:56
feat:
expose mariadb on 0.0.0.0 with firewall allowlist for tailscale0 and lo

61d452d8a 2026-08-18 15:43:00
feat:
add minimal MCP JSON-RPC server at /mcp with site.search and sitemap.urls tools

f4d33326d 2026-08-18 14:10:09
feat:
add prefixed sitemap variants and duplicate index entries

aba03743b 2026-08-18 13:52:19
feat:
add sitemap index, XSL fallback, and dynamic JSON+LD localization

392f5a66c 2026-08-17 20:07:42
feat:
localize SSR meta tags and JSON-LD with English fallback

bb3264de1 2026-08-17 19:27:12
fix:
include centralized JSON-LD for locale-prefixed SSR pages

512e25892 2026-08-17 18:36:53
fix:
right-align mobile sitemap cell data beside floated labels

418a5d968 2026-08-17 18:30:21
fix:
right-align mobile sitemap cell data beside floated labels

f6a727e48 2026-08-17 18:25:29
fix:
align mobile sitemap languages with other cells and remove label gap

85dd9c3e5 2026-08-17 18:16:25
fix:
copy updated sitemap.xsl into dist/client so SSR serves current stylesheet

cff471c57 2026-08-17 17:49:49
fix:
prevent languages column from stretching on mobile sitemap

76afb8804 2026-08-17 17:45:31
chore:
regenerate sitemap.xml after mobile layout fix

c4cf6615d 2026-08-17 17:44:00
fix:
use orientation-aware card layout for sitemap on narrow/portrait screens

4a41e791e 2026-08-17 17:41:05
fix:
improve sitemap mobile layout with card-style rows under 720px

28dd09b41 2026-08-17 17:35:26
fix:
prevent sitemap page and timestamp overflow on mobile

120025311 2026-08-17 17:31:42
fix:
truncate last generated timestamp with ellipsis on mobile

582d6f366 2026-08-17 17:29:27
fix:
prevent lastmod timestamp overflow in mobile stats

6765d16e8 2026-08-17 17:28:33
fix:
improve sitemap.xsl mobile styling

3deb67292 2026-08-17 17:16:51
feat:
include all supported locales in sitemap generator

17efb3ae7 2026-08-17 17:14:32
fix:
remove duplicate style attribute in sitemap.xsl legend

95547d59d 2026-08-17 17:13:36
fix:
put xml declaration before stylesheet PI in sitemap.xml

e441e9324 2026-08-17 17:11:31
feat:
add sitemap XSLT and serve /sitemap.xsl

20c9c8a80 2026-08-17 02:17:40
feat:
add 10 new locales from top-15 world languages

666946315 2026-08-17 01:47:54
fix:
translate remaining untranslated strings in non-English locales