Feature Status and Implementation Progress

Feature Status and Implementation Progress

Last Updated: 2025-10-29 Current Version: v0.1.0-alpha (Rust) Overall Progress: 70%

Info

Cloudillo is under active development. This page tracks implementation status of all major features and API endpoints. Check back regularly for updates.


Quick Status Overview

Backend (Rust)

Component Status Progress Notes
Core Server 🟡 Partial 70% Foundation complete, handlers in progress
Authentication 🟢 Working 100% Login, tokens, registration functional
Profiles 🟢 Working 100% Get, update, media upload working
Actions 🟡 Partial 20% List/create working, others in progress
File Storage 🟡 Partial 40% Upload working, management incomplete
Settings API 🔴 Not Started 0% Planned for Phase 2
References API 🔴 Not Started 0% Planned for Phase 2
RTDB Backend 🟢 Ready 100% rtdb-adapter-redb complete
CRDT Backend 🟢 Ready 100% crdt-adapter-redb complete
Federation 🟡 Partial 60% Basic federation working

Frontend & Libraries (TypeScript)

Component Status Progress Notes
@cloudillo/types 🟢 Stable 100% Type definitions, runtime validation
@cloudillo/base 🟢 Stable* 95% *Needs Rust backend envelope update
@cloudillo/react 🟢 Stable* 95% *Depends on base library update
@cloudillo/rtdb 🟢 Complete* 95% *Protocol compatibility needs testing
Shell/UI 🟢 Production* 90% *Partial Rust backend compatibility
Apps (5 total) 🟢 Active 100% Quillo, Prello, Sheello, Todollo, Formillo

Legend: 🟢 Working | 🟡 Partial | 🔴 Not Started | * = See details below


Backend Components

Core Infrastructure ✅ 100%

Component Status Description
Response Envelope ✅ Complete ApiResponse wrapper
Error Codes ✅ Complete Structured E-MOD-ERRTYPE format
Request Tracking ✅ Complete UUID-based request IDs
Compression ✅ Complete gzip + Brotli support
Authentication Middleware ✅ Complete JWT token validation
CORS Support ✅ Complete Configured
WebSocket Infrastructure ✅ Complete Connection handling ready

Storage Adapters ✅ 100%

All five core adapters are fully implemented:

Adapter Technology Status Description
AuthAdapter SQLite ✅ Complete Authentication, JWT, cryptography
MetaAdapter SQLite ✅ Complete Metadata, profiles, actions
BlobAdapter Filesystem ✅ Complete File storage
RtdbAdapter redb ✅ Complete Real-time database
CrdtAdapter redb ✅ Complete Collaborative editing

API Endpoints

Authentication API 🟡 Partial (3/6)

Endpoint Method Status Notes
/api/auth/register POST ✅ Working User registration
/api/auth/register-verify POST ✅ Working Email verification
/api/auth/login POST ✅ Working User login
/api/auth/password POST ⏳ Legacy Needs envelope update
/api/auth/logout POST ⏳ Legacy Needs envelope update
/api/auth/login-token GET ⏳ Legacy Needs envelope update
/api/auth/access-token GET ⏳ Legacy Needs envelope update
/api/auth/proxy-token GET ⏳ Legacy Needs envelope update

Profile API ✅ 100%

Endpoint Method Status Notes
/api/me GET ✅ Working Get own profile
/api/me PATCH ✅ Working Update own profile
/api/me/image PUT ✅ Working Upload profile image
/api/me/cover PUT ✅ Working Upload cover image
/api/profile GET ✅ Working List profiles
/api/profile/{id_tag} GET ✅ Working Get profile by ID
/api/profile/{id_tag} PATCH ✅ Working Update relationship
/api/admin/profile/{id_tag} PATCH ✅ Working Admin profile update

Action/Activity API 🟡 Partial (2/10)

Endpoint Method Status Notes
/api/action GET ✅ Working List actions with pagination
/api/action POST ✅ Working Create action
/api/inbox POST ⏳ Legacy Federation inbox, needs update
/api/action/{id} GET ⏳ Legacy Get action by ID
/api/action/{id} PATCH ⏳ Legacy Update action
/api/action/{id} DELETE ⏳ Legacy Delete action
/api/action/{id}/accept POST ⏳ Legacy Accept action
/api/action/{id}/reject POST ⏳ Legacy Reject action
/api/action/{id}/stat POST ⏳ Legacy Get action stats
/api/action/{id}/reaction POST ⏳ Legacy Add reaction

Action Token Types:

Type Code Status Description
Post POST ⏳ Partial Create posts
Comment CMNT ⏳ Partial Add comments
Reaction REACT ⏳ Partial Like, love, etc.
Follow FLLW ⏳ Partial Follow users
Connect CONN ⏳ Partial User connections
Conversation CONV ⏳ Partial Messaging
Acknowledge ACK ⏳ Partial Acknowledgments
File Share FSHR ⏳ Partial Share files
Statistics STAT ⏳ Partial Usage stats

