<feed xmlns='http://www.w3.org/2005/Atom'>
<title>stack/web, branch main</title>
<subtitle>Personal infrastructure stack.</subtitle>
<id>https://git.doan.luuduct.ai/stack/atom?h=main</id>
<link rel='self' href='https://git.doan.luuduct.ai/stack/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.doan.luuduct.ai/stack/'/>
<updated>2026-10-31T18:08:08Z</updated>
<entry>
<title>Forbid Rust lints and enforce strict typed TypeScript linting</title>
<updated>2026-10-31T18:08:08Z</updated>
<author>
<name>Doan Luu Duc Tai</name>
<email>doan@luuduct.ai</email>
</author>
<published>2026-10-31T18:08:08Z</published>
<link rel='alternate' type='text/html' href='https://git.doan.luuduct.ai/stack/commit/?id=a80df869a92c330fbad9695057720b11a18af901'/>
<id>urn:sha1:a80df869a92c330fbad9695057720b11a18af901</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove retired chat placeholder and stale deployment documentation</title>
<updated>2026-10-31T15:12:51Z</updated>
<author>
<name>Doan Luu Duc Tai</name>
<email>doan@luuduct.ai</email>
</author>
<published>2026-10-31T15:12:51Z</published>
<link rel='alternate' type='text/html' href='https://git.doan.luuduct.ai/stack/commit/?id=ef61fc5aca6eca613a055c507a060b70bd537a37'/>
<id>urn:sha1:ef61fc5aca6eca613a055c507a060b70bd537a37</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Version site CSS and hide tooltip text before styles load</title>
<updated>2026-10-31T13:16:47Z</updated>
<author>
<name>Doan Luu Duc Tai</name>
<email>doan@luuduct.ai</email>
</author>
<published>2026-10-31T13:16:47Z</published>
<link rel='alternate' type='text/html' href='https://git.doan.luuduct.ai/stack/commit/?id=e0bfd8bd4991c898d008b433977a922e843ab354'/>
<id>urn:sha1:e0bfd8bd4991c898d008b433977a922e843ab354</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Show crypto download progress and centralize license links</title>
<updated>2026-10-31T13:05:08Z</updated>
<author>
<name>Doan Luu Duc Tai</name>
<email>doan@luuduct.ai</email>
</author>
<published>2026-10-31T13:05:08Z</published>
<link rel='alternate' type='text/html' href='https://git.doan.luuduct.ai/stack/commit/?id=fbb06ab09681079c01cc9b4eb13731ef17f4ab41'/>
<id>urn:sha1:fbb06ab09681079c01cc9b4eb13731ef17f4ab41</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Package private chat for HTTPS and verify portable encrypted recovery</title>
<updated>2026-10-31T12:39:18Z</updated>
<author>
<name>Doan Luu Duc Tai</name>
<email>doan@luuduct.ai</email>
</author>
<published>2026-10-31T12:39:18Z</published>
<link rel='alternate' type='text/html' href='https://git.doan.luuduct.ai/stack/commit/?id=d809d86182ab802472ae7d5e74cab66ba7bfa397'/>
<id>urn:sha1:d809d86182ab802472ae7d5e74cab66ba7bfa397</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Centralize deployment settings in the root environment file</title>
<updated>2026-10-31T03:36:11Z</updated>
<author>
<name>Doan Luu Duc Tai</name>
<email>doan@luuduct.ai</email>
</author>
<published>2026-10-31T03:36:11Z</published>
<link rel='alternate' type='text/html' href='https://git.doan.luuduct.ai/stack/commit/?id=6933ec28be3dac0dc17cd634c663db3b4818caad'/>
<id>urn:sha1:6933ec28be3dac0dc17cd634c663db3b4818caad</id>
<content type='text'>
Document public domains, ports, upstreams, chat binding, and backup defaults alongside private settings. Validate shared configuration and render Caddy, cgit, and website links from an explicit public allowlist while preserving one installation environment file.
</content>
</entry>
<entry>
<title>Implement experimental file-based encrypted private chat</title>
<updated>2026-10-31T02:39:57Z</updated>
<author>
<name>Doan Luu Duc Tai</name>
<email>doan@luuduct.ai</email>
</author>
<published>2026-10-31T02:39:57Z</published>
<link rel='alternate' type='text/html' href='https://git.doan.luuduct.ai/stack/commit/?id=e6b350a1d48ca0490b7a3447bb8d0a4235514b76'/>
<id>urn:sha1:e6b350a1d48ca0490b7a3447bb8d0a4235514b76</id>
<content type='text'>
Add fixed-suite Rust/WASI identity files, signed challenge authentication, ciphertext-only SQLite storage, a minimal LibreJS-compatible interface, and consistent backup snapshots. Keep production unchanged and document the local workflow, limits, source distribution, and browser recovery tests.
</content>
</entry>
<entry>
<title>Merge main placeholder updates into the chat feature branch</title>
<updated>2026-10-31T02:09:41Z</updated>
<author>
<name>Doan Luu Duc Tai</name>
<email>doan@luuduct.ai</email>
</author>
<published>2026-10-31T02:09:41Z</published>
<link rel='alternate' type='text/html' href='https://git.doan.luuduct.ai/stack/commit/?id=0a4da3b86eb69f0f09b802a55e36fa9cf1bbf38c'/>
<id>urn:sha1:0a4da3b86eb69f0f09b802a55e36fa9cf1bbf38c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add Message Me links and an under-construction page</title>
<updated>2026-10-30T22:28:38Z</updated>
<author>
<name>Doan Luu Duc Tai</name>
<email>doan@luuduct.ai</email>
</author>
<published>2026-10-30T22:28:38Z</published>
<link rel='alternate' type='text/html' href='https://git.doan.luuduct.ai/stack/commit/?id=a0057b13fa4b6bed8aee3132001e79a245efabc8'/>
<id>urn:sha1:a0057b13fa4b6bed8aee3132001e79a245efabc8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Prove OpenSSL PQ crypto in browser WASI and document the migration</title>
<updated>2026-10-30T22:24:45Z</updated>
<author>
<name>Doan Luu Duc Tai</name>
<email>doan@luuduct.ai</email>
</author>
<published>2026-10-30T22:24:45Z</published>
<link rel='alternate' type='text/html' href='https://git.doan.luuduct.ai/stack/commit/?id=cf2f0e8c6752c401f152a8e534ba166839d4307e'/>
<id>urn:sha1:cf2f0e8c6752c401f152a8e534ba166839d4307e</id>
<content type='text'>
</content>
</entry>
</feed>
