Coder Social home page Coder Social logo

re-resolver's People

Stargazers

 avatar

Watchers

 avatar

Forkers

dmaulikr

re-resolver's Issues

iOS 13 - Main screen does not update immediately after selecting a new theme

When the app is built with Xcode 11 and used in iOS 13, selecting a new theme from the "Select Color" modal does not immediately update the color of the main screen, with the Decide/Choose/Ask buttons.

The user must first go to another view (Decide/Choose/Ask/Instructions) in the navigation before the color updates on the main screen. This problem doesn't exist when the current release version of the app is used on iOS 13 - only when it is built with Xcode 11.

Navigation bar titles in iOS 13 are dark and illegible

When version 1.7.2 of ReResolver, the current app store version, is used on devices with iOS 13, the text in the navigation bar (Examples: Decide, Choose, Ask, Information, Select Color) appears nearly black or transparent.

The themes were designed with white navigation labels in mind, so on many themes this makes the navigation bar titles extremely difficult to read when the app is running in iOS 13 betas.

This bug may be nearly trivial to fix. The version in the app store was built with Xcode 10. When the app is built with Xcode 11 betas and the accompanying iOS SDK, the navigation bar labels appear in white even on iOS 13.

In order to implement the simplest fix for this issue - rebuilding with a newer version of Xcode and releasing the new build to the app store - several issues of greater severity that only occur when building with Xcode 11 must be fixed. These issues will also be reported in this GitHub issue tracker.

dark_navbar_text_bug

Adding a "Recent" item to the choice list should return directly to the list

Choosing an item from the "Recent" list currently returns to the previous text entry screen, with a chance to edit the choice before adding it to the list of choices.

In the original app, choosing an item from the recent list returns to the main "Choice" screen and immediately adds the recent choice to the list.

TODO: rename git "master" branch to "main"

See Scott Hanselman's document about renaming master to main for the background - "Master-slave is an oppressive metaphor" - and general procedures.

The Re-Resolver app has a link to the Privacy Policy on the GitHub master branch in the English and Spanish HTML files that serve as instructions, and these instruction files are stored directly in the app bundle. Therefore, before the master branch is deleted, a future version of the app should be distributed to users. The future version will either move the HTML instruction files to a server where updates to the instructions can be retrieved without releasing a new version of the app, or, more likely, will update the HTML files with a new location to the Privacy Policy in a renamed branch.

Allow shake for new answer feature on "Choice" screen

Shake for new answer feature is currently available on "Decide" and "Ask" screens. It was purposely made unavailable on the "Choice" screens.

In the original app, it happens that this feature is also available on the "Choice" screen.

Accessibility - No description for text entry on new choice screen

When using VoiceOver to navigate to the field, VoiceOver says "textField. is Editing. insertion point at start".

I think this label can be called "Enter New Choice Text Field" by VoiceOver, and that might be an improvement for VoiceOver users.

textField sounds generic; "Enter New Choice Text Field" gives some indication of purpose.
Accessibility inspector suggests "setting the accesibilityLabel".

Screenshot attached.
new_choice_accessibility

Back buttons in the navigation area have the default "<" prompt, even with custom image

ReResolver uses custom images from the original Resolver app to style the back buttons in the navigation area at the top of the screens. When the app is built with the latest iOS 11.0 SDK and is executed in iOS 11.0, the back buttons use the custom images, but also have the default "<" prompt.

unexpected_back_button_behavior

Note: This issue is not in the current version of Re-Resolver distributed in the app store, but occurs on new builds of the application built with the iOS 11 SDK. The current app store version of the app does not exhibit the problem, even when running on phones with iOS 11.

Ziqiao at Apple has been working on this issue and believes it may be a bug. Ziqiao has suggested a workaround, which I will try, and I have filed a bug report with Apple.

Color collection view cell sizing broken in iOS 13/ Xcode 11

The code that sizes the theme color preview cells (and which was recently updated for iPad and landscape use) is broken on iOS 13 when compiled with Xcode 11.

This seems to be related to the new presentation style for modal windows in iOS 13. On full screen iPadOS the code as is won't work - the sizing code is based on the entire application window, and the modal now takes a smaller portion of the screen.

However, the sizing is also not working properly on other devices in certain orientations, for example giving a square shape to cells on large landscape phones.

Customized navigation bar appearance is terrible in iOS 11.2

The customized navigation bars under iOS 11.2 look bad. See the top left of this screenshot.

ugly_navigation_bar

iOS 11.2 was released early this morning, unexpectedly, to fix a security and stability issue. I have a relatively quick fix for the navigation bar problem that involves removing the navigation bar customization and making it look more like a standard iOS app. This change would make the app look somewhat less like the original Resolver, but I think it makes sense to get this fix out quickly and then decide whether it is worth the ongoing maintenance costs to bring back the original look.

Developer TODO: Refactor color code

The code that enables the selection of different types of color gradients for the app is poor quality and tedious to modify or add colors. This should be fixed before the next release.

iOS 13.0: App stops responding on "Ask" screen after several taps

