Overview: Where Development Is Heading
Recent backend development has been centered on refining OpenPGP/MIME signed outgoing email functionality to produce fully RFC-compliant, Thunderbird-valid message structures. The work focuses on resolving edge cases around correct multipart wrapper nesting, inclusion of full mail headers in signed payloads, standards-aligned base64 formatting and Message-ID generation, alongside adding support for binary PGP secret keys, including both plain and HTML parts in signed content, and attaching public PGP keys to signed outgoing emails.
Overview: Where Development Is Heading
Recent frontend development is focused on maturing production-ready internationalization support, including adding 10 new top global languages, implementing locale-prefixed URL routing with fallback redirects, restructuring translation key hierarchies for maintainability, and fixing edge cases around SSR locale inheritance and redirect caching to eliminate inconsistent localized experiences. Alongside i18n work, the team is prioritizing frontend stability, addressing issues like stuck preloaders, fragile client-side component wiring, and render-related hook instability to reduce user-facing friction.
Project Direction — This NFT marketplace project is advancing toward its public beta with parallel backend and frontend improvements centered on security and global accessibility: backend work refined PGP/MIME email signing to produce fully RFC-compliant, tamper-proof multipart messages for critical user communications including NFT transaction confirmations, bid alerts, and ownership verification, fixing edge cases around payload wrapping, binary secret key support, and plain/HTML alternative formatting to ensure reliable delivery of signed content; frontend work expanded localized support to cover 10 of the world’s most spoken languages, closed gaps in non-English translations, resolved SSR locale inheritance and redirect caching issues to prevent misrouted users, and patched UI bugs including stuck preloaders and broken dropdown wiring to deliver a smooth, fully translated experience for international users navigating NFT listings, bids, and account management.
Backend Commits
2b08d9c 2026-08-10 00:08:24 show plain/html as alternative inside signed PGP/MIME
fix:e97908d 2026-08-10 00:07:04 ensure signed payload contains mail headers, not blank body
fix:66aad0b 2026-08-10 00:04:35 wrap base64 at 76 chars and generate RFC-compliant Message-ID
fix:9fb3a2e 2026-08-10 00:02:10 restore proper multipart/signed wrapper without forwarded text
fix:cd9ecc2 2026-08-09 23:55:23 wrap plain+html in multipart/alternative inside multipart/mixed
fix:5819410 2026-08-09 23:54:42 match valid PGP/MIME example with multipart/mixed inside multipart/signed
fix:83318ea 2026-08-09 23:51:16 sign exact multipart/mixed payload and wrap it in multipart/signed
fix:7fca8a5 2026-08-09 23:43:33 wrap multipart/mixed inside multipart/signed with plain+html
fix:a5c5511 2026-08-09 23:41:26 simplify PGP/MIME signing to minimal plain+html multipart/alternative
refactor:3f07253 2026-08-09 23:33:32 support binary PGP secret keys and keep both text/html in signed MIME
fix:e913899 2026-08-09 23:32:32 include both plain and HTML parts in PGP/MIME signed email
fix:c1a0220 2026-08-09 23:26:17 match Thunderbird-valid OpenPGP/MIME structure
fix:b340961 2026-08-09 23:23:35 build valid OpenPGP/MIME signed messages matching Thunderbird structure
fix:ffd352e 2026-08-09 23:09:03
fix(backend): generate detached OpenPGP signature for PGP/MIMEcbec696 2026-08-09 23:04:21
fix(backend): preserve from/to when sending raw PGP/MIME messagesc47a396 2026-08-09 23:03:10
fix(backend): add proper mail headers to raw PGP/MIME signed output7ac17bd 2026-08-09 23:02:22
fix(backend): send real PGP/MIME signed outgoing mail94def8d 2026-08-09 22:53:14
fix(backend): inline PGP signature in signed email text body64480c4 2026-08-09 22:49:37
feat(backend): attach public PGP key to signed outgoing emailsf83c615 2026-08-09 22:47:33
fix(backend): resolve pgp import path from utils/email.js5848efb 2026-08-09 22:46:27
fix(backend): sign system notification emails via PGPbcbbffe 2026-08-09 22:37:20
fix(backend): sign all outgoing email messages with PGPeeee702 2026-08-09 22:35:41
feat(backend): wire backend PGP signing from .pgpkey and ignore secretc18aefb 2026-08-09 22:30:15
feat(backend): add backend PGP email signing support4d67aa0 2026-08-09 20:21:49
feat(i18n): add backend locale detection and translated messages
Frontend Commits
20c9c8a80 2026-08-17 02:17:40 add 10 new locales from top-15 world languages
feat:666946315 2026-08-17 01:47:54 translate remaining untranslated strings in non-English locales
fix:202ca66c6 2026-08-17 01:37:56 add translations for new signIn keys across all locales
feat:95eb7ebe2 2026-08-17 01:27:14 move flat dotted locale keys into nested hierarchy
refactor:87eb40d4c 2026-08-17 01:18:20 translate remaining untranslated strings in non-English locales
fix:89a3f8b0b 2026-08-17 01:05:43 inherit SSR locale on client before navigator.language
fix:ac1ba27a0 2026-08-17 01:02:19 locale redirect must not be cached; inherit SSR locale on client
fix:bf5631a4d 2026-08-17 00:57:34 SSR and client redirect respect detected locale for bare /
fix:ad1506e44 2026-08-17 00:49:45 bootstrap dropdown wiring no longer depends on window.load
fix:cd0c4095d 2026-08-17 00:25:00 preloader no longer gets stuck when external CDN CSS hangs
fix:7cd4b4fba 2026-08-17 00:05:18 generate locale-aware sitemap (all /xx/ routes) + robots
feat:c7d6a39a2 2026-08-16 23:52:38
feat(i18n): add locale-prefixed URL routing (/en, /fr, ...) as a URL segment4b0f74993 2026-08-16 23:28:04
Merge remote-tracking branch 'origin/hermes' into hermes8872c58aa 2026-08-16 22:54:12
feat(i18n): add locale-prefixed routes (/en/, /ja/, etc.) with fallback redirects66a389e58 2026-08-11 05:12:37 keep AppKit hooks stable across renders in Navbar WalletConnect
fix:4cae2b68b 2026-08-11 05:08:52 prevent double JSON.parse in Profile/SecInformation by using parseSessionToken() result directly
fix:ccfe3d169 2026-08-11 03:30:08
On hermes: pre-checkout-640c75bd
7d5f5ec0d 2026-08-11 03:30:08 +0100
index on hermes: ec3ad21cb Revert "refactor: split route containers via React.lazy to reduce chunk sizes"3d30ecd88 2026-08-11 03:30:08
untracked files on hermes: ec3ad21cb Revert "refactor: split route containers via React.lazy to reduce chunk sizes"ec3ad21cb 2026-08-11 03:12:22
Revert "refactor: split route containers via React.lazy to reduce chunk sizes"b9200494c 2026-08-11 03:03:45 add policy file for advanced WKD
fix:82c590b6b 2026-08-11 03:01:40 split route containers via React.lazy to reduce chunk sizes
refactor:6c95be3ce 2026-08-11 02:00:05
fix(openpgp): serve WKD hu key under checker-expected filenamefe6b4250c 2026-08-11 01:54:33 replace stale OpenPGP WKD hu file with correct public key from .pgpkey
fix:e03c36f18 2026-08-11 01:45:38
fix(openpgp): convert WKD hu key to binary format