prelude

It has been a few months since last Local Native v0.4.0 release, which introduced (wireless) syncing via tarpc, database schema change and more. That is decent amount of internal data structure change and observable new features. Everything was well and I was not worrying about rushing out more features very soon, until ..

the bug.

In contrast, this v0.4.1 release is only motivated by fixing the one observed bug:

the touch input keyboard for the share extension's text fields (tag and description fields etc..) does not show up in iOS, after upgrading to newer version (iOS 13.2.2 as of writing). This prevents user to input tag or description, or change title or url for the note.

Saving note still works, but what's the fun if I can not add tags to a note?

Technically This is a new feature only in newer version of iOS. How hard could be

the fix?

It turns out just one liner to not show the keyboard by default. Then keyboard will show up when user tap the input box.

However ironically now I get all other v0.4.1 release targets (android, web-ext, appimage, dmg) built and release, but still without iOS. It works in local build but crashes only in ‎TestFlight.

I am still debugging this crash.

Apple has released macOS Catalina, upgraded iOS and Xcode. Multiple (minor) versions with fixes are coming frequently in the past month.

I am still debugging this crash only in ‎TestFlight.

Is this a sign that I may just need to switch to SwiftUI?

Not only Apple, everything is moving at

the speed of light.

It turns out this release is just trying to catch up with the right dependency upgrades:

  • tarpc using more recent code from upstream
    • with declaring service interface using trait syntax
    • with upgraded tokio and futures-preview
  • electron upgraded to 7.1.1, may still suffer this
    • neon-cli 0.3.3 linker issue on mac, need to pin to 0.3.1
    • crossfilter2 1.5.0 require issue in electron, pinned to 1.4.8
    • electron-builder can not create dmg on Catalina

树欲静而风不止

逆水行舟,不进则退。