Lotus Release Notes 0.4.1

Lotus v0.4.1 expands discovery, brings local voice transcription, richer messaging and media, interoperable calendars, and reliable offline sync.
Lotus Release Notes 0.4.1

A big step toward making the different parts of Lotus feel like one connected workspace.

Search reaches deeper into Nostr. Voice messages can become readable transcripts. Live broadcasts feel at home inside the app. Calendar events travel between compatible clients. Drive connects directly with Calendar. Messaging gains editing and deletion. And more of Lotus can keep working even when the network cannot.

Underneath it all, this release also brings a much larger test suite, stronger input validation, better interoperability and a more reliable local data layer.

Highlights

  • One search across Lotus.
    Search now reaches profiles, posts, articles, live broadcasts, pictures, videos, communities and reading lists from one place. A new Discover view sits behind the search bar with dedicated areas for different kinds of content. Open it without typing anything and Lotus can surface what is live, what people are talking about, things to read, fresh media and communities to explore. Feeling Lucky can even drop you directly into a live broadcast.

  • Live video, built into Lotus.
    Watch broadcasts with the conversation right beside them, see the viewer count update while you watch, and continue with the recording once a stream ends. Lotus understands scheduled, active and finished broadcasts, supports multiple playback sources and updates previews as streams change.

  • Voice messages you can listen to or read. (First Alpha Release)
    Voice messages now show their waveform and duration directly in the conversation. Open one for a full player with scrubbing, skip controls, playback speed and a reply field that remains usable while the message keeps playing. Audio continues when you move elsewhere in Lotus, with a compact player to return to it and support for headphone and lock-screen controls.

    Voice messages can also be opened as text. Transcription happens locally on your device, without sending the recording to a transcription service. The transcript is timestamped, so selecting a line jumps directly to that point in the recording. Finished transcripts can securely follow your account across your devices.

  • Video messages and richer media.
    Video messages arrive with a preview, play button and duration before the full video needs to download. Open one for a dedicated player with fullscreen and picture-in-picture support.

    Photos and videos also get a cleaner presentation in conversations. Media-only messages can stand on their own, while adding a caption brings back the surrounding message frame. PDFs now show a preview of their first page together with the page count.

  • Edit messages and take them back.
    Your own text messages in chats, groups and threads can now be edited for up to fifteen minutes, with up to five edits. An Edited indicator opens the message history so you can see what changed.

    Private conversations also support deletion. Use Delete for everyone on your own messages or Delete for me to remove a message from your own view. Deleted content is removed from the conversation as well as related previews, quoted replies and pinned messages.

    As with every decentralised messaging system, Lotus cannot force another device or server to erase data it has already received, so the interface makes that limitation clear.

  • A calendar that works across Nostr.
    Lotus Calendar now supports interoperable Nostr calendar events in both directions. Events created in compatible apps can appear in Lotus, while events created in Lotus can be understood elsewhere.

    Timed events, all-day events and multi-day events are supported. Private events remain encrypted so only invited people can read them, and new events remain private by default. Multi-day events are shown as one continuous entry across the calendar.

  • Invitations become part of your workspace.
    Invitations waiting for a response now appear wherever they are useful: on the calendar, beside Calendar in the sidebar, above your week and directly on Home.

    Respond with Yes, Maybe or No without hunting for the invitation first. Opening an event shows who invited you and gives you the response controls there as well. Invitation cards include the date, duration, location, description and organiser.

  • Bring Drive files directly into Calendar.
    Calendar now has a full Drive picker with folders, thumbnails, search and files shared with you. It is available from both the quick event editor and the full editor.

    Attachments can be opened directly from an event. If a private Drive file is attached to something public, Lotus asks before creating a public copy and leaves the private original untouched. Cancel the action and nothing gets published.

  • One home for your settings.
    Account, appearance, notifications, privacy, message delivery, servers, storage, billing and wallet preferences now live together inside a dedicated Settings area.

    The same underlying controls are shared with the individual Lotus apps, keeping preferences consistent wherever they are changed.

  • Keep working when the connection disappears.
    Supported changes are now saved on your device first and synchronised when connectivity returns. Calendar changes, invitation responses, invitations you send, booking pages and deletions can wait safely for the network instead of depending on one request succeeding.

    Rather than filling the screen with repeated connection errors, Lotus shows a single Waiting to sync state while pending work remains.

    Invitations are also delivered to each guest’s own servers, making it possible to reach people even when you do not share the same server setup.