File Storage API 🟡 Partial (2/8)

Endpoint Method Status Notes
/api/file GET ⏳ Legacy List files
/api/file POST ✅ Working Create file metadata
/api/file/{preset}/{name} POST ✅ Working Upload file blob
/api/file/variant/{variant_id} GET ✅ Working Download file (binary, no envelope)
/api/file/{file_id} GET ✅ Working Download file (binary, no envelope)
/api/file/{file_id}/descriptor GET ⏳ Legacy Get file metadata
/api/file/{file_id} PATCH ⏳ Legacy Update file metadata
/api/file/{file_id} DELETE ⏳ Legacy Delete file
/api/file/{file_id}/tag/{tag} PUT ⏳ Legacy Add tag to file
/api/file/{file_id}/tag/{tag} DELETE ⏳ Legacy Remove tag from file
/api/tag GET ⏳ Legacy List tags

Image Processing:

  • ✅ Automatic variant generation (thumbnails, etc.)
  • ✅ Content-addressed storage
  • ✅ SHA256 file IDs

Settings API 🔴 Not Started (0/4)

Endpoint Method Status Notes
/api/settings GET ⏳ Legacy List all settings
/api/settings/{name} GET ⏳ Legacy Get specific setting
/api/settings/{name} PUT ⏳ Legacy Update setting

Reference API 🔴 Not Started (0/4)

Endpoint Method Status Notes
/api/ref GET ⏳ Legacy List references
/api/ref POST ⏳ Legacy Create reference
/api/ref/{ref_id} GET ⏳ Legacy Get reference
/api/ref/{ref_id} DELETE ⏳ Legacy Delete reference

Real-Time Database API 🟡 Implemented (90%)

Backend: ✅ Fully implemented with redb API Integration: ⏳ WebSocket handler needs testing

Endpoint Method Status Notes
/ws/rtdb/{file_id} WebSocket ✅ Implemented Real-time database connection

Features:

  • ✅ Path-based hierarchical storage
  • ✅ Query filters (equals, gt, lt, gte, lte)
  • ✅ Sorting and pagination
  • ✅ Atomic transactions
  • ✅ Real-time subscriptions
  • ⏳ Client library integration

Collaborative Editing (CRDT) API 🟡 Implemented (90%)

Backend: ✅ Fully implemented with Yrs API Integration: ⏳ WebSocket handler needs testing

Endpoint Method Status Notes
/ws/crdt/{doc_id} WebSocket ✅ Implemented CRDT document connection

Features:

  • ✅ Yjs-compatible protocol
  • ✅ Conflict-free merging
  • ✅ Text, Map, Array, XML support
  • ✅ Awareness (presence, cursors)
  • ⏳ Client library integration

Message Bus API ✅ Implemented

Endpoint Method Status Notes
/ws/bus WebSocket ✅ Implemented Pub/sub notifications

→ See detailed Client Libraries, Shell & Frontend, and Microfrontend Applications sections above


Federation 🟡 Partial (60%)

Feature Status Notes
Action Distribution ⏳ Partial Basic federation working
Inbox Endpoint ⏳ Partial Implemented but needs envelope update
Identity Resolution ✅ Working DNS-based identity
Access Tokens ✅ Working Cross-instance authorization
Federation Trust ⏳ Partial Basic verification

Security Features ✅ Complete

Feature Status Notes
TLS/HTTPS ✅ Working Rustls + ACME
JWT Authentication ✅ Working P384 ES384 signing
Password Hashing ✅ Working bcrypt
Content Addressing ✅ Working SHA256
ABAC Permissions ✅ Implemented Attribute-based access control
No Unsafe Code ✅ Enforced #![forbid(unsafe_code)]

Client Libraries (TypeScript/JavaScript)

@cloudillo/types 🟢 Stable (v0.0.1)

Purpose: Shared TypeScript type definitions with runtime validation

Feature Status Notes
Type Definitions ✅ Complete Actions, profiles, permissions
Runtime Validation ✅ Working Using @symbion/runtype
Rust Backend Compatibility ✅ Compatible camelCase fields match

Status: Foundational package, stable and well-maintained

@cloudillo/base 🟢 Stable (v0.0.1)

Purpose: Core client SDK for Cloudillo applications

Feature Status Notes
API Client ✅ Working Type-safe HTTP wrapper
Authentication ✅ Working JWT token handling
WebSocket Integration ✅ Working Real-time communication
Yjs Document Support ✅ Working openYDoc() for CRDT
IndexedDB Persistence ✅ Working Local data caching
Request Tracking ✅ Working Request ID support
Rust Backend Compat Needs Update Response envelope format changed

