Christopher Serr 1351da3d7c Fix some small bugs (#915)
The APIs that are not supported by every browser or may not always be
allowed (Battery and Wake Lock) are requested in try catch blocks. The
problem was that both of them actually yield promises. If the promises
fail, then those exceptions would not be caught properly, because we
forgot to await them. So especially for the wake lock you would
sometimes see an error message when it gets hot reloaded. This should be
fixed now.

Additionally this changes the window title for when there are unsaved
changes. Apparently when LiveSplit One is used as a PWA, then
at least Chrome wants to always keep the app name in the title. If the
title itself is changed, then it gets shown as `LiveSplit One - The new
title`. By us putting an asterisk in the front of the title, the PWA
then shows `LiveSplit One - *LiveSplit One`, which is pretty bad. I
noticed that if the app name is also the prefix of the title, Chrome
recognizes that and does not end up showing the app name twice.

There also was a small bug in the event sink where the
`togglePauseOrStart` event did not update the splits modified state.
2024-06-05 21:26:37 +02:00
2024-06-05 21:26:37 +02:00
2024-04-27 21:45:41 +02:00
2024-04-16 20:14:28 -04:00
2024-04-27 21:45:41 +02:00
2016-12-29 20:07:06 +01:00
2024-05-28 17:33:39 -05:00
2024-05-09 17:22:01 +02:00

LiveSplit LiveSplit One

Build Status

LiveSplit One is a version of LiveSplit that uses the multiplatform livesplit-core library and web technologies like React to create a new LiveSplit experience that works on a lot of different platforms.

The web version of LiveSplit One is available here.

Build Instructions

In order to build LiveSplit One, you need to install npm and the Rust compiler. Make sure to recursively clone the repository so that all git submodules are cloned as well:

git clone --recursive

Once you have cloned the repository and set up both npm and the Rust compiler, you need to install the WebAssembly target:

rustup target add wasm32-unknown-unknown

You also need to build wasm-bindgen:

cargo install wasm-bindgen-cli

You need to set up some npm modules before compiling the project:

npm install -f

You are now ready to build livesplit-core, which powers LiveSplit One:

npm run build:core

Now you can build and host LiveSplit One:

npm run start

A browser tab with LiveSplit One should now open. Alternatively, you can use npm run serve to just host it without opening a browser tab.

Browser Support

Browser Compatibility Known Issues
Chrome ≥91 GitHub issues by-label
Firefox ≥89 GitHub issues by-label
Edge ≥91 GitHub issues by-label
Safari ≥16.4
Opera ≥77 GitHub issues by-label
iOS ≥16.4 GitHub issues by-label
Android WebView ≥91 GitHub issues by-label
Chrome Android ≥91 GitHub issues by-label
Firefox Android ≥89 GitHub issues by-label
Internet Explorer Unsupported
Opera Mini Unsupported
S
Description
A version of LiveSplit that works on a lot of platforms.
Readme MIT
15 MiB
Languages
TypeScript 85.7%
SCSS 7.5%
JavaScript 3.1%
Rust 3%
CSS 0.4%
Other 0.3%