48 lines
3.5 KiB
Plaintext
48 lines
3.5 KiB
Plaintext
RustBox 0.2.14 - final source validation
|
|
|
|
0.2.14 scope:
|
|
- wide message panes use compact one-line rows by default, with a persisted Mailbox preference to disable them
|
|
- signatures support per-identity silent append-on-send (default) or visible/editable composer insertion
|
|
- durable blob deletion outbox covers filesystem/shared POSIX/NFS and S3, pairing metadata deletion with cleanup enqueue in one SQL transaction and retrying storage failures without permanent dead-lettering
|
|
- failed finalized uploads and failed storage-migration destination objects are queued for cleanup
|
|
- saving/updating a draft stays silent in realtime: Drafts still refreshes, but no “new message” toast/system notification is emitted
|
|
- composer `Delete draft` removes the current verified IMAP draft and cascades local draft attachment metadata/blob cleanup
|
|
- explicit Save draft action before Cancel forces a real IMAP Drafts snapshot while background autosave behavior remains unchanged
|
|
- manual IMAP save reports APPEND/snapshot failures instead of showing false success
|
|
- draft recovery restores attachment metadata and the attachment strip keeps inline plus regular files visible together
|
|
- new uploads merge against the full server-side draft attachment list so adding another file cannot replace an existing visible entry
|
|
- composer UX regression fixed: image actions are contextual/floating instead of a dedicated layout row
|
|
- multiple inline images/attachments append independently and do not replace the active selection
|
|
- same-name/same-size files are no longer silently de-duplicated
|
|
- recipient list collapsing, full-width Load more/Load all controls, and reader Details label
|
|
- composer fields can collapse to maximize the message editor, and invalid recipient input expands them again
|
|
- inline attachment embedding/re-embedding, clipboard/file drop insertion, image drag repositioning, and pointer resize handles
|
|
- message-body links without an explicit target open outside the sandboxed preview in a new tab/window, while explicit targets are preserved
|
|
- page refresh/session restoration does not emit a false “Successfully logged in” toast
|
|
- real login still emits the success toast
|
|
- message preview documents explicitly use UTF-8 and RFC 2047 headers support UTF-8, ISO-8859-2 and Windows-1250 decoding
|
|
- PDF attachment preview uses the authenticated inline URL for Safari/iPhone compatibility
|
|
- Composing shows only compact attachment/message size-limit values on one line
|
|
- 0.2.9 realtime notification gating, browser shortcut preservation and 300-message defaults remain intact
|
|
- runtime schema migration V050 adds compact-wide-row and signature insertion preferences; V051 remains next
|
|
- version metadata updated to 0.2.14
|
|
|
|
Completed in this environment:
|
|
- offline release validator: scripts/validate-release-static.py (409/409 checks passed)
|
|
- browser JavaScript assembled in manifest order passes `node --check`
|
|
- all JSON files parse successfully
|
|
- Python helper scripts compile successfully
|
|
- shell scripts pass `bash -n`
|
|
- release metadata consistently identifies 0.2.14
|
|
- V048/V049/V050 migration files/catalog registration and SQLite upgrade execution are validated offline
|
|
|
|
|
|
Not executable in this packaging environment:
|
|
- cargo fmt/test/clippy/build with Rust 1.99.1, because Rust/Cargo is not installed
|
|
- live PostgreSQL/MySQL/S3/NFS/OpenSearch/IMAP integration tests
|
|
|
|
The final release gate on a Rust host is:
|
|
bash scripts/build-release.sh
|
|
|
|
This file intentionally does not claim blocked runtime/integration checks as passed.
|