History | Log In     View a printable version of the current page.  
Issue Details (XML)

Key: SDK-14162
Type: Bug Bug
Status: Under Investigation Under Investigation
Priority: B B
Assignee: Alex Harui
Reporter: prasanth
Votes: 32
Watchers: 26
Operations

If you were logged in you would be able to see more operations.
Flex SDK

Preloader not showing up when we add deeplinking urls

Created: 12/28/07 12:28 PM   Updated: 06/02/09 05:46 PM
Component/s: Preloader
Security Level: Public (All JIRA Users )

Severity: Incorrectly Functioning
Reproducibility: Every Time
Discoverability: Medium
Found in Version: SDK Flex 3 (Released)
Milestone: SDK Gumbo - Release
Affected OS(s): All OS Platforms
Steps to Reproduce:
Steps to reproduce:
1. add deeplinking and u dont see preloader at all
2. try this link http://www.swingwind.com/Launch/index.html#testname=Ages Test1;testtype=topictest3.
 
 Actual Results:
 we dont see preloader while app is loading
 
 Expected Results:
 
 
 Workaround (if any):
 
 
 
Language Found: English
Bugbase Id: none
Triaged: Yes
Regression: No
QA Owner: Joan Lafferty
Participants: Adnan Doric, Alex Harui, Aloysius Chan, Cyprian Kowalczyk, james gauthier, Lauren Park, Leonard Harley, Matt Chotin, Nathan Curtis, Peter deHaan (Adobe), prasanth, Ray Greenwell, speedyman, Tom Chiverton, VISWESHWAR GANESH and William Chadwick
Browser: Internet Explorer 7.x
JDK: Sun 1.5.x


 All   Comments      Sort Order:
Lauren Park - [12/31/07 11:53 AM ]
re-assigned to Peter.

Peter deHaan (Adobe) - [01/02/08 07:52 PM ]
Able to repro using IE7/WinXP (SP2), WIN 9,0,115,0 (debug), Flex SDK Version 3.0 build 191831

Loading a 1.8MB SWF from a remote server with just .../main.html would display a progress bar, but there wasnt any progress bar visible when loading .../main.html# or .../main.html#app=2214&c802-selectedIndex=1

Recommend defer.

Lauren Park - [01/02/08 09:49 PM ]
Deferred.

Ray Greenwell - [06/26/08 09:00 PM ]
Is this a problem with the flash player, or with the SWF? I assumed it was the player..

We use a preloader on whirled.com with our 1MB swf, and since we use GWT to generate all the web pages, pretty much everything has a # in the URL, preventing the preloader from ever working. Gosh it'd be nice if this were fixed...

Tom Chiverton - [07/29/08 03:22 AM ]
It doesn't seem to occur here in FireFox, so I'm going to guess it's an ActiveX player issue.

Nathan Curtis - [07/29/08 11:44 AM ]
We've seen this happen with our product on every platform, and all major browsers. The preloader fails to load on Linux, Windows and Mac, under IE, Firefox and Safari... As long as the URL contains "#" for deep-linking, the preloader won't load for us.

Tom Chiverton - [07/31/08 03:48 AM ]
Re: Nathan's comment
My app is Flex 3, compiled using the Builder 3 beta on Linux.
The url is like 'http://foo.localdomain/#' or 'http://foo.localdomain/#view=1' and our custom preloader appears (briefly, with a full progress meter) in FireFox 3 (32-bit player, 64-bit Linux [OpenSuSE]) with the .124 debug player.
The only think I can think of is that in our preloader once FlexEvent.INIT_COMPLETE is triggered, we do some further processing and then do
            this.dispatchEvent(new Event(Event.COMPLETE));
            this.loader.ready = true;
when that has finished.

Maybe the (default) preloader doesn't draw anything (or pause for breath like ours does) if the load time is small, or jumps straight to 100%.
As a test/workaround, could you try setting the protected MINIMUM_DISPLAY_TIME to a non zero value (say 2000) in a subclass of DownloadProgressBar and use that as your preloader ?

Ray Greenwell - [08/01/08 03:42 PM ]
Re: Tom's latest comment.
I'm replying for Nathan as well, since we work on the same project.

