Blog Posts

Wednesday, June 25, 2014

SimpleUndoClose 1.3.3

A jump in the 3rd level version number!
No new functions but a lot of changes underneath.

Tested it for some time, hope nothing goes wrong.
If anything funny happens try clearing all saved tabs.
Try not to have extensions disabled when you expect updates (reason for strange request).

Some notable changes include:
  • changes to the tab data stored and the way they are managed
  • improving the reliability of double click undo
  • reduced event page wake up caused indirectly by custom undo hotkey
Check out the changelog for the complete list of changes.

Before the jump to some technical details I would like to thank Sergey Zagursky for the updated Russian translations. His updated Russian translation for SimpleExtManager will be released later in the upcoming version.

Kind of in the mood for some writing so... :P

Stored tab data related changes
Actually this started 1-2 versions back. I changed the delimiter used and trimmed off the unused data. Also went on to create an index for the current open tabs entries in order to save some time from looping through the whole localStorage. These changes are what led to the forced reset in 1.3.2.3.

In this version the closed tabs entries are indexed as well, this reduces the looping and eliminates wasted loops incurred when entries in between are deleted in the previous sequential implementation. Also with the index implementation, 3 localStorage variables that were used in the previous sequential implementation can be removed.

Overall the logic is less complex and hopefully more stable and reliable.

Double click undo code
While testing the tab data related changes I came across the unreliable triggering of the double click undo function. After some sleuthing, the problem is narrowed to the non-persistent nature of the event page (this and the async methods can be a headache sometimes). Also noticed that the double click behaviour of the icons are back to that of pre-Aura.

In the end I reverted back to the previous double click undo logic with the Chrome message passing API to get double click undo to work more consistently.

Ok, the post is getting a bit long so I'll leave it at that.
Theres still many changes under the hood but I guess the average user won't want to know all the nitty-gritty technical details.

Hours to Google I/O, wonder what will be announced!

7 comments:

  1. This update broke this extension for me.

    Using Version 37.0.2062.0 dev-m (64-bit)

    clicking the icon displays the clear, search, delete and arrow buttons regardless of what is ticked in the settings and no longer displays any tab history.

    love the extension

    ReplyDelete
    Replies
    1. I've only tested it on the Stable channel 35.0.1916.153 m (I only test my extensions on the stable versions)

      I got the 1.3.3 update via autoupdate yesterday and its working fine.Thought I got it right.

      Maybe you can try to disable then enable SimpleUndoClose?

      Or try typing "chrome.runtime.reload();" without quotes into the console (right click popup then "Inspect element"). Type and press enter. By the way is there any red error text in the console?

      Worst case is you can try to uninstall and reinstall.

      Delete
    2. You can also try the "Clear saved tabs" button in the options page.

      Delete
  2. tried everything you mentioned with no luck. basically it looks like this http://i.imgur.com/T4VGutW.png and doesnt change regardless of what is changed in the settings and no tab history is displayed.

    The console says: "Uncaught SyntaxError: Unexpected token u" when i open it on the settings page

    I know i shouldnt be complaining due to my using a unstable version, but its the only 64bit version google has for chrome so far.

    ReplyDelete
    Replies
    1. I found the problem, its my fault.
      Already put up 1.3.3.1 which should fix the problem.

      Thanks for informing me.
      (I don't use unstable Chrome builds as I had my profile corrupted a few times by those builds)

      Delete