End-to-end validation
The native executable is tested with real HTTP connections, isolated SQLite databases and independent clients. Run instructions are in tests/e2e/README.md. CI runs these checks alongside Go race tests and UI fixture tests.
| Suite | End-to-end behavior checked |
|---|---|
| Web sessions | Login, multiple WebSockets, logout, guest disable, password rotation, expiry, shutdown, persisted sessions |
| HTTP policy | gzip/deflate/Brotli byte equality, HTTPS policy, trusted proxy handling, CSP, rate limits, secure cookies |
| Backup CLI | Independent AES-GCM fixture decryption, database restore/integrity, tampering and overwrite rejection |
| Ambient rescue | Independent WebSocket transport, authentication and recovery behavior |
| Cluster | Two servers, 502-row paging, signed WebSocket events, replay/forgery rejection, offline edits/deletes, restart and restore reconciliation, revocation |
| FTP/FTPS | Independent server, plaintext and TLS uploads, encrypted mirrors, same-size edits, snapshot restore, no unexpected retries or staging leftovers |
| Media | Actual video fixture, catalog/search, byte ranges, ZIP contents, signed sharing/revocation, FFmpeg seekbar generation and retrieval, guest write denial |
| Browser | Real login and APIs, 16 routes at 390px and 1280px, visible content, overflow and uncaught JavaScript checks; no API mocks |
Additional owner-authorized live checks, 2026-10-26
An independently authorized Telegram session on the test machine downloaded three existing files (392,023,128; 579,399,644; and 289,598,805 bytes). All matched original SHA-256 after disk readback. The real application subsequently accepted a message URL, paused/resumed its queue, downloaded the 289,598,805-byte file and matched its original SHA-256. Account browsing returned 150 dialogs through the actual server. Credentials and private logs remain outside Git.
Existing production face-detection and NSFW services accepted a generated 320×240 image and returned model results. This verifies inference request handling, not recognition accuracy or positive face embeddings. The preceding release also passed a live temporary Telegram forum/topic forwarding test with cleanup.
Coverage limits
These checks are explicit scenarios, not every possible action or device. Browser navigation checks do not prove every settings control or dialog. No claim is made for credentialed S3/SFTP/WebDAV/Google Drive/Dropbox flows, GPU acceleration, all operating systems at runtime, positive face clustering, every Telegram media type, or disaster recovery on the production database. Cross-compilation and unit tests are separate evidence and must not be described as live E2E coverage. Provider-specific live testing needs a configured isolated test destination.