ionic-team / ionic-framework

A powerful cross-platform UI toolkit for building native-quality iOS, Android, and Progressive Web Apps with HTML, CSS, and JavaScript.
https://ionicframework.com
MIT License
51.1k stars 13.51k forks source link

Android: Back button not dismissing modals #8692

Closed infinnie closed 7 years ago

infinnie commented 8 years ago

Short description of the problem:

I wrote an app with a modal that is expected to be dismissed with either its own “cancel” button or the hardware back button. However since an upgrade to Ionic 2.0.0 RC 1, it couldn’t be dismissed with the hardware button, but will quit within several presses with the modal present instead. If I manually dismiss the modal after pressing the back button, I could find that the page present is different from the one I opened the modal with, but some previous page.

Nor do hardware back buttons dismiss loading indicators.

What behavior are you expecting?

As in Ionic 2.0.0 Beta 10 and 11 (forgotten what happened on RC 0), the modal is dismissed with the hardware back button pressed.

Steps to reproduce:

  1. Write an app with a modal
  2. Build and run it
  3. Open that modal
  4. Press the hardware back button and see what would happen.

Which Ionic Version? 1.x or 2.x 2.0.0 RC 1

Run ionic info from terminal/cmd prompt: (paste output below)

Your system information: 

Cordova CLI: 6.3.0
Ionic Framework Version: 2.0.0-rc.1
Ionic CLI Version: 2.1.0
Ionic App Lib Version: 2.1.0-beta.1
OS:
Node Version: v6.3.1

Android 4.4.4

manucorporat commented 7 years ago

Exactly, on device it will close the app depending if 'navExitApp' config is true. But in the browser it just does nothing. BTW, here's the commit: https://github.com/driftyco/ionic/commit/8de253a9b1216c64eba53e87ca96febb72de42f0

It is already in master, expecting to release a new nightly today.

yannbf commented 7 years ago

It makes a lot of sense. For some reason I didn't notice the inspector. Thanks once again!

Fdom92 commented 7 years ago

@manucorporat thans to you for make this really. I know you will do this so perfecto cause you are from spain right? Ole jajaja thanks for tour job. I will be waiting this, it will be on the RC4 right?

manucorporat commented 7 years ago

@Fdom92 olee! that's right! I am from Spain :)

Yeah! It was already merged in master, so it will part of the next release!

Fdom92 commented 7 years ago

@manucorporat muchas gracias por tu trabajo de verdad tío :) i cant wait for it :)

yannbf commented 7 years ago

@manucorporat I'm sorry for briging this up again, but in your fix, does the back button also happen to dismiss an ion-date picker? I just noticed that if I bring up the date picker and press back, it pops the page rather than dismiss the picker.

I know it's not related to modal, but still, perhaps it's an easy thing using the fix you've developed for modals/sidemenu.

Thanks!

Kobzol commented 7 years ago

@yannbf That sounds like a regression, it did this in beta, but in RC.2 the date picker was being dismissed by the back button if I recall correctly.

manucorporat commented 7 years ago

@yannbf @Kobzol please read my comments: https://github.com/driftyco/ionic/issues/7824#issuecomment-265401532

Also, can you try the latest nightly? it should not pop the page behind the picker.

AleFons commented 7 years ago

I'm using rc4 and I'm still facing this bug when on a modal.

OmarHassan25 commented 7 years ago

This issue still exists on rc4

naveedahmed1 commented 7 years ago

I can confirm it has been fixed and working properly.

Fdom92 commented 7 years ago

I confirm that its resolved on RC4, now my sidemenu its closed when i press on hardware back button, and modals too! :)

OmarHassan25 commented 7 years ago

I can confirm that it isn't resolved for modals, if you have a modal present and pressed the hardware back button, the modal isn't dismissed.

On Dec 18, 2016 3:49 PM, "Fernando del olmo" notifications@github.com wrote:

I confirm that its resolved on RC4, now my sidemenu its closed when i press on hardware back button, and modals too! :)

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/driftyco/ionic/issues/8692#issuecomment-267819349, or mute the thread https://github.com/notifications/unsubscribe-auth/AK49WxnrNE867XJkliPrZCmdER7qLfHuks5rJSvGgaJpZM4KWsVK .

dylanvdmerwe commented 7 years ago

@OmarHassan25 please output your ionic info.

AleFons commented 7 years ago

@dylanvdmerwe Well since I also have the same issue, I'll also post my ionic info here:

Cordova CLI: 6.3.1 Ionic Framework Version: 2.0.0-rc.4 Ionic CLI Version: 2.1.17 Ionic App Lib Version: 2.1.7 Ionic App Scripts Version: 0.0.47 ios-deploy version: Not installed ios-sim version: Not installed OS: Windows 10 Node Version: v6.7.0 Xcode version: Not installed

OmarHassan25 commented 7 years ago

@dylanvdmerwe Here is my ionic info,

