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

Firmware tool #880

Open
wants to merge 61 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 38 commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
f775da6
Allow for buttons to not have a child
loucass003 Oct 18, 2023
7b9a0ba
Fix VRMode not going back to home screen when resizing to desktop layout
loucass003 Oct 18, 2023
97dce51
Make Stepper Slider not glitch on window resize
loucass003 Oct 18, 2023
01d8e3f
Refactor of the dropdown component
loucass003 Oct 18, 2023
829d6df
Refactor TrashIcon ArrowIcon and LoaderIcon
loucass003 Oct 18, 2023
7b98137
Add more colors to checkbox
loucass003 Oct 18, 2023
062511b
Add disabled state to Ratio, Fix typos and bad typing
loucass003 Oct 18, 2023
6ef43b6
Add errors and disabled state to Input
loucass003 Oct 18, 2023
fb90362
Firmware tool
loucass003 Oct 18, 2023
e8a9112
Sync with main
loucass003 Nov 5, 2023
70003dc
Remove no needed changes
loucass003 Nov 5, 2023
fb7a497
Fix datafeed
loucass003 Nov 5, 2023
2128094
Merge branch 'main' into llelievr/firmware-tool
ImUrX Mar 22, 2024
4013e36
fix stuff
ImUrX Mar 22, 2024
1c69cbc
fix android test
ImUrX Mar 22, 2024
272b3cc
use slimevr.io urls
ImUrX Mar 29, 2024
d7df57f
Merge branch 'main' into llelievr/firmware-tool
ImUrX Mar 30, 2024
408fe21
Merge branch 'main' into llelievr/firmware-tool
ImUrX Apr 9, 2024
1184674
fix lock file
ImUrX Apr 9, 2024
5dbbf5d
Merge remote-tracking branch 'origin/main' into llelievr/firmware-tool
ImUrX Apr 9, 2024
269ebbd
tweak package.json
ImUrX Apr 9, 2024
b35ac6c
migrate to eslint flat config
ImUrX Apr 10, 2024
6214372
improve styling and translation files
ImUrX Apr 10, 2024
353d1c4
Merge branch 'main' into llelievr/firmware-tool
ImUrX May 28, 2024
99d7dd6
fix env error
ImUrX May 28, 2024
2a3c00a
Merge branch 'main' of github.com:SlimeVR/SlimeVR-Server into lleliev…
loucass003 Jun 25, 2024
a0c68af
Remove conflicts from package.json
loucass003 Jun 25, 2024
b6e496a
Fix layouts + Rework protocol + Try stuff around serial reconnect det…
loucass003 Jun 28, 2024
1e989c1
Current progress
loucass003 Oct 4, 2024
720d210
Final version
loucass003 Oct 4, 2024
e1dc199
Spotless + Fix lint then lint
loucass003 Oct 7, 2024
5f3c3ab
Better handling of the incompatible api case
loucass003 Oct 7, 2024
ef48e7a
Change deviceid and update flashing lib version
loucass003 Oct 7, 2024
9a46050
Change provisioning to handle the new mac address detection
loucass003 Oct 8, 2024
f171a03
enforce lf with editorconfig
ImUrX Oct 8, 2024
de648b2
Fix build
loucass003 Oct 8, 2024
0215ca5
lint
loucass003 Oct 8, 2024
9033605
Spotless
loucass003 Oct 8, 2024
c77d5b7
Renormalize
loucass003 Oct 8, 2024
ba468f1
add gitattributes
ImUrX Oct 8, 2024
051811a
dont edit editorconfig if we use auto
ImUrX Oct 8, 2024
6b3aca8
Revert back to api
loucass003 Oct 8, 2024
89cdcf8
Merge branch 'editorconfig-lf' of github.com:SlimeVR/SlimeVR-Server i…
loucass003 Oct 8, 2024
b04e2e9
Set to main
loucass003 Oct 8, 2024
b53b6b2
Merge branch 'main' into llelievr/firmware-tool
loucass003 Oct 8, 2024
5290b16
Update gui/src/components/firmware-tool/SelectFirmwareStep.tsx
loucass003 Oct 18, 2024
3a7b5ea
Update gui/src/components/firmware-tool/SelectFirmwareStep.tsx
loucass003 Oct 18, 2024
337fb0b
Update gui/src/components/onboarding/pages/Home.tsx
loucass003 Oct 18, 2024
d02049f
Update gui/src/components/onboarding/pages/ConnectTracker.tsx
loucass003 Oct 18, 2024
328ad0d
Update gui/public/i18n/en/translation.ftl
loucass003 Oct 18, 2024
c0fc523
Update gui/src/components/commons/VerticalStepper.tsx
loucass003 Oct 18, 2024
fc6c18f
Update gui/src/components/commons/VerticalStepper.tsx
loucass003 Oct 18, 2024
035637b
update solarxr
loucass003 Oct 18, 2024
4b51804
Add missing translation + fix typo
loucass003 Oct 18, 2024
ea0a385
Merge branch 'main' of github.com:SlimeVR/SlimeVR-Server into lleliev…
loucass003 Oct 18, 2024
e44ad38
Merge branch 'main' of github.com:SlimeVR/SlimeVR-Server into lleliev…
loucass003 Nov 7, 2024
1beadef
send pnpm-lock
loucass003 Nov 7, 2024
632e914
Rename optaining -> obtaining
loucass003 Nov 7, 2024
826b3a8
Fix home page of onboarding
loucass003 Nov 7, 2024
5c85a82
Bring back comment
loucass003 Nov 7, 2024
ef998cf
Change to a working solarxr commit
loucass003 Nov 7, 2024
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
76 changes: 38 additions & 38 deletions .github/CODEOWNERS
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this file got edited because its crlf originally for some reason

Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -1,38 +1,38 @@
# Global code owner
* @Eirenliel
# Make everyone be able to approve SolarXR submodule changes
/solarxr-protocol @ButterscotchV @Erimelowo @ImUrX @loucass003
# Make Loucas and Uriel the owners of all GUI stuff
/gui/ @ImUrX @loucass003
/pnpm-lock.yaml @ImUrX @loucass003
/pnpm-workspace.yaml @ImUrX @loucass003
# Uriel and Erimel responsible for i18n
/gui/public/i18n/ @ImUrX @Erimelowo
/gui/src/i18n/ @ImUrX @Erimelowo
/l10n.toml @ImUrX @Erimelowo
/gui/src/components/settings/ @Erimelowo @ImUrX
# Rust part of the GUI
/gui/src-tauri/ @ImUrX
/Cargo.lock @ImUrX
# Some server code~
/server/ @ButterscotchV @Eirenliel @Erimelowo
/server/src/main/java/dev/slimevr/autobone/ @ButterscotchV
/server/src/main/java/dev/slimevr/poserecorder/ @ButterscotchV
/server/src/main/java/dev/slimevr/posestreamer/ @ButterscotchV
/server/src/main/java/dev/slimevr/osc/ @Erimelowo
/server/src/main/java/dev/slimevr/tracking/processor/ @Erimelowo
/server/src/main/java/dev/slimevr/filtering/ @Erimelowo
# Linux files
*.nix @ImUrX
/flake.lock @ImUrX
/dev.slimevr.SlimeVR.metainfo.xml @ImUrX
/.envrc @ImUrX
# Global code owner
* @Eirenliel

# Make everyone be able to approve SolarXR submodule changes
/solarxr-protocol @ButterscotchV @Erimelowo @ImUrX @loucass003

# Make Loucas and Uriel the owners of all GUI stuff
/gui/ @ImUrX @loucass003
/pnpm-lock.yaml @ImUrX @loucass003
/pnpm-workspace.yaml @ImUrX @loucass003

# Uriel and Erimel responsible for i18n
/gui/public/i18n/ @ImUrX @Erimelowo
/gui/src/i18n/ @ImUrX @Erimelowo
/l10n.toml @ImUrX @Erimelowo

/gui/src/components/settings/ @Erimelowo @ImUrX

# Rust part of the GUI
/gui/src-tauri/ @ImUrX
/Cargo.lock @ImUrX

# Some server code~
/server/ @ButterscotchV @Eirenliel @Erimelowo

/server/src/main/java/dev/slimevr/autobone/ @ButterscotchV
/server/src/main/java/dev/slimevr/poserecorder/ @ButterscotchV
/server/src/main/java/dev/slimevr/posestreamer/ @ButterscotchV

/server/src/main/java/dev/slimevr/osc/ @Erimelowo
/server/src/main/java/dev/slimevr/tracking/processor/ @Erimelowo
/server/src/main/java/dev/slimevr/filtering/ @Erimelowo

# Linux files
*.nix @ImUrX
/flake.lock @ImUrX
/dev.slimevr.SlimeVR.metainfo.xml @ImUrX
/.envrc @ImUrX
8 changes: 8 additions & 0 deletions gui/.env
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
VITE_FIRMWARE_TOOL_URL=https://fw-tool-api.slimevr.io
VITE_FIRMWARE_TOOL_S3_URL=https://fw-tool-bucket.slimevr.io
FIRMWARE_TOOL_SCHEMA_URL=https://fw-tool-api.slimevr.io/api-json


# VITE_FIRMWARE_TOOL_URL=http://localhost:3000
# VITE_FIRMWARE_TOOL_S3_URL=http://localhost:9000
# FIRMWARE_TOOL_SCHEMA_URL=http://localhost:3000/api-json
51 changes: 0 additions & 51 deletions gui/.eslintrc.json
ImUrX marked this conversation as resolved.
Show resolved Hide resolved

This file was deleted.

2 changes: 1 addition & 1 deletion gui/.lintstagedrc.mjs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
export default {
'**/*.{ts,tsx}': () => 'tsc -p tsconfig.json --noEmit',
'**/*.{js,jsx,ts,tsx}': 'eslint --max-warnings=0 --cache --fix',
'src/**/*.{js,jsx,ts,tsx}': 'eslint --max-warnings=0 --no-warn-ignored --cache --fix',
'**/*.{js,jsx,ts,tsx,css,md,json}': 'prettier --write',
};
79 changes: 79 additions & 0 deletions gui/eslint.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
import { FlatCompat } from '@eslint/eslintrc';
import eslint from '@eslint/js';
import globals from 'globals';
import tseslint from 'typescript-eslint';

const compat = new FlatCompat();

export const gui = [
eslint.configs.recommended,
...tseslint.configs.recommended,
...compat.extends('plugin:@dword-design/import-alias/recommended'),
...compat.plugins('eslint-plugin-react-hooks'),
// Add import-alias rule inside compat because plugin doesn't like flat configs
...compat.config({
rules: {
'@dword-design/import-alias/prefer-alias': [
'error',
{
alias: {
'@': './src/',
},
},
],
},
}),
{
languageOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
parser: tseslint.parser,
parserOptions: {
ecmaFeatures: {
jsx: true,
},
},
globals: {
...globals.browser,
...globals.jest,
},
},
files: ['src/**/*.{js,jsx,ts,tsx,json}'],
plugins: {
'@typescript-eslint': tseslint.plugin,
},
rules: {
'react/react-in-jsx-scope': 'off',
'react/prop-types': 'off',
'spaced-comment': 'error',
quotes: ['error', 'single'],
'no-duplicate-imports': 'error',
'no-inline-styles': 'off',
'@typescript-eslint/no-explicit-any': 'off',
'react/no-unescaped-entities': 'off',
camelcase: 'error',
'@typescript-eslint/no-unused-vars': [
'warn',
{
argsIgnorePattern: '^_',
varsIgnorePattern: '^_',
ignoreRestSiblings: true,
},
],
},
settings: {
'import/resolver': {
typescript: {},
},
react: {
version: 'detect',
},
},
},
// Global ignore
{
ignores: ['**/firmware-tool-api/'],
},
];

export default gui;
28 changes: 28 additions & 0 deletions gui/openapi-codegen.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import {
generateSchemaTypes,
generateReactQueryComponents,
} from '@openapi-codegen/typescript';
import { defineConfig } from '@openapi-codegen/cli';
import dotenv from 'dotenv';

dotenv.config()

export default defineConfig({
firmwareTool: {
from: {
source: 'url',
url: process.env.FIRMWARE_TOOL_SCHEMA_URL ?? 'http://localhost:3000/api-json',
},
outputDir: 'src/firmware-tool-api',
to: async (context) => {
const filenamePrefix = 'firmwareTool';
const { schemasFiles } = await generateSchemaTypes(context, {
filenamePrefix,
});
await generateReactQueryComponents(context, {
filenamePrefix,
schemasFiles,
});
},
},
});
19 changes: 15 additions & 4 deletions gui/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,16 @@
"name": "slimevr-ui",
"version": "0.5.1",
"private": true,
"type": "module",
"dependencies": {
"@fluent/bundle": "^0.18.0",
"@fluent/react": "^0.15.2",
"@fontsource/poppins": "^5.0.14",
"@formatjs/intl-localematcher": "^0.2.32",
"@hookform/resolvers": "^3.6.0",
"@react-three/drei": "^9.107.0",
"@react-three/fiber": "^8.16.8",
"@tanstack/react-query": "^5.48.0",
"@tauri-apps/api": "2.0.0-beta.14",
"@tauri-apps/plugin-dialog": "2.0.0-beta.6",
"@tauri-apps/plugin-fs": "2.0.0-beta.6",
Expand All @@ -33,7 +36,8 @@
"solarxr-protocol": "file:../solarxr-protocol",
"three": "^0.163.0",
"ts-pattern": "^5.2.0",
"typescript": "^5.4.5"
"typescript": "^5.4.5",
"yup": "^1.4.0"
},
"scripts": {
"start": "vite --force",
Expand All @@ -45,10 +49,14 @@
"lint:fix": "tsc --noEmit && eslint --fix --max-warnings=0 \"src/**/*.{js,jsx,ts,tsx,json}\" && pnpm run format",
"format": "prettier --write \"src/**/*.{js,jsx,ts,tsx,css,scss,md,json}\"",
"preview-vite": "vite preview",
"javaversion-build": "cd src-tauri/src/ && javac JavaVersion.java && jar cvfe JavaVersion.jar JavaVersion JavaVersion.class"
"javaversion-build": "cd src-tauri/src/ && javac JavaVersion.java && jar cvfe JavaVersion.jar JavaVersion JavaVersion.class",
"gen:javaversion": "cd src-tauri/src/ && javac JavaVersion.java && jar cvfe JavaVersion.jar JavaVersion JavaVersion.class",
"gen:firmware-tool": "openapi-codegen gen firmwareTool"
},
"devDependencies": {
"@dword-design/eslint-plugin-import-alias": "^4.0.9",
"@dword-design/eslint-plugin-import-alias": "^5.0.0",
"@openapi-codegen/cli": "^2.0.2",
"@openapi-codegen/typescript": "^8.0.2",
"@tailwindcss/forms": "^0.5.7",
"@tauri-apps/cli": "2.0.0-beta.21",
"@types/file-saver": "^2.0.7",
Expand All @@ -63,6 +71,7 @@
"@vitejs/plugin-react": "^4.3.1",
"autoprefixer": "^10.4.19",
"cross-env": "^7.0.3",
"dotenv": "^16.4.5",
"eslint": "^8.57.0",
"eslint-config-airbnb": "^19.0.4",
"eslint-import-resolver-typescript": "^3.6.1",
Expand All @@ -76,6 +85,8 @@
"spdx-satisfies": "^5.0.1",
"tailwind-gradient-mask-image": "^1.2.0",
"tailwindcss": "^3.4.4",
"vite": "^5.3.1"
"vite": "^5.3.1",
"globals": "^15.10.0",
"typescript-eslint": "^8.8.0"
}
}
Loading
Loading