profile
viewpoint
Ivan Kupalov charlag @tutao Germany https://charlag.space FP monk. / Regarding Tutanota-related questions please write to ivk@tutao.de. I might not answer from my personal email.

alin-rautoiu/mastodroid 13

An android client for the Mastodon social network.

charlag/RxLoginScreenTurorial 8

Partial login screen implementation using RxDataSources

charlag/ReduktTodoSample 7

Sample project demonstrating state and side effects managements

charlag/Kielet 1

Example app using Yandex translation API

charlag/asm_lab1 0

My GAS solution of assembler exercise in university.

charlag/compiler-workout 0

Supplementary repository for compiler course

charlag/coursework 0

Coursework

charlag/flow-js2-mode 0

Support for flow for js2-mode

push eventtutao/tutanota

ivk

commit sha 2528d832eeeca7a1399b3a86017131bd7b7e27ad

Download attachments sequentially, close #2279

view details

push time in 4 days

issue closedtutao/tutanota

Download files sequentially

Currently files are downloaded with concurrency 5 on desktop. It makes it easier to run into rate limits.

closed time in 4 days

charlag

issue openedtutao/tutanota

Download files sequentially

Currently files are downloaded with concurrency 5 on desktop. It makes it easier to run into rate limits.

created time in 4 days

push eventtutao/tutanota

arm

commit sha 21f7674b4a74af8f3b9bf9be6e688a9b14a2d927

Load data sequentially when receiveing EntityEventBatches, closes #2264

view details

push time in 4 days

issue closedtutao/tutanota

Handle EntityEventBatches sequentially

EntityEventBatches should only trigger sequential loading of data to avoid too many parallel server requests.

closed time in 4 days

armhub

push eventtutao/tutanota

arm

commit sha 21f7674b4a74af8f3b9bf9be6e688a9b14a2d927

Load data sequentially when receiveing EntityEventBatches, closes #2264

view details

push time in 4 days

push eventtutao/tutanota

nig

commit sha 35e77b6707a783235d19e1101e1447eefc681880

[desktop] disable update download requests with multiple byte ranges close #2186

view details

nig

commit sha 6e50d1ae1c37d6cc872cb44aaa5dd2de8389ec56

[desktop] add Ctrl+0 / Cmd+0 Shortcut to reset the zoom factor to 100% close #2199

view details

vaf

commit sha 60ad39c898a17a695b1b558af0a5b2a0bc22ad43

fix mailEditor in native, fixes #2221

view details

arm

commit sha f0db11fd345f8ee5509a383a18ab1420392c1a54

Load data sequentially when receiveing EntityEventBatches, closes #2264

view details

ivk

commit sha 1047efc148594abe0a312caca25158a458ee87cc

Formatting

view details

push time in 4 days

push eventtutao/tutanota

vaf

commit sha 60ad39c898a17a695b1b558af0a5b2a0bc22ad43

fix mailEditor in native, fixes #2221

view details

push time in 4 days

delete branch tutao/tutanota

delete branch : fix-mailEditor-in-native

delete time in 4 days

issue closedtutao/tutanota

Creating MailEditor from native fails

MailModel is now on the locator