Rust Backend Changes Needed:

  • Update to handle new { data, pagination, time, reqId } envelope
  • Update error handling for E-MOD-ERRTYPE format
  • Currently works with legacy endpoints only

Repository: /cloudillo/libs/base

@cloudillo/react 🟢 Stable (v0.0.1)

Purpose: React hooks and components for Cloudillo apps

Feature Status Notes
useAuth() Hook ✅ Working Authentication state
useApi() Hook ✅ Working API client access
CloudilloProvider ✅ Working Context provider
UI Components ✅ Working Profile dropdown, dialogs, select
Rust Backend Compat Needs Update Depends on @cloudillo/base updates

Dependencies: React 19.x, Jotai, React Router, i18next

Repository: /cloudillo/libs/react

@cloudillo/rtdb 🟢 Complete (v0.0.1)

Purpose: Firebase-like Real-Time Database client

Feature Status Notes
Client SDK ✅ Complete createRtdbClient()
CRUD Operations ✅ Complete create, get, update, delete
Real-time Subscriptions ✅ Complete onSnapshot()
Query Builder ✅ Complete where, orderBy, limit
Transactions ✅ Complete Atomic batch operations
WebSocket Protocol ✅ Complete Auto-reconnect with backoff
TypeScript Types ✅ Complete Full type safety
Documentation ✅ Complete 526-line README
Rust Backend Compat 🟡 Needs Testing Backend ready, integration untested

Rust Backend Status:

  • Rust rtdb-adapter-redb fully implemented (100%)
  • WebSocket endpoint /ws/rtdb/{file_id} available
  • Protocol compatibility needs verification
  • Used in Todollo app successfully with Node.js backend

Repository: /cloudillo/libs/rtdb


Shell & Frontend

@cloudillo/shell 🟢 Production (v0.1.3)

Purpose: Main web application dashboard and microfrontend container

Feature Status Notes
Core Features
Authentication ✅ Working Login, register, WebAuthn
Profile Management ✅ Working View, edit, media upload
Settings ✅ Working User preferences
Notifications ✅ Working Real-time updates
Search ✅ Working Global search
PWA Support ✅ Working Progressive Web App
i18n ✅ Working Internationalization
Views
Feed ✅ Working Activity stream
Files ✅ Working File manager with gallery
Gallery ✅ Working Image grid view
Messages ✅ Working Direct messaging
Microfrontend System
App Container ✅ Working Iframe-based sandboxing
postMessage API ✅ Working Inter-frame communication
App Discovery ✅ Working Dynamic app loading
Real-time
WebSocket Bus ✅ Working /ws/bus connection
CRDT Sync ✅ Working Yjs collaboration
Live Updates ✅ Working Push notifications
Rust Backend Compat Partial Depends on API client updates

Technology Stack:

  • React 19.2.0, React Router 7.9.4
  • Jotai 2.15.0 (state management)
  • Yjs 13.6.27 (CRDT)
  • Quill 2.0.3 (rich text)
  • @symbion/opalui 0.11.10 (components)
  • Rollup 4.52.5, TypeScript 5.9.3

Rust Backend Compatibility:

  • ✅ Profile features work (100% handlers updated)
  • ⏳ File features partially work (upload works, management incomplete)
  • ⏳ Action features partially work (list/create work, others pending)
  • ⏳ Settings features not working (0% handlers updated)

Repository: /cloudillo/shell


Microfrontend Applications

All apps are independent React applications loaded as iframes with shared base libraries.

1. Quillo 🟢 Active (v0.0.1)

Purpose: Rich text editor with collaborative editing

Feature Status Notes
Quill Editor ✅ Working Version 2.0.3
Collaborative Editing ✅ Working Yjs integration
Cursor Awareness ✅ Working quill-cursors
Markdown Support ✅ Working quilljs-markdown
i18n ✅ Working Multi-language

Repository: /cloudillo/apps/quillo

2. Prello 🟢 Active (v0.0.1)

Purpose: Presentation tool

Feature Status Notes
Canvas Rendering ✅ Working react-svg-canvas
Drag & Drop ✅ Working react-dnd
Collaborative Editing ✅ Working react-yjs
Presentation Mode ✅ Working Full-screen slides

Repository: /cloudillo/apps/prello

3. Sheello 🟢 Active (v0.0.1)

Purpose: Spreadsheet application

Feature Status Notes
Fortune Sheet ✅ Working @fortune-sheet 1.0.2
Collaborative Editing ✅ Working react-yjs
Formula Evaluation ✅ Working Built-in
i18n ✅ Working Multi-language

Repository: /cloudillo/apps/sheello

4. Todollo 🟢 Active (v0.0.1)

