<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Status on Your Data, Your Rules</title><link>https://cloudillo.org/en/status/</link><description>Recent content in Status on Your Data, Your Rules</description><generator>Hugo</generator><language>en</language><copyright>Copyright &amp;copy; 2024, Cloudillo. All rights reserved.</copyright><atom:link href="https://cloudillo.org/en/status/index.xml" rel="self" type="application/rss+xml"/><item><title>Rust Backend Status Page</title><link>https://cloudillo.org/en/status/rust-backend-status-page/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://cloudillo.org/en/status/rust-backend-status-page/</guid><description>&lt;p&gt;Last updated: May 14, 2026 — tracks &lt;code&gt;cloudillo-rs&lt;/code&gt; 0.8.13&lt;/p&gt;
&lt;p&gt;Current focus: stabilization and beta. The next releases are about sanding rough edges on what&amp;rsquo;s here and widening the test pool, not adding new apps.&lt;/p&gt;
&lt;p&gt;✅ done, 🚧 work in progress, 🗓️ planned&lt;/p&gt;
&lt;h2 id="core"&gt;Core&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;✅ Webserver
&lt;ul&gt;
&lt;li&gt;✅ HTTPS support&lt;/li&gt;
&lt;li&gt;✅ ACME integration (Let&amp;rsquo;s Encrypt)
&lt;ul&gt;
&lt;li&gt;✅ Account persistence, DNS pre-check&lt;/li&gt;
&lt;li&gt;✅ Failure tracking, suspension, admin status&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;✅ Websocket bus&lt;/li&gt;
&lt;li&gt;✅ Static file serving&lt;/li&gt;
&lt;li&gt;✅ Rate limiting (multi-tier, with a dedicated DAV bucket)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;✅ Auth
&lt;ul&gt;
&lt;li&gt;✅ Login&lt;/li&gt;
&lt;li&gt;✅ Proxy tokens (with 401/403 refresh retry)&lt;/li&gt;
&lt;li&gt;✅ Passkeys (WebAuthn)&lt;/li&gt;
&lt;li&gt;✅ Profile keys&lt;/li&gt;
&lt;li&gt;✅ Permissions (ABAC)&lt;/li&gt;
&lt;li&gt;✅ Invitation, registration&lt;/li&gt;
&lt;li&gt;✅ Community profile creation&lt;/li&gt;
&lt;li&gt;✅ Identity provider protocol&lt;/li&gt;
&lt;li&gt;✅ Password reset flow&lt;/li&gt;
&lt;li&gt;✅ API key management&lt;/li&gt;
&lt;li&gt;✅ Identity verification onboarding gate&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;✅ Task scheduler
&lt;ul&gt;
&lt;li&gt;✅ Task dependencies (incl. pre-registration resolution)&lt;/li&gt;
&lt;li&gt;✅ Persistence&lt;/li&gt;
&lt;li&gt;✅ Fallback repetition&lt;/li&gt;
&lt;li&gt;✅ Cron-like scheduling&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;✅ Worker pool for synchronous tasks
&lt;ul&gt;
&lt;li&gt;✅ Multiple priorities with dedicated threads&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="api"&gt;API&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;✅ File API
&lt;ul&gt;
&lt;li&gt;✅ File listing (pinned/starred filters)&lt;/li&gt;
&lt;li&gt;✅ File upload
&lt;ul&gt;
&lt;li&gt;✅ Streaming uploads with inline hashing&lt;/li&gt;
&lt;li&gt;✅ Image conversions (WebP support)&lt;/li&gt;
&lt;li&gt;✅ Video conversions (FFmpeg)&lt;/li&gt;
&lt;li&gt;✅ Audio conversions (FFmpeg)&lt;/li&gt;
&lt;li&gt;✅ PDF processing&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;✅ Document creation&lt;/li&gt;
&lt;li&gt;✅ File tagging&lt;/li&gt;
&lt;li&gt;✅ File trash/restore&lt;/li&gt;
&lt;li&gt;✅ Quota management&lt;/li&gt;
&lt;li&gt;✅ Share-based folder access inheritance&lt;/li&gt;
&lt;li&gt;✅ Hidden flag for attachments and profile pictures&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;✅ Action API
&lt;ul&gt;
&lt;li&gt;✅ Action listing&lt;/li&gt;
&lt;li&gt;✅ Action creation (with scheduled/draft &lt;code&gt;publishAt&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;✅ Action inbox&lt;/li&gt;
&lt;li&gt;✅ Action verification (3-tier key caching)&lt;/li&gt;
&lt;li&gt;✅ SubjectRef typing&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;✅ CRDT Document API&lt;/li&gt;
&lt;li&gt;✅ RTDB (Real-time Database) API
&lt;ul&gt;
&lt;li&gt;✅ Per-tenant files with automatic migration&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;✅ Profile API
&lt;ul&gt;
&lt;li&gt;✅ Profile CRUD&lt;/li&gt;
&lt;li&gt;✅ Media management&lt;/li&gt;
&lt;li&gt;✅ Profile synchronization&lt;/li&gt;
&lt;li&gt;✅ Per-section visibility gating (tier + community role)&lt;/li&gt;
&lt;li&gt;✅ List filters&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;✅ Settings API
&lt;ul&gt;
&lt;li&gt;✅ Per-level GET/PUT/DELETE (tenant / global)&lt;/li&gt;
&lt;li&gt;✅ Per-event email notification preferences&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;✅ Collections API (favorites, bookmarks, pins)&lt;/li&gt;
&lt;li&gt;✅ Reference API&lt;/li&gt;
&lt;li&gt;✅ Admin API
&lt;ul&gt;
&lt;li&gt;✅ Tenant force-purge with soft-delete cascade&lt;/li&gt;
&lt;li&gt;✅ SMTP test endpoint with structured diagnostics&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;✅ Calendar API (REST + CalDAV)
&lt;ul&gt;
&lt;li&gt;✅ iCalendar parsing&lt;/li&gt;
&lt;li&gt;✅ Atomic recurring-series split&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;✅ Contact API (REST + CardDAV)
&lt;ul&gt;
&lt;li&gt;✅ vCard parsing&lt;/li&gt;
&lt;li&gt;✅ Cross-address-book listing&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;✅ WebDAV protocol layer
&lt;ul&gt;
&lt;li&gt;✅ PROPFIND / REPORT&lt;/li&gt;
&lt;li&gt;✅ Path-aware scope auth&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;✅ App store API (APKG packages)
&lt;ul&gt;
&lt;li&gt;✅ Container serving&lt;/li&gt;
&lt;li&gt;✅ Install / uninstall&lt;/li&gt;
&lt;li&gt;✅ Scoped tokens&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="background-tasks"&gt;Background tasks&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;✅ Image resizing&lt;/li&gt;
&lt;li&gt;✅ Action distribution&lt;/li&gt;
&lt;li&gt;✅ Action choreography hooks
&lt;ul&gt;
&lt;li&gt;✅ connect&lt;/li&gt;
&lt;li&gt;✅ follow&lt;/li&gt;
&lt;li&gt;✅ share file (FSHR &lt;code&gt;on_create&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;✅ message&lt;/li&gt;
&lt;li&gt;✅ post&lt;/li&gt;
&lt;li&gt;✅ react&lt;/li&gt;
&lt;li&gt;✅ comment&lt;/li&gt;
&lt;li&gt;✅ stat&lt;/li&gt;
&lt;li&gt;✅ community membership (INVT/CONN)&lt;/li&gt;
&lt;li&gt;✅ Hook integration with meta adapter&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;✅ Federation
&lt;ul&gt;
&lt;li&gt;✅ History sync on reconnect&lt;/li&gt;
&lt;li&gt;✅ Inbound action V→A/F lifecycle&lt;/li&gt;
&lt;li&gt;✅ Profile suspension handling&lt;/li&gt;
&lt;li&gt;✅ Atomic federated file sync with audience mirror&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;✅ Onboarding
&lt;ul&gt;
&lt;li&gt;✅ Welcome email deferred until ACME cert is ready&lt;/li&gt;
&lt;li&gt;✅ Persistent early-retry tasks&lt;/li&gt;
&lt;li&gt;✅ &lt;code&gt;on_first_cert_issued&lt;/code&gt; hook&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;✅ Attachment synchronization&lt;/li&gt;
&lt;li&gt;✅ Push notifications (VAPID/WebPush)&lt;/li&gt;
&lt;li&gt;✅ Email notifications (async SMTP via Lettre)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="adapters"&gt;Adapters&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;✅ SQLite metadata adapter&lt;/li&gt;
&lt;li&gt;✅ SQLite auth adapter&lt;/li&gt;
&lt;li&gt;✅ Filesystem based blob adapter&lt;/li&gt;
&lt;li&gt;✅ CRDT adapter (redb — collaborative editing)&lt;/li&gt;
&lt;li&gt;✅ RTDB adapter (redb — realtime database)&lt;/li&gt;
&lt;li&gt;✅ Identity provider adapter&lt;/li&gt;
&lt;li&gt;🗓️ Message-bus adapter&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="code-quality"&gt;Code Quality&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;✅ Zero unsafe code (&lt;code&gt;#![forbid(unsafe_code)]&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;✅ Strict error handling (no &lt;code&gt;unwrap&lt;/code&gt; / &lt;code&gt;expect&lt;/code&gt; / &lt;code&gt;panic&lt;/code&gt; in production paths)&lt;/li&gt;
&lt;li&gt;✅ ~85,200 lines of production Rust code&lt;/li&gt;
&lt;li&gt;✅ 263 source files across 23 workspace crates&lt;/li&gt;
&lt;li&gt;✅ Comprehensive test suite&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>