The preloader does briefly run, the problem is that it doesn't do it until all the frames are loaded. Using a minimum display time isn't what we want- we want the app to show up ASAP, but to show the preloader when possible while loading the rest of the app. Using the minimum display time doesn't solve this problem, just makes it so that the preloader will continue to show even after the rest of the app is ready.

We are using a custom preloader, implementing IPreloaderDisplay, rather than subclassing DownloadProgressBar.

I have very simple test code that demonstrates the problem. A preloader is initialized by the (confusingly named) Preloader class, which is created by the SystemManager. Preloader instantiates the IPreloaderDisplay instance and calls a number of setters on it to initialize it. The last thing set is the Preloader itself, so that the display can listen for PROGRESS and INIT_COMPLETE events, etc. Here is our implementation of this method:

    // from IPreloaderDisplay
    public function set preloader (value :Sprite) :void
    {
        value.addEventListener(ProgressEvent.PROGRESS, handleProgress);
        value.addEventListener(FlexEvent.INIT_COMPLETE, handleComplete);

        // TODO: remove the following debugging
        var mc :MovieClip = value.root as MovieClip;
        var working :Boolean = (mc.framesLoaded < mc.totalFrames);
        trace("----> Preloader " + (working ? "DID" : "did NOT") + " work.");
    }

If I put our app in an HTML page and load it directly, mc.framesLoaded == 1 and mc.totalFrames == 2. The preloader is getting set up as soon as possible.

If I simply add #foobar to the URL of that page, then mc.framesLoaded == 2. The preloader is not getting set up until the entire movieclip has finished loading.

james gauthier - [09/29/08 07:36 PM ]
I have the exact same symptom - the # mark as a trigger. we're still looking into it

Matt Chotin - [10/08/08 11:36 AM ]
re-opening based on customer feedback

Ray Greenwell - [10/08/08 11:47 AM ]
I have more customer feedback: Yaaaay!!! Thank you!

Lauren Park - [10/09/08 12:56 PM ]
Investigate - Assigned to Alex.

Aloysius Chan - [11/11/08 09:50 PM ]
I can confirm that adding a # to the end of the url will cause the flex built in preloader to not load during the swf downloading phase.
Preloader works when the # is removed from the url.

Browser: Firefox 3.03, Windows XP

Leonard Harley - [12/13/08 12:00 AM ]
This issue was 1st reported nearly a year ago. Can we please have some feedback on when the fix for this problem is anticipated / be provided with an interim work around.

Deep Linking is essential and simply not being able to feedback to user what is happening while the app loads is not acceptable.

Leonard Harley - [12/15/08 05:26 AM ]
Please ignore last post.

We have figured out a work around that allows us to use deep linking and have a pre-loader that works properly...

Tom Chiverton - [12/15/08 12:17 PM ]
Leonard, is it possible to include an outline of what you did, for the benefit of the other people who'd like that same fix ?

speedyman - [12/18/08 01:31 PM ]
I'm having the same issue: Deep Linking prevents a custom preloader from displaying. Yes, it would be very helpful to have a work-around for this.

IE 6.0.2900
FF 3.0.4
Win XP Pro

William Chadwick - [01/06/09 10:54 AM ]
Please fix this issue! Thanks

VISWESHWAR GANESH - [01/13/09 01:55 AM ]
I am having the issue not with preloader.. but the deep linking just seems to get stuck after a navigation out of the page...i.e. opening a new window....

Adnan Doric - [02/11/09 05:14 AM ]
Any news about this issue please ?

William Chadwick - [03/19/09 02:52 PM ]
Is there any news? Please give us an update. Thanks

William Chadwick - [05/14/09 07:33 PM ]
What about a workaround? Could Adobe or someone post a workaround?
Thanks.

Cyprian Kowalczyk - [05/15/09 02:42 AM ]
You can create a small SWF that serves as prealoader that loads your application and in this way you would have preloader that shows up instantly and deep linking working.

William Chadwick - [05/15/09 09:39 AM ]
Cyprian Kowalczyk,

Can you give me a few more details please?

A small SWF created in Flex 3 or in Flash 9?

Load the large Flex application with SWFLoader?

thanks.

Cyprian Kowalczyk - [05/15/09 12:41 PM ]
@William Chadwick:
Create small Flash app that loads flex app using Loader class.
When load completes remember to wait for the flex app to advance to the second frame to know when it's ready for action.