Jasonette / JASONETTE-iOS

📡 Native App over HTTP, on iOS
https://www.jasonette.com
MIT License
5.27k stars 352 forks source link

footer tabs erratic behavior, and losing tabs #289

Open cpg opened 6 years ago

cpg commented 6 years ago

Is there any app example that has some minimum basic complexity (i.e. no basic examples) where tabs are used properly and work properly? I find them very difficult to work with, though maybe the documentation needs to be clarified. I find that tabs are either not documented well enough (despite the multiple hints for troubleshooting), or they are buggy in possibly more than one way.

I have a new version 2 of an app based on an app that has been released and in the app store for a while and was working fairly well for a few months. I am attempting to upgrade the app to the latest, however this also happens when using jason with the above url.

1) when tapping inside a brand (say of a racket) and then a model, footer tabs are not generated and the existing footer tabs are kept. Is this the proper way to have footer tabs? I would like the app to have footer tabs virtually all the time. 2) when inside a brand and a model, if you come back to a brand, the footer tabs are lost. coming back one level they re-appear. this looks like a bug. 3) when tapping on the second tab, the footer color generated is different with new styles as it's a different "area" of the app (the urls are preserved in all the tabs, including the first one, abiding by the strange restriction outlined in the troubleshooting area of the docs), however, coming back to the first tab, the color of the second tab is kept even though a new footer tab is presented. being a top level area this should work, if i understand the bit of documentation properly? 4) i would like to change the icons to have notifications (e.g. number of messages in a red bubble, like in the example of the documentation). Is this supported? If so, how is this best achieved? 5) The first issue I actually noticed with this app is that the first view sometimes comes up blank with just the footer there. However, that's probably not related to tabs. I think you should be able to reproduce this relatively easily. Is this a bug in the app or the jason generated by the server?

Thanks in advance.

cpg commented 6 years ago

Maybe these issues arise from an warning in xcode for a UI API call from a background thread silently fixed in c991862:

UI API called from background thread Group
  app/Jasonette/JasonViewController.m: runtime: UI API called from background thread: -[UITableView indexPathsForVisibleRows] must be used from main thread only
    Thread 9
      #0    0x0000000100ce2a1f in __34-[JasonViewController loadAssets:]_block_invoke_3 at app/Jasonette/JasonViewController.m:1002
cpg commented 6 years ago

Another issue with tabs. In the current develop in iOS, when there is a tab at the bottom, the content above has a portion of it hidden under the tab. The user has to pull the content up to be able to read it or tap on it.

Android works ok (in fact, it leaves some space after the last bit of content).

darenr commented 6 years ago

@cpg - You're right, I've seen that with tabs also, being "buried" here though might get missed by Ethan, I've worked around it by adding a vertical space element to the bottom of the view. Tabs have been fraught with problems, they do seem more stable now though in the current develop branch.

gliechtenstein commented 6 years ago

I've just fixed the the bottom padding issue for when there's a footer https://github.com/Jasonette/JASONETTE-iOS/commit/3aa44527aca9c1909878f0bd2ca761078ecd6f5d

I am not sure what the status of the other problem is because the original issue description is too long. If that problem has not been solved, please try to open a separate issue with the simplest replicable test case that demonstrates the problem and I'll take a look.