Client: linux
Tutanota version: 3.76.6
User agent:
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) tutanota-desktop/3.76.6 Chrome/83.0.4103.119 Electron/9.0.5 Safari/537.36
TypeError
Error message: Cannot read property 'getUserMailboxDetails' of undefined
Stacktrace:
TypeError: Cannot read property 'getUserMailboxDetails' of undefined
  at getUserMailboxDetails (../../src/native/NativeWrapperCommands.js:17:27)
  [original] at a (../../../../home/sim/file:///tmp/.mount_tutanoWRT4HY/resources/app.asar/libs.js:26:74251)
  [original] at R._settlePromiseFromHandler (../../../../home/sim/file:///tmp/.mount_tutanoWRT4HY/resources/app.asar/libs.js:26:47248)
  [original] at R._settlePromise (../../../../home/sim/file:///tmp/.mount_tutanoWRT4HY/resources/app.asar/libs.js:26:48048)
  [original] at R._settlePromise0 (../../../../home/sim/file:///tmp/.mount_tutanoWRT4HY/resources/app.asar/libs.js:26:48747)
  [original] at R._settlePromises (../../../../home/sim/file:///tmp/.mount_tutanoWRT4HY/resources/app.asar/libs.js:26:50099)
  [original] at c (../../../../home/sim/file:///tmp/.mount_tutanoWRT4HY/resources/app.asar/libs.js:26:1413)
  [original] at a (../../../../home/sim/file:///tmp/.mount_tutanoWRT4HY/resources/app.asar/libs.js:26:1352)
  [original] at s._drainQueues (../../../../home/sim/file:///tmp/.mount_tutanoWRT4HY/resources/app.asar/libs.js:26:2474)
  [original] at drainQueues (../../../../home/sim/file:///tmp/.mount_tutanoWRT4HY/resources/app.asar/libs.js:26:1286)

closed time in 4 days

charlag

PR merged tutao/tutanota

fix mailEditor in native, fixes #2221

fixes #2221

+3 -3

0 comment

1 changed file

vaf-hub

pr closed time in 4 days

PullRequestReviewEvent

push eventtutao/tutanota

nig

commit sha 6e50d1ae1c37d6cc872cb44aaa5dd2de8389ec56

[desktop] add Ctrl+0 / Cmd+0 Shortcut to reset the zoom factor to 100% close #2199

view details

push time in 4 days

delete branch tutao/tutanota

delete branch : 2199-desktop-reset-zoom-factor

delete time in 4 days

PR merged tutao/tutanota

Reviewers
[desktop] add Ctrl+0 / Cmd+0 Shortcut to reset the zoom factor to 100%

using Keys["0"] instead of Keys.ZERO as would be consistent since the property name is used to construct the accelerator string for localshortcut in the main thread.

An alternative would be to provide a second map that maps the number names to number characters for the registerShortcuts function.

close #2199

+13 -5

0 comment

7 changed files

ganthern

pr closed time in 4 days

PullRequestReviewEvent

delete branch tutao/tutanota

delete branch : 2186-stalling-diff-downloads

delete time in 4 days

push eventtutao/tutanota

nig

commit sha 35e77b6707a783235d19e1101e1447eefc681880

[desktop] disable update download requests with multiple byte ranges close #2186

view details

push time in 4 days

PullRequestReviewEvent

push eventtutao/tutanota

ivk

commit sha a9c587557ec42fc6bfed3659e07e87f3ac2baf5b

Formatting

view details

push time in 4 days

push eventtutao/tutanota

nig

commit sha 29050d77a181bce5a34b9464047ec98344a5abeb

[desktop] set spellchecker default to off close #2248

view details

push time in 4 days

delete branch tutao/tutanota

delete branch : 2248-spellcheck-default-off

delete time in 4 days

PR merged tutao/tutanota

Reviewers
[desktop] set spellchecker default to off

close #2248

+4 -2

0 comment

2 changed files

ganthern

pr closed time in 4 days

issue closedtutao/tutanota

Set spellchecker default to "disabled"

Currently, the pull request for proper spellchecking is held up, but electron started to enable spellchecking by default. This is not configurable and annoying to people with certain language combinations.

closed time in 4 days

ganthern
PullRequestReviewEvent

issue closedtutao/tutanota

My web browser is not allowing my to even load the page.

This has happened multiple times. I am connected to the internet and can access anything my heart desires EXCEPT tutanota. It says it cannot find the IP address of Tutanota. Anybody else have this issue?

closed time in 5 days

notsars10

issue commenttutao/tutanota

My web browser is not allowing my to even load the page.

This was downtime indeed, please see blog for more info

notsars10

comment created time in 5 days

pull request commenttutao/tutanota

correct typo in HACKING.md

Thanks!

4elta

comment created time in 5 days

push eventtutao/tutanota

delta

commit sha e00ec783ac05963b3bdd21c86f76d7b8e9f99cd7

correct typo in HACKING.md

view details

push time in 5 days

PR merged tutao/tutanota

correct typo in HACKING.md

keep up the good work!

+1 -1

0 comment

1 changed file

4elta

pr closed time in 5 days

Pull request review commenttuskyapp/Tusky

Fix some of the StrictMode violations

 class AccountManager @Inject constructor(db: AppDatabase) {     private val accountDao: AccountDao = db.accountDao()      init {-        accounts = accountDao.loadAll().toMutableList()--        activeAccount = accounts.find { acc ->-            acc.isActive-        }+        val disposable = accountDao.loadAll()

I think the app start is the most painful place regarding blocking right now but I agree that we need to change other places then to expect it async. Should I do it or should we split it into a separate PR?

charlag

comment created time in 6 days

PullRequestReviewEvent

push eventtuskyapp/Tusky

charlag

commit sha 044b6404daf89ef1ba0f20f61bb534250c7bd8af

Apply some of the suggestions

view details

push time in 6 days

Pull request review commenttuskyapp/Tusky

Improve notifications fetching

+package com.keylesspalace.tusky.components.notifications++import android.util.Log+import com.keylesspalace.tusky.db.AccountEntity+import com.keylesspalace.tusky.db.AccountManager+import com.keylesspalace.tusky.entity.Marker+import com.keylesspalace.tusky.entity.Notification+import com.keylesspalace.tusky.network.MastodonApi+import com.keylesspalace.tusky.util.isLessThan+import javax.inject.Inject++class NotificationFetcher @Inject constructor(+        private val mastodonApi: MastodonApi,+        private val accountManager: AccountManager,+        private val notifier: Notifier+) {+    fun fetchAndShow() {+        val accountList = accountManager.getAllAccountsOrderedByActive()+        for (account in accountList) {+            if (account.notificationsEnabled) {+                try {+                    val notifications = fetchNotifications(account)+                    notifications.forEachIndexed { index, notification ->+                        notifier.show(notification, account, index == 0)+                    }+                    accountManager.saveAccount(account)+                } catch (e: Exception) {+                    Log.w(TAG, "Error while fetching notifications", e)+                }+            }+        }+    }++    private fun fetchNotifications(account: AccountEntity): MutableList<Notification> {+        val authHeader = String.format("Bearer %s", account.accessToken)+        // We fetch marker to not load/show notifications which user has already seen+        val marker = fetchMarker(authHeader, account)+        if (marker != null && account.lastNotificationId.isLessThan(marker.lastReadId)) {+            account.lastNotificationId = marker.lastReadId+        }+        Log.d(TAG, "getting Notifications for " + account.fullName)+        val notifications = mastodonApi.notificationsWithAuth(+                authHeader,+                account.domain,+                account.lastNotificationId+        ).blockingGet()++        val newId = account.lastNotificationId+        var newestId = ""+        val result = mutableListOf<Notification>()+        for (notification in notifications.reversed()) {

Same here, it saves newestId rather impurely. I can rewrite it into filter() and then max() but idk if it will be more clear.

charlag

comment created time in 6 days

PullRequestReviewEvent

Pull request review commenttuskyapp/Tusky

Improve notifications fetching

+package com.keylesspalace.tusky.components.notifications++import android.util.Log+import com.keylesspalace.tusky.db.AccountEntity+import com.keylesspalace.tusky.db.AccountManager+import com.keylesspalace.tusky.entity.Marker+import com.keylesspalace.tusky.entity.Notification+import com.keylesspalace.tusky.network.MastodonApi+import com.keylesspalace.tusky.util.isLessThan+import javax.inject.Inject++class NotificationFetcher @Inject constructor(+        private val mastodonApi: MastodonApi,+        private val accountManager: AccountManager,+        private val notifier: Notifier+) {+    fun fetchAndShow() {+        val accountList = accountManager.getAllAccountsOrderedByActive()

I don't mind inlining the variable but I like native loops more than forEach() if I'm doing something imperative like here.

charlag

comment created time in 6 days

PullRequestReviewEvent

push eventtutao/tutanota

ivk

commit sha d2f50078cba6ebe8ac6a0275768c642217a53bfe

add export compliance property for ios

view details

push time in 8 days

created tagtutao/tutanota

tagtutanota-ios-release-3.76.9

Tutanota is an email client with a strong focus on security and privacy that lets you encrypt emails on all your devices.

created time in 8 days

delete branch tutao/tutanota

delete branch : desktop-settings-fixes

delete time in 9 days

push eventtutao/tutanota

ivk

commit sha f80a1ab41d869555e288c472e2290dbbd9ddf005

Fix triggering dropdown when click links in help label, fix #2238

view details

ivk

commit sha 6349027813863f355b855d03592d4c406cf087e2

Fix update info not redrawing, fix #2151

view details

push time in 9 days

issue closedtutao/tutanota

Add more information about updates to desktop settings

  • show if there's an update ready to be installed
  • add "check for update now" button

closed time in 9 days

ganthern

PR merged tutao/tutanota

Reviewers
Desktop settings fixes
+3 -2

0 comment

2 changed files

charlag

pr closed time in 9 days

issue closedtutao/tutanota

DropdownSelectorN onClick called when clicking on the helpLabel

The helpLabel itself can contain interactive elements like links, so clicking it shouldn't open the dropdown.

closed time in 9 days

ganthern

push eventtutao/tutanota

jom

commit sha 85816aa83a91fc049875a820301ca87a2aac8af5

fix checking of JSONObject membership

view details

jom

commit sha cf6bd779b581c9d89414a0e440da48872e72152d

fix deleting session

view details

nig

commit sha d49dd7d398d5e1ad41d50adade812028738f7918

[admin] update config calls and allow null as updater

view details

ivk

commit sha f80a1ab41d869555e288c472e2290dbbd9ddf005

Fix triggering dropdown when click links in help label, fix #2238

view details

ivk

commit sha 6349027813863f355b855d03592d4c406cf087e2

Fix update info not redrawing, fix #2151

view details

push time in 9 days

PR opened tutao/tutanota

Reviewers
Desktop settings fixes
+3 -2

0 comment

2 changed files

pr created time in 9 days

create barnchtutao/tutanota

branch : desktop-settings-fixes

created branch time in 9 days

IssuesEvent

issue commenttutao/tutanota

Add more information about updates to desktop settings

Both checking for update and clicking faq for tray trigger dropdown which is #2238 Also checking for update is missing a redraw for when it's finished

ganthern

comment created time in 9 days

push eventtutao/tutanota

ivk

commit sha 491255e2f4acdcdad7f8254f65c2a14d3215e2f0

Group entities for loading in search result, close #2267

view details

push time in 9 days

issue closedtutao/tutanota

Group entities for loading in search result

Do not load entities one by one, group them by list

closed time in 9 days

charlag

issue openedtutao/tutanota

Group entities for loading in search result

Do not load entities one by one, group them by list

created time in 9 days

issue openedtutao/tutanota

Avoid sending preflight requests

Apps currently send preflight request because local file URL and API URL disparity falls under CORS. We would like to avoid sending them as it is unncecessary slowdown for the apps.

One way to do it is to intercept requests from WebView.

created time in 10 days

push eventtutao/tutanota

ivk

commit sha 75cc8e4042738148c7c90d4d3849bbfa19be49bd

Fix unnecessary focus for admin client

view details

push time in 10 days

delete branch tutao/tutanota

delete branch : fix-admin-config

delete time in 10 days

PR merged tutao/tutanota

[admin] allow null as updater for IPC
+14 -8

0 comment

1 changed file

ganthern

pr closed time in 10 days

push eventtutao/tutanota

nig

commit sha 71142ce8fe02644ec0fe840bf29a4729afa36a38

[admin] update config calls and allow null as updater

view details

push time in 10 days

push eventtutao/tutanota

arm

commit sha 188384f5dcf0824d1001b94b138be6093e42b083

EntityEvent batch request improvements

view details

arm

commit sha 49238c8a3951290d0e7c99cd05254f97c633b816

EntityEvent batch request improvements

view details

nig

commit sha 71142ce8fe02644ec0fe840bf29a4729afa36a38

[admin] update config calls and allow null as updater

view details

push time in 10 days

push eventtutao/tutanota

ivk

commit sha 3d509b97b7a6efeecf77b7566c6dfac84d1e05e1

handling retry-after header on ios, server issue 606

view details

push time in 11 days

push eventtutao/tutanota

ivk

commit sha ab94ace19582c4e47024bd0bd4db6d023a8ffad2

handling suspension time header on ios, server issue 606

view details

push time in 16 days

issue commenttutao/tutanota

Date Picker Agenda View Not Working

Hi, thanks for the report May I ask if you could click elsewhere after picking the date and before clicking on date picker again? I believe that it's bug in iOS where it doesn't upate the picker if you click on it again.

bobmatyas

comment created time in 17 days

issue commenttutao/tutanota

Duplicated contacts in suggestion dialog

It is a separate issue if the word is in both name/email address or coming from search and native parts

sarashub

comment created time in 18 days

issue commenttutao/tutanota

DropdownSelectorN onClick called when clicking on the helpLabel

It's a problem if there's a link/button in a help label (like for new desktop client button to check for updates)

ganthern

comment created time in 18 days

PullRequestReviewEvent

Pull request review commenttuskyapp/Tusky

Fix some of the StrictMode violations

 class TuskyApplication : Application(), HasAndroidInjector {      @Inject     lateinit var androidInjector: DispatchingAndroidInjector<Any>+     @Inject-    lateinit var notificationWorkerFactory: NotificationWorkerFactory+    lateinit var notificationWorkerFactory: Lazy<NotificationWorkerFactory>      override fun onCreate() {-+        // Uncomment me to get StrictMode violation logs

we get spam because of the SharedPreferences/Conscrypt so I don't know

charlag

comment created time in 20 days

PullRequestReviewEvent

Pull request review commenttuskyapp/Tusky

Fix some of the StrictMode violations

 class AccountManager @Inject constructor(db: AppDatabase) {     private val accountDao: AccountDao = db.accountDao()      init {-        accounts = accountDao.loadAll().toMutableList()--        activeAccount = accounts.find { acc ->-            acc.isActive-        }+        val disposable = accountDao.loadAll()

Hm yeah we should make it wait for this probably.

charlag

comment created time in 20 days

PullRequestReviewEvent

PR opened tuskyapp/Tusky

Reviewers
Fix some of the StrictMode violations

Mostly it's disk reads/writes. I fixed those for AccountManager which are reported at startup.

Conscrypt reads own version on startup which reads from disk multiple times. There's no solution for it right now.

SharedPreferences which are used in BaseActivity also read from disk and pretty early but it shouldn't be a problem.

+51 -24

0 comment

4 changed files

pr created time in 20 days

create barnchtuskyapp/Tusky

branch : strictmode

created branch time in 20 days

issue commentgoogle/conscrypt

Reading properties by `getResourceAsStream` is really slow on Android

Hi! Thanks for working on Conscrypt. I was checking StrictMode violations in Tusky and I noticed that on startup we read from disk a lot because we insert Conscrypt provider. I'm not familiar with Conscrypt internals at all but on the first glance it seems like reading of the version can be lazy? Please correct me if I'm wrong.

hqzxzwb

comment created time in 20 days

PR opened tuskyapp/Tusky

Reviewers
Improve notifications fetching
  • Only fetch notifications up to the latest fetched one
  • Use timeline markers to avoid showing already seen notifications

I extracted NotificationsFetcher to test notifications more easily: both manually (to not wait 15 minutes) and with unit tests. I didn't add unit tests yet but I extracted Notifier to do it more easily.

I tried out and vanilla Mastodon client updates markers for notifications on opening the client. Doesn't seem like it changes markers with websocket updates so I think it's pretty safe to skip notifications which should already have been seen.

+152 -66

0 comment

7 changed files

pr created time in 20 days

push eventtuskyapp/Tusky

charlag

commit sha c470c4a94d7da6427b50a844f64641f05472cf21

Improve notifications fetching - Only fetch notifications up to the latest fetched one - Use timeline markers to avoid showing already seen notifications

view details

push time in 20 days

create barnchtuskyapp/Tusky

branch : notifications_fetch_improvements

created branch time in 20 days

PullRequestReviewEvent

issue closedtutao/tutanota

make a tutanota client port for kaios

Tutanota should make a client for kai os as the user base is growing pretty fast and it would be nice to have a client for it.

closed time in 23 days

epicodertime

issue commenttutao/tutanota

make a tutanota client port for kaios

Hi! As stated in README and issue templates, we don't accept feature requests here in order to keep the repository manageable. Please see the forum or contact pages. Thanks for understanding.

KaiOS just uses old Firefox as an engine so web should work absolutely fine there. If anyone is interested in packaging it for KaiOS, godspeed.

epicodertime

comment created time in 23 days

Pull request review commenttutao/tutanota

[desktop] add manual update controls to desktop settings

 export class ElectronUpdater { 		this._updatePollInterval = null 	} -	_checkUpdate(): void {-		autoUpdater-			.checkForUpdates()-			.catch((e: Error) => {-				this._logger.error("Update check failed,", e.message)-			})+	/**+	 * try to get the update:+	 * check update availability,+	 * check signatures+	 * try to download+	 *+	 * if the signature check is successful, further handling of the update+	 * will be done by the 'update-downloaded' callback set up in the constructor+	 * @returns {Promise} true if an update was downloaded, false otherwise+	 */+	_checkUpdate(): Promise<boolean> {+		return new Promise(resolve => {+			let cleanup = hasUpdate => {+				cleanup = hasUpdate => {}+				resolve(hasUpdate)+				autoUpdater.removeListener('update-not-available', updateNotAvailable)+				autoUpdater.removeListener('update-downloaded', updateDownloaded)+				autoUpdater.removeListener('error', updateNotAvailable)+			}+			const updateNotAvailable = () => cleanup(false)+			const updateDownloaded = () => cleanup(true)+			autoUpdater+				.checkForUpdates()+				.catch((e: Error) => {+					this._logger.error("Update check failed,", e.message)+					cleanup(false)+				})++			autoUpdater.once('update-not-available', updateNotAvailable)+			           .once('update-downloaded', updateDownloaded)+			           .once('error', updateNotAvailable)+		})+	}++	/**+	 * check for update if none is currently available,+	 * quit and install otherwise+	 * @returns {Promise<boolean>}+	 */+	manualUpdate(): Promise<boolean> {+		if (this._errorCount >= 5) return Promise.reject(new Error("Update failed 5 times"))+		if (!this.updateIsReady) {+			return this._checkUpdate()+		}+		this.installUpdate()+		return Promise.resolve(false) 	} -	_downloadUpdate(): void {-		autoUpdater+	_downloadUpdate(): Promise<Array<string>> {+		console.log("downloading")+		return autoUpdater 			.downloadUpdate() 			.catch(e => { 				this._logger.error("Update Download failed,", e.message)+				// no files have been dl'd+				return [] 			}) 	}  	_notifyAndInstall(info: UpdateInfo): void {+		console.log("notifying for update") 		this._notifier 		    .showOneShot({ 			    title: lang.get('updateAvailable_label', {"{version}": info.version}), 			    body: lang.get('clickToUpdate_msg'),-			    icon: DesktopTray.getIcon(this._conf.get('iconName'))+			    icon: DesktopTray.getIcon(this._conf.getConst('iconName')) 		    }) 		    .then((res) => { 			    if (res === NotificationResult.Click) {-				    //the window manager enables force-quit on the app-quit event,-				    // which is not emitted for quitAndInstall-				    // so we enable force-quit manually with a custom event-				    app.emit('enable-force-quit')-				    this._installOnQuit = false-				    autoUpdater.quitAndInstall(false, true)+				    this.installUpdate() 			    } 		    }) 		    .catch((e: Error) => this._logger.error("Notification failed,", e.message)) 	} +	/**

Okay, let's do it separately then

ganthern

comment created time in 23 days

PullRequestReviewEvent

Pull request review commenttutao/tutanota

[desktop] add manual update controls to desktop settings

+// @flow++import m from "mithril"+import {Icon} from "../gui/base/Icon"+import {noOp} from "../api/common/utils/Utils"+import {lang} from "../misc/LanguageViewModel"+import {BootIcons} from "../gui/base/icons/BootIcons"+import {nativeApp} from '../native/NativeWrapper.js'+import {Request} from "../api/common/WorkerProtocol.js"++export type UpdateHelpLabelAttrs = {+	updateAvailable: Stream<boolean>;

Ah, so it's for propagating back? my bad, I missed it I think callback is more clear (and I would change more places where we use streams for callbacks in our code) but I don't have a strong opinion about this place.

ganthern

comment created time in 23 days

PullRequestReviewEvent

created tagtutao/tutanota

tagtutanota-android-release-3.76.7

Tutanota is an email client with a strong focus on security and privacy that lets you encrypt emails on all your devices.

created time in 24 days

created tagtutao/tutanota

tagtutanota-ios-release-3.76.7

Tutanota is an email client with a strong focus on security and privacy that lets you encrypt emails on all your devices.

created time in 24 days

issue closedtutao/tutanota

Unexpected error message when parsing calendar updates

We received an error report from a user that each time he logs in an unexpected error message appears. I checked the stack trace and it is an uncaught ParserError when processsing calendar event update. I don't have this calendar file yet to check what is wrong but we should handle the case that the calendar file is invalid and not show an error dialog.

ParserError: Expected at least one value, got none
    at parseCalendarFile (file:///run/user/1000/.mount_tutanoTrL5tT/resources/app.asar/main.js:1:1785429)
    at file:///run/user/1000/.mount_tutanoTrL5tT/resources/app.asar/main.js:1:1815829
    at a (file:///run/user/1000/.mount_tutanoTrL5tT/resources/app.asar/libs.js:26:74251)
    at R._settlePromiseFromHandler (file:///run/user/1000/.mount_tutanoTrL5tT/resources/app.asar/libs.js:26:47248)
    at R._settlePromise (file:///run/user/1000/.mount_tutanoTrL5tT/resources/app.asar/libs.js:26:48048)
    at R._settlePromise0 (file:///run/user/1000/.mount_tutanoTrL5tT/resources/app.asar/libs.js:26:48747)
    at R._settlePromises (file:///run/user/1000/.mount_tutanoTrL5tT/resources/app.asar/libs.js:26:50099)
    at R._fulfill (file:///run/user/1000/.mount_tutanoTrL5tT/resources/app.asar/libs.js:26:49117)
    at Object.main33 (file:///run/user/1000/.mount_tutanoTrL5tT/resources/app.asar/libs.js:26:37402)
    at Queue.value (file:///run/user/1000/.mount_tutanoTrL5tT/resources/app.asar/common.js:1:288277)
    at Worker.Queue._transport._transport.onmessage

closed time in 24 days

bedhub

push eventtutao/tutanota

ivk

commit sha 065c79e1cc4f07d1e4f989607e5bddef675b3c51

Fix error when dismissing last modal

view details

ivk

commit sha 1620eb587d4e12d015718579aeb1c096257e8d1b

Load external content in MailEditor when writing a new email, fix #2189

view details

ivk

commit sha 07b26e95cc717d96414b23238dbd11ed10d28f47

Ignore some errors when processing calendar updates, #2235

view details

ivk

commit sha 0f2219e304fd9e3c38a2088d41e587672a3d4b84

v3.76.7

view details

push time in 24 days

issue closedtutao/tutanota

New emails do not load external images into the editor

Currently for forward/reply we load images into the editor if they are loaded in the viewer. We do not, however load them into the editor for new emails. This prevents external images in the signature from loading.

To reproduce:

  1. Add external image to the signature (by copy-pasting it from another email or website)
  2. Start writing new empty email
  3. Observe image not loaded

v3.75.3

This is especially important since our current way of embedding images (base64 inline URL) does not work with Gmail and some other providers.

closed time in 24 days

charlag

PR merged tutao/tutanota

Add the icon to open F1-Help (fix #580)

Add the F1-Help icon for free users and change the support button to be a dropdown for premium ones.

fix #580

+66 -38

2 comments

3 changed files

antomor

pr closed time in 24 days

issue closedtutao/tutanota

Add Icon to open F1-Help

Maybe a "help"-option in the main menu.

closed time in 24 days

ganthern

push eventtutao/tutanota

Antomor

commit sha b5d3c65e51b80eca552063daf0bf8e992b1ad988

Add the F1-Help icon for free users and change the support button to be a dropdown for premium ones.

view details

Antomor

commit sha e997b6391323ffbadeb4560d231e6c942c277283

Expose a specific method to open the F1 Help menu

view details

Antomor

commit sha 57133c2fabcf50628ca59cb41a5db76bb5dce143

Change dropdown width and label shown on mouse over

view details

ivk

commit sha 3f02d3dc49fe027ca2479ac6c7f48b491cfd365d

fix visual bug on Modals

view details

push time in 24 days

push eventantomor/tutanota

armhub@users.noreply.github.com

commit sha 8d3f15bbe7cbe77d0e6b1240cc0f835a00a5273c

fix updating of text areas, fixes #2004

view details

Antonio Morrone

commit sha f2e58d539221a302638543a67f0ed4e52a1b58c6

Fix column order of the subscription selector for mobile, fix #1902

view details

nig

commit sha e34328c9e0828a4022570ae7ca342df99d34e1ed

[desktop] add builds w/o auto-updates and unpacked builds, close #1857 adds some options to the dist.js build script: --unpacked disables the building of installers (dir target for all platforms) --out-dir <outDir> move the built installers (or dirs) into the path outDir after building. Defaults to build/desktop and build/desktop-test --custom-release disable autoUpdate in the release target by not including an update url.

view details

nig

commit sha 2c51f8ba3221488d045c3d028face6a3d159cdae

[desktop] improve custom desktop builds - automatically build for current platform if no platform flag is given - disable notarization on mac - disable code signing for custom builds without updates

view details

nig

commit sha 592b48b783605ee159b3414720be044853f22546

[desktop] hide auto update option for custom desktop builds

view details

nig

commit sha a61c8fe96a779e7f8235f41cfdb82735176a212c

[desktop] define options object for desktopBuilder

view details

map

commit sha a578ff9c89a0248dda591540b286f0d3e509340d

handle concurrency

view details

map

commit sha a51ae4a0a6f08d9dac8d6ee70267e096a23205da

fixes for concurrency handling after review with arm

view details

nig

commit sha 4d4f8d775e7d9cf2dfbf4816abbceff94611bab6

[desktop] update electron, electron-notarize, electron-updater

view details

nig

commit sha 06caa12c49f2a6322520388b96a9fe401bfcf894

[desktop] clear dock badge on each window focus, close #1971 this fix will clear the dock icon badge on mac when **any** window is focused (including newly created), in addition to the "activate" callback that's already on the app object (see DesktopMain.js).

view details

nig

commit sha 07b261fcc7b2e5002287cbb5a71ae6c127931073

[desktop] clear dock badge on each window navigation, #1971

view details

ivk

commit sha db07d94fa315426535c1b301b1a5d8e284d37240

Fix losing focus after opening contact form editor, fix #1977 Progress dialog tried to restore the focus to the element which had it before the dialog but focus was already grabbed by the new dialog. This moves opening of the contact form after the progress dialog so that they are not open at the same time. Multiple modal dialogs do not play well together and we should avoid it as much as possible.

view details

ivk

commit sha d26897955abd26ce0b110e7ccb2e0880f0edbeb6

Add copy action to recipient dropdowns, fix #2001

view details

ivk

commit sha d7c84913e17a0ce29af48cd1102800523af9e8f1

Fix printing of addresses in expanded view, fix #2002

view details

Ivan Kupalov

commit sha 4e3530bc3558e7eef5a168b671ad50f2eb825a03

Fix editor bubbles (#2006) * Fix recipient bubbles not being truncated in mail editor, fix #1998 * Fix properly sizing BubbleTextField input when init with bubbles

view details

bdeterding

commit sha 132d6738a47c454e4eb1d3826213da190967f4c3

tutanota model v41

view details

bdeterding

commit sha 8dc796a6b87472514aaa5cebdb4b7e84f84d35f3

migrate contact birthday to encrypted birthday when loading contact. fixes #2015

view details

bdeterding

commit sha 08d9ea8d8e9fc4081a0e5462ae6f3f2da1666d49

fixes after review with armhub, test cases for instance migration #2015

view details

bdeterding

commit sha ac45a444b4eb1579c680f2f95770d63ffc558b50

update of tutanota model v41 #2015

view details

armhub@users.noreply.github.com

commit sha b89bf0f19e34095df9511a972068d22ab4919435

Improve invoice address info texts, fixes #1160

view details

push time in 24 days

delete branch tutao/tutanota

delete branch : print-order-process-agreement

delete time in 24 days

push eventtutao/tutanota

vaf

commit sha 15de2b490bb3e3f0128ff1df8739fb9502e3c292

do not show printed order process agreement in background when printing it, fixes #2156

view details

push time in 24 days

issue closedtutao/tutanota

Content of order process agreement is visible in overlay background

Open order process agreement and hit the print action. The content of that agreement is visible in the background then.

closed time in 24 days

bedhub

push eventtutao/tutanota

ivk

commit sha 81e5d9ff200022ea73c3aea381a05d7a48798c0b

Add fixed system model v62

view details

ivk

commit sha 01dae0164520b09c4205d57644c53df1aac7342b

v3.76.1

view details

map

commit sha 419db14c88ce86a5a96056e04bd8292dfe4ee77f

do not initialize calendar for admin client

view details

map

commit sha 2cfb77b3f8595802c173a402797ca0d513c2ce52

send language to ReceiveInfoService

view details

ivk

commit sha 1f85c3e2a03d413409a92b0481a5959554e3d7ea

Add email attribute to attendee and organizer when serializing, #1355

view details

ivk

commit sha 9c57fd442544a0bcc65f83283499498155a35a23

Allow saving calendar invites only to private calendars, #1355

view details

vaf

commit sha cebd891b400416483f0ab59a715d69a310be0fd1

fix issues in custom domain wizard found during testing of #2092

view details

vaf

commit sha eb57b335ad0426f009b175d26e114bfd6086f686

fix remaining issues in custom domain wizard found during testing of #2092

view details

ivk

commit sha f0246b6105391c444b2188ab9769b18c36dbc759

v3.76.2

view details

ivk

commit sha 24dbb015cf7c64e34ade63b4feda2dd29ca6dd36

Add missing files for v3.76.2 verison bump

view details

vaf

commit sha 28f11fa88b399312df42b2a2755de85be3e785a7

only display dialog in certain cases when finishing custom domain setup, #2092

view details

vaf

commit sha 99cea3a67d1a0075540711f9dd7c6a1874ab2e82

update dns records in globalSettingsViewer after finish custom domain wizard, #2092

view details

vaf

commit sha 5e883d48b3d6fefd04ab4f75f279d1a40e32ab49

fix calling closeActionHandler for WizardDialog, #2092

view details

ivk

commit sha 319378a4be0f326f94cf4cec650a69d6e8a5a4aa

Handle errors when processing calendar updates, #1355

view details

ivk

commit sha 12432159c4b4572c3a04c3a8a63197d2426f7d3a

Fix UI issues with calendar invites, #1355

view details

ivk

commit sha e4c15abb678661f94bdeb0c4d3416211b3178987

Fix logo in calendar emails

view details

ivk

commit sha b6b6b82f0d22b41e02092be3e5eada0542f961e8

review calendar fix with map

view details

ivk

commit sha 9b3866ed80f212e761ae93ee81b90d2f96c88797

remove o.only in test

view details

ivk

commit sha d754e523428a204c9ff80ce0febd255f5d7300bd

Handle opening newer event version than saved, #1355

view details

ivk

commit sha 02a80b2f4b7039155091d8572130525fe3228f02

v3.76.3

view details

push time in 24 days

more