Category:

Contacting Support

March 25, 2025 in Uncategorized

When first contacting support about a problem you’re experiencing while using Session Buddy, please follow the steps below.

  1. Download the diagnostics file.
  2. Check the Session Buddy console for any error messages. If no errors are present, repeat the action that failed, if applicable.
  3. Send us an email detailing your issue thoroughly. Attach the diagnostics file and include any errors logged by following the instructions under “Sharing console information” here.

Additional helpful information:

  • Visual Aids: Provide screenshots or screen recordings demonstrating the problem, including views of the console if possible.
  • Reproduction Steps: Outline the steps that led to the issue and indicate if it’s reproducible.
  • Timeline: Mention when the problem started, such as after a recent update or crash.
  • Expected vs. Actual Behavior: Describe what you expected to happen and what occurred instead.
  • Troubleshooting Steps Taken: List any actions you’ve already attempted to resolve the issue.

Please note that while every message is read, we may not always be able to respond to all inquiries. Issues not already addressed on the support page are more likely to receive a response.

Known Issues

March 18, 2025 in Uncategorized

If you’re encountering issues with Session Buddy, please review the following known problems and their potential solutions.

Session Buddy won’t open

A browser bug may occasionally prevent extensions from opening when their icons are clicked.

To fix this:

  1. Open the Session Buddy extension page: Right-click its icon in the browser toolbar, then click “Manage extension
  2. Enable developer mode: Ensure that “Developer mode” is toggled on in the upper-right corner of this page
  3. Check service worker status: Under “Inspect views“, confirm that the service worker link shows as “(Inactive)“, which would be expected if Session Buddy isn’t opening when its icon is clicked.
  4. Disable/enable Session Buddy: Toggle off the extension, wait a few seconds, then toggle it back on

Confirm that the service worker link no longer shows as “(Inactive)“. If it does, repeat step 4 until it doesn’t.

If after a few tries the service worker still shows as “(Inactive)“, try restarting the browser.

We’re actively exploring ways to work around this bug to eliminate the need for restarting the extension or browser.

Snapshots are not being created

A known browser bug can sometimes suspend Session Buddy’s snapshot cycle, halting the creation of snapshots.

To allow snapshots to resume as expected:

  1. Open the Session Buddy extension page: Right-click its icon in the browser toolbar, then click “Manage extension
  2. Enable developer mode: Ensure that “Developer mode” is toggled on in the upper-right corner of this page
  3. Check service worker status: Under “Inspect views“, confirm that the service worker link shows as “(Inactive)“, which would be expected if snapshots are stalled.
  4. Disable/enable Session Buddy: Toggle off the extension, wait a few seconds, then toggle it back on

Confirm that the service worker link no longer shows as “(Inactive)“. If it does, repeat step 4 until it doesn’t.

If after a few tries the service worker still shows as “(Inactive)“, try restarting the browser.

We’re investigating methods to detect and automatically recover from this condition.

Collections or history have disappeared

Session Buddy stores data locally, which can be vulnerable to browser bugs, disk cleaners, system crashes, abrupt power loss, and high disk space usage.

If you’ve discovered that your Session Buddy data has been wiped by the browser, follow one of the recovery steps below.

Recover from a Session Buddy backup

If you’ve recently created a Session Buddy backup, use the Restore feature to recover your data.

Recover from a system backup

You may be able to recover your Session Buddy data from a system backup.

If you’re unsure if you have a system backup solution in place, check the following:

Once you’ve recovered a recent version of the Session Buddy data folders, do the following:

  1. Backup Current Data: Create a backup to ensure you have a copy of any collections or history created since the incident. Go to Session Buddy’s gear menu, then select Backup.
  2. Close the Browser Completely: Ensure all browser processes are terminated
  3. Replace Data Folders: Delete the existing data folders (or as a safer alternative, move them to another folder like Documents), then paste in the recovered folders
  4. Restart the Browser: Open your browser and check if your Session Buddy data has been restored
  5. Restore Recent Data: Use the Restore feature to re-import any data backed up in step 1

