Displaying UI message before upload on iOS - fine-uploader

My Fine Uploader instance is working fine. Great product and thank you!!
I'm using the JQuery method of implementation.
The issue I'm running in to is on iOS6 (iPad.)
When I select many files (say 6 or more) there is a long pause where nothing happens before the auto upload triggers.
What I'm trying to do is display a dialog to the user during this awkward pause to say "hold on we're processing the files" or something.
I've already tried to throw the dialog in onSubmit, onSubmitted it's simply too late. The pause happens, THEN the dialog appears. I just want the user to not be left hanging during this awkward pause, as I'm dealing with very non-savvy users.
I tried to throw it on validateBatch but I'm doing something wrong.
So finally my question is this:
How/where (which callback or event) would I go about throwing a message to my users after they have selected their files?

You are describing a very specific bug in iOS6. I created a bug report in the Fine Uploader project that covers this. I also opened up a bug report with Apple.
The issue is that Safari on iOS (possibly Chrome too, though I have not verified) takes a noticeable amount of time to trigger the "onchange" event (which Fine Uploader depends on internally) after a user has selected files. The amount of time it takes iOS6 to trigger this event seems to be proportional to the number of files selected at once. This issue in particular is not related to Fine Uploader as it can be reproduced with a simple file input element on an empty page (as indicated in the bug report I linked to).
I'm afraid there is no workaround for this, as far as I know. When a user selects a file or files via a file input element, Fine Uploader has no way of knowing about this until the browser triggers the "onchange" event on the file input.
Note: The bug report I linked to may not load at the writing of this answer as Github is currently down (and has been for a while now).

Related

Personal Tab Renders Fine, then a few seconds later shows "There was a problem reaching this app"

I'm testing something in a personal tab (something related to SSO, if that's important in context), and the tab renders fine for about 30 seconds or so, then suddenly gets replaced with an error "There was a problem reaching this app" (the one with the image of a woman and a thought bubble). Does anyone know why this suddenly happens AFTER the tab has ALREADY rendered ok?
I finally found an answer to this, so posting in case someone else has the issue. Basically, Teams manifest recently added a capability to show a loading / progress indicator to show users that your tab is still loading. It shows up in the manifest as "showLoadingIndicator" and is boolean (true/false). It can also be set in App Studio of course, as the image below shows.
The problem comes in that the "SDK" link shown in App Studio is flat-out useless - it links to the Teams js Library on GitHub, of all places! It should rather go to this section of this page, which explains how to deal with it. I was originally only calling microsoftTeams.appInitialization.notifyAppLoaded();, but I needed to also call microsoftTeams.appInitialization.notifySuccess().

Custom form in Outlook Task is not syncing

My partner and I created a custom task form to be used in Outlook using the developer mode to do that, and we published it to the Organization Forms Library for anyone to open. We're running into issues that I personally can't seem to find on how to resolve:
Custom forms aren't syncing correctly.
When I complete out the custom form, and I assign it to someone else they might be missing details like the dates I picked from the date picker, and text within the text box are gone too. It's very odd that sometimes some would get all the details that an end-user would input but that's like a 1/8 chance. I feel like there's a disconnect where it just won't behave like any other task. Cache mode or no cache mode doesn't matter it seems. When the person assigns it back with changes made on their end, those changes aren't seen on my side. I just have the same original details that I made when I first made it. We're on Exchange Server 2010.
Looks like a custom form was not published correctly to others in the organization. Try to create a new Outlook item on other machines with your custom forms to make sure they were deployed correctly.
Note, message forms default to separate layouts for composing and reading. Many people find their first message form doesn't look right when they receive an item created with it. That's simply because they forgot to click the Edit Read Page button and customize the Read layout!
You may find the Customizing Outlook Message Forms article helpful.

Content Script Injection at Install for Firefox Web Extension

If content scripts are specified in manifest.json for Firefox, Firefox will also load content scripts for already opened tabs and execute them even the tabs are already in loaded and ready state.
Google Chrome does not add any content script when extension is installed for already opened tabs. The content script is loaded when the page is refreshed for the older tabs.
I want to ask is Firefox's behavior is expected or bug?
As far as compatibility goes, it's a bug.
Chrome does not do that.
As a result, many extensions implement custom logic to achieve the effect.
One has to take into account side effects. Suppose your content script injects some UI into the page. Then the extension is updated. That amounts to extension restart, and suddenly you have 2 copies of the UI. Also valid if you just attach event listeners, as (at least in case of Chrome) the old content script's context continues to exist (in an "orphaned" state).
The last point is very important and probably the reason why Chrome doesn't do it by default. At some point I made a very long post about this problem - if you're going to report this as a bug to Mozilla, please include that. There's also this feature request that is related.
What would be sensible (and backwards compatible) is to add a parameter to content script description in the manifest - whether to inject into existing pages. It will be up to developers to guarantee that side effects are taken care of. This usually requires even more code to just communicate to the old script that it needs to wind down and clean up.

Cannot re-display Swiffy movie

Our webapp (an online advertising campaign console) supports ad tags that are converted from flash using Swiffy. In our UI, we have a page where you can preview and edit the ad, and some changes cause the preview (an IFRAME) to be reloaded with an updated preview (e.g. if we change the URL passed as the clickTag value to the ad).
The first time we display a Swiffy preview, everything works fine; but on the second and subsequent attempts, we see the following in the browser (Chrome 43.0.2357.130) console:
Uncaught TypeError: Cannot redefine property: __swiffy_override
(anonymous function) # runtime.js:163
(anonymous function) # runtime.js:799
It seems that what's going on here is that Swiffy is using Object.defineProperty(Date,"__swiffy_override",{value:Fh}). According to MDN, unless you specify {configurable: true} in the third argument, you will get this exception.
We're currently using the version of runtime.js from Google's CDN (https://www.gstatic.com/swiffy/v7.2.0/runtime.js). We could, of course, copy this into our own CDN and edit the javascript, but this has obvious maintainability issues.
Is this something that should be reported back to Google as a bug? (If so, how does one do that?)
Is this a problem other people have run into, and have work-arounds for?
It sounds like you are not actually reloading the contents of the IFRAME when updating the preview, otherwise the error shouldn't occur, Date.__swiffy_override would not be defined at that point.
If you aren't able to completely reload the content of the IFRAME, are you able to load the Swiffy runtime just once, and create a new swiffy.Stage for each preview update?
Note, I've not tested this, and it may not work in some circumstances (if at all). I'd be especially wary of creating swiffy.Stages with different ActionScript versions for instance. The safe bet would always be to completely reload the IFRAME each time.

Qtp element recognition through diff modules

Ok this may be a vague question but I have an issue recognizing a webelement in one module (tab) but works completely fine in another tab. This is the same webelement. Everything seems to be same. It's the same form on the gui side with same properties and values.
Now this is another weird part, I can add one to the object repository but when I go to the other tab and try the same qtp becomes extremely slow. The + sign for adding it to the repository appears but when I click it, it gives me a message saying this object cannot be added to the repository.
The Web app uses extJS if that matters and this is a high level webelement that has a constant html id. I'm just puzzled as to why it works in one module but not the other.
There are also some subtabs where you can click on this form. Those work fine but when it comes to capturing this element the issue persists.
Any hypothesis as to why this is happening?
Okay it looks like it works when I took off the visible identification and just identifying it by the html id. I still don't get why taking the visible made a diff but it works.

Resources