On iOS 13.0, on the "Ask" screen, tapping several times on the results pane to display more answers will eventually cause the app to stop responding. This situation can usually be caused in less than 10 taps. After the app has been unresponsive for some time, iOS will kill the app. This usually happens from 10 - 90 seconds after the app stops responding.

This only happens in iOS 13.0, but not in iOS 13.1. I've only seen this happen on the "Ask" screen, and not the "Decide" or "Choose" results screen, but the same code is used on all screens, so in theory it could happen on other screens as well.

The problem appears to happen when the label of the answer pane (a button) is set to the new answer. I've observed the app in the time profiler and verified that the CPU usage goes to near 100% when the problem occurs, and remains there until the app is killed by iOS.

Symbolicated crash reports for this issue differ, but they all indicate the app was killed for exceeding one or another CPU usage limit. NSCoreTypeSetter is a class that often shows up in the stack trace. This is speculative, but perhaps UIKit or Core Text occasionally are having problems formatting the text to display in the button title.

Given that this issue does not occur in iOS 13.1, and iOS 13.1 is scheduled to be released in two days (September 24 2019), I probably won't spend more time trying to find a cause or a workaround for this issue. The problem will disappear when users upgrade to iOS 13.1, without any source changes or a rebuild. I'll add a note to the README.

This problem should have been caught during testing. Here's why it wasn't:

  • All physical iOS 13 test devices were running iOS 13.1 beta by the time the final build of the app was created
  • While there is a UI test that checks that the "Ask" screen is functioning properly, and the test simulators were using iOS 13.0, the test taps the answer pane only once and verifies the answer is one of the acceptable choices. It does not tap the pane multiple times and check for responsiveness.

Color selection screen problems for extreme large and small device sizes

Current screen

color-selector-old

Problems

  • On very large phones when few color choices are available, there is a large white gap below the preview area.
  • On the smallest phones, if more color choices are added in the future, the preview area will be below the visible screen area, and not seen by the user when a selection is made

Proposed screen

proposed_color_selection_screen

Features

  • Larger area for display of each color theme
  • clear highlighting with the thick border to show the currently selected theme
  • additional space on larger devices will be used as a large preview area for the selected theme

I've done initial work on the this screen and am working out performance and accessibility implications.

Back buttons in navigation bar are too long

Sometimes the navigation bars at the top of the screen will have short text such as "Menu". In these cases, the image for the back bar is long, and runs to the center of the screen and looks silly with the extra space.

Reduce the extra space in the back bar image, and make sure it still resizes according to the text inside.

Keep choices from "Choose" in memory until the app is exited

In the original Resolver, the choices that are entered on the "Choose" screen stay in memory until the app is exited, or until they are deleted with the "slide to delete row" motion. If the user goes back to the main menu of the app, and then returns to the choose screen, the choices will still be there.

In the current version of Re-Resolver, the choices are lost as soon as the user returns to the main menu.

This is related to issue #7, and a partial reversal, but the approach in the code may be different as it probably would be less efficient to save these to a file.

Resolver logo on main menu jumps when touching paint palette

On the main screen, if a user presses the image of a paint palette to go to the select color screen, the Resolver logo suddenly jumps (falls?) down to make room for the navigation bar (with the text "Menu") just as the modal "Select Color" screen appears.

This can startle sensitive people.

Acquire original image assets

The current version has some sort of generic button/background/icon images.

We should try to get the images assets from the original app.

Navigation items disappearing in iOS 13 after selecting a color

When a user selects Decide, Choose, Ask, or Information(instructions) from the main screen, a new view appears. The view is supposed to have a navigation bar with a visible item that allows the user to return back to the main Decide/Chose/Ask screen.

This back navigation item is not available if the user had entered the "Select Color" screen during the current session of the app.

This is a severe bug, because it's confusing and requires that the user quit the app in order to use the other functionality.

This is not a problem for the currently released version of the app when it runs under iOS 13; it happens only when the app is rebuilt with Xcode 11.

Left status bar content blinks from black to white on iOS 13 when in light/day mode

This is an iOS 13 issue.

With the ios13_quick_fix build (and possibly other builds), when the phone is not in dark mode, the left status bar content (usually time of day, depending on the device) will sometimes display initially with a dark color when views are displayed, and then change quickly to a light color.

The dark color is the default status bar style for "day" mode in iOS 13. The light color is the current status bar style for Re-resolver.

This could be fixed by implementing dark mode changes for Re-Resolver, but due to scheduling conflicts and the lack of a good plan at the moment, I may need to find a fix for this problem prior to implementing dark mode changes.

Accessibility - VoiceOver calls blank button on Ask/Decide screens by filename

When first navigating to a Decide/Ask screen, the button is blank. VoiceOver calls the button "re-resolver_button_300pt". This doesn't make sense and it needs a better name.
Considering "Blank button. Push to Decide"

Accessibility inspector suggests: Set a human-readable, localized accessibilityLabel.

I'm not sure about the accessibility of the original app, but I think it is in good conscience to add this even if it doesn't match the original
blank_choose_button_audit

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.