Hi,
I'm using SmartClient 8 GA and found a potential out-of-sync key/value issue while
using the Offline feature under IE8.
The problem is random (since the datastore is set randomly). looks like the internal
keys datastore + attr repeat themselves when the browser is refreshed causing
a value of key1/value1 to be replaced with key1/value2 when key2/value2 is inserted.
Here is a way to reproduce this in the test bed:
Reset (F5 or CTRL-F5) the browser and run the following code:
As you can see, there are some out-of-synch key/value pairs.
Any idea? Could this be a bug in the Offline implementation?
Thanks,
I'm using SmartClient 8 GA and found a potential out-of-sync key/value issue while
using the Offline feature under IE8.
The problem is random (since the datastore is set randomly). looks like the internal
keys datastore + attr repeat themselves when the browser is refreshed causing
a value of key1/value1 to be replaced with key1/value2 when key2/value2 is inserted.
Here is a way to reproduce this in the test bed:
Code:
Offline.put('test1', 'test1');
Offline.put('test2', 'test2');
Offline.put('test3', 'test3');
Offline.put('test4', 'test4');
Offline.put('test5', 'test5');
Refresh the browser F5
Offline.put('test6', 'test6');
Offline.put('test7', 'test7');
Offline.put('test8', 'test8');
Offline.put('test9', 'test9');
Offline.put('test10', 'test10');
Refresh the browser F5
Offline.put('test11', 'test11');
Offline.put('test12', 'test12');
Offline.put('test13', 'test13');
Offline.put('test14', 'test14');
Offline.put('test15', 'test15');
Refresh the browser F5
Offline.put('test16', 'test16');
Offline.put('test17', 'test17');
Offline.put('test18', 'test18');
Offline.put('test19', 'test19');
Offline.put('test20', 'test20');
Refresh the browser F5
Offline.put('test21', 'test21');
Offline.put('test22', 'test22');
Offline.put('test23', 'test23');
Offline.put('test24', 'test24');
Offline.put('test25', 'test25');
Offline.put('test26', 'test26');
Offline.put('test27', 'test27');
Offline.put('test28', 'test28');
Offline.put('test29', 'test29');
Offline.put('test30', 'test30');
Offline.put('test31', 'test31');
Offline.put('test32', 'test32');
Offline.put('test33', 'test33');
Offline.put('test34', 'test34');
Offline.put('test35', 'test35');
Offline.put('test36', 'test36');
Offline.put('test37', 'test37');
Offline.put('test38', 'test38');
Offline.put('test39', 'test39');
Offline.put('test40', 'test40');
Code:
for (var i = 1; i < 41; i++)
{
var value = Offline.get('test' + i);
if (value != 'test' + i)
alert('test' + i + ' : ' + value);
}
Any idea? Could this be a bug in the Offline implementation?
Thanks,
Comment