Sidewise: A real sidebar for Google Chrome

Changelog

This is a list of noteworthy changes made to Sidewise with each public release. Most releases also incorporate a number of smaller tweaks and bug fixes which won't be reported here; the full Git commit log will be available for perusal in the near future.

2017.2.12.0

  • Fix a problem where Sidewise tree data could get corrupted if it exceeded several thousand total tabs. Sidewise should now be able to store an essentially unlimited number of tabs.
  • Change settings defaults for new installations: make middle-click close tabs by default, and increase the number of affected tabs before a confirmation prompt is shown from 5 to 30.

2016.05.05

  • Fix tree getting broken by dragging a Chrome tab to the last index position in a window

2015.09.20.0

  • Fixed a problem that would make the playback controls on youtube.com video pages behave strangely.
  • Improved communication mechanism used between Sidewise's and individual tabs' Javascript contexts.

2014.12.11.0

  • Fixed panel windows (like Google Hangouts) appearing as zero-tab windows in the page tree.
  • Disabled the December donation nag screen.

2013.9.15.0

  • Clicking page rows in the sidebar should now focus (raise) the associated Chrome tab's window again.
  • The 'Hibernate tabs in window' context menu action should work properly again.
  • Fixed the most common currently-known cause of Sidewise reordering Chrome's tabs needlessly.
  • Fixed some minor memory leaks via Javascript "use strict" directive.
  • Various internal bugfixes.

2013.7.25.0

  • Add "focus sidebar on mouse hover" option
  • Fix the Sidewise icon potentially not appearing correctly on Chrome's action-buttons bar

2013.6.19.0 / 2013.6.19.1

  • Fix some Vimeo embedded videos being broken by Sidewise
  • Fix "show video playing time" feature to be compatible with latest Chrome versions
  • Fix "show video playing time" feature for Youtube videos using HTML5 mode

2013.5.8.0

  • Add 'Recently closed' sidebar pane
  • Improve sidebar docking/sizing accuracy
  • Video timer feature is more well-behaved and works on more sites
  • More cases of 'tab sliding' and 'zombie tabs' fixed
  • Improve malware detector
  • Major internal refactoring

2013.4.18.1

  • Fix page rows sometimes not being removed when their corresponding tab is closed

2013.4.18.0

2013.1.11.0

This is an out-of-band update to address a critical issue that in rare cases could cause a user's entire page tree to be wiped out. A number of changes have been made to address this specific issue and also just to give users some basic disaster-recovery functionality.

Changes

  • Prevent ever saving a completely empty page tree to disk.
  • Wait longer after closing windows before saving page tree to disk (for slow Chrome shutdowns).
  • Save an automatic internal backup of the tree to disk periodically.
  • Automatically use the backup tree on startup if the primary tree is ever missing or empty.
  • Add 'Emergency restore' button to Options->Advanced Tools to manually restore from the last backup saved during the previous (or failing that, current) browser session.

For more information please see this Userecho issue.

Problems of this sort will be further ameliorated with the introduction of the 'Recently closed' sidebar pane coming in the next major release.

2012.12.20.0

Bug fixes

  • Fix tabs opened via link middle-click sometimes not being properly nested under the opener tab.
  • Fix Sidewise sometimes not launching correctly after initial install and/or on slower machines.
  • Rapidly clicking the Sidewise button next to Chrome's address bar should no longer cause Sidewise to permanently disappear.

Other changes

  • Improved reliability and detail level of error reports submitted with "Submit diagnostic report" button on options page.
  • Show confirmation box before doing 'reset tree' diagnostic operation.
  • Show a holiday themed donation page one time in December.

2012.11.23.0

The last release introduced several bugs with respect to tab ordering, which sometimes caused tabs to be improperly moved around or placed in Chrome's tabbar and in the sidebar.

This release aims to fix all known cases of this happening, and in general should be much more resilient to these sorts of issues going forward.

In the near future, I will begin releasing a "Developer's Build" of Sidewise which will let those interested play with new features prior to those features being released as part of the normal Sidewise release cycle.

New features

  • Flatten branch and Promote children context menu items.
  • Export/Import Sidewise data buttons in Advanced options.
  • Send diagnostic report button in Advanced options.
  • Trim similar title prefixes option (defaults to enabled).

Bug fixes

  • Fixed all known causes of tree corruption, tabs sliding around needlessly, or rows being placed/moved improperly in the tree.
  • Added an automatic tree validation routine to Sidewise's startup process to repair any detectable existing tree corruption.
  • Fixed allowing a pinned tab be placed after an unpinned tab in the same window, or an unpinned before a pinned.
  • Fixed a rare case of Sidewise failing to start up after initial install.