UI/UX

  • Groups are easier to discover and join.
    Browse now prioritises real communities, pending join requests have their own place, and admins can see how many requests are waiting directly from the group list.

    Group states are clearer as well. Missing groups are identified as missing, rejected requests show a useful explanation, and groups you already belong to are no longer hidden by discovery limits.

  • Save messages for yourself or pin them for the group.
    Groups now support two distinct actions. Save for me creates a private bookmark visible only to you, while admins can use Pin for everyone to highlight something for the whole group.

    A single view brings saved and pinned messages together with All, Saved and Pinned filters.

  • A proper discussion composer.
    Discussions now behave like something you compose rather than something that publishes the moment media is selected.

    Photos, videos and files remain as removable previews until you press Publish. Multiple attachments are supported, writing and preview modes are separate, and phones get a full-screen editor.

  • A Home screen centred around what matters now.
    Search takes the lead at the top of Home. Pending invitations appear directly below as swipeable cards, while schedule, tasks and files share one compact overview instead of separate half-empty areas.

    Recent files now include files other people shared with you and open directly in the viewer. Audio can also start there and continue playing while you move through Lotus.

  • A cleaner sign-in experience on every device.
    Saved profiles now use a compact grid with search for larger account collections. Removing a profile lives behind a menu and asks for confirmation first.

    Amber, Amethyst and Primal are presented consistently as signer options. On phones, Lotus prioritises opening the signer app already installed on the device instead of leading with a QR code intended for another screen.

  • Lotus Pro checkout adapts to the screen.
    On phones, checkout opens as a bottom sheet with the payment action kept within reach. Tablets use a fitted card, while desktop gets a two-column layout.

    The underlying dialog work also prevents primary actions elsewhere in Lotus from being pushed beyond the visible screen.

  • A mobile top bar with room to breathe.
    Less frequently used actions move into an overflow menu on smaller screens while the important action stays visible.

    Long file names can no longer stretch layouts beyond the width of the phone. FAQ and Contact pages also join the experience, together with German and Spanish entry points.

  • Clear multi-file selection in Drive.
    File selection is now visible on touch devices without relying on hover. Once selection begins, checkboxes appear across the file list so selecting several files feels consistent on desktop and mobile.

  • Contacts communicate connection state clearly.
    A temporary connection problem no longer looks like an empty address book. Lotus explains when contacts cannot currently be loaded and offers Try again.

    If existing contacts remain available while changes cannot be saved, a compact status notice makes that clear without replacing the list.

  • New profiles start with a finished look.
    Accounts created through sign-up now receive a default Lotus profile banner. It is only applied during account creation, so removing or replacing it later remains entirely your choice.

  • Friendlier empty states in Groups.
    Empty areas across Groups now use proper illustrations and clearer guidance instead of a generic icon and a single line of text.

  • Trending becomes part of discovery.
    Open Search without entering anything and trending content can appear alongside the rest of Discover. It no longer depends on enabling a separate preference first, and discovery waits until the page is ready before requesting data.

  • A proper maintenance experience.
    Planned updates can now show a dedicated maintenance page instead of leaving visitors with an interface that simply appears unavailable.

Reliability & Fixes

  • The identity key information screen can now always be closed normally.

  • Drive now continues loading older file history instead of stopping after the first batch. New results are merged with existing local data rather than replacing it, preventing temporary network issues from making existing files appear to disappear.

  • Permanently deleted files are remembered locally so they cannot simply reappear when another server or device still has an older copy.

  • Revoked shared files no longer return as ghost entries carrying their previous name and access information.

  • Uploads started from the Drive picker now land in the selected folder, and attaching multiple files with identical names no longer causes one to replace another.

  • Public file links are now retained locally when a tab closes or a server cannot be reached, keeping those links visible and manageable afterward.

  • Calendar invitation state now loads completely. Invitations that were already accepted, declined or otherwise answered no longer return as pending because only part of the response history was available. Guest lists and attendance counts benefit from the same complete history.

  • A single unavailable attachment no longer blocks an entire calendar edit. Public links that have been removed are also cleaned from their associated events instead of remaining as dead attachments.

  • Lotus now has a working offline copy of the data used by Calendar, Drive and Scheduling. These areas can start from local data, including when there is no connection, instead of requiring a full network reload every time the app starts.

  • Group links created by compatible apps such as 0xchat can now appear as complete group cards with their name, description, picture and member information across chats, groups, threads and discussions.

  • Wallet connections can initialise before visiting the Wallet app, removing an unnecessary step before the first tip. A browser-wallet fallback is available as well.

  • Private voice messages now work with local transcription and waveform generation without being blocked by Lotus’s own content security rules.

  • Joined rooms no longer appear twice in the Groups sidebar.

  • Duplicate notifications are collapsed rather than stacking repeatedly, and connection messages now accurately describe whether an action will retry automatically.

  • Videos chosen through the media menu are sent as videos rather than images, and double-tapping a playing video to pause it no longer triggers a reply.

  • Active voice and video playback is protected from temporary-media cleanup, preventing audio from disappearing partway through playback.