Please note that for successful restoration, the entire contents of the data folders must be restored.

Recommendations

We’ve been able to compensate for some of the risks of storing data locally, but it’s impossible for an extension to fully protect against all of them. As such, we are working on a cloud storage feature that will eliminate the risks entirely.

In the meantime, it’s highly recommended to regularly back up your Session Buddy data to facilitate easy recovery from unforeseen circumstances that might cause the browser to wipe data.

If you have a system backup in place, it’s also a good idea to ensure that the Session Buddy data folders are included in backups.

Experiments

March 17, 2025 in Uncategorized

Session Buddy includes hidden experimental settings that allow you to fine-tune its behavior.

Active experiments

The following experiments are available as of Session Buddy v4.0.5:

  • nxs.experiment.ingest-max-size: Sets the maximum file size (in bytes) allowed for the Add tabs and Add links features. This limit also applies to non-JSON files selected for Import. (default: 1048576)
  • nxs.experiment.collection-fetch-all: If set to true, disables lazy loading of collection tiles, causing all tiles to load on app start
  • nxs.experiment.collection-fetch-count-initial: Determines the number of collection tiles displayed upon app start (default: 50, min: 50)
  • nxs.experiment.collection-fetch-count-lazy: Specifies the number of additional collection tiles fetched when the navigation sidebar is scrolled (default 30, min 30)
  • nxs.experiment.history-fetch-all: If set to true, disables lazy loading of history tiles, causing all tiles to load on app start
  • nxs.experiment.history-fetch-count-initial: Determines the number of history tiles displayed upon app start (default 50, min 50)
  • nxs.experiment.history-fetch-count-lazy: Specifies the number of additional history tiles fetched when the history sidebar is scrolled (default 30, min 30)
  • nxs.experiment.warn-on-open-tab-count: Sets the threshold for the number of tabs that, when exceeded, triggers a confirmation prompt before opening (default: 30)
  • nxs.experiment.optimized-open-threshold: Defines the number of tabs above which optimizations, such as suspending and delaying tabs, are applied when optimizations are enabled (default: 60)
  • nxs.experiment.optimized-open-delay: Defines the delay (in milliseconds) between opening each tab when optimizations are in effect (default: 100)
  • nxs.experiment.remove-title-suffixes: If set to true, removes common suffixes from tab titles of popular websites (e.g., ” – YouTube”, ” – Wikipedia”)
  • nxs.experiment.use-theme-sensitive-favicons: Some websites display a light or dark favicon based on the OS theme. If Session Buddy’s theme setting differs from the OS theme, the visibility of these icons may be compromised. This experiment ensures favicons always align with Session Buddy’s theme for optimal visibility. This experiment is enabled by default. Set to false to disable.
  • nxs.experiment.debug: Set to true to put Session Buddy into debug mode for troubleshooting purposes

Enabling an experiment

Experiments are saved in the browser’s localStorage.

To enable an experiment:

  1. Open the Session Buddy console
  2. Select the the Application tab
  3. Expand the Local storage section in the left sidebar and select the chrome-extension://edacconmaakjimmfgnblocblbcdcpbko item underneath it
  4. In the main panel, double-click an empty part of the Key/Value table to create a new entry
  5. For the Key, enter the name of the desired experiment (e.g., nxs.experiment.collection-fetch-all)
  6. Press Tab to focus the Value field and input the corresponding value (e.g., true)
  7. Press Tab or Enter to save the change

To update an experiment, double-click its value in the Key/Value table, enter the new value, and hit Enter.

To disable an experiment, click the corresponding line item in the Key/Value table to select it and hit Delete.

Availability

Experiment availability is subject to change. Experiments may be integrated into formal settings or removed in future versions of Session Buddy.

Diagnostics

March 11, 2025 in Uncategorized

Diagnostics can help the Session Buddy support team get a better idea of what’s going on when troubleshooting an issue.

