8000 GitHub - timing71/chrome at v0.4.0
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

timing71/chrome

Repository files navigation

Timing71 Beta Chrome extension

GitHub package.json version GitHub Workflow Status AGPL v3.0 Twitter Follow

This repo is the source code to the Chrome extension for Timing71 Beta, a motorsport live timing and analysis system that runs in a user's browser.

The plugin is a thin layer of code that enables in-browser functionality for code hosted at beta.timing71.org, including:

  • Access to extended storage/IndexedDB
  • Cross-origin communication
  • Asynchronous generation of replay files
  • Display of "Launch" button on supported timing provider sites
  • Extension menu options

Due to run-time restrictions imposed by Chrome's Manifest V3, the majority of functionality here is in host.js, which runs via an iframe injected by injector.js into the host pages at beta.timing71.org, rather than as a background service worker. That iframe runs with the permissions of the Chrome extension so is able to establish connections to timing providers.

Configuration

Configuration is loaded at runtime from beta.timing71.org and cached in local storage by config.js.

Database structure

The service database is defined in services.js and contains three tables:

  • services: storing the start time and data source for each service (e.g. an instance of a connection to a timing provider for a race event).
  • service_states: stores every timing screen state for a service. These states are loosely the same as the Common Timing Format states described here, but with additional entries to support various features, including the service manifest.
  • service_analyses: stores the current analysis state for a service.

About

Timing71 browser extension for Google Chrome

Topics

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •  
0