Christopher Serr 5b575d899f Introduce Custom Dialogs (#928)
This introduces custom dialogs to LiveSplit One. Previously we've used
the builtin browser dialogs that are very limited in what they can do.

Additionally this introduces a bunch of smaller changes:
- The splits editor is now more optimized and only searches for the game
  name whenever it or the list of games changes.
- The PWA badge now resets when the app is reloaded.
- Guests on the leaderboard can now have flags.
- If a user encounters a bug, there's now dedicated toast popups that
  don't disappear and direct the user to the issue tracker.
- The Sum of Best cleaner now ensures the run can't be modified while
  the cleaning is in progress, which would lead to memory corruption,
  especially with the async nature of the new dialogs.
- Cancelling out of opening files doesn't lead to an error anymore.

The following changes are introduced by updating `livesplit-core`:
- When resizing images / reencoding them as PNG, we now use a higher
  compression setting.
- Invalid timer states are not unrepresentable anymore.
2024-06-18 21:33:54 +02:00
2024-06-18 21:33:54 +02:00
2024-04-16 20:14:28 -04: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%