Overview: Where Development Is Heading
Backend — The backend is focused on hardening authentication, validation, and security. Recent work tightens /signin and /signup password handling to align with the frontend's base64(nacl.hash(plaintext)) format while preserving legacy account compatibility. The /validate endpoint is being hardened against missing tokens, and email templates plus error visibility are being cleaned up. The goal is a stable, production-ready auth foundation before more blockchain features are layered on.
Frontend — The frontend is actively migrating from Next.js to Vite + TanStack Router + TanStack Query. Recent commits stabilize the /validate flow as a layout route, ensure SSR validation links render correctly, and clean up dead references from route tree generation. The intent is to finish the routing migration, then progressively move API calls from the legacy Backend() client into typed TanStack Query functions so the app is type-safe and easier to maintain at scale.
Project Direction — Together the repos are converging on a clean, secure multi-chain NFT marketplace. The backend is locking down auth and data correctness; the frontend is modernizing its architecture so that future wallet, collection, and minting features can ship reliably.
Backend Commits
bfc2b4a 2026-08-07 00:12:35 accept frontend base64(nacl.hash(plaintext)) in /signup and /signin schemas
fix:51b200e 2026-08-06 23:57:40 align password normalization with frontend base64(nacl.hash(plaintext))
fix:82523ba 2026-08-06 23:40:07 re-try legacy/base64/sha256 password encodings in /signin
fix:
Restore compatibility with passwords stored before normalization,
while keeping the normalized path for newly created accounts.3446958 2026-08-06 22:22:52 normalize auth password paths and harden signin/validation
fix:a0579fc 2026-08-06 21:21:39 normalize password formats across auth flows and harden validation/password-change paths
fix:34d1786 2026-08-06 18:12:21 lookup validated account by email instead of relying on returning id
fix:b69c2e5 2026-08-06 18:08:22 remove duplicate insert catch and safely use returning id
fix:b533d68 2026-08-06 18:08:03 handle returning id properly after validating account
fix:1e999cb 2026-08-06 18:02:08 improve database error visibility and prevent invalid validation payloads
feat:5bef17b 2026-08-06 17:37:26 populate error message and stack trace in server-error template
fix:027e443 2026-08-06 17:29:02 guard empty token lookup in /validate
fix:5995502 2026-08-06 16:58:22 use named template imports in email template registry
fix:0408510 2026-08-06 16:56:50 correct email template import path in utils/email.js
fix:99344f5 2026-08-06 16:53:19 add HTML/plaintext email templates for auth, admin, and contact emails
feat:e51cea5 2026-08-06 16:38:22 make accounts.bmp an integer instead of boolean
fix:05261ba 2026-08-06 16:37:34 add migrations for accounts.bmp and profile_visibility
feat:7f6b750 2026-08-06 16:34:33 add migration for accounts.lastact column
feat:22ed1ab 2026-08-06 16:33:03 ignore missing accounts.lastact column during successful auth
fix:7fc9cd8 2026-08-06 16:26:10 guard bcrypt.compare in checkAuth when session or token is missing
fix:ca5ccf4 2026-08-06 16:19:04 reset lastpwReset to 0 on successful password change
fix:cb5244c 2026-08-06 16:16:20 serialize profile socials and improve registration/reset email responses
fix:ad306f0 2026-08-06 15:56:21 treat null lastpwReset as no prior password reset request
fix:65cda5a 2026-08-06 15:53:41 add lastpwReset timestamp to accounts for password reset rate limiting
fix:670a533 2026-08-06 15:50:09 add isReset tinyint column to unregistered table
fix:6b40ee0 2026-08-05 22:45:08 allow walletassoc.siteid=0 sentinel for unassociated wallets
fix:
Frontend Commits
8119822 2026-08-07 20:18:40 update footer and signup secondary form
fix:c19ed01 2026-08-06 22:16:17
updatesebcf8e8 2026-08-06 21:47:05 remove dead validate refs and use stable reset route query
fix:84eaf30 2026-08-06 21:30:51
Merge remote-tracking branch 'origin/hermes' into hermes673a300 2026-08-06 21:30:03
updatescd8df1a 2026-08-06 20:39:11 bring latest routeTree/admin auth changes onto build-host history
merge:abe0a4b 2026-08-06 20:38:24 regenerate routeTree and minor AdminMintingDapps auth header fix
chore:817084d 2026-08-06 17:17:32 regenerate routeTree after validate layout refactor
chore:04a67a6 2026-08-06 17:15:17 make /validate a layout route so /validate/$token renders and backend is contacted
fix:2d54a93 2026-08-06 15:39:56 pass forgot-password mode via /validate search params instead of location state
fix:2199137 2026-08-06 15:36:31 bring local routeTree/chunk-limit changes onto build-host history
merge:ea9c24b 2026-08-06 15:36:02 regenerate routeTree after adding /validate/ route
chore:76a66ad 2026-08-06 15:25:48 reduce chunk-size build noise by raising warning limit
chore:f3b3fa7 2026-08-06 15:24:07 remove tanstack from manualChunks to avoid SSR external conflict
fix:f7b6398 2026-08-06 15:13:46 commit generated routeTree and lockfile after validate route fix
chore:19cbc7a 2026-08-06 15:19:20 split large client chunks and raise chunk warning limit
chore:f8d3891 2026-08-06 15:03:28 avoid invariant by passing auth token from /validate/$authInfo route
fix:08e49cc 2026-08-06 01:40:17 use relative import for ValidateContainer in /validate/ route
fix:5e2ffce 2026-08-06 01:38:15 correct ValidateContainer import alias in /validate/ route
fix:55f3659 2026-08-06 01:35:18 restore /validate/ route for SSR validation links
fix:215274f 2026-08-06 01:22:58 extract validation token from URL pathname in SSR mode
fix:24b3bc7 2026-08-06 01:13:16 redirect /validate to /validate/ for tokenized validation links
fix:98161bc 2026-08-06 01:13:08 add root AGENTS.md with project summary and conventions
chore:f05235e 2026-08-06 00:53:32 make /validate accept tokenized validation URLs
fix:ac78d23 2026-08-05 18:08:00
ai changes