Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-27894] iOS: Navigation bar flickers on open (SDK 9.0.2 regression, iOS 13+)

GitHub Issuen/a
TypeBug
PriorityCritical
StatusClosed
ResolutionFixed
Resolution Date2020-05-19T15:15:37.000+0000
Affected Version/sRelease 9.0.2
Fix Version/sRelease 9.0.2
ComponentsiOS
Labelsn/a
ReporterHans Knöchel
AssigneeVijay Singh
Created2020-05-08T19:33:30.000+0000
Updated2020-05-19T15:15:37.000+0000

Description

A well known issue seems to have come back between SDK 9.0.1.GA and 9.0.2 / 9.1.0 master. When opening a window, the navigation bar color flickers for half a second, resulting in a bad UI glitch. It can be reproduced in our app and is a show-stopper for the SDK 9 migration. Manually reverting [this commit](https://github.com/appcelerator/titanium_mobile/pull/11670/commits/84a093095332415922e58b14a6449c472355a510) fixed the issue for us.

Comments

  1. Hans Knöchel 2020-05-08

    Oh, wait. It's an 9.0.2 SDK regression only (caused by TIMOB-27868), so still fixable before going into production.
  2. Vijay Singh 2020-05-11

    [~hknoechel] Do you have any small test case to reproduce the issue?
  3. Vijay Singh 2020-05-11

    I tried with following test case but it is working fine.
       var win2 = Titanium.UI.createWindow({
           backgroundColor: 'red',
           title: 'Red Window',
           barColor: 'yellow',
         //  largeTitleEnabled: true
       });
       
       var win1 = Titanium.UI.createNavigationWindow({
          window: win2
       });
       
       var win3 = Titanium.UI.createWindow({
           backgroundColor: 'blue',
           title: 'Blue Window',
           barColor: 'green',
         //  largeTitleEnabled: false
       });
       
       var button = Titanium.UI.createButton({
           title: 'Open Blue Window',
       });
       button.addEventListener('click', function(){
           win1.openWindow(win3, {animated:true});
       });
       
       win2.add(button);
       var button2 = Titanium.UI.createButton({
           title: 'Close Blue Window',
       });
       button2.addEventListener('click', function(){
           win1.closeWindow(win3, {animated:false});
       });
       
       win3.add(button2);
       win1.open();
       
    [~lchoudhary] Can you try to reproduce it? I am getting build error in Han's app.
  4. Vijay Singh 2020-05-13

    [~hknoechel] I am getting following build error while running your app using 9.0.1.GA / 9.0.2. It would great if you can provide simple test case to reproduce the issue. {noformat} [DEBUG] internal/modules/cjs/loader.js:797 [DEBUG] throw err; [DEBUG] ^ [ERROR] : Cannot find module '/Users/vijay/Documents/Projects/Titanium/lambus-titanium/undefined' [DEBUG] at Function.Module._resolveFilename (internal/modules/cjs/loader.js:794:15) [DEBUG] at Function.Module._load (internal/modules/cjs/loader.js:687:27) [DEBUG] at Function.Module.runMain (internal/modules/cjs/loader.js:1025:10) [DEBUG] at internal/main/run_main_module.js:17:11 { [DEBUG] code: 'MODULE_NOT_FOUND', [DEBUG] requireStack: [] [DEBUG] } [ERROR] Alloy compiler failed {noformat}
  5. Vijay Singh 2020-05-13

    After installing Alloy globally ([sudo] npm i alloy -g) and commenting out extensions in tiapp.xml, I am able to ran Han's app. But I can not see the flickering issue. cc [~amukherjee] [~lchoudhary] .
  6. Vijay Singh 2020-05-14

    PR (master) - https://github.com/appcelerator/titanium_mobile/pull/11704 PR (9_0_X) - https://github.com/appcelerator/titanium_mobile/pull/11703 Test Case -
       var win3 = Titanium.UI.createWindow({
           backgroundColor: 'blue',
           title: 'Next Blue',
           largeTitleEnabled: true,
       });
       
       var win1 = Ti.UI.createWindow({
           backgroundColor: 'blue',
           title: 'Blue',
           largeTitleEnabled: true,
       });
       var button = Titanium.UI.createButton({
           title: 'Open Next Blue',
       });
       button.addEventListener('click', function(){
           tabGroup.activeTab.open(win3);
       });
        
       win1.add(button);
       
       var win2 = Ti.UI.createWindow({
           backgroundColor: 'red',
           title: 'Red',
           largeTitleEnabled: true,
       });
       win2.add(Ti.UI.createLabel({text: 'I am a red window.'}));
       
       var tab1 = Ti.UI.createTab({
           window: win1,
           title: 'Blue',
       }),
       tab2 = Ti.UI.createTab({
           window: win2,
           title: 'Red'
       }),
       tabGroup = Ti.UI.createTabGroup({
           tabs: [tab1, tab2]
       });
       tabGroup.open();
       
       
  7. Samir Mohammed 2020-05-14

    FR Passed, waiting on Jenkins build for Master and 9_0_X.
  8. Samir Mohammed 2020-05-19

    *Closing ticket*, fix verified in SDK version 9.0.2.v20200518045509 and SDK version 9.1.0.v20200518074749 Test and other information can be found at: PR (master) - https://github.com/appcelerator/titanium_mobile/pull/11704 PR (9_0_X) - https://github.com/appcelerator/titanium_mobile/pull/11703

JSON Source