Chapter 2 Version Differences: Self‐hosted vs Chrome Web Store - Linkumori/Linkumori-Extension GitHub Wiki

Version Differences: Self-hosted vs Chrome Web Store

Overview

Linkumori is available in two distribution channels:

  1. Self-hosted version (distributed via GitHub)
  2. Chrome Web Store version

Both versions share identical source code and functionality. The only technical difference lies in how updates are handled through their respective manifest files - all other code remains exactly the same.

Self-hosted Version

The self-hosted version is built during GitHub Actions with an additional manifest entry:

{
  "update_url": "https://github.com/subham8907/Linkumori/releases/latest/download/updates.xml"
}

Advantages of Self-hosted Version

  • Faster Updates: Updates can be pushed more quickly through GitHub releases
  • Direct Control: Complete control over the update distribution process
  • Immediate Availability: New versions become available as soon as they are released on GitHub

Update Process

When a new version is released:

  1. The update is published to GitHub releases
  2. Users receive the update through the specified updates.xml file
  3. The extension automatically updates based on the GitHub release schedule

Chrome Web Store Version

The Chrome Web Store version is built without the custom update_url in the manifest.

Update Process

  • Google manages the update process through their own update_url
  • The update_url is automatically added by Google after the extension is published
  • Updates go through Chrome Web Store's review process

Distribution

When publishing to Chrome Web Store:

  1. Extension is submitted without a custom update_url
  2. Google adds their own update_url
  3. Chrome Web Store reviews the extension
  4. Upon approval, updates are distributed through Chrome Web Store's infrastructure

Important Notes

  • Both versions maintain feature parity
  • The core functionality and all source code remains identical
  • The only difference is in the update distribution mechanism
  • Users can choose either version based on their preference for update delivery

Technical Implementation

The difference is implemented during the build process:

  • GitHub Actions adds the update_url for self-hosted builds
  • The same codebase is used for both versions
  • Build scripts handle the manifest modifications automatically