Purpose: Todo list (RTDB demonstration)

Feature Status Notes
Uses @cloudillo/rtdb ✅ Working Real-time database demo
CRUD Operations ✅ Working Create, read, update, delete
Real-time Sync ✅ Working Live updates across users
Rust Backend Compat 🟡 Needs Testing RTDB protocol verification needed

Repository: /cloudillo/apps/todollo

5. Formillo 🟢 Active (v0.0.1)

Purpose: Form builder and survey tool

Feature Status Notes
Form Builder ✅ Working @symbion/simple-form
Survey Responses ✅ Working Collection and display
i18n ✅ Working Multi-language

Repository: /cloudillo/apps/formillo


Known Limitations

Current Restrictions

  1. API Handlers: Only 3/32 handlers fully updated to new format

    • Impact: Some endpoints return legacy format
    • Workaround: Check endpoint status above
    • Timeline: Phase 1 completion (est. 2-3 weeks)
  2. Client Library Compatibility: Built for Node.js backend

    • Impact: May have format mismatches
    • Workaround: Manual response parsing
    • Timeline: Phase 2 (Q1 2025)
  3. RTDB/CRDT Integration: Backend ready, needs client integration

    • Impact: Real-time features not fully accessible
    • Workaround: Use WebSocket API directly
    • Timeline: Phase 2 (Q1 2025)
  4. Documentation: Some docs reference old implementation

    • Impact: Confusion about available features
    • Workaround: Check this status page
    • Timeline: Ongoing updates

Incompatibilities with Node.js Version

If migrating from Node.js implementation:

Feature Compatibility Notes
Data Format ✅ Compatible Identity and storage portable
API Format ⚠️ Partial Response envelope different
Client Libraries ⚠️ Needs Updates May work with legacy endpoints
Custom Adapters ❌ Incompatible Different adapter traits

Roadmap

Phase 1: API Standardization (Current, 70% Complete)

Timeline: In Progress → ~2 weeks Focus: Complete API handler updates

  • Response envelope system (100%)
  • Error code standardization (100%)
  • Request tracking (100%)
  • Compression (100%)
  • API handler updates (3/32 complete)
    • Profile handlers (3/3)
    • Action handlers (2/10)
    • File handlers (0/8)
    • Auth handlers (0/6)
    • Settings handlers (0/4)
    • Reference handlers (0/4)

Phase 2: Feature Completion (Planned)

Timeline: Q1 2025 Focus: Full feature parity

  • Complete all API endpoints
  • Update client libraries for Rust backend
  • RTDB/CRDT client integration
  • Comprehensive integration tests
  • Documentation completion
  • Migration tools from Node.js

Phase 3: Beta Release (Planned)

Timeline: Q2 2025 Focus: Production readiness

  • Security audit
  • Performance optimization
  • Load testing
  • Production hardening
  • Community server launch
  • Beta program

Phase 4: Production Release (Planned)

Timeline: H2 2025 Focus: 1.0 release

  • Full stability
  • Complete documentation
  • Support infrastructure
  • Identity provider launch (cloudillo.net)
  • Hosting provider partnerships

Testing Status

Unit Tests ✅ Passing

Server: 50/50 tests passing ✅
Adapters: All tests passing ✅

Integration Tests ⏳ In Progress

  • End-to-end API tests
  • Federation tests
  • Client library tests
  • Performance tests

Browser Compatibility ⏳ Needs Testing

  • Chrome/Edge 90+
  • Firefox 88+
  • Safari 14+

Version History

v0.1.0-alpha (Current)

Release Date: In Development Status: 70% Complete

Completed:

  • Core server infrastructure
  • All storage adapters
  • Profile API (100%)
  • Authentication (partial)
  • File storage (partial)
  • RTDB backend
  • CRDT backend

In Progress:

  • API handler updates (20% complete)
  • Federation (60% complete)
  • Client library updates

Not Started:

  • Settings API
  • Reference API
  • Full integration tests

v0.9.x (Node.js, Deprecated)

Status: Deprecated Note: Feature complete but no longer maintained. Users should migrate to Rust version.


How to Use This Page

For End Users

Look at the “Quick Status Overview” table. Features marked 🟢 are safe to use. Features marked 🟡 or 🔴 may not work as expected.

For Developers

  1. Check the specific API endpoint you need in the detailed tables
  2. ✅ = Safe to use
  3. ⏳ = May work but uses legacy format
  4. 🔴 = Not implemented yet

For Self-Hosters

The core server is stable enough for personal use and testing, but expect:

  • Some API endpoints to change
  • Possible migrations during Phase 1 completion
  • Regular updates

Feedback

Found an error on this page? Have questions about a feature’s status?

Last Updated: 2025-10-29 Next Update: Weekly during active development