iOS app 2.2 is out

  • The app is now ready for iOS 13:

    • It supports the beautiful Dark Mode
  • Improvements relevant to users

    • Implemented haptic feedback when buttons are pressed. Note, this is only available from iPhone 7 onwards
    • Enhanced the colorpicker, so that it is easier to select the desired color
    • Optimized screen usage, so that more information can be displayed
    • Changed order of the rollershutter button
    • Fixed backwards compatibility with OpenHAB 1.x connections
    • Enhanced video component by adding mjpeg support
    • Improved the representation of the rollershutter component
    • Enhanced authentication process for remote and local connections. This should ensure Basic Auth works in cases where the URL is discovered via Bonjour.
    • Fixed data parsing issue
    • Changed logic regards showing SSL certificate warning
    • Improved handling of sitemaps
    • Improved video URL handling on cell reuse
  • Behind the scenes

    • URLSession wrapped in Alamofire for network access, AFNetworking completely removed
      • Improved handling of SSL certificate warning
      • Display of icons when connected via https
      • Setting authorization header also for icons
      • Caching of icons with Kingfisher - SDWebImage purged from code base
      • Converted direct URLSession usage in OpenHABTracker to use NetworkConnection.shared.manager instead to ensure that auth handling is handled properly - in particular when a 401 is returned from the server.
      • Refactored HTTP Basic Auth to use the taskDidReceiveChallenge delegate so it only includes the Authorization header if requested by the server.
      • Completed migration from AFNetworking to Alamofire: purged AlamofireRememberingSecurityPolicy.swift: init(policies: [String: ServerTrustPolicy]) to override ancestor, uncommented evaluateClientTrust and handleAuthenticationChallenge Reworked NetworkManager to it compile successfully with AlamofireRememberingSecurityPolicy Removed main.m, openHAB-Prefix.pch files, openHAB-Bridging-Header.h, openHABTests-Bridging-Header.h
      • Fixed retain cycle in setWillSendRequestForAuthenticationChallenge closure
    • SFSymbols as source of icons for iOS 13 to eventually replace DynamicButton
    • Build improvements
      • Swift Package Manager to replace CocoaPod where possible
      • Improved fastlane
      • Improved test coverage for instance for large JSON files, XML trimming whitespace, improved logic
    • Many bug fixes: correct recognition of labelValue
    • Refactoring:
      • Completed onReceiveSessionTaskChallenge and onReceiveSessionChallenge for image download
      • Recursive traversal of widgets data structure
      • Refinement of swiftlint, usage of swiftformat
      • Update to recent versions of SideMenu: clearing widgets to ensure cell invalidation on sitemap change
      • Access to UserDefaults via Preferences to avoid typing errors and improve consistency
      • Migrated from responseJSON to responseData
      • Reworked XML parsing: now completely based on Fuzi framework
      • Setting the FrameUITableViewCell font and color to match Apple’s Guidelines
      • Retain cycle in loadPage fixed
      • Cache invalidation on sitemap change fixed
11 Likes

I found the first bug on release.
I do not use dark mode. Selecting the user and then Settings and then Legal renders in dark mode.
I have an iPhone 11 with the newly released iOS 13.1.2

Hi @timbms,

great work! Thanks for you enagagement!

One question: If I switch visibility attribute by clicking a switch in the “old app” the view changed immediately.

One example: I use to switch a light on and then I want to show the sliders for color and brightness below - but only when it is on. Not when it is not needed. Hope, this clarifies a bit.

At the moment it seems that it is refreshed automatically after X secnonds or you have to refresh yourself pulling view to bottom. Is this behaviour intended or is something misconfigured?

Thanks for a short reply!
HFM

Hello,
Great update and I love the darkmode but I found one bug.
When using a mapping for a switch that only shows one of the two options (only on or off) it doesn’t highlight anymore when the Switch item is set to the corresponding setting. You can see it here on the second one from top.


The icon still behaves correctly but the button itself only turns visually on for a split second. As you can see in the last row of the picture it works for a mapped button that represent both possible positions.
Thanks for the great work again.
Best regards Johannes

@JGKK that’s how it’s supposed to work and is consistent with other clients. If you want to visualize the item state, either use a proper Switch item or use a visibility attribute in your sitemap to reflect the current state through the label.

1 Like

Than I guess it was a bug in the Ios app versions before. Because that’s how it behaved ever since I used it :see_no_evil:

Indeed, it was :wink:

1 Like

I really liked that bug for my use case :joy:

I’d recommend to use a switch without mappings to represent items with a binary state (on/off).

Not here because it’s scenes that actually don’t have a turn off option or need one, they only get turned off by other scenes or the room master at the bottom.

Sounds like you’ll need multiple sitemap items with visibility attributes, but I’ll need more details about your use case. Please start a new thread, tag me and maybe we can work out a solution.

Thank you for reporting. I created an issue on github

Hi Henning
Thank you for your encouragement

The app should match the behavior on other platforms. If not please raise an issue on github platform

Thanks

Tim

Thank you. I could have done that but did not see a GitHub link in this thread.

Very good work with this release! But is it possible to know with an instruction at programming time if the ios device is in dark mode or not? This is for set specific icon color depending on the mode… Thanks a lot

Setting icon theme isn‘t supported in the app yet as the REST API for icons isn’t distinguishing themes
Workaround is to provide the themed icons on server

Do you mean to put icons for dark mode into $OPENHAB_CONF/icons/classic/? But this folder is for containing all icons, both for dark and for stadard mode, and then if I put inside an icon for dark mode in white color it’s inpossible to visualize it if the ios device is in standard mode and then also in case the icon is black and the ios device is in dark mode.
Anyway thanks for your reply!