Development Update — 2026-08-17

by Jamie

Development Update — 2026-08-17

Share

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
fix:
show plain/html as alternative inside signed PGP/MIME

e97908d 2026-08-10 00:07:04
fix:
ensure signed payload contains mail headers, not blank body

66aad0b 2026-08-10 00:04:35
fix:
wrap base64 at 76 chars and generate RFC-compliant Message-ID

9fb3a2e 2026-08-10 00:02:10
fix:
restore proper multipart/signed wrapper without forwarded text

cd9ecc2 2026-08-09 23:55:23
fix:
wrap plain+html in multipart/alternative inside multipart/mixed

5819410 2026-08-09 23:54:42
fix:
match valid PGP/MIME example with multipart/mixed inside multipart/signed

83318ea 2026-08-09 23:51:16
fix:
sign exact multipart/mixed payload and wrap it in multipart/signed

7fca8a5 2026-08-09 23:43:33
fix:
wrap multipart/mixed inside multipart/signed with plain+html

a5c5511 2026-08-09 23:41:26
refactor:
simplify PGP/MIME signing to minimal plain+html multipart/alternative

3f07253 2026-08-09 23:33:32
fix:
support binary PGP secret keys and keep both text/html in signed MIME

e913899 2026-08-09 23:32:32
fix:
include both plain and HTML parts in PGP/MIME signed email

c1a0220 2026-08-09 23:26:17
fix:
match Thunderbird-valid OpenPGP/MIME structure

b340961 2026-08-09 23:23:35
fix:
build valid OpenPGP/MIME signed messages matching Thunderbird structure

ffd352e 2026-08-09 23:09:03
fix(backend): generate detached OpenPGP signature for PGP/MIME

cbec696 2026-08-09 23:04:21
fix(backend): preserve from/to when sending raw PGP/MIME messages

c47a396 2026-08-09 23:03:10
fix(backend): add proper mail headers to raw PGP/MIME signed output

7ac17bd 2026-08-09 23:02:22
fix(backend): send real PGP/MIME signed outgoing mail

94def8d 2026-08-09 22:53:14
fix(backend): inline PGP signature in signed email text body

64480c4 2026-08-09 22:49:37
feat(backend): attach public PGP key to signed outgoing emails

f83c615 2026-08-09 22:47:33
fix(backend): resolve pgp import path from utils/email.js

5848efb 2026-08-09 22:46:27
fix(backend): sign system notification emails via PGP

bcbbffe 2026-08-09 22:37:20
fix(backend): sign all outgoing email messages with PGP

eeee702 2026-08-09 22:35:41
feat(backend): wire backend PGP signing from .pgpkey and ignore secret

c18aefb 2026-08-09 22:30:15
feat(backend): add backend PGP email signing support

4d67aa0 2026-08-09 20:21:49
feat(i18n): add backend locale detection and translated messages

Frontend Commits

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

202ca66c6 2026-08-17 01:37:56
feat:
add translations for new signIn keys across all locales

95eb7ebe2 2026-08-17 01:27:14
refactor:
move flat dotted locale keys into nested hierarchy

87eb40d4c 2026-08-17 01:18:20
fix:
translate remaining untranslated strings in non-English locales

89a3f8b0b 2026-08-17 01:05:43
fix:
inherit SSR locale on client before navigator.language

ac1ba27a0 2026-08-17 01:02:19
fix:
locale redirect must not be cached; inherit SSR locale on client

bf5631a4d 2026-08-17 00:57:34
fix:
SSR and client redirect respect detected locale for bare /

ad1506e44 2026-08-17 00:49:45
fix:
bootstrap dropdown wiring no longer depends on window.load

cd0c4095d 2026-08-17 00:25:00
fix:
preloader no longer gets stuck when external CDN CSS hangs

7cd4b4fba 2026-08-17 00:05:18
feat:
generate locale-aware sitemap (all /xx/ routes) + robots

c7d6a39a2 2026-08-16 23:52:38
feat(i18n): add locale-prefixed URL routing (/en, /fr, ...) as a URL segment

4b0f74993 2026-08-16 23:28:04
Merge remote-tracking branch 'origin/hermes' into hermes

8872c58aa 2026-08-16 22:54:12
feat(i18n): add locale-prefixed routes (/en/, /ja/, etc.) with fallback redirects

66a389e58 2026-08-11 05:12:37
fix:
keep AppKit hooks stable across renders in Navbar WalletConnect

4cae2b68b 2026-08-11 05:08:52
fix:
prevent double JSON.parse in Profile/SecInformation by using parseSessionToken() result directly

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
fix:
add policy file for advanced WKD

82c590b6b 2026-08-11 03:01:40
refactor:
split route containers via React.lazy to reduce chunk sizes

6c95be3ce 2026-08-11 02:00:05
fix(openpgp): serve WKD hu key under checker-expected filename

fe6b4250c 2026-08-11 01:54:33
fix:
replace stale OpenPGP WKD hu file with correct public key from .pgpkey

e03c36f18 2026-08-11 01:45:38
fix(openpgp): convert WKD hu key to binary format