Engineering Quality

  • More than 1,100 automated tests now protect Lotus.
    The test suite grew from 478 tests at the beginning of this release to more than 1,100.

    New coverage includes message editing and deletion, transcript synchronisation, calendar merging, deletion handling, offline data, storage limits, recent files, stale live broadcasts and many of the workflows introduced in v0.4.1.

  • Calendar now uses one shared attachment control across both event editors.

  • Invitation responses use one shared Yes / Maybe / No control across the different invitation views.

  • Scheduling and Forms now share the same save-state indicator.

  • Repeated storage-limit checks were consolidated into one implementation.

  • Five separate duration-formatting implementations now use one shared formatter.

  • Three separate group join controls were replaced by one shared component, also bringing the missing filter behaviour to Discussions.

  • The logic deciding which servers Lotus should query for different kinds of data now lives in one defined place rather than being duplicated across several features.

  • Data received from unknown senders is validated before Lotus trusts it. Malformed messages can no longer take down complete mail or chat lists, and public forms or booking pages cannot make browsers process arbitrary values without appropriate boundaries.

  • Limits introduced through security work are tied to real application boundaries, with tests confirming that the largest legitimate inputs remain accepted.

  • Test directories that were previously outside the active test configuration are now included in normal runs.

  • A function that could previously receive the wrong value while leaving the test suite green is now checked strongly enough to stop the build instead.

Technical Updates

  • Optional receipt email support for Lotus Pro.
    Checkout can now accept an optional email address for receipts and renewal reminders. The backend includes opt-out handling, bounce handling, last-contact tracking and the required database fields.

  • NIP-53 live video support.
    Live broadcasting now follows the published NIP-53 model, including scheduled broadcasts, lifecycle detection, multiple video URLs, refreshed preview images and live chat.

  • NIP-51 reading lists.
    Reading-list handling now follows the published NIP-51 structure for better interoperability across compatible Nostr applications.

  • Full NIP-52 calendar interoperability.
    Calendar support now covers timed and all-day events in both directions, including compatibility with the older field still used by some clients.

    Editing an older all-day event upgrades it cleanly, timed events keep the time zone in which they were created, and shared calendars can receive event suggestions while approvals remain in the account owner’s encrypted record.

  • NIP-A0 voice message metadata.
    Voice messages now publish their actual duration and waveform using the standard format, allowing compatible clients to render a useful voice-message preview without downloading the audio first.

  • Private transcript synchronisation.
    Transcripts are synchronised as a single encrypted record rather than publishing one identifiable entry per transcribed message.

    This prevents servers from learning which individual conversations you transcribe. Merge behaviour is covered by tests so devices with different transcript histories can converge on the same state.

  • Channels and Rooms groundwork.
    Lotus can now read group Channels and Rooms, with a rooms column on desktop and a swipe-out drawer on phones.

    Testing against the five servers currently shipped with Lotus showed that none retain the information required for this feature, so the interface explains the limitation and keeps the feature disabled until compatible server support is available.

  • Deletion uses the same reliable delivery path everywhere.
    All three stages of deletion now pass through the same local save-and-retry queue. A server reporting that an item is already deleted is treated as a successful outcome rather than another error.

  • More private file uploads.
    Private uploads no longer expose the original file name to the storage server alongside the account. The file name remains inside the encrypted record where Lotus already expects to find it.

  • Storage limits come from the server.
    Upload limits are now discovered from the selected storage server instead of relying on one hard-coded value. If a server rejects an upload, Lotus can show its actual reason.

  • Safer CSV exports.
    Booking and Forms exports now protect against spreadsheet formula injection using the same protection already used for Wallet and Billing exports.

  • Einundzwanzig meetup calendar integration.
    Accounts that have joined at least one Einundzwanzig meetup room can surface those meetups as a read-only community calendar.

    Accounts that have not joined a meetup room generate no additional traffic for the integration.

  • Release maintenance mode.
    The deployment process can now deliberately switch Lotus into maintenance mode during updates.

  • New public pages and language entry points.
    FAQ and Contact pages have been added together with German and Spanish web entry points.

  • Reusable test personas and communities.
    Development now includes a stable collection of test accounts with real profiles and seeded groups, making it easier to test complete workflows in a real browser without rebuilding temporary accounts for every run.

Contributors

Thanks to everyone who helped ship Lotus v0.4.1:

Community


Write a comment