To provide support with a diagnostics file, go to Session Buddy’s gear menu and select “Settings“. In the Settings dialog, select the “Other” tab, then click the “Save diagnostics” button. This will download a diagnostics file to your downloads folder.

Attach the diagnostics file to an email to support along with a detailed explanation of the trouble you’re experiencing.

If Session Buddy won’t open, use the saveDiagnostics() console command to download the file.

Data Consistency

March 10, 2025 in Uncategorized

There’s a known issue related to storing data locally in the browser that can sometimes lead to corruption of extension data.

This issue arises because the files used to store extension data can be deleted by any app running on your device. Browsers do not prevent this or provide recovery.

The most common culprits are disk cleaner tools, which often target these files for removal.

Session Buddy actively monitors your data and alerts you when anomalies are detected. When notified, you have the option to repair the data to restore normal access to your collections and history.

Although this type of data corruption is relatively rare, there are simple steps you can take to eliminate the risk altogether.

Check for Disk Cleaners

Some apps designed to “clean up” your files sometimes target extension data. Check whether your device has disk cleaners installed or enabled through your OS. Common tools include Disk Cleanup, CCleaner, WinToys, AVG PC Tune Up, Microsoft PC Manager, and BleachBit.

If you use one, review its settings to ensure that the Session Buddy data folders are excluded from cleanup.

If your disk cleaner does not allow exclusions for individual folders, look for broader categories such as “Browser data” or “IndexedDB” that can be opted out of. In the case of CCleaner, for example, uncheck “Internet Cache”.

Some anti-virus and anti-malware apps may also include “clean up” features.

Backup

Through Session Buddy

Session Buddy allows you to manually back up your data from its gear menu.

Regular backups are recommended. Having a backup file makes recovery simple using Session Buddy’s Restore feature, also accessible from the gear menu.

System backups

If you prefer an automated solution, ensure you have a system backup in place that includes Session Buddy’s extension data folders, as recommended here.

Options include Windows Backup, Windows File History, Time Machine for macOS, or third-party solutions like Acronis.

Looking forward

We’re actively working on a cloud storage feature that will provide an easy alternative to manual backups and system-based solutions for protecting your Session Buddy data.

Formats

March 9, 2025 in Uncategorized

Session Buddy supports the representation of links and tabs in a variety of text formats that can be used to import collections, add links to collections, or open multiple tabs at once.

A format can also be applied when exporting collections.

Importing, adding links, and opening tabs

You can import, add links to collections, or open tabs in any of the formats listed below.

The format is automatically detected when text is pasted or a file is dropped. If Session Buddy is unable to detect the format or guesses it incorrectly, you can select the desired format from the Format dropdown.

Free-form

When Free-form is selected, Session Buddy attempts to extract URLs from arbitrary text using pattern matching.

Free-form is technically not a format, as it’s suitable for unstructured text without specific formatting rules.

When format detection is turned on but no known format matches the supplied text, format selection defaults to Free-form.

URLs

A flat list of URLs.

Every non-blank line must be a valid URL.

Blank lines are ignored.

Example:

https://www.google.com/search?q=dog+breeds
https://en.wikipedia.org/wiki/German_Shepherd
https://www.google.com/search?q=Labrador+Retriever
https://www.youtube.com/results?search_query=Golden+Retriever

Title/URL pairs

A flat list of URLs with titles.

Each title/URL pair must be a non-blank title followed by a valid URL on the next line.

Each pair must be separated by at least one blank line.

Example:

dog breeds - Google Search
https://www.google.com/search?q=dog+breeds

German Shepherd - Wikipedia
https://en.wikipedia.org/wiki/German_Shepherd

Golden Retriever - YouTube
https://www.youtube.com/results?search_query=Golden+Retriever

Groups of URLs

A flat list of URLs.

A non-blank line must be a valid URL.

A contiguous list of URLs defines a group (ie, a folder or window). A blank line creates a new group.

Example (2 groups):

