Titanium

[MOD-2279] ti.safaridialog web pages still show in Safari Inspector after closing

GitHub Issuen/a
TypeBug
PriorityHigh
StatusOpen
ResolutionUnresolved
Affected Version/sn/a
Fix Version/sn/a
ComponentsSafariDialog
Labelsn/a
ReporterChristy Thomas
AssigneeUnknown
Created2016-07-28T13:45:22.000+0000
Updated2018-03-06T18:52:17.000+0000

Description

I am using ti.safaridialog in an appcelerator application and when using Safari Inspector I am noticing that safari dialog instances/views are sticking around even after the dialog is closed. If I hit Done in the ti.safaridialog url I am showing, the view still shows up under the Safari -> Develop -> Simulator -> (App Name) and I can select it and inspect the page that is no longer open. This makes me think that these ti.safaridialog views are not getting cleaned up properly.

Comments

  1. Christy Thomas 2016-07-28 Also if you use Instruments and watch Allocations the SFSafariViewController is not being cleaned up. What is the appropriate way to clean up after using require('ti.safaridialog').open()?
  2. Chee Kiat Ng 2016-08-26 [~cthomas] Thank you for the information. I think the most important thing is if the module leaks. As you mentioned, on Instruments if you watch allocations it doesn't get cleaned up, it's normal as eventually it will get garbage collected. More importantly, on Instruments - Leaks, did you manage to snapshot any leaks? Thanks again.
  3. Christy Thomas 2016-08-29 There are some leaks occurring when going to the safari dialog and coming back to the app. Nothing specific to ti.safaridialog it appears, but it is something that doesn't happen otherwise when running our app and showing activity indicators. See image of leaks after switching to safari dialog a few times and back to the app : [link image](https://drive.google.com/file/d/0B5ksTWl7XXHRUVdPVTYxNm5QREE/view?usp=sharing). The other concern I have is that the safari view is still showing up in the safari debug menu. Why isn't that getting cleaned up?

JSON Source