Other changes

  • 'Switch tabs on scroll' will now skip over hibernated/folder rows.
  • It should now be easier to drop dragged rows somewhere below the last row in the tree.
  • The What's New pane icon will now pulse to make it a bit more noticeable.
  • Youtube video playing timer should now show more consistently, and on more youtube.com pages.
  • General performance improvements.

2012.10.20.0

  • New: Use a faster method of tab re-association during startup, which in many cases is almost instantaneous.
  • Change: Use Google's S2 favicon service when unable to obtain favicon for a webpage; should increase the reliability of favicons being shown properly.
  • Change: Make What's New pane icon pulse subtly for a short time after startup, and show notes from last two releases in the pane.
  • Fix: Fix several cases where newly created tabs could fail to get added to the tree.
  • Fix: Improve accuracy of tab order synchronization and new-tab tree positioning in general.

2012.10.18.2

This is a major update, comprising ~2200 new lines of code and ~220 individual commits.

Sidebar pane improvements

  • New: Toggle and reorder the available sidebar panes from the options page.
  • New: Grooveshark sidebar pane (off by default).
  • New: What's New sidebar pane that appears whenever Sidewise is updated. Can be disabled via options (Advanced section), or from the What's New pane itself.
  • Change: Reddit sidebar pane is now disabled by default; it can be reenabled in options.

Tab order synchronization

  • New: Sidewise will endeavor to keep the order of tabs on Chrome's horizontal tab bar in the same order as they appear vertically in the tree (and vice versa).
  • New: Mimic Chrome's choice of tab ordering when new tabs are being inserted into the tree.
  • New: Multiselecting several tabs on Chrome's tab bar will also select those tabs in the tree.
  • These changes make Ctrl+Tabbing and the tab closing order behave in a much more intuitive manner in concert with the page tree.
  • Note: These changes account for the majority of the work that went into this update. There are still a few lurking cases where the tab orderings do not stay in sync - if you manage to reliably reproduce such a case, please report it! :D

Focus-on-hover, focus-on-scroll

  • New: Switch pages with the mouse wheel when hovering the sidebar; see related option for details.
  • New: Switch pages by briefly mouse hovering a row in the sidebar; see related option for details.

Create new tabs via the sidebar

  • New: 'Create new tab' button on hovered window rows in the tree.
  • New: Double-clicking the empty space below the page tree will create a new tab in the current window.
  • New: Option to control which page is loaded into new tabs created via the above two methods.

General improvements and goodies

  • New: Show current time of playing videos on youtube.com page rows (may require refreshing existing youtube pages just after this Sidewise update is applied). Can be disabled in options.
  • Change: Smart focus is now even smarter about which tab gets focused next; see related options for details.
  • Change: Clicking a gray Last Session window row will now offer to restore only those tabs that were actually open at the end of the last session, rather than restoring every hibernated tab under the window.

Bug fixes and other tweaks

  • Change: The sidebar should now draw a bit more smoothly when the sidebar or dock window are being resized.
  • Change: Style improvements, particularly for hibernated rows, tooltips, and tree buttons.
  • Change: Favicons of open tabs should dynamically update in the tree if the page changes its favicon.
  • Change: The pinned icon on pinned page rows is no longer clickable to 'unpin tab'. Use the right-click context menu instead.
  • Change: Ensure first-time-install donate page gets viewed once for new users.
  • Fix: Having the "Continue running background apps" setting enabled in Chrome should no longer prevent Sidewise from working.
  • Fix: Pinned tabs should now behave better, especially when restoring them during Chrome startup.
  • Fix: Do a better job of correctly scrolling the sidebar to show the currently focused row.
  • Fix: Smart focus should no longer sometimes cause removing tabs from the tree to fail.
  • Fix: Tree should no longer get stuck in drag-and-drop mode after showing an alert/prompt/input box.
  • Fix: Don't steal the focus from the Chrome address bar when creating the sidebar.
  • Fix: Avoid leaving zero-child window rows behind in the tree when moving/removing pages.
  • Fix: Several fixes made with regard to the row tooltip getting 'stuck on' in certain cases.
  • Numerous other smaller fixes :)

Hotfixes

  • First release today was 2012.10.18.0.
  • Hotfix 2012.10.18.1: fix a bug where the page tree would not be saved to disk while a youtube video was playing.
  • Hotfix 2012.10.18.2: fix a bug where individually waking 2 adjacent hibernated pages in quick succession failed.

2012.08.14.0

  • Implement some Mac-specific fixes regarding sidebar/dock window sizing handling

2012.08.12.0

  • Monitor detection routine improved, now utilizes window.screen after Chrome m21's bugfix
  • Smart focus no longer tries to focus hibernated pages and folder rows
  • Smart focus now searches for valid focus targets within a row's descendants when said row is hibernated or a folder
  • Add twitter, facebook, and changelog links to options page
  • Tweak donation links and page

2012.08.07.0

  • Initial public release