Cordova CLI: 6.4.0 Ionic Framework Version: 2.0.0-rc.4 Ionic CLI Version: 2.1.17 Ionic App Lib Version: 2.1.7 Ionic App Scripts Version: 0.0.39 ios-deploy version: Not installed ios-sim version: Not installed OS: Windows 10 Node Version: v6.9.1 Xcode version: Not installed

On Sun, Dec 18, 2016 at 4:34 PM, AleFons notifications@github.com wrote:

@dylanvdmerwe https://github.com/dylanvdmerwe Well since I also have the same issue, I'll also post my ionic info here:

Cordova CLI: 6.3.1 Ionic Framework Version: 2.0.0-rc.4 Ionic CLI Version: 2.1.17 Ionic App Lib Version: 2.1.7 Ionic App Scripts Version: 0.0.47 ios-deploy version: Not installed ios-sim version: Not installed OS: Windows 10 Node Version: v6.7.0 Xcode version: Not installed

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/driftyco/ionic/issues/8692#issuecomment-267821462, or mute the thread https://github.com/notifications/unsubscribe-auth/AK49WxTuREMG36EcDDaw10BHI_3t60RWks5rJTZQgaJpZM4KWsVK .

AleFons commented 7 years ago

The problem has solved itself for me; I don't know how, exactly.

I believe it may have been an error with plugin inconsistency. Or maybe it was that I changed the version number.

heyconor commented 7 years ago

Is this definitely fixed? I seem to have encountered this issue today. My ionic info is as follows:

Cordova CLI: 6.5.0 Ionic Framework Version: 3.0.1 Ionic CLI Version: 2.2.2 Ionic App Lib Version: 2.2.1 Ionic App Scripts Version: 1.3.0 ios-deploy version: Not installed ios-sim version: 5.0.13 OS: macOS Sierra Node Version: v6.10.2 Xcode version: Xcode 8.2.1 Build version 8C1002

amility commented 6 years ago

I am facing this problem too.

daveshirman commented 6 years ago

@amility: no one from Ionic team will reply to you here. They stopped addressing the community ages ago. Advice is to work around the bug as they clearly won't fix it. Even better, choose a different framework like Flutter before you get too far down dev in your app.

amility commented 6 years ago

Really? Ionic team stopped supporting their project. Its quite unbelievable as I can still see their recent replies on latest closed issues.

daveshirman commented 6 years ago

I didn't say that. I just think their support and quality control is lousy at the moment and has been for a while. Feel free to take a look at my open issues, notice the date posted and lack of replies, from even the simplest of things.

Take a glance at how many issues there are here with Virtual Scroll. No replies. These are basic things in the framework that should just work.

Just my two cents.

On 7 Mar 2018 9:15 am, "amility" notifications@github.com wrote:

Really? Ionic team stopped supporting their project. Its quite unbelievable as I can still see their recent replies on latest closed issues.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ionic-team/ionic/issues/8692#issuecomment-371073834, or mute the thread https://github.com/notifications/unsubscribe-auth/ANnlXsGwJVyMqFrBZIQ1nqr5WJOUeyrTks5tb6U6gaJpZM4KWsVK .

amility commented 6 years ago

Its strange. Its the widely known framework for hybrid apps and many apps are based on it. It will create problem in future if team will leave to support it.

mhartington commented 6 years ago

Hey there folks! Just to chime in on this.

We’re sorry that the team has been quiet lately. The fact is, we've been going through the entire core of the framework and rewriting it to use web components. This has been our main focus for the past few months and I’m confident you are going to love it when it’s ready (soon!).

While the rework is going well, we do notice that issues keep coming through at a rate that makes it hard to triage and focus on work on the framework at the same time. So we've made the decision to "freeze" ionic until we can get V4 out. While this is a tough thing to do and is a difficult decision, it is needed as we the team need to focus on the new release, which will address many of the outstanding issue (like virtual scroll).

Ok, so what are you going to do about this in the future?

Great question 😄 ! We're reworking our process of dealing with issues and introducing a Bot to help automate a lot of this. This means that we'll get to a point where we can respond to issues and have all of the information/data needed in order to debug and fix the issue. This so far has been the biggest pain point when dealing with Github's current issue process. We're very hopeful that this bot will improve our process and help resolve issues much quicker!

We'll be releasing our updates on the whole process on our blog, so please keep an eye out for it.

To wrap up...

If you have any question/concerns, please feel free to send me an email. mike at ionic dot io

Cheers!

amility commented 6 years ago

Nice to hear that Mike. Its such a great relief that you people are gonna make it much better soon. Dying to see new version soon. I hope one day we will be able to make hybrid apps using ionic which is not behind native apps. Best of luck !

ionitron-bot[bot] commented 6 years ago

Thanks for the issue! This issue is being locked to prevent comments that are not relevant to the original issue. If this is still an issue with the latest version of Ionic, please create a new issue and ensure the template is fully filled out.