Development Update — 2026-08-20

by Jamie

Development Update — 2026-08-20

Share

Overview: Where Development Is Heading

Recent backend development is centered on iteratively maturing the OpenPGP/MIME signed outgoing email feature, with a focus on achieving full RFC compliance and compatibility with common email clients like Thunderbird. The work addresses a range of edge cases around multipart MIME structure, accurate signed payload generation, proper header inclusion, and support for both plain text and HTML email alternatives, alongside core PGP functionality including public key attachment and binary secret key handling to deliver a robust, standards-aligned signed email experience.

Overview: Where Development Is Heading

Recent development for the frontend repo is focused on strengthening internationalized SEO and content discoverability, with extensive work on localized sitemap variants, mobile-responsive sitemap styling, and integrated JSON-LD metadata for server-rendered pages, alongside the addition of a minimal MCP JSON-RPC server to expose site search and sitemap tooling. The team is also prioritizing secure remote access to backend resources, with recent work to expose MariaDB on a public interface restricted to Tailscale and localhost connections via a firewall allowlist.

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

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

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

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