TestFlight Build 1.7 (22)
Most of the changes here are focused on making the UI more consistent and well-behaved throughout the app. It's certainly nowhere near the level of polish that native UI controls have, but at least things like swiping away dialogs and input widget cursor control are closer to what they should be.
This build also contains a few upcoming v1.7 features: optimized widget drawing, identity selection in Upload dialog, and an image colorization setting.
After a number of internal changes, I've now properly separated the construction of the mobile UI from the desktop UI. While they still have a common structure for the window itself, mobile dialogs are now constructed via an entirely different code path. This allows the mobile UI to diverge as much as needed, for example many settings from the desktop are meaningless on mobile. Some larger dialogs like Upload have an entirely different structure.
For daily use, a noticeable improvement is in the URL bar and quick lookup results. When the URL field is focused, it now shows buttons for conveniently clearing the URL and for unfocusing/dismissing the lookup results. This also allows fully interacting with the results list so you can scroll it like any other list. I've also fixed a number of small UI glitches, for example the sidebar was sometimes a few pixels too narrow, and in landscape mode its background was not cleared correctly during animations.
- Settings UI has been better adapted for mobile.
- Optimized drawing: don't draw all existing widgets if some of them cover the entire UI (e.g., a dialog), and retain contents of some widgets to avoid redrawing them repeatedly during animations (e.g., navbar, dialogs).
- Titan uploads. You can enter text, or select a file using the iOS file picker.
- Identity used for uploading can be selected inside the Upload dialog.
- When focused for input, URL bar shows Delete and Cancel buttons instead of Page Information, etc.
- Copy/paste menu has been revised: it has a new layout and more actions: added Delete, Select All, and Undo. Tap on the cursor or on a selection to show the menu.
- In dialogs, the detail panel title is moved up to the navbar in landscape.
- Added an image colorization option (Settings > Colors).
- Quick lookup results can now be scrolled as expected.
- Text input fields are now adapted for touch input. For example, one can drag the cursor and the text area separately depending on where the drag starts. Long-pressing will select a word.
- Swipe gestures were stopping when leaving the area of the swiped widget. This made it difficult to scroll inside smaller controls.
- Dialog panels could not be scrolled if the gesture went over an input field.
- Some dialog layouts were incorrect, or didn't respect safe area insets.
- Too small dialog tap targets: tapping on entry headings in dialogs will now trigger/focus the entry's value, so one doesn't have to tap on the value itself.
- Sidebar width was sometimes slightly too narrow, showing a sliver of the page underneath.
- Incorrect landscape sidebar background during animations.
- Sidebar tab buttons sometimes showed the wrong text after switching device orientation.
- Settings > Identities now shows a page (although it's empty).
- Scroll bounce could still use a bit of tuning. The effect feels a bit tight compared to native controls.
- Some Emoji and special symbols are missing. Eventually I'll add a fallback to use the system font.
- Occasional high CPU usage when (Vorbis?) audio is paused in the background (?).
- Currently playing Ogg Vorbis or WAV audio doesn't show up in Control Center.
- "Show Downloads" opens an internal download cache directory instead of the actual downloads. This is where data is saved when you use "Download Linked File" on a link. I will likely move this item to some cache management submenu.
This build was supposed to be numbered 1.7 (21.9.17), but apparently the bundle version got rounded up (?) to 22 by Xcode during the upload to TestFlight. I suppose it doesn't matter that much. In the future, the build date will be shown separately on the About page.
🏷 Lagrange, Apple