Restore Your Lost Tabs in Toby and How to Prevent It


Toby is a tab management extension in Chrome. It helps me to save current session as a new a group and close all tabs. Manage saved tabs by groups. Re-open a tab or a group quickly. Not only organize my working tabs more efficiently but also save memory and help my OS X more responsive. I also enable the “Sync to Google Drive option to make a backup of my groups.

Everything is perfect until I turn on “Sync to Google Drive on my Acer Chromebook 15 with the same Google Account. It didn’t sync back from Google Drive but replaced with the new default tab groups. The Chrome on OS X detects the new version on Google Drive and replace my local version. All my saved tabs are gone.

Restore from Time Machine

Lucky me. I have backup with Time Machine and shall be able to roll-back only my previous version of tab groups.

Folder to Restore

When I open a new tab, it loads “chrome-extension://hddnkoipeenegfoeaoibdmnaalmgkpip/toby.html” to launch Tobyhddnkoipeenegfoeaoibdmnaalmgkpip is the Chrome Extension ID.

Next, put “chrome://version/” in Chrome and look for the folder information in “Profile Path”.  On my Chrome for OS X,  it is “/Users/Amigo/Library/Application Support/Google/Chrome/Default”.

Now, I know Toby is stored in “/Users/Amigo/Library/Application Support/Google/Chrome/Default/Extensions/hddnkoipeenegfoeaoibdmnaalmgkpip”on my computer. There is a folder with numbers within this folder. Open and you will see the source code of Toby.

When the extension “toby.html” is loaded, it runs “toby.bundle.js”.  I believe Toby use chrome.storage to keep data. Unfortunately though I can see it generates a database log in “/Users/Amigo/Library/Application Support/Google/Chrome/Default/Local Extensions Settings/hddnkoipeenegfoeaoibdmnaalmgkpip/000010.log”, I cannot find its database in “/Users/Amigo/Library/Application Support/Google/Chrome/Default/Local Storage” folder. There is no chrome-extension_hddnkoipeenegfoeaoibdmnaalmgkpip which should be the SQLite database file used by Toby.

Therefore, I have to restore “/Users/Amigo/Library/Application Support/Google/Chrome/Default” which means I will lost current session.

Enable Hidden Files in Finder

Because I cannot see the hidden folder “/Users/Amigo/Library/” in Finder, I need to run following command in Terminal to enable:

$ defaults write com.apple.finder AppleShowAllFiles TRUE;killall Finder

Now, I may restore “/Users/Amigo/Library/Application Support/Google/Chrome/Default” in Finder using Time Machine. Don’t forget to quit Chrome before restoring.

I have to disable this after restore:

$ defaults write com.apple.finder AppleShowAllFiles FALSE;killall Finder

Now I get all my saved tab groups back.

Why Overwrite Happens

I believe the logic is correct but a confirm dialog when the scenario “Different Computers using the same Google Drive” happens would help.

Steps to Reproduce Issue

Let explains my steps to reproduce this overwrite more clearly.

  1. Enable “Sync to Google Drive option on Chrome for OS X.
  2. Tabs are synced back to Google Drive now.
  3. Turn on my Chromebook and launch ChromeToby is installed automatically.
  4. Open a new tab in ChromebookToby is automatically launch the default page.
  5. Enable “Sync to Google Drive option on Chrome for Chromebook.
  6. Toby begin to compare with the one on Google Drive.
  7. Because the newly created page is newer, tabs in default page will be synced back rather than download from Google Drive.

How to Prevent It Happen with New Computers

So, how to prevent this without confirmation dialog? I need to make the version on new computer older than Google Drive before enabling “Sync to Google Drive option on new computers. Here is how it works.

Steps to Prevent

  1. Enable “Sync to Google Drive option on Chrome for OS X.
  2. Tabs are synced back to Google Drive now.
  3. Turn on my Chromebook and launch ChromeToby is installed automatically.
  4. Open a new tab in ChromebookToby is automatically launch the default page.
  5. Turn off Internet connections on Chromebook.
  6. Enable “Sync to Google Drive option on Chrome for Chromebook.
  7. Add a new tab to Toby on Chrome for OS X. This will make a change and generate a new version in local storage. It should sync back to Google Drive.
  8. Turn on Internet connections on Chromebook.
  9. Toby begin to compare with the one on Google Drive.
  10. Because Google Drive keep a newer version, it will replace the old version on Chrome for Chromebook.

Risk

The only risk here is step 7: how long does it take to sync back? I would never know because it was saves in a hidden folder on Google Drive. Therefore, I think the best solution is to change the process by adding a confirmation dialog. Overwrite is unrecoverable anyway.

Reference

  1. Acer: Chromebook 15
  2. Apple: Get to know the Finder on your Mac
  3. Apple: OS X
  4. Chrome: Toby: manage your tabs
  5. Google Accounts
  6. Google Chrome
  7. Google Drive
  8. Google: Chrome Web Store – Extension
  9. Google: chrome.storage
  10. SQLite
  11. superuser: Where does Google Chrome save LocalStorage from Extensions?
  12. Wiki: Terminal (macOS)
  13. Wiki: Time Machine (macOS)
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s