Friday, August 3, 2012

IE9, HTTPS, "Do not save encrypted pages to disk" option and odd behavior




This option is turned off by default. While I was troubleshooting SSL issues the check box was accidentally turned off and it took several days to find out why we had a bug in a web application reproducible at a single machine.

Web application used ActiveX component to load XSL and render a part of a page. Due to some reasons the part was not rendered properly. Investigations with network monitor showed that there're several requests aborted due to unknown reasons (response status was 200 OK, no any mention on possible cause):



Restoring the option back to FALSE solved the issue. Although it's name doesn't seem to be suspicious browser behavior changes drastically:
1. Any plug-in/add-in running inside IE that uses IE API for network calls may use a special API setting requiring saving the response to disk (INTERNET_FLAG_NEED_FILE) which will be blocked by browser
2. File downloads from HTTPS source will be blocked

In our case ActiveX component which worked for ages was not getting requested data due to the above specifics of how requests are handled with the option turned on. IE 10 seems to have the issues fixed.

See more details in this blog post.

Monday, July 16, 2012

FireFox extension: ScrollUp

I've recently published a very simple but useful (at least it adds much comfort for me) FireFox extension.

The idea is simple and can be found integrated into some sites (vk.com, habrahabr.ru) and Opera Mini. Whenever you're reading a page deep down you'd probably want to quickly get to the page top (e.g. while reading Facebook News Feed). Most likely you'll have to use scroll wheel or aim a scroll bar. The easier option is to use a pop-up button (which pops at the right moment) to quickly scroll the page up. That's what the plug-in does.

1. Move mouse pointer to the left and see the button pop up (whenever cursor gets to 200px area the button is showed):


2. Click the button:


3. Have the page scrolled up:


Clicking the button again (which is renamed to "DOWN") will scroll the page back to the position where "UP" was clicked.

Taken into account the simplicity of the plug-in it can be used as a sample of FireFox extension development and DOM manipulation via JavaScript from within an extension.

The plug-in can be downloaded here.
Extension contents can be found here.

Tuesday, May 8, 2012

Ripple, BB 10 WebWorks and 'Please enter a valid application id' error

You're developing an application for BB 10 using HTML5, Ripple emulator (for running & debugging your application in Chrome browser) & BlackBerry 10 WebWorks SDK (my version was 1.0.0.7).

Once you set up build settings and click 'Package' button to produce output you get the following error message:

Oh Snap! Build request failed with message: [ERROR] Error: Please enter a valid application id


 

Go to your application source directory and check the contents of config.xml file. Pay attention to the <widget> opening tag:
 <widget xmlns="http://www.w3.org/ns/widgets" 
        xmlns:rim="http://www.blackberry.com/ns/widgets" 
        version="1.0.3" 
        rim:header="RIM-Widget:rim/widget"
        id="SketchPad">

Possible causes for the error:
  1. Missing id tag
  2. White spaces in id tag value (registered issue)
As it turned out, WebWorks samples had the id value missing which was leading to build error when using Ripple.

Thursday, April 26, 2012

Ordered test execution error when using Test Manager/TFS

Background:

You've got TFS 2010 Server installed on a virtual machine and fully prepared for building and running automated tests (Build controller, Test Controller, Test Agent are installed and up&running, Build definition is created within TFS etc.).

You've got a test case which has associated automated ordered test. In Microsoft Test Manager this test case is added to a test plan which is set up for automated test runs (Test settings, Test Environment, Build are defined).



The associated with the test case ordered test file resides in a sub folder within the test project, not under root:



Issue:

When you run the test case from Test Manager (started on your work station & connected to remote TFS server) you get an 'Error' state (not 'Failed') for the test and the error message says: Cannot find the test ‘XXX’ with storage ‘..\bin\debug\YYY.dll’

The issue is due to Test Agent searching wrong folder for the tests DLL in case ordered test is not under root.

Resolution:

Put the ordered test file under project root and DLL folder will be resolved correctly.