https://en.wikipedia.org/wiki/German_Shepherd
https://www.youtube.com/results?search_query=Golden+Retriever

https://en.wikipedia.org/wiki/Siamese_cat
https://www.google.com/search?q=British+Shorthair
https://www.youtube.com/results?search_query=Ragdoll+kitten

Named groups of URLs

Similar to Groups of URLs, but every contiguous list of URLs must be preceded by a group name.

A group name must be separated from the previous group by a blank line and followed by a blank line.

Example (2 groups):

Dogs

https://en.wikipedia.org/wiki/German_Shepherd
https://www.youtube.com/results?search_query=Golden+Retriever

Cats

https://en.wikipedia.org/wiki/Siamese_cat
https://www.google.com/search?q=British+Shorthair
https://www.youtube.com/results?search_query=Ragdoll+kitten

Named groups of title/URL pairs

Like Named groups of URLs, but each group is a list of blank-line-separated title/URL pairs.

Example: (2 groups)

Dogs

German Shepherd - Wikipedia
https://en.wikipedia.org/wiki/German_Shepherd

Golden Retriever - YouTube
https://www.youtube.com/results?search_query=Golden+Retriever

Cats

Siamese cat - Wikipedia
https://en.wikipedia.org/wiki/Siamese_cat

British Shorthair - Google Search
https://www.google.com/search?q=British+Shorthair

Ragdoll kitten - YouTube
https://www.youtube.com/results?search_query=Ragdoll+kitten

Indented groups of URLs

A hierarchy of one of the following:

  • collection names, folder names, and URLs
  • folder names and URLs

Top level items, which may be either collection names or folder names, must not be indented (ie, have no leading whitespace).

Each nested level of the hierarchy must be indented accordingly with leading whitespace. An individual indent can be any combination of space or tab, but the characters used for indents must be consistent. For example, if folder names are indented by two spaces, URLs must be indented by four spaces.

Blank lines are ignored, but collection names and folder names are typically preceded and followed by a blank line for readability.

Empty collections or folders are not allowed.

Example: (2 collections, 3 folders)

Furry pets

  Dogs

    https://en.wikipedia.org/wiki/German_Shepherd
    https://www.youtube.com/results?search_query=Golden+Retriever

  Cats

    https://en.wikipedia.org/wiki/Siamese_cat
    https://www.google.com/search?q=British+Shorthair
    https://www.youtube.com/results?search_query=Ragdoll+kitten

Reptiles

  Lizards

    https://www.youtube.com/results?search_query=Bearded+Dragon
    https://en.wikipedia.org/wiki/Gecko

Indented groups of title/URL pairs

Like Indented groups of URLs, but for blank-line-separated title/URL pairs instead of URLs.

Example: (2 collections, 3 folders)

Furry pets

  Dogs

    German Shepherd - Wikipedia
    https://en.wikipedia.org/wiki/German_Shepherd

    Golden Retriever - YouTube
    https://www.youtube.com/results?search_query=Golden+Retriever

  Cats

    Siamese cat - Wikipedia
    https://en.wikipedia.org/wiki/Siamese_cat

    British Shorthair - Google Search
    https://www.google.com/search?q=British+Shorthair

    Ragdoll kitten - YouTube
    https://www.youtube.com/results?search_query=Ragdoll+kitten

Reptiles

  Lizards

    Bearded Dragon - YouTube
    https://www.youtube.com/results?search_query=Bearded+Dragon

    Gecko - Wikipedia
    https://en.wikipedia.org/wiki/Gecko

JSON

JSON in either array or object form:

Array forms:

  • An array of collection objects
  • An array of folder objects
  • An array of link objects

Object forms:

  • An object with a "collections" property that is an array of collection objects
  • An object with a "sessions" property that is an array of session objects
  • An object with a "folders" property that is an array of folder objects
  • An object with a "windows" property that is an array of window objects
  • An object with a "links" property that is an array of link objects
  • An object with a "tabs" property that is an array of tab objects

