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