Tutanota is an email service with a strong focus on security and privacy that lets you encrypt emails, contacts and calendar entries on all your devices.

Overview


Tutanota logo

  Tutanota makes encryption easy  

Tutanota is the secure email service with built-in end-to-end encryption that enables you to communicate securely with anyone on all your devices.

Web clientiOS App StoreDesktop Client

Building

See BUILDING.md.

Developing Tutanota

See HACKING.md.

Comments
  • android app battery hungry

    android app battery hungry

    Version 3.35.7 on CrDroid Nougat/Mi 4c. Tutanota: keep awake 21m 28s battery 10%

    K-9 Mail: keep awake 3m 55s battery 1%

    Same period of time (since last charge), about 18 hours. Kind of unacceptable if you ask me. Basically the app just checks with the server very often, no mail sent or received.

    improvement 
    opened by letkan 76
  • Provide a way to set sender name per email address

    Provide a way to set sender name per email address

    As a user i want to be able to configure a sender name per email alias so i don't expose my real name for any of my anonymous email addresses.

    Acceptance criteria

    • Allow to set a different name for every email alias and the main email address.
    • If there is no sender name configured for the used address, the sender name in the email should remain empty (no fallback).
    • Sender name is used when writing an email (new email, reply, forward)
    • Sender name is used in calendar invites/replies
    • Sender name is used in external notification emails
    • Sender name is stored encrypted with group key of the mailbox
    • Sender name can be modified by the owner (even if non-admin) of the mailbox that the email address is assigned to.
    • When creating a user the user name is also used as the sender name of the user's default email address
    • When an admin creates an alias for a user (or for themselves), the sender name for the alias can also be specified. The user name is shown in the text field by default.
    • When changing the user name or an email address name other names are not changed automatically (user name and email address names are independent)
    • Existing sender names are retained (main sender name and user group). All email addresses inherit the configured sender name.
    • Users can still log in with aliases

    Implementation hints

    • Introduce configuration object per email address (users mail address and email aliases) which holds the name in the first place and later can also have the signature and out of office notification.
    • Run a migration on the client that creates the config object and writes existing email addresses with name to it.
    • Currently, a non-admin user can't see their aliases or change their sender name. We need to show alias list to all users and not only admins so that they can change their sender name.

    GUI: Replace email alias table with new email address table/list were also the users main email address is listed. Show it also for non admin users. Allow specifying name but not activation/deactivation/deletion. One entry in the list should have two rows. First row shows email address, second row status and sender name were status is either "main address", "activated" or "deactivated"

    Tasks

    • [x] Design and change model
    • [x] Add client migration
    • [x] Add configuration UI to settings to configure the name per alias
    • [x] Allow non-admins to see mail aliases and configure the names for it
    • [x] Change the client to use the new model when sending mails/saving drafts
    • [x] Make sure that calendar invites include the right name
    • [x] Clarify with support/marketing that it behaves like expected
    • [x] Change UI for adding alias to allow configuring the name

    Test notes

    • [x] Test new model: release new tutadb without schema upgrade and without a new client, test that spam report preference can still be changed

    • [x] Test desktop client migration from the previous DB version

    Prepare an existing account with admin, local admin and at least two normal users

    • [x] Previously unmigrated account, log in, open mail editor. Sender name dropdown should pick up existing sender name
    • [x] Go to settings and change sender name for some mail addresses. It should now be used in mail editor
    • [x] Check that it is used in calendar event invites
    • [x] Check that it is used in external notification emails
    • [x] Check that you can add an alias with sender name, it should default to user name
    • [x] Check that you can still edit the user name and it doesn't change sender name
    • [x] Log in as a global admin, check that your own sender names can be changed via mail or user management settings
    • [x] Check that you can view and change previous user's sender names
    • [x] Check another user (user B) (who hasn't logged in yet). Should be able to do the same things
    • [x] Check that you can add an alias with sender name, it should default to user name
    • [x] Log in as a local admin. Check that you can also view and edit things for both users.
    • [x] Log in as user B, check that the settings by admins have been applied, you can view and edit sender names
    • [x] Check that mail address table shows primary mail address and email aliases and their statuses correctly
    • [x] Check that as non-admin you don't see how many aliases you can add nor you can add/remove aliases
    • [x] Check that number of available aliases is correctly updated when an alias is added
    • [x] Check that as an admin aliases can be enabled/disabled and the status is displayed correctly
    • [x] Check that whitelabel aliases can be deleted but not disabled
    new feature tested done model changes 
    opened by x80486 37
  • Keychain errors on Linux

    Keychain errors on Linux

    User reports:

    Error message: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.secrets was not provided by any .service files
    Stacktrace:
    Error: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.secrets was not provided by any .service files
    
    CancelledError
    Error message: user cancelled keychain unlock
    Stacktrace:
    CancelledError: user cancelled keychain unlock
    at /opt/tutanota-desktop/resources/app.asar/desktop/DesktopMain.js:13:318969
    at async Qc.fetchKey (/opt/tutanota-desktop/resources/app.asar/desktop/DesktopMain.js:13:652299)
    at async Qc.fetchOrGenerateKey (/opt/tutanota-desktop/resources/app.asar/desktop/DesktopMain.js:13:652124)
    

    Tumbleweed w/ GNOME:

    Stacktrace:
    Error: invalid mac
    at os (file:///app/lib/tutanota/resources/app.asar/worker.js:1:38652)
    at Wu.decrypt (file:///app/lib/tutanota/resources/app.asar/worker.js:12:130667)
    at file:///app/lib/tutanota/resources/app.asar/common-1f953fca.js:1:5590
    at C.handleMessage (file:///app/lib/tutanota/resources/app.asar/common-1f953fca.js:1:7598)
    at file:///app/lib/tutanota/resources/app.asar/common-1f953fca.js:1:6851
    at _worker.onmessage (file:///app/lib/tutanota/resources/app.asar/common-1f953fca.js:1:6431)
    

    Desktop (please complete the following information):

    • OS: Linux
    • Desktop Environment:
    • Version 3.91.9

    Additional context We started using keychain for credentials in 3.91.9

    Test notes

    • [x] Check invalidation (on Linux only):
      • To break the key:
        • Option 1: replace key in keychain
          • back up your key from seahorse
          • run such a script: import keytar from "keytar"; await keytar.setPassword("tutanota-credentials", "tutanota-credentials", "invalidKeyInKeychain")
        • Option 2: start the app, open dev tools, find stored credentials in localStorage, replace one character in encrypted password (but so that it's still base64)
        • Option 3: full way:
          • Remove .config and key in keychain
          • Install 3.91.6 and save credentials
          • Install 3.91.9
          • Lock keychain (e.g click lock in Seahorse)
          • Run 3.91.9, see the error
      • Update to the newest version
      • Credentials should be gone, should be able to log in now
    • [x] Regression: Upgrade from 3.91.6 with saved credentials, can still read them
      • [x] Linux
      • [x] Mac
    • [x] Regression: Upgrade form 3.91.9 with saved credentials, can still read them
      • [x] Linux
      • [x] Mac
    • [x] Regression: Start with the clean install: remove .config directory for the app, remove keys in keychain (make sure to back them up or do this in the VM). Add an account, log in. Lock keychain, restart, be able to log in
      • [x] Linux
      • [x] Mac
    • [x] Regression: Check cancellation for login: lock keychain, start the app, cancel prompt, see no error for credentials. Can attempt and succeed after that (with a new prompt)
      • [x] Linux
      • [x] Mac
    • [x] Regression (Linux): Check cancellation for device key: start the app, cancel prompt, see native message dialog about keychain
    bug desktop done 
    opened by charlag 33
  • Desktop client does not start without secret storage

    Desktop client does not start without secret storage

    Describe the bug Tutanot desktop client stopped working after the last update. I tried both AppImage, and the one on Flathub.

    [2 zypak-helper] Portal v4 is not available
    the monkey has been patched
    version:   3.82.17
    (node:2) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
    [2021-04-10T01:32:01.157Z] alarm storage failed to initialize: [Error: The name org.freedesktop.secrets was not provided by any .service files]
    [2021-04-10T01:32:01.161Z] Could not load config [Error: The name org.freedesktop.secrets was not provided by any .service files]
    libGL error: MESA-LOADER: failed to retrieve device information
    [10 zypak-sandbox] Dropping 0xf22250 (3) because of connection closed
    [10 zypak-sandbox] Host is gone, preparing to exit...
    [10 zypak-sandbox] Quitting Zygote...
    libGL error: Version 4 or later of flush extension not found
    libGL error: failed to load driver: i915
    

    Desktop (please complete the following information):

    • OS: KDE neon User Edition 5.21.4 (Ubuntu 20.04)
    • Desktop Environment, if applicable (on Linux): KDE Plasma DE 5.21.4
    • Version: 3.82.17
    bug tested desktop 
    opened by Ahmed-E-86 31
  • Not all apps recognise Tutanota as the default mailto application in windows

    Not all apps recognise Tutanota as the default mailto application in windows

    We register tutanota as the default mailto by setting the registry keys under HKEY_LOCAL_MACHINE > SOFTWARE > Clients > Mail, but there are other choices like HKEY_CURRENT_USER > SOFTWARE > Clients > Mail. It seems like not all apps check the same key, for example MS Word is always opening in MS Outlook

    Update

    We decided to change the approach because having two places where we can write registry keys leads to some problems (see #3787). Instead of deciding on HKEY_LOCAL_MACHINE vs HKEY_LOCAL_USER we will always use HKEY_LOCAL_USER to write registry keys (the only reason to not do that is for the admin to set mailto handler for all users but admin has other means to do that should they wish to).

    Acceptance criteria

    • [ ] Enabling integration in Tutanota settings writes Tutanota as available mailto:/MAPI handler for current user, it doesn't affect other users
      • [ ] per-user install
      • [ ] per-machine install
    • [ ] Disabling it removes Tutanota from default and removes Tutanota from the list of available mailto: handlers for current user, it doesn't affect other users
      • [ ] per-user install
      • [ ] per-machine install

    Testing

    Two users, A and B

    • [x] Install locally for A, set mailto handler
      • [x] mailto: for A is handled
      • [x] MAPI works for A
      • [x] user B is unaffected
    • [x] uninstall locally, install globally, run for A
      • [x] mailto: for A is handled
      • [x] MAPI works for A
      • [x] user B is unaffected
    • [x] Run as B, enable integration
      • [x] mailto: for A is handled
      • [x] MAPI works for A
      • [x] mailto: for B is handled
      • [x] MAPI works for B
    • [x] Setting default download folder (at least on one system)
    bug tested desktop done 
    opened by johnbotris 24
  • Some links from calendar invite disappears

    Some links from calendar invite disappears

    When receiving calendar invites with Zoom links for instance, the link disappears on the accepted and saved invite.

    Also update of event is not automatically applied, we should try that out.

    bug tested 
    opened by charlag 24
  • Linux Desktop Cllient is

    Linux Desktop Cllient is "too old and not supported any longer"

    I got this error message when trying to log in to the Desktop client

    image

    Normally it seems like the client updates automatically, so I searched for how to do it manually, found this blog post and then downloaded from https://mail.tutanota.com/desktop/tutanota-desktop-linux.AppImage and followed these instructions

    Same result

    opened by radumas 22
  • Webapp does not send mails

    Webapp does not send mails

    I am using the web application (https://mail.tutanota.com/mail/...) from a current Firefox.

    It often does not send messages. Currently it doesnt send any at all. It shows 'your message is being sent', but doesnt send it (it doesnt show up under 'sent'). These mails are unencrypted and dont contain images or other big media. My internet connection works, as i can visit other sites.

    Second, sometimes when i drag drop mails to usergenerated folders i have to reload the page, in order to see the changes.

    bug wontfix 
    opened by nilslindemann 19
  • Popup: Could not reach server, looks like you are offline. Please try again later.

    Popup: Could not reach server, looks like you are offline. Please try again later.

    • [x] This is not a feature request (existing functionality does not work, not missing functionality). I will request features on forum or via support.
    • [x] I've searched and did not find a similar issue.

    Bug in web app

    A popup with the following error message appears a lot, when opening messages, randomly:

    Could not reach server, looks like you are offline. Please try again later.

    Describe the bug

    It's kind of annoying, because each time I've got to click on the popup button to close it.

    It's not an issue from my connectivity, I'm connected to all kind of places without error.

    It might be a firefox extension, messing with some part of the code.

    To Reproduce Steps to reproduce the behavior:

    1. Go to Email panel
    2. Click on Email message
    3. Sometimes, often, a popup with Could not reach server, looks like you are offline. Please try again later. error appears.

    Expected behavior

    This popup should only appear when there's a real connectivity issue.

    Screenshots

    2020-03-30-155036_1920x1080_scrot

    Desktop (please complete the following information):

    • OS: Ubuntu 18.04
    • Browser Firefox 74
    • Version 3.69.2

    Additional context

    Could you tell me how I could debug it further ? I've seen there is a "send log" option in the about popup, what should I look inside of it to learn a bit more about what's happening ?

    bug tested 
    opened by alx 19
  • Migrate to TypeScript

    Migrate to TypeScript

    We want to migrate our typesystem from flow to TypeScript.

    • [x] oxmsg
    • [x] admin client
    • [x] web client
    • [x] client code generators
    • [x] use .ts file extension instead of .js, make sure that git history is preserved

    Test notes

    • [ ] General
      • [ ] UI react to resizing: switching between 3, 2 and 1 column
      • [ ] Websocket
        • [ ] Connects
        • [ ] Reconnects after offline and replays updates
        • [ ] Shows status as a stripe bar: not connected, reconnected progress, connected (no indicator)
        • [ ] Logging out works
      • [x] Suspension/retry-after
    • [ ] Login
      • [x] Can log in using password form, invalid password error is handled
      • [x] Can log in using saved credentials
      • [x] Can delete saved credentials
      • [x] Can recover password or second factor using recovery code
      • [ ] Second factor prompt works
        • [ ] #3789
        • [ ] 2FA
        • [x] with approval from another client
      • [x] Can approve another client for 2FA
    • [x] Signup
      • [x] /signup path works
      • [x] Checks checkboxes, password strength, existing account
      • [x] Can go back and forth between steps
      • [ ] link with /signup#subscription=premium&type=private&interval=12 preselects the option and skips the step
      • [ ] Payment works
        • [x] PayPal
        • [x] Credit card
        • [x] On account
        • [ ] Gift card
    • [x] Mail
      • [ ] Viewing mails, switching between mails, scrolling, opening details
        • [x] Deleting
        • [ ] Printing
        • [x] marking Read/unread
        • [x] Showing headers
      • [x] Marked as read automatically
      • [ ] Number of displayed attachments is limited (4 on desktop, 2 on mobile)
      • [x] Is possible to download attachments
        • [ ] Web
        • [x] iOS
        • [x] Android
      • [x] External content is blocked, it's possible to always show it for sender and undo it
      • [x] Inline images are loaded automatically
      • [x] Spam/phishing banners are displayed
      • [x] It is possible to report email as phishing/spam
      • [ ] Shortcuts work in mail and mail list, multiselect works
      • [x] It is possible to move emails
      • [x] It is possible to delete emails
      • [ ] It is possible to drag'n'drop emails into folders
      • [x] It is possible to clear spam folder, there's a message about auto clearing folder
      • [x] There is a message about empty mail folder
      • [x] Email counters are downloaded and updated
      • [x] Selected email/folder are remembered when switching between folders/views
      • [x] Sanitizing mail content works
      • [x] Adding spam rule from contact bubble
      • [x] Calendar invite banner in mail viewer
      • [x] Adding folders
      • [x] Renaming folders
      • [x] Deleting folders
      • [x] Editing mails
        • [x] Sanitizing works
        • [x] Detect internal/external recipients
        • [x] Can send internal emails
        • [x] Can send insecure external emails
        • [x] Can send secure external emails
          • [x] Password is stored with contact and loaded next time
        • [x] Plaintext/rich text mode
        • [x] Rich text actions: lists, bold, italic, links, inline image
        • [x] Inline images are carried over from the viewer
        • [x] External images are carried over from the viewer
        • [x] Other attachments are not carried over from the viewer when replying
          • [x] Carried over when forwarding
        • [x] No subject prompt
        • [x] Saving email
        • [x] Sending with attachments
        • [x] Minimizing
          • [ ] Saved
          • [ ] Can be closed
          • [ ] Can be stacked
        • [x] Reply all works
        • [x] Changing sender works
        • [x] Clicking on recipient bubbles works
          • [ ] edit contact
          • [ ] remove
        • [x] to, cc, bcc are used and populated from draft
    • [x] Contacts
      • [x] Viewing
        • [x] Names
        • [x] Birth date
        • [x] Email field and button
        • [x] Location field and button
        • [x] Social networks buttons
      • [ ] Export
      • [ ] Import
      • [x] Merging
      • [x] Sorting
      • [x] Editing
        • [x] Names
        • [x] Birthday
        • [x] Social
        • [x] Address
    • [ ] Settings
      • [x] Login settings
        • [x] Changing password
        • [x] Viewing/udpating recovery code
        • [x] Viewing/closing sessions
      • [ ] Mail settings
        • [ ] Default sender
        • [ ] Sender name
        • [ ] Signature
        • [ ] Default delivery
        • [ ] Create contacts
        • [ ] Report spam
          • [ ] The MailReportDialog is shown upon moving mail to spam (Always ask): https://github.com/tutao/tutanota/issues/3804
          • [ ] The SnackBar is shown upon moving mail to spam (Always).
        • [ ] Autoresponder
        • [ ] Activating/deactivating aliases
        • [ ] Adding/removing/editing inbox rules
        • [ ] Adding email notification: https://github.com/tutao/tutanota/issues/3802
        • [ ] Removing/deactivating push identifier: https://github.com/tutao/tutanota/issues/3802
      • [x] Appearance settings
        • [x] Language
        • [x] Theme (incl. whitelabel)
        • [x] Time format
        • [x] Week start
      • [ ] Desktop settings
        • [ ] Spelling checking (Win/Lin)
        • [ ] Mailto handler (Lin)
        • [ ] Run in background (Mac)
        • [ ] Run on startup
        • [ ] Default download path
        • [ ] Email export format
        • [ ] Desktop integration (Lin)
        • [ ] Automatic updates
          • [ ] Manual check
      • [ ] User settings
        • [ ] Viewing list
        • [ ] Adding user
        • [ ] Sender name
        • [ ] Password
        • [ ] Storage
        • [ ] Global admin
        • [ ] Local admin ("administered by")
        • [ ] Activate/deactivate
        • [ ] 2FA
        • [ ] Groups
        • [ ] Aliases
      • [ ] Groups settings
        • [ ] List
        • [ ] Adding group
        • [ ] Name
        • [ ] Admin
        • [ ] Activate/deactivate
        • [ ] Members
        • [ ] Administered groups
      • [ ] Global settings
        • [ ] Spam rules
          • [ ] Viewing
          • [ ] Adding
          • [ ] Deleting
          • [ ] Editing
          • [ ] Moving
        • [ ] Rejected list
        • [ ] Email domains:
          • [ ] Adding
            • [ ] DNS check #3803
            • [ ] Alias
          • [ ] Catch all
          • [ ] Delete
        • [ ] Security
          • [ ] Saving IPs
          • [ ] Enforce password update
          • [ ] Audit log is displayed
      • [ ] Whitelabel settings
        • [ ] Adding whitelabel
        • [ ] Removing whitelabel
        • [ ] Custom notification email
        • [ ] Custom colors
        • [ ] Custom logo
        • [ ] Meta tags and links
        • [ ] Verify on whitelabel domain
      • [ ] Contact form settings
        • [ ] Adding contact form
        • [ ] Editing contact form
        • [ ] Sending message via contact form
        • [ ] Replying to message sent via contact form
        • [ ] Viewing reply in the contact form
      • [ ] Subscription settings
        • [ ] Upgrade
        • [ ] Downgrade
        • [ ] Downloading agreement
        • [ ] #3792
        • [ ] Viewing gift cards
        • [ ] Using gift cards
        • [ ] Adding users
        • [ ] Adding storage
        • [ ] Adding aliases
        • [ ] Adding groups
        • [ ] Adding sharing
        • [ ] Adding contact forms
        • [ ] Deleting account
      • [ ] Payment settings
        • [ ] Changing payment method
        • [ ] Changing invoice data
        • [ ] Downloading invoices
      • [ ] Template settings
        • [ ] Adding languages
        • [ ] Viewing list
        • [ ] Using autocomplete for tempaltes
      • [ ] Knowledge base settings
      • [ ] Group invitations
        • [ ] Sending invitations
        • [ ] Viewing them
        • [ ] Accepting them
    • [ ] Calendar
      • [x] Month view
      • [x] Day view
      • [ ] Week view
      • [x] Agenda view
      • [x] Switching between dates
      • [x] Loading & Viewing events
        • [x] Single
        • [x] Repeated
        • [x] Long (2 weeks+)
      • [x] Seeing event changes after update
        • [x] Single
        • [x] Repeated
        • [x] Long (2 weeks+)
      • [ ] Import
      • [ ] Export
      • [x] Sharing
      • [x] Adding calendars
      • [x] Changing calendar details
      • [x] Deleting calendars
      • [x] Editing events
        • [x] New
        • [x] Existing
        • [x] Dates
        • [x] Times
        • [x] Repeating
        • [x] Calendars
        • [x] Invites
        • [x] In shared calendar
        • [x] Editing saved invites
        • [x] Changing attendance
    • [ ] Nav menu
      • [x] Invite
      • [ ] Upgrade
      • [x] FAQ search
      • [x] Keyboard shortcuts
      • [x] Gift Cards
    • [ ] Search
      • [x] Enabling search
      • [ ] Disabling search
      • [x] Searching mail
      • [x] Searching contacts
      • [x] Filtering mail by attributes
      • [x] Expanding search interval
      • [x] Updates after offline are applied
      • [x] Multiselect for mail
      • [x] Multiselect for contacts
      • [ ] quick search
      • [ ] User search
    improvement tested 
    opened by bedhub 18
  • Updating Windows app sometimes just uninstalls

    Updating Windows app sometimes just uninstalls

    Describe the bug Sometimes updating desktop app on Windows (didn't test other OSs) ends up only uninstalling and not installing new version.

    To Reproduce

    1. Click on update notification to restart
      • Or quit app after receiving update notification
    2. Uninstalls the app but doesn't install new version

    Expected behavior Install the new version :)

    Desktop

    • OS: Windows
    • Version: 3.57.3

    Additional context This happened at maybe around 3/4 of the updates in the last few months. But seems like sessions are stored so not completely uninstalled. After I install it manually with the latest installer, it just logs in as always.

    bug tested desktop 
    opened by iinfin 18
  • When downloading multiple attachments without an Internet connection, all attachments are tried one after the other

    When downloading multiple attachments without an Internet connection, all attachments are tried one after the other

    While offline and hitting "Save all" on an email, all attachments are downloaded after each other but will fail after 20 seconds. It's also a dev bug because since the newly introduced progress indication the whole UI will be blocked. For 3 attachments, the client can't be used anymore for at least 1 minute.

    To Reproduce Steps to reproduce the behavior:

    1. Log in to some account without that has emails with multiple attachments
    2. turn of internet
    3. click on "Save all"
    4. every 20 second a notification for unsuccessful download shows up
    5. with the new progress indication, the whole UI is blocked for the whole time

    Expected behavior The user should have an option to abort the downloading process or no attempt should be made to download the files if there is no internet connection (client is offline)

    bug dev bug 
    opened by nokhub 0
  • Uncaught Error: no range exists for tutanota/CalendarEventUpdate and list listId

    Uncaught Error: no range exists for tutanota/CalendarEventUpdate and list listId

    Happens on all native platforms since at least 3.100.0 (~10 reports):

    Client: android
    Type: FREE
    Tutanota version: 3.106.4
    Timestamp (UTC): Fri, 30 Dec 2022 22:40:48 GMT
    User agent:
    Mozilla/5.0 (Linux; Android 11; moto g(9) plus Build/RPAS31.Q2-59-17-4-3-9; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/108.0.5359.128 Mobile Safari/537.36
    Error
    Error message: no range exists for tutanota/CalendarEventUpdate and list MUTpwRc--c-2
    Stacktrace:
    Error: no range exists for tutanota/CalendarEventUpdate and list MUTpwRc--c-2
    at Zl.getIdsInRange (https://assets.tutanota.com/worker.js:12:155934)
    at async Ia.recalculateRangeRequest (https://assets.tutanota.com/worker.js:1:21421)
    at async Ia.extendFromWithinRange (https://assets.tutanota.com/worker.js:1:20230)
    at async Ia.loadRange (https://assets.tutanota.com/worker.js:1:19836)
    

    affected Instances don't really show a pattern:

    • CalendarEventUpdate
    • PushIdentifier
    • Contact
    • Mail
    • MailFolder
    • GroupInfo
    • UserAlarmInfo

    One user on ios 3.103.3 and later ios 3.104.5 added some info:

    Local data is out of sync due to system clock?

    I can’t use my account because it keeps saying my clock is not synced with your server clock. Please help!

    There's no message that references the system clock in tutanota, so I assume that's a system error message?

    bug desktop android ios offline 
    opened by ganthern 0
  • [ios] Fix offline-related crash

    [ios] Fix offline-related crash

    It seems like the reason for the crash in 4836 is concurrent access to the db pointer. When we run into the outdated credentials we close the db and it can happen while another operation is running. The crash was happening when get() would check that db is open and copy the db handle, the db would be closed in the meantime and then get() would fail when it would try to use the db. The only way to prevent this is to make all db usage serial and we achieve this by using actor. This probably impacts the performance because there can be no more concurrent calls but we believe that the impact is minimal in practice.

    fix #4836

    opened by charlag 0
  • Uncaught TypeError: Cannot read properties of undefined (reading 'stack')

    Uncaught TypeError: Cannot read properties of undefined (reading 'stack')

    Client: Browser
    Type: PREMIUM
    Tutanota version: 3.106.5
    Timestamp (UTC): Thu, 05 Jan 2023 12:47:44 GMT
    User agent:
    Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36
    TypeError
    Error message: Cannot read properties of undefined (reading 'stack')
    Stacktrace:
    TypeError: Cannot read properties of undefined (reading 'stack')
    at yt (https://mail.tutanota.com/app.js:1:80846)
    at https://mail.tutanota.com/app.js:1:119112
    
    bug not-testable done 
    opened by ganthern 0
Releases(tutanota-release-3.106.5)
  • tutanota-release-3.106.5(Jan 5, 2023)

    Bugfixes

    • Uncaught NotAuthorizedError on loading mail folders #4893
    • Navigation Buttons on CalendarView move around when using keyboard navigation #4810

    Milestone

    https://github.com/tutao/tutanota/milestone/242?closed=1

    Source code(tar.gz)
    Source code(zip)
  • tutanota-desktop-release-3.106.5(Jan 5, 2023)

    Bugfixes

    • Uncaught NotAuthorizedError on loading mail folders #4893
    • Navigation Buttons on CalendarView move around when using keyboard navigation #4810

    Milestone

    https://github.com/tutao/tutanota/milestone/242?closed=1

    Asset Checksums (SHA256)

    tutanota-desktop-linux.AppImage: 8ebabbde8110afbf1ecf9887e8176dfc1094db52bca8fbb4692c611dfa87019c

    tutanota-desktop-win.exe: 8db4bd558e4cab62a9f289519b8af6034420c931f597de43fd166c869030daac

    tutanota-desktop-mac.dmg: 12b33714f7c6b7d28fe2c597ef1bcdeba4672b84a0ba8c9aa12db2f176c09ef9

    Source code(tar.gz)
    Source code(zip)
    tutanota-desktop-linux.AppImage(105.83 MB)
    tutanota-desktop-mac.dmg(104.59 MB)
    tutanota-desktop-win.exe(76.08 MB)
  • tutanota-release-3.106.4(Dec 22, 2022)

    What's new

    • Create subfolders #4829
    • show minimized draft even for unchanged drafts #4396

    Bugfixes

    • Recovery code news item shows print button on mobile devices #4851
    • Some calendar items are not visible in month view #4847
    • Scrolling bugs in calendar #4846
    • It's not possible to change the sender name on shared mailboxes #4845
    • Search results do not appear when time frame is increased #4311

    Milestone

    https://github.com/tutao/tutanota/milestone/240?closed=1

    Source code(tar.gz)
    Source code(zip)
  • tutanota-ios-release-3.106.4(Dec 22, 2022)

    What's new

    • Create subfolders #4829
    • show minimized draft even for unchanged drafts #4396

    Bugfixes

    • Recovery code news item shows print button on mobile devices #4851
    • Some calendar items are not visible in month view #4847
    • Scrolling bugs in calendar #4846
    • It's not possible to change the sender name on shared mailboxes #4845
    • There is no error message when the shared attachment size exceeds the 25Mb limit #4833
    • Slow Login on Native Platforms #4723
    • Search results do not appear when time frame is increased #4311

    Milestone

    https://github.com/tutao/tutanota/milestone/240?closed=1

    Source code(tar.gz)
    Source code(zip)
  • tutanota-desktop-release-3.106.4(Dec 22, 2022)

    What's new

    • Create subfolders #4829
    • show minimized draft even for unchanged drafts #4396

    Bugfixes

    • Some calendar items are not visible in month view #4847
    • Scrolling bugs in calendar #4846
    • It's not possible to change the sender name on shared mailboxes #4845
    • Sign all unsigned dll files within the Windows desktop app #4830
    • Slow Login on Native Platforms #4723
    • Search results do not appear when time frame is increased #4311

    Milestone

    https://github.com/tutao/tutanota/milestone/240?closed=1

    Asset Checksums (SHA256)

    tutanota-desktop-3.106.4-unpacked-linux.tar.gz 454d89105b583a9c6a034d980ee07f578b7f659eb4f041c630fa70c553b3473e

    tutanota-desktop-linux.AppImage: 7b1942f94af8e6a8fc6308d29718ef62be76e7f66a4ce35e105770b0f5855cb1

    tutanota-desktop-win.exe: 7cd0fbb7db0c648bf6bcb14b81776feee7fb64df6a3fddaaedfdebcb24d353c2

    tutanota-desktop-mac.dmg: 15cf39369ba81c38a754e95f668eb45982e198827fa121712492adfe570dde43

    Source code(tar.gz)
    Source code(zip)
    tutanota-desktop-3.106.4-unpacked-linux.tar.gz(104.47 MB)
    tutanota-desktop-linux.AppImage(105.82 MB)
    tutanota-desktop-mac.dmg(104.59 MB)
    tutanota-desktop-win.exe(76.09 MB)
  • tutanota-android-release-3.106.4(Dec 22, 2022)

    What's new

    • catch error after failing to create mail editor from native. #4877
    • Create subfolders #4829
    • improve autofill #4499
    • show minimized draft even for unchanged drafts #4396

    Bugfixes

    • Crash when the shared attachment size exceeds the 25Mb limit #4874
    • Recovery code news item shows print button on mobile devices #4851
    • Some calendar items are not visible in month view #4847
    • Scrolling bugs in calendar #4846
    • It's not possible to change the sender name on shared mailboxes #4845
    • Slow Login on Native Platforms #4723
    • Search results do not appear when time frame is increased #4311
    • Autocorrect messes with input in email input field #3849

    Milestone

    https://github.com/tutao/tutanota/milestone/240?closed=1

    Asset Checksums (SHA256)

    tutanota-tutao-release-3.106.4.apk: 4e130547cbd5eaffa8f07649aa2541cbf0858217d4fa9177bd571cf3797dde03

    Source code(tar.gz)
    Source code(zip)
    tutanota-tutao-release-3.106.4.apk(16.17 MB)
  • tutanota-release-3.105.9(Dec 12, 2022)

    What's new

    • Improve button state display #4641

    Bugfixes

    • make news item take the dialog bg color #4819
    • Campaign discount not shown at signup #4796
    • In single-column mode settings subitems lists, using the browser back button on a details screen leads to an empty list #4731
    • Calendar: Recipients field hidden by auto suggestions #4725
    • mail that contains both external and inline images replaces the inline with a placeholder when "show external" is pressed #4712
    • Overlapping calendar events in day view #4702

    Milestone

    https://github.com/tutao/tutanota/milestone/237?closed=1

    Source code(tar.gz)
    Source code(zip)
  • tutanota-ios-release-3.105.9(Dec 12, 2022)

    What's new

    • Improve button state display #4641
    • Support FIDO U2F security key in iOS #2177
    • Add Tutanota as share option #556
    • increased minimum deployment target to iOS 14 according to our support policy

    Bugfixes

    • make news item take the dialog bg color #4819

    • Campaign discount not shown at signup #4796

    • Crash on iOS after failing login #4794

    • In single-column mode settings subitems lists, using the browser back button on a details screen leads to an empty list #4731

    • Calendar: Recipients field hidden by auto suggestions #4725

    • mail that contains both external and inline images replaces the inline with a placeholder when "show external" is pressed #4712

    • Overlapping calendar events in day view #4702

    Milestone

    https://github.com/tutao/tutanota/milestone/237?closed=1

    Source code(tar.gz)
    Source code(zip)
  • tutanota-desktop-release-3.105.9(Dec 12, 2022)

    What's new

    • Improve button state display #4641
    • Upgrade to Electron 22

    Bugfixes

    • make news item take the dialog bg color #4819
    • Campaign discount not shown at signup #4796
    • Can't register a U2F key without name #4740
    • In single-column mode settings subitems lists, using the browser back button on a details screen leads to an empty list #4731
    • Can't register a U2F key with a long name #4727
    • Calendar: Recipients field hidden by auto suggestions #4725
    • mail that contains both external and inline images replaces the inline with a placeholder when "show external" is pressed #4712
    • Overlapping calendar events in day view #4702
    • [macOS] Minimize option is shown twice #3855
    • Cmd+Scroll doesn't zoom in on mac desktop client #3739

    Milestone

    https://github.com/tutao/tutanota/milestone/237?closed=1

    Asset Checksums (SHA256)

    tutanota-desktop-linux.AppImage: 67728009fca919475bbf3b53153648782691867344c190001687fac6d9b6ba01

    tutanota-desktop-win.exe: 1065bcb5da45c542bd0577a76679fbfa0e78d9812aa56a53a8854281d09c5234

    tutanota-desktop-mac.dmg: 64f6f92178b656ef71fa22c5b1292aa08a90f872d4a00bf0d5df57e37f10866f

    Source code(tar.gz)
    Source code(zip)
    tutanota-desktop-3.105.9-unpacked-linux.tar.gz(104.79 MB)
    tutanota-desktop-linux.AppImage(106.16 MB)
    tutanota-desktop-mac.dmg(104.95 MB)
    tutanota-desktop-win.exe(76.33 MB)
  • tutanota-android-release-3.105.9(Dec 12, 2022)

    What's new

    • Improve button state display #4641
    • Support FIDO U2F security key in Android app #443

    Bugfixes

    • make news item take the dialog bg color #4819
    • Calendar event preview popup is not closed by android system back button #4809
    • Campaign discount not shown at signup #4796
    • In single-column mode settings subitems lists, using the browser back button on a details screen leads to an empty list #4731
    • Calendar: Recipients field hidden by auto suggestions #4725
    • mail that contains both external and inline images replaces the inline with a placeholder when "show external" is pressed #4712
    • Overlapping calendar events in day view #4702
    • Can't see reminders when editing calendar events #4544
    • Calendar reminder notifications do not give the day #3519

    Milestone

    https://github.com/tutao/tutanota/milestone/237?closed=1

    Asset Checksums (SHA256)

    tutanota-tutao-release-3.105.9.apk: a2d2695641d18d141489b59cab7ac9584efd9ace508196811e3d8ae4299ec755

    Source code(tar.gz)
    Source code(zip)
    tutanota-tutao-release-3.105.9.apk(16.16 MB)
  • tutanota-release-3.105.4(Dec 1, 2022)

  • tutanota-ios-release-3.105.4(Dec 1, 2022)

    What's new

    • Provide a way to set sender name per email address #516
    • Recovery code news item #4671
    • Synchronize subscription feature list with website #4670
    • Remove recovery code dialog from signup #4609

    Bugfixes

    • Race condition when trying to create MailboxProperties #4800
    • RemoteBridge concurrency bugs #4797

    Milestone

    https://github.com/tutao/tutanota/milestone/236?closed=1 https://github.com/tutao/tutanota/milestone/239?closed=1

    Source code(tar.gz)
    Source code(zip)
  • tutanota-desktop-release-3.105.4(Dec 1, 2022)

    Bugfixes

    • Race condition when trying to create MailboxProperties #4800

    Milestone

    https://github.com/tutao/tutanota/milestone/239?closed=1

    Asset Checksums (SHA256)

    tutanota-desktop-linux.AppImage: d6cc52633f6b9a9837e32d48f02bdf40db0db42f83e812257ad70c808292a533

    tutanota-desktop-win.exe: 0e49fe06a985344c0c046b64f592164ea793114ab9844092b321b59ff8a0a9af

    tutanota-desktop-mac.dmg: 73954a1058eae2e205075f88de6988cb6b6b78da29bdf6e3940aacc2c75f0c25

    Source code(tar.gz)
    Source code(zip)
    tutanota-desktop-linux.AppImage(95.71 MB)
    tutanota-desktop-mac.dmg(95.77 MB)
    tutanota-desktop-win.exe(70.80 MB)
  • tutanota-android-release-3.105.4(Dec 1, 2022)

  • tutanota-release-3.105.3(Nov 30, 2022)

    What's new

    • Provide a way to set sender name per email address #516
    • Update Electron #4780
    • Recovery code news item #4671
    • Synchronize subscription feature list with website #4670
    • Remove recovery code dialog from signup #4609

    Bugfixes

    • After successful reconnection, "Connection lost" is still displayed #4663

    Milestone

    https://github.com/tutao/tutanota/milestone/236?closed=1

    Source code(tar.gz)
    Source code(zip)
  • tutanota-desktop-release-3.105.3(Nov 30, 2022)

    What's new

    • Provide a way to set sender name per email address #516
    • Update Electron #4780
    • Recovery code news item #4671
    • Synchronize subscription feature list with website #4670
    • Remove recovery code dialog from signup #4609

    Bugfixes

    • After successful reconnection, "Connection lost" is still displayed #4663

    Milestone

    https://github.com/tutao/tutanota/milestone/236?closed=1

    Asset Checksums (SHA256)

    tutanota-desktop-linux.AppImage: 89eb63bde17aef9f64864ba63d7cbc512fd5038cb51b7899e34f1577570289fb

    tutanota-desktop-win.exe: 25d82bc2d4e2b33af786ada487676b306e9010059d43ed799e994895ad7c18f5

    tutanota-desktop-mac.dmg: 1f19e62815b232fe7fe4d5f3d9f33feebc96bcf8e88815c1bf525da807786b1b

    Source code(tar.gz)
    Source code(zip)
    tutanota-desktop-linux.AppImage(95.71 MB)
    tutanota-desktop-mac.dmg(95.77 MB)
    tutanota-desktop-win.exe(70.80 MB)
  • tutanota-android-release-3.105.3(Nov 30, 2022)

    What's new

    • Provide a way to set sender name per email address #516
    • Enable swipe to open the drawer menu on android devices with system (back) gestures activated #4758
    • Recovery code news item #4671
    • Synchronize subscription feature list with website #4670
    • Remove recovery code dialog from signup #4609

    Bugfixes

    • Android target API 31 #4767
    • After successful reconnection, "Connection lost" is still displayed #4663
    • android.app.RemoteServiceException: Context.startForegroundService() did not then call Service.startForeground() #1654

    Milestone

    https://github.com/tutao/tutanota/milestone/236?closed=1

    Asset Checksums (SHA256)

    tutanota-tutao-release-3.105.3.apk: 9af431320f4f19e698875d12ca6256a665940422fc1041cad2bb8f967e0dfee8

    Source code(tar.gz)
    Source code(zip)
    tutanota-tutao-release-3.105.3.apk(16.09 MB)
  • tutanota-release-3.104.5(Nov 15, 2022)

    What's new

    • Show multiple news items #4608

    Bugfixes

    • Retry blob uploads in case of a disk failure #4692
    • Select entry not possible in single column layout #4657

    Milestone

    https://github.com/tutao/tutanota/milestone/235?closed=1

    Source code(tar.gz)
    Source code(zip)
  • tutanota-ios-release-3.104.5(Nov 15, 2022)

    What's new

    • Show multiple news items #4608

    Bugfixes

    • Retry blob uploads in case of a disk failure #4692
    • Select entry not possible in single column layout #4657

    Milestone

    https://github.com/tutao/tutanota/milestone/235?closed=1

    Source code(tar.gz)
    Source code(zip)
  • tutanota-desktop-release-3.104.5(Nov 15, 2022)

    What's new

    • Show multiple news items #4608

    Bugfixes

    • Retry blob uploads in case of a disk failure #4692
    • Select entry not possible in single column layout #4657

    Milestone

    https://github.com/tutao/tutanota/milestone/235?closed=1

    Asset Checksums (SHA256)

    tutanota-desktop-linux.AppImage: 339a8d39c4c82ee5af2fa74e906f97a9a00403d4b39ca13b7fc6a3b85864368a

    tutanota-desktop-win.exe: 08febea2a222e2fa92ff5cfca2da09c696ce21110ee8c9f05b5671865aac0e1b

    tutanota-desktop-mac.dmg: a610779c23d5fe3841acd61401c8d848bd331800bff2acf6ef7db23014f14a7a

    Source code(tar.gz)
    Source code(zip)
    tutanota-desktop-3.104.5-unpacked-linux.tar.gz(94.27 MB)
    tutanota-desktop-linux.AppImage(95.52 MB)
    tutanota-desktop-mac.dmg(95.55 MB)
    tutanota-desktop-win.exe(70.70 MB)
  • tutanota-android-release-3.104.5(Nov 14, 2022)

    What's new

    • Show multiple news items #4608

    Bugfixes

    • Retry blob uploads in case of a disk failure #4692
    • Select entry not possible in single column layout #4657
    • System back button malfunction on Android (single-column) #4656
    • System back button malfunction on Android tablet #4649
    • search stops working after clicking a result and using system back button #4621

    Milestone

    https://github.com/tutao/tutanota/milestone/235?closed=1

    Asset Checksums (SHA256)

    tutanota-tutao-release-3.104.5.apk: 6457bfacb7e9b3a3296e0b210421137772532fc1dd1de482790add999dfdce23

    Source code(tar.gz)
    Source code(zip)
    tutanota-tutao-release-3.104.5.apk(16.05 MB)
  • tutanota-release-3.103.3(Nov 3, 2022)

    What's new

    • Show color of calendar in calendar event editor #4679

    Bugfixes

    • Partial loading banner in MailViewer has no margin #4701
    • Alarms are not unscheduled correctly #4676
    • Retry blob uploads in case of a disk failure #4692
    • Old links to external confidential Emails don't show an expiry notification #4184
    • Deleted group memberships not being handled by cache #2874

    Milestone

    https://github.com/tutao/tutanota/milestone/233?closed=1

    Source code(tar.gz)
    Source code(zip)
  • tutanota-ios-release-3.103.3(Nov 3, 2022)

    What's new

    • Show color of calendar in calendar event editor #4679
    • bump gossip model version for server issue 1187 #4629
    • Offline mode for ios application #4135

    Bugfixes

    • Partial loading banner in MailViewer has no margin #4701
    • Retry blob uploads in case of a disk failure #4692
    • Alarms are not unscheduled correctly #4676
    • Registration dropouts are measured for upgrades in the client #4632
    • Old links to external confidential Emails don't show an expiry notification #4184
    • Deleted group memberships not being handled by cache #2874

    Milestone

    https://github.com/tutao/tutanota/milestone/233?closed=1

    Source code(tar.gz)
    Source code(zip)
  • tutanota-desktop-release-3.103.3(Nov 3, 2022)

    What's new

    • Show color of calendar in calendar event editor #4679
    • update electron to 21.1.1 #4623

    Notes

    • Offline cache will be purged with this release to fix consistency issues

    Bugfixes

    • Partial loading banner in MailViewer has no margin #4701
    • Retry blob uploads in case of a disk failure #4692
    • some events are not displayed in the calendar when offline mode is active #4660
    • Old links to external confidential Emails don't show an expiry notification #4184
    • Deleted group memberships not being handled by cache #2874

    Milestone

    https://github.com/tutao/tutanota/milestone/233?closed=1

    Asset Checksums (SHA256)

    tutanota-desktop-linux.AppImage: 373747014cdecb8a3a499e7936df162236c4a12ca5b7515d1c9371182d192943

    tutanota-desktop-win.exe: d5d6aa02b7a2b6bfc88428e76281c243575312a7c2e4c0f448b4a8f2ddb78a94

    tutanota-desktop-mac.dmg: 35262337cfcad579cbbdea39dd76019a1861421b375296ba3f8ca4c2174802ca

    Source code(tar.gz)
    Source code(zip)
    tutanota-desktop-linux.AppImage(95.52 MB)
    tutanota-desktop-mac.dmg(95.53 MB)
    tutanota-desktop-win.exe(70.68 MB)
  • tutanota-android-release-3.103.3(Nov 3, 2022)

    What's new

    • Show color of calendar in calendar event editor #4679
    • bump gossip model version for server issue 1187 #4629

    Notes

    • Offline cache will be purged with this release to fix consistency issues

    Bugfixes

    • Partial loading banner in MailViewer has no margin #4701
    • Retry blob uploads in case of a disk failure #4692
    • Alarms are not unscheduled correctly #4676
    • some events are not displayed in the calendar when offline mode is active #4660
    • Registration dropouts are measured for upgrades in the client #4632
    • Old links to external confidential Emails don't show an expiry notification #4184
    • Deleted group memberships not being handled by cache #2874

    Milestone

    https://github.com/tutao/tutanota/milestone/233?closed=1

    Asset Checksums (SHA256)

    tutanota-tutao-release-3.103.3.apk: 315d33929ff33c740355be68bb8b15a5011a5828f21caabaf8a63f95c069141e

    Source code(tar.gz)
    Source code(zip)
    tutanota-tutao-release-3.103.3.apk(16.04 MB)
  • tutanota-release-3.102.3(Oct 11, 2022)

    What's new

    • Remove the invoice address field for private users #4602
    • Enable mail body compression #4573
    • Replace round action buttons #4292
    • Show recipient email address in mail viewer #4290

    Bugfixes

    • Audit log is not available for free accounts #4539

    Milestone

    https://github.com/tutao/tutanota/milestone/230?closed=1

    Source code(tar.gz)
    Source code(zip)
  • tutanota-ios-release-3.102.3(Oct 11, 2022)

    What's new

    • Remove the invoice address field for private users #4602
    • Enable mail body compression #4573
    • Replace round action buttons #4292
    • Show recipient email address in mail viewer #4290

    Bugfixes

    • privacy policy link doesn't work #4644
    • Audit log is not available for free accounts #4539

    Milestone

    https://github.com/tutao/tutanota/milestone/230?closed=1

    Source code(tar.gz)
    Source code(zip)
  • tutanota-desktop-release-3.102.3(Oct 11, 2022)

    What's new

    • Remove the invoice address field for private users #4602
    • Enable mail body compression #4573
    • Replace round action buttons #4292
    • Show recipient email address in mail viewer #4290

    Bugfixes

    • Audit log is not available for free accounts #4539

    Milestone

    https://github.com/tutao/tutanota/milestone/230?closed=1

    Asset Checksums (SHA256)

    tutanota-desktop-linux.AppImage: b603e92e10caf45819606cfbd7ab91df132fbeed61e1b2a79b14a12bdce58469

    tutanota-desktop-win.exe: cc88e04ddff5675692bbb15689fda21ca49dff0ef4c72fefc735238ed113ed3b

    tutanota-desktop-mac.dmg: f82cdced6fdc446b22e69f6431a4eb172ff33ee1ef6aa37858af5c9657e4c78b

    tutanota-desktop-3.102.3-unpacked-linux.tar.gz d950061d4a3b5cc8f35b0af1176de00f773ff85940c9e49fcc042bbf9d9c8aa9

    Source code(tar.gz)
    Source code(zip)
    tutanota-desktop-3.102.3-unpacked-linux.tar.gz(93.36 MB)
    tutanota-desktop-linux.AppImage(94.51 MB)
    tutanota-desktop-mac.dmg(94.69 MB)
    tutanota-desktop-win.exe(70.07 MB)
  • tutanota-android-release-3.102.3(Oct 11, 2022)

    What's new

    • Remove the invoice address field for private users #4602
    • Cleanup icon, add monochrome icon. #4588 Thanks for this one, @Sandelinos
    • Enable mail body compression #4573
    • Replace round action buttons #4292
    • Show recipient email address in mail viewer #4290

    Bugfixes

    • privacy policy link doesn't work #4644
    • Audit log is not available for free accounts #4539

    Milestone

    https://github.com/tutao/tutanota/milestone/230?closed=1

    Asset Checksums (SHA256)

    tutanota-tutao-release-3.102.3.apk: f3eab816f14101f9e201af3c9d0959efe88c5401a8d45e504e5b595a335fbca7

    Source code(tar.gz)
    Source code(zip)
    tutanota-tutao-release-3.102.3.apk(16.03 MB)
  • tutanota-release-3.101.1(Sep 23, 2022)

Maildroid is a small robust android library for sending emails using SMTP server

Maildroid ?? Maildroid is a small robust android library for sending emails using SMTP server ?? Key Features • Add to your project • Documentation •

Nedim 174 Dec 22, 2022
Strong-bax - An open source password manager project

What is strong-bax? Strong-bax is an open source password manager project. Stron

null 1 Feb 6, 2022
Crypto-candlestick-service - Crypto candlestick service Coding Challenge

Coding Challenge Your task is to build a system that enables users to view price

Moses Thomas 0 Feb 6, 2022
A Kotlin library to suggest misspelled email domain name

A Kotlin library to suggest misspelled email domain name

Stacrypt 1 Feb 26, 2022
Runtime Mobile Security (RMS) 📱🔥 - is a powerful web interface that helps you to manipulate Android and iOS Apps at Runtime

Runtime Mobile Security (RMS) ?? ?? by @mobilesecurity_ Runtime Mobile Security (RMS), powered by FRIDA, is a powerful web interface that helps you to

Mobile Security 2k Dec 20, 2022
Android Ptrace Inject for all ABIs and all APIs. Help you inject Shared Library on Android.

Android Ptrace Inject 中文可以参考我的注释内容进行理解 我写的注释相对来说比较全面了 How to build Make sure you have CMake and Ninja in your PATH Edit CMakeLists.txt. Set ANDROID_ND

SsageParuders 65 Dec 19, 2022
Workout Journal is a mobile app based on Multi-Module and Clean Architecture for those who want to track their progress over a workout and a calendar period.

Workout-Journal Workout Journal is a mobile app for those who want to track their progress over a workout and a calendar period. The app allows you to

Maxim Smolyakov 4 Oct 23, 2022
A beautiful material calendar with endless scroll, range selection and a lot more!

CrunchyCalendar A light, powerful and easy to use Calendar Widget with a number out of the box features: Infinite vertical scrolling in both direction

CleverPumpkin 483 Dec 25, 2022
Modern Calendar View Supporting Both Hijri and Gregorian Calendars but in highly dynamic way

KCalendar-View Modern calendar view supporting both Hijri and Gregorian calendar

Ahmed Ibrahim 8 Oct 29, 2022
A highly customizable calendar library for Android, powered by RecyclerView.

CalendarView A highly customizable calendar library for Android, powered by RecyclerView. With this library, your calendar will look however you want

Kizito Nwose 3.4k Jan 3, 2023
Android calendar library provides easy to use widget with events

Kotlin-AgendaCalendarView Kotlin-AgendaCalendarView based on AgendaCalendarView Kotlin-AgendaCalendarView is a awesome calendar widget with a list of

Ognev Zair 88 Nov 21, 2022
Koin Annotations - help declare Koin definition in a very fast and intuitive way, and generate all underlying Koin DSL for you

The goal of Koin Annotations project is to help declare Koin definition in a very fast and intuitive way, and generate all underlying Koin DSL for you. The goal is to help developer experience to scale and go fast ?? , thanks to Kotlin Compilers.

insert-koin.io 68 Jan 6, 2023
A nice weather that helps you get all information including: current weather, hourly weather and also forecasts for 16 days

WeatherForecast This is an ongoing project where I fetch all the weather data using Retrofit and Kotlin Coroutines over two APIs containing both curre

null 2 Jul 26, 2022
👋 A common toolkit (utils) ⚒️ built to help you further reduce Kotlin boilerplate code and improve development efficiency. Do you think 'kotlin-stdlib' or 'android-ktx' is not sweet enough? You need this! 🍭

Toolkit [ ?? Work in progress ⛏ ?? ??️ ?? ] Snapshot version: repositories { maven("https://s01.oss.sonatype.org/content/repositories/snapshots") }

凛 35 Jul 23, 2022
Dots indicator that shows the current position on a View Pager. It does all the work for you with a few customisations.

Dots What is Dots? Dots is a library that helps in implementing a simple yet effective dots indicator for the View Pagers used in your android code. I

Deepan 23 Feb 16, 2022
Simple(vanilla) yet 'Do it all' place picker for your place picking needs in Android

Vanilla Place Picker Vanilla Place Picker provides a UI that displays an interactive map to get the place details and Autocomplete functionality, whic

MindInventory 115 Dec 21, 2022
Automatically empty the trash in all of your Plex libraries

Plex Auto Trash Automatically empty the trash in all of your Plex libraries. If you disable automatic trash emptying (and you probably should) trash s

Jake Wharton 25 Aug 11, 2022
Link-converter - A web service that converts links between web url and deeplink for mobile and web applications

Deep Link Converter Linkleri, mobil ve web uygulamaları için web url ile deeplin

Muhammed Eren DURSUN 2 Apr 9, 2022
Location Service Manager for Kotlin Multiplatform Mobile iOS and android

Location Service Manager for Kotlin Multiplatform Mobile iOS and android Features Provides simple permission settings Dramatically reduce the amount o

LINE 55 Dec 10, 2022