Note that Session Buddy v4 and v3 backups are compatible with the first two object forms, respectively.

Collection/Session object properties:

  • "title": optional string. Overridden by the "name" property if present.
  • "created": optional number representing time in milliseconds that has elapsed since the epoch.
  • "updated": optional number representing time in milliseconds that has elapsed since the epoch.
  • "folders" or "windows": array of folder or window objects.

Folder/Window object properties:

  • "title": optional string. Overridden by the "name" property if present.
  • "incognito": optional boolean (true/false).
  • "top": optional number.
  • "left": optional number.
  • "width": optional number.
  • "height": optional number.
  • "state": optional string. one of: “normal“, “minimized“, “maximized“, or “fullscreen“.
  • "type": optional string. one of: “normal“, “popup“, “panel“, “app“, or “devtools“.
  • "links" or "tabs": array of link or tab objects.

Link/Tab object properties:

  • "url": required string.
  • "title": optional string.
  • "favIconUrl": optional string.
  • "pinned": optional boolean (true/false).
  • "active": optional boolean (true/false).
  • "groupId": optional number.

Example: (2 collections, 4 folders)

{
  "collections": [
    {
      "title": "Furry friends",
      "folders": [
        {
          "title": "Dogs",
          "links": [
            {
              "title": "German Shepherd - Wikipedia",
              "url": "https://en.wikipedia.org/wiki/German_Shepherd",
              "favIconUrl": "https://en.wikipedia.org/static/favicon/wikipedia.ico"
            },
            {
              "title": "Labrador Retriever - Google Search",
              "url": "https://www.google.com/search?q=Labrador+Retriever",
              "favIconUrl": "https://www.google.com/favicon.ico"
            }
          ]
        },
        {
          "title": "Cats",
          "state": "normal",
          "links": [
            {
              "title": "Ragdoll kitten - YouTube",
              "url": "https://www.youtube.com/results?search_query=Ragdoll+kitten"
            }
          ]
        }
      ]
    },
    {
      "title": "Reptiles",
      "folders": [
        {
          "title": "Snakes",
          "state": "maximized",
          "incognito": true,
          "links": [
            {
              "title": "Boa constrictor - Wikipedia",
              "url": "https://en.wikipedia.org/wiki/Boa_constrictor",
              "pinned": true
            },
            {
              "title": "Ball python - Wikipedia",
              "url": "https://en.wikipedia.org/wiki/Ball_python",
              "favIconUrl": "https://en.wikipedia.org/static/favicon/wikipedia.ico"
            },
            {
              "title": "Garter Snake - YouTube",
              "url": "https://www.youtube.com/results?search_query=Garter+Snake",
              "favIconUrl": "https://www.youtube.com/s/desktop/ee47b5e0/img/logos/favicon_32x32.png"
            }
          ]
        },
        {
          "title": "Lizards",
          "top": 25,
          "left": 50,
          "width": 1034,
          "height": 560,
          "links": [
            {
              "title": "Bearded Dragon - YouTube",
              "url": "https://www.youtube.com/results?search_query=Bearded+Dragon",
              "favIconUrl": "https://www.youtube.com/s/desktop/ee47b5e0/img/logos/favicon_32x32.png"
            },
            {
              "title": "Gecko - Wikipedia",
              "url": "https://en.wikipedia.org/wiki/Gecko"
            }
          ]
        }
      ]
    }
  ]
}

CSV

A CSV representation of links with optional collection and/or folder grouping columns. A header row is required and must include a URL column.

The following columns are recognized. Every column is optional except URL.

  • Collection or Session: case-sensitive collection names. Cannot be blank.
  • Folder or Window: case-sensitive folder names. Cannot be blank. This column is required if a Collection or Session column exists.
  • URL: required.
  • Title
  • FavIconURL
  • Pinned: “true” or “false”.
  • Active: “true” or “false”.
  • GroupId: must be a number.

Example: (2 collections, 4 folders)

Collection,Folder,Title,URL
"Furry, adorable",Dogs,German Shepherd - Wikipedia,https://en.wikipedia.org/wiki/German_Shepherd
"Furry, adorable",Dogs,Labrador Retriever - Google Search,https://www.google.com/search?q=Labrador+Retriever
"Furry, adorable",Cats,Ragdoll kitten - YouTube,https://www.youtube.com/results?search_query=Ragdoll+kitten
Reptiles,Snakes,Boa constrictor - Wikipedia,https://en.wikipedia.org/wiki/Boa_constrictor
Reptiles,Snakes,Ball python - Wikipedia,https://en.wikipedia.org/wiki/Ball_python
Reptiles,Snakes,Garter Snake - YouTube,https://www.youtube.com/results?search_query=Garter+Snake
Reptiles,Lizards,Bearded Dragon - YouTube,https://www.youtube.com/results?search_query=Bearded+Dragon
Reptiles,Lizards,Gecko - Wikipedia,https://en.wikipedia.org/wiki/Gecko

Large files

Files containing importable text that are larger than 1M are considered “large files”. To accommodate device memory limitations, large files are handled differently from smaller ones.

Adding links/opening tabs

Large files cannot be used when adding links to collections or opening tabs.

Importing

Large files can be imported, but they must have a .json file extension and follow the Session Buddy JSON format.

When a valid large file is dropped into the Import dialog, the file is scanned for collections. This could take a few seconds. Once scanned, you will see a file icon and the filename instead of the file’s contents.

Session Buddy is only able to find collections in large files that contain a JSON object. If the JSON is in array form, no collections will be found.

Customizing the threshold

By default, files are considered large if they exceed 1M.

You can customize this threshold to better match your device’s available memory through the ingest-max-size experiment.

Export

Collections can be exported in any of the following formats:

URLs

A flat list of URLs. Ideal for including a set of links in an email message, chat, or blog post.

Title/URL pairs

A flat list of URLs with titles, each separated by a blank line. Ideal for including a set of links in an email message, chat, or blog post.

Missing titles print as “Untitled”.

Indented groups of URLs

A hierarchy of collection titles, folder titles, and URLs.

Folder titles are indented once with 2 spaces and URLs are indented twice with 4 spaces.

Missing collection and folder titles show up as “Collection 1”, “Folder 2”, etc.

Indented groups of title/URL pairs

Same as Indented groups of URLs, but with blank-line-separated title/URL pairs instead of URLs.

Missing link titles show up as “Untitled”.

JSON

A pretty-printed JSON object with a "collections" property that is an array of collection objects. Great for feeding collections to other applications.

Collection object properties:

  • "title"
  • "folders": array of folder objects.

Folder object properties:

  • "title"
  • "type": one of: “normal“, “popup“, “panel“, “app“, or “devtools“.
  • "state": one of: “normal“, “minimized“, “maximized“, or “fullscreen“.
  • "incognito": boolean (true/false).
  • "top": number.
  • "left": number.
  • "width": number.
  • "height": number.
  • "links": array of link objects.

Link object properties:

  • "title"
  • "titleOriginal": the original link title if edited in Session Buddy.
  • "url"
  • "favIconUrl": the URL of the link’s icon.
  • "active": boolean (true/false).
  • "pinned": boolean (true/false).
  • "groupId": number.

CSV

A CSV representation of links with collection and folder groupings. Well-suited for import into spreadsheets.

Columns included are: Collection, Folder, Title, URL, favIconUrl

Collection values are collection titles (or “Collection 1”, “Collection 2”, etc if untitled).

Folder values are folder titles (or “Folder 1”, “Folder 2”, etc if untitled).

Understanding and Preventing Data Loss

June 23, 2024 in Uncategorized

We have received some reports about spontaneous loss of collection and history data in Session Buddy. This post outlines what we know about this issue, what you can do to protect yourself, and our plans to address the problem.

Overview

At a high level, the problem stems from the fact that the data extensions store locally is inherently vulnerable to browser bugs, disk cleaners, system crashes, power loss, high disk space usage, and other factors. This problem is not unique to Session Buddy. Any data stored locally by extensions is at risk.

While reports involving permanent data loss are statistically rare, it is critical for us to prioritize the pursuit of remedies as any risk to data is unacceptable.

Symptoms

Data loss in Session Buddy may follow or be accompanied by:

  • A browser prompt to “repair” the extension due to corruption. Proceeding with the repair then clears the data Session Buddy stores locally.
  • A blank screen when opening Session Buddy
  • An empty collection or history list
  • IndexedDB errors in the console during startup or operation

Data loss may be limited to either collections or history or in some cases affect all extension data, including settings.

Causes

The fundamental problem is that Session Buddy data is stored locally and the underlying storage mechanisms are controlled by the browser.

While storing data this way has benefits (privacy, cost, performance, simplicity), it is not 100% reliable.

Some factors that jeopardize local data are expected and well-understood, while some are not.

Expected causes

  • Low Disk Space: Browsers may delete local extension data under disk space pressure.
  • System Maintenance: Data can be deleted by system maintenance processes, file restores, or disk cleanup tools.
  • User Actions: Some users have an expectation of data persistence that may lead them to uninstall an extension, clear browser data, or run cleaner tools without first backing up data.

Unfortunately there is not much an extension can do to prevent deletion in these cases. It can only try to account for it after the fact.

Unexpected causes

User reports and testimony from other extension developers indicate the presence of data corruption bugs in browsers, their implementation of IndexedDB, and/or third-party IndexedDB libraries.

Unfortunately there is very little information about these kinds of bugs as they tend to be multivariate and difficult to reproduce.

Some evidence suggests that occurrences of data corruption may be correlated with browser updates, extension updates, power outages, or system crashes but there is no specific information available related to these factors.

Based on reports, a correlating condition may be having Session Buddy open in multiple tabs.

Diagnosis

If you encounter a data problem while using Session Buddy (eg, blank screen, empty collection list), do the following:

1. Save Data: Open the Session Buddy console and execute the following commandsaveData()

This creates a download file of all collections and history.

Open this file in a text editor and check that collection and history data is present. If “collections” or “events” is null, it means there’s a problem accessing the corresponding data store.

2. Save Diagnostics: In the console, execute the following commandsaveDiagnostics()

This creates a download file with information that can be used for troubleshooting.

Send us this file along with a description of what happened and any errors presented in the console.

3. Restart the Browser: In some cases the browser may recover from data access issues. Restart your browser to see if that resolves the problem. If not, try restarting your device.

Solutions

User Backups

Users can protect themselves by regularly backing up collections and history through Session Buddy.

As an automated option, Session Buddy data folders can be included in scheduled system backups (Windows Backup, Time Machine, or a 3rd party solution) as recommended here.

Education

We’ve posted about data risks and safeguards in the Session Buddy user forum, but we may need to take more proactive measures to educate users about this topic, possibly via app notifications.

We have plans to add a notification for when data usage is approaching quota to alert users of increased risk of data eviction so they can take appropriate steps like exporting a backup or deleting old collections and history.

Workarounds for Data Corruption Bugs

To-date, we have discovered three issues related to data corruption caused by browser bugs and limitations and addressed them as follows:

  • Added automatic detection, notification, and repair of data inconsistencies caused by other apps like disk cleaners that resulted in collections or history events failing to display correctly.
  • Added a workaround for a browser bug resulting in occasional empty values being saved, which in turn prevented events from displaying properly.
  • Upgraded to the latest version of Dexie which includes automatic recovery from transaction and write operation failures due to Chrome IndexedDB bugs.

We will continue to:

  • Research and monitor development resources and Chromium issues and investigate measures as new information comes to light.
  • Expand our test suite in pursuit of conditions that reliably produce data failures.
  • Evaluate diagnostics as they’re shared, as this kind of data can be extremely helpful for identifying failure patterns.

Automated Backups via Extension Storage

We are working on an experimental automated backup solution that will protect against any corruption that targets IndexedDB (Session Buddy’s primary database).

This is expected to significantly improve recovery in the event that the browser unexpectedly wipes data, but remains a partial solution since backups may lag behind recent changes by up to 24 hours and this data would still be subject to browser control (and therefore effects like quota restrictions, users and tools clearing site data, and browser bugs).

Automated Backups via Downloads

We’re currently investigating download-based automated backups as a potential solution.

White potentially viable, this approach comes with some known technical limitations. For example, automated downloads can only be saved to the Downloads folder and browser settings may influence download behavior.

More significantly, streaming dynamically generated content to a download is not yet directly supported by browsers. That makes download-based backups unsuitable for larger backups (not uncommon). One way to get around this is to split the download into multiple files, but this complicates the restore process for users.

Finally, it’s important to keep in mind that any type of automated backup remains a partial solution since it doesn’t provide coverage for interim updates.

Cloud Storage

Cloud storage is the ultimate remedy for all risks related to storing data locally. As such, we are currently developing a cloud offering that, in addition to data reliability, introduces benefits such as data sync across browser profiles and access to collections from mobile devices and public browsers.

Locate Session Buddy v3 Data on Your Device

June 7, 2024 in Uncategorized

Session Buddy v3 (now deprecated) stored Saved Sessions, Previous Sessions, and settings in a single file on your computer.

Chrome has recently removed this file as part of its Web SQL deprecation. However, if you’re using an older version of Chrome it may still be present.

To find the file, follow these steps:

1. Find the current Chrome profile folder

A Session Buddy installation is specific to a Chrome profile.

To find the folder path for the current Chrome profile, see: How to Locate the Current Chrome Profile Folder.

2. Find the Session Buddy database file

Go to the location of the Chrome profile obtained in Step 1.

From this folder, go to the subfolder named databases.

From there, go to the subfolder named chrome-extension_edacconmaakjimmfgnblocblbcdcpbko_0.

This folder contains your Session Buddy v3 database file. The file will have a numeric name like 1 or 2.

If there is more than one such file, the current file is the one with the highest number. This should also be the file with the most recent modification date and largest size.

Locate Session Buddy Data on Your Device

June 7, 2024 in Uncategorized

Session Buddy v4 stores collections, history, and settings in folders on your device.

To find these folders, follow these steps:

1. Find the current Chrome profile folder

A Session Buddy installation is specific to a Chrome profile.

To find the folder path for the current Chrome profile, see: How to Locate the Current Chrome Profile Folder.

2. Find the Session Buddy data folders

Go to the location of the Chrome profile obtained in Step 1. From this folder, go to the subfolder named IndexedDB.

In the IndexedDB folder, find the folder with the following name:

chrome-extension_edacconmaakjimmfgnblocblbcdcpbko_0.indexeddb.leveldb

This is the main Session Buddy data folder.

There may also be a folder with the following name:

chrome-extension_edacconmaakjimmfgnblocblbcdcpbko_0.indexeddb.blob

This folder is optional but in most cases it is present.

Backing up local data

When setting up your system backup or manually backing up Session Buddy data, make sure to include the main folder as well as the second “blob” folder. Note that even if the second folder is not currently present, it may later be created by the browser as needed.

For help backing up and restoring these folders, see: Back Up and Restore Local Data.

Sharing local data with support

When sending data to support for troubleshooting, include both folders with all of their contents in a zip file.

Restore Session Buddy v3 Data

June 5, 2024 in Uncategorized

When Session Buddy upgrades from v3 to v4 it normally automatically transfers your data. However, because of Chrome deprecations, Session Buddy will be unable to do this automatically after Chrome v124.

If you miss the auto-migration window, you may be able to restore your Session Buddy v3 data manually. To do so, use the Session Buddy v4 migration tool.

This tool walks you through a few steps to create a restore file that can be dropped into Session Buddy v4 using the Restore feature.