Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V2: Complete overhaul / rewrite #84

Merged
merged 38 commits into from
Aug 29, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
3f9d30d
v2: move all the old code out of the way, starting from scratch
xTVaser Oct 28, 2021
5739bb4
v2: vue boilerplate to get started
xTVaser Oct 28, 2021
c9c81aa
v2: switched to svelte and rollup instead
xTVaser May 4, 2022
ce9fff3
v2: basic viewer and config page
xTVaser May 15, 2022
318dd1e
v2: refactored way of interacting with live and saved data
xTVaser May 27, 2022
3d66705
v2: viewer panel starting to actually display content
xTVaser May 28, 2022
3128a9d
v2: cleaning up config page, starting to save settings
xTVaser May 29, 2022
a605573
v2: some more functionality on the config page, can re-order games now
xTVaser May 29, 2022
07077ac
v2: theme config UI spiked out
xTVaser May 31, 2022
0e35f10
v2: finalizing config (game settings) page
xTVaser Dec 22, 2022
7658a0b
v2: finish most core features on game settings page
xTVaser Dec 24, 2022
4ed8024
v2/tests: start writing tests for theme settings
xTVaser Jul 30, 2023
e49ddd0
v2: start vendoring dependencies, faster and a twitch requirement
xTVaser Jul 30, 2023
8d4d644
v2/tests: theme settings tests mostly finished
xTVaser Aug 7, 2023
f2b14b8
v2: formatting
xTVaser Aug 7, 2023
66719f6
v2/tests: panel tests
xTVaser Aug 13, 2023
cc5fc1a
v2/tests: games config page tests, kinda blocked by cypress currently
xTVaser Aug 13, 2023
c1956aa
v2: cleanup a bunch of todos, finalize code
xTVaser Aug 19, 2023
f27a920
v2/tests: test and fix most panel issues
xTVaser Aug 19, 2023
001b21b
v2: finish default theme, vendor fonts
xTVaser Aug 19, 2023
68e66e5
v2: remove a bunch of features in the interest of config scale
xTVaser Aug 25, 2023
98b60d6
v2: wire up new settings to bring back some customization without con…
xTVaser Aug 25, 2023
f2d3e72
v2: final known bug fixes and successfully tested end-to-end on twitc…
xTVaser Aug 26, 2023
d6ac8c8
v2/tests: cover remaining areas with more tests
xTVaser Aug 26, 2023
ace778d
v2: remove v1 code entirely
xTVaser Aug 26, 2023
9b32340
v2: vendor svgs as well, as twitch's `connect-src` CSP is a blocker
xTVaser Aug 28, 2023
07cf1eb
v2: add images to cleanup extension presentation
xTVaser Aug 28, 2023
7972069
v2: some quick documentation
xTVaser Aug 28, 2023
39a4368
v2: remove token signer example, will never need one again
xTVaser Aug 29, 2023
679ad68
v2: vendor toast icons
xTVaser Aug 29, 2023
89677f9
v2: display error toast if we can't set twitch's config
xTVaser Aug 29, 2023
1187d13
v2: don't modify the default theme and properly react in UI when them…
xTVaser Aug 29, 2023
b846d22
v2: wire up `revert` button on theme settings page
xTVaser Aug 29, 2023
01b353f
v2: save theme change when using dropdown
xTVaser Aug 29, 2023
164bc01
v2: update docs for review process
xTVaser Aug 29, 2023
1e12647
v2: formatting
xTVaser Aug 29, 2023
eaa5848
v2: fix issue when custom themes with spaces in the name
xTVaser Aug 29, 2023
78481ab
v2: add CI
xTVaser Aug 29, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 0 additions & 22 deletions .github/ISSUE_TEMPLATE.md

This file was deleted.

29 changes: 29 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: 🔨 Build

on:
push:
branches:
- master
tags:
- v*
pull_request:
branches:
- master

jobs:
build:
name: App
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3

- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 18
cache: yarn

- name: Build App
run: |
yarn install --frozen-lockfile
yarn build
26 changes: 26 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: 📝 Lint

on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
frontend:
name: App
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3

- name: setup node
uses: actions/setup-node@v3
with:
node-version: 18
cache: yarn

- name: Install Dependencies and Check Formatting
run: |
yarn install --frozen-lockfile
yarn lint
32 changes: 32 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: 🧪 Tests

on:
push:
branches:
- master
tags:
- v*
pull_request:
branches:
- master

jobs:
frontend:
name: App
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3

- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 18
cache: yarn

- name: Install NPM Dependencies
run: yarn install --frozen-lockfile

- name: Cypress run
uses: cypress-io/github-action@v5
with:
start: yarn dev
15 changes: 10 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
*.zip
*.code-workspace
token
node_modules/
package-lock.json
/node_modules/
/public/build/

.DS_Store

/public/**/build
/dist/
TODO.md
migration/
yarn-error.log
3 changes: 3 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
node_modules/
dist/
_v1/
5 changes: 5 additions & 0 deletions .prettierrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"tabWidth": 2,
"endOfLine": "lf",
"plugins": ["prettier-plugin-svelte"]
}
3 changes: 3 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"recommendations": ["svelte.svelte-vscode"]
}
5 changes: 5 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"html.customData": [
"./node_modules/@shoelace-style/shoelace/dist/vscode.html-custom-data.json"
]
}
24 changes: 24 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# 2.0.0

## High Level

- Full re-write of extension, uses Svelte. Asset bundle should be un-minified to help with reviewing.
- Uses Twitch's configuration service instead of a custom EBS
- This should greatly improve reliability of the extension, as downtime of the custom backend was the primary reason for the extension being down
- However, removes a lot of per-game customization in order to stay under the 5kb per segment twitch configuration limit
- Displays game cover images (reason for extending `img-src` directive addition)
- Games and runs are automatically pulled, no need to update configuration if you start running a new game or category.
- Source code is greatly cleaned up, fixing bugs or adding features should be more feasible going forward.

## Features

- Hits a single speedrun.com API endpoint on load now, this is substantially less than before.
- Therefore load-times and rate-limiting should be improved, but there are known issues:
- https://github.com/speedruncomorg/api/issues/170
- All games are enabled by default
- Games can be disabled and saved to configuration
- You can customize how games are ordered, and how the runs for each game are ordered.
- These settings are global and not per-game for config size reasons
- You can also choose to separate level runs from the rest
- You can create a custom theme to override the default one that aligns with Twitch's dark mode color palette
- You can only create a single custom them at this time, once again for config-size reasons.
Loading