diff --git a/app.go b/app.go index 2cb6ace..712c1f3 100644 --- a/app.go +++ b/app.go @@ -156,6 +156,40 @@ type StartMatchOptions struct { LauncherArg string `json:"launcherArg"` } +func WaitForMatchReady(conn *rlbot.RLBotConnection, expectedMatchConfig *flat.MatchConfigurationT) error { + // wait for the correct match to start + var matchConfig *flat.MatchConfigurationT + var gamePacket *flat.GamePacketT + for matchConfig == nil || gamePacket == nil { + packet, err := conn.RecvPacket() + if err != nil { + return err + } + + switch packet := packet.(type) { + case *flat.MatchConfigurationT: + matchConfig = packet + case *flat.GamePacketT: + gamePacket = packet + } + } + + // while the match isn't active or the car is on the wrong team + for gamePacket.MatchInfo.MatchPhase == flat.MatchPhaseEnded || gamePacket.MatchInfo.MatchPhase == flat.MatchPhaseInactive || gamePacket.MatchInfo.MatchPhase == flat.MatchPhasePaused { + packet, err := conn.RecvPacket() + if err != nil { + return err + } + + switch packet := packet.(type) { + case *flat.GamePacketT: + gamePacket = packet + } + } + + return nil +} + func (a *App) StartMatch(options StartMatchOptions) Result { // TODO: Save this in App struct conn, err := rlbot.Connect(a.rlbot_address) @@ -236,6 +270,19 @@ func (a *App) StartMatch(options StartMatchOptions) Result { } conn.SendPacket(&match) + + conn.SendPacket(&flat.ConnectionSettingsT{ + AgentId: "", + WantsBallPredictions: false, + WantsComms: false, + CloseBetweenMatches: false, + }) + conn.SendPacket(&flat.InitCompleteT{}) + err = WaitForMatchReady(&conn, &match) + if err != nil { + return Result{false, err.Error()} + } + conn.SendPacket(nil) // Tell core that we want to disconnect return Result{true, ""} diff --git a/frontend/package.json b/frontend/package.json index 6af31ab..0b4bb3e 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -9,15 +9,15 @@ }, "dependencies": { "@wailsio/runtime": "3.0.0-alpha.66", - "svelte": "^5.25.9", + "svelte": "^5.33.1", "svelte-5-french-toast": "^2.0.4", - "svelte-dnd-action": "^0.9.60", + "svelte-dnd-action": "^0.9.61", "svelte-portal": "^2.2.1" }, "devDependencies": { "@biomejs/biome": "^1.9.4", - "@rsbuild/core": "^1.3.5", - "@rsbuild/plugin-svelte": "^1.0.8", + "@rsbuild/core": "^1.3.21", + "@rsbuild/plugin-svelte": "^1.0.10", "typescript": "^5.8.3" } } diff --git a/frontend/pnpm-lock.yaml b/frontend/pnpm-lock.yaml index 6aaf502..2608058 100644 --- a/frontend/pnpm-lock.yaml +++ b/frontend/pnpm-lock.yaml @@ -12,14 +12,14 @@ importers: specifier: 3.0.0-alpha.66 version: 3.0.0-alpha.66 svelte: - specifier: ^5.25.9 - version: 5.25.9 + specifier: ^5.33.1 + version: 5.33.1 svelte-5-french-toast: specifier: ^2.0.4 - version: 2.0.4(svelte@5.25.9) + version: 2.0.4(svelte@5.33.1) svelte-dnd-action: - specifier: ^0.9.60 - version: 0.9.60(svelte@5.25.9) + specifier: ^0.9.61 + version: 0.9.61(svelte@5.33.1) svelte-portal: specifier: ^2.2.1 version: 2.2.1 @@ -28,11 +28,11 @@ importers: specifier: ^1.9.4 version: 1.9.4 '@rsbuild/core': - specifier: ^1.3.5 - version: 1.3.5 + specifier: ^1.3.21 + version: 1.3.21 '@rsbuild/plugin-svelte': - specifier: ^1.0.8 - version: 1.0.8(@rsbuild/core@1.3.5)(svelte@5.25.9)(typescript@5.8.3) + specifier: ^1.0.10 + version: 1.0.10(@rsbuild/core@1.3.21)(svelte@5.33.1)(typescript@5.8.3) typescript: specifier: ^5.8.3 version: 5.8.3 @@ -114,91 +114,88 @@ packages: '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} - '@module-federation/error-codes@0.11.2': - resolution: {integrity: sha512-ik1Qnn0I+WyEdprTck9WGlH41vGsVdUg8cfO+ZM02qOb2cZm5Vu3SlxGAobj6g7uAj0g8yINnd7h7Dci40BxQA==} + '@module-federation/error-codes@0.13.1': + resolution: {integrity: sha512-azgGDBnFRfqlivHOl96ZjlFUFlukESz2Rnnz/pINiSqoBBNjUE0fcAZP4X6jgrVITuEg90YkruZa7pW9I3m7Uw==} - '@module-federation/runtime-core@0.11.2': - resolution: {integrity: sha512-dia5kKybi6MFU0s5PgglJwN27k7n9Sf69Cy5xZ4BWaP0qlaXTsxHKO0PECHNt2Pt8jDdyU29sQ4DwAQfxpnXJQ==} + '@module-federation/runtime-core@0.13.1': + resolution: {integrity: sha512-TfyKfkSAentKeuvSsAItk8s5tqQSMfIRTPN2e1aoaq/kFhE+7blps719csyWSX5Lg5Es7WXKMsXHy40UgtBtuw==} - '@module-federation/runtime-tools@0.11.2': - resolution: {integrity: sha512-4MJTGAxVq6vxQRkTtTlH7Mm9AVqgn0X9kdu+7RsL7T/qU+jeYsbrntN2CWG3GVVA8r5JddXyTI1iJ0VXQZLV1w==} + '@module-federation/runtime-tools@0.13.1': + resolution: {integrity: sha512-GEF1pxqLc80osIMZmE8j9UKZSaTm2hX2lql8tgIH/O9yK4wnF06k6LL5Ah+wJt+oJv6Dj55ri/MoxMP4SXoPNA==} - '@module-federation/runtime@0.11.2': - resolution: {integrity: sha512-Ya9u/L6z2LvhgpqxuKCB7LcigIIRf1BbaxAZIH7mzbq/A7rZtTP7v+73E433jvgiAlbAfPSZkeoYGele6hfRwA==} + '@module-federation/runtime@0.13.1': + resolution: {integrity: sha512-ZHnYvBquDm49LiHfv6fgagMo/cVJneijNJzfPh6S0CJrPS2Tay1bnTXzy8VA5sdIrESagYPaskKMGIj7YfnPug==} - '@module-federation/sdk@0.11.2': - resolution: {integrity: sha512-SBFe5xOamluT900J4AGBx+2/kCH/JbfqXoUwPSAC6PRzb8Y7LB0posnOGzmqYsLZXT37vp3d6AmJDsVoajDqxw==} + '@module-federation/sdk@0.13.1': + resolution: {integrity: sha512-bmf2FGQ0ymZuxYnw9bIUfhV3y6zDhaqgydEjbl4msObKMLGXZqhse2pTIIxBFpIxR1oONKX/y2FAolDCTlWKiw==} - '@module-federation/webpack-bundler-runtime@0.11.2': - resolution: {integrity: sha512-WdwIE6QF+MKs/PdVu0cKPETF743JB9PZ62/qf7Uo3gU4fjsUMc37RnbJZ/qB60EaHHfjwp1v6NnhZw1r4eVsnw==} + '@module-federation/webpack-bundler-runtime@0.13.1': + resolution: {integrity: sha512-QSuSIGa09S8mthbB1L6xERqrz+AzPlHR6D7RwAzssAc+IHf40U6NiTLPzUqp9mmKDhC5Tm0EISU0ZHNeJpnpBQ==} - '@rsbuild/core@1.3.5': - resolution: {integrity: sha512-Fn6nJ4YvLO2UtFcoSPxgJoiUdS0Iix7X1BsyZ+DCj3SGpVCxp3Td9x58F5uhcRraMZFPB91wvcS/OabYwT3N2w==} - engines: {node: '>=16.7.0'} + '@rsbuild/core@1.3.21': + resolution: {integrity: sha512-0Xy3CEFiLFXZpPmmVmX1XvfAENGrb5IyXYL7zkJ8vF7v3fmZgo3yy3ZeY8SesPTsiZIbCObJ6PemFbLee3S3oA==} + engines: {node: '>=16.10.0'} hasBin: true - '@rsbuild/plugin-svelte@1.0.8': - resolution: {integrity: sha512-tEp1GpcOTyve7xc5hJSs4Vki2T/oXqgoAhuETKjz1ckj+GRtz7m5Wo3OTCHQsu8AfObCFIp+DFdfQTtd06iGTQ==} + '@rsbuild/plugin-svelte@1.0.10': + resolution: {integrity: sha512-505FK9A+AceRJZkczmeIjokxppZEzSl8i+hl0YtvvBm3+m3ZeELkJ0+rfuqxZmzRXY6POwiaNb1H3Bc8dS2fqA==} peerDependencies: '@rsbuild/core': 1.x - '@rspack/binding-darwin-arm64@1.3.3': - resolution: {integrity: sha512-vbzEdpRCZl5+HXWsVjzSDqB9ZVIlqldV+udHp4YDD8qiwdQznVaBZke0eMzZ7kaInqRPsZ+UHQuVk6JaH/JkMQ==} + '@rspack/binding-darwin-arm64@1.3.11': + resolution: {integrity: sha512-sGoFDXYNinubhEiPSjtA/ua3qhMj6VVBPTSDvprZj+MT18YV7tQQtwBpm+8sbqJ1P5y+a3mzsP3IphRWyIQyXw==} cpu: [arm64] os: [darwin] - '@rspack/binding-darwin-x64@1.3.3': - resolution: {integrity: sha512-OXtY2s4nlYtUXkeJt8TQKKNIcN7PI8yDq0nqI75OfJoS4u1ZmRXJ8IMeSALLo8I+xD2RAF79tf7yhM/Y/AaiKQ==} + '@rspack/binding-darwin-x64@1.3.11': + resolution: {integrity: sha512-4zgOkCLxhp4Ki98GuDaZgz4exXcE4+sgvXY/xA/A5FGPVRbfQLQ5psSOk0F/gvMua1r15E66loQRJpuzUK6bTA==} cpu: [x64] os: [darwin] - '@rspack/binding-linux-arm64-gnu@1.3.3': - resolution: {integrity: sha512-Lluq3RLYzyCMdXr/HyALKEPGsr+196x8Ccuy5AmIRosOdWuwtSiomSRH1Ka8REUFNHfYy5y9SzfmIZo/E0QEmg==} + '@rspack/binding-linux-arm64-gnu@1.3.11': + resolution: {integrity: sha512-NIOaIfYUmJs1XL4lbGVtcMm1KlA/6ZR6oAbs2ekofKXtJYAFQgnLTf7ZFmIwVjS0mP78BmeSNcIM6pd2w5id4w==} cpu: [arm64] os: [linux] - '@rspack/binding-linux-arm64-musl@1.3.3': - resolution: {integrity: sha512-PIsicXWjOqzmoOutUqxpMNkCoKo+8/wxDyKxHFeu+5WIAxVFphe2d3H5qvEjc2MasWSdRmAVn9XiuIj2LIXFzA==} + '@rspack/binding-linux-arm64-musl@1.3.11': + resolution: {integrity: sha512-CRRAQ379uzA2QfD9HHNtxuuqzGksUapMVcTLY5NIXWfvHLUJShdlSJQv3UQcqgAJNrMY7Ex1PnoQs1jZgUiqZA==} cpu: [arm64] os: [linux] - '@rspack/binding-linux-x64-gnu@1.3.3': - resolution: {integrity: sha512-BtksK73ZFdny2T/wU1x0kxBF4ruYUUArZDyeGfpO+vd/1nNYqzzdhGvOksKmtdvsO38ETr2gZ9+XZyr1vpy9uQ==} + '@rspack/binding-linux-x64-gnu@1.3.11': + resolution: {integrity: sha512-k3OyvLneX2ZeL8z/OzPojpImqy6PgqKJD+NtOvcr/TgbgADHZ3xQttf6B2X+qnZMAgOZ+RTeTkOFrvsg9AEKmA==} cpu: [x64] os: [linux] - '@rspack/binding-linux-x64-musl@1.3.3': - resolution: {integrity: sha512-jx86CxkTmyBz/eHDqZp1mCqBwY+UTEtaPlPoWFyGkJUR5ey6nQnxS+fhG34Rqz63chW+q/afwpGNGyALYdgc8g==} + '@rspack/binding-linux-x64-musl@1.3.11': + resolution: {integrity: sha512-2agcELyyQ95jWGCW0YWD0TvAcN40yUjmxn9NXQBLHPX5Eb07NaHXairMsvV9vqQsPsq0nxxfd9Wsow18Y5r/Hw==} cpu: [x64] os: [linux] - '@rspack/binding-win32-arm64-msvc@1.3.3': - resolution: {integrity: sha512-uXAdDzajFToVrH3fCNVDP/uKQ9i5FQjJc2aYxsnhS9Su/CZB+UQsOecbq6MnIN2s0B9GBKBG8QdQEtS3RtC6Hg==} + '@rspack/binding-win32-arm64-msvc@1.3.11': + resolution: {integrity: sha512-sjGoChazu0krigT/LVwGUsgCv3D3s/4cR/3P4VzuDNVlb4pbh1CDa642Fr0TceqAXCeKW5GiL/EQOfZ4semtcQ==} cpu: [arm64] os: [win32] - '@rspack/binding-win32-ia32-msvc@1.3.3': - resolution: {integrity: sha512-VBE6XsJ3IiAlozAywAIxAZ1Aqc2QVnEwBo0gP9998KkwL7wxB6Bg/OJnPbH3Q0ZaNWAQViC99rPC+5hSIdeSxw==} + '@rspack/binding-win32-ia32-msvc@1.3.11': + resolution: {integrity: sha512-tjywW84oQLSqRmvQZ+fXP7e3eNmjScYrlWEPAQFjf08N19iAJ9UOGuuFw8Fk5ZmrlNZ2Qo9ASSOI7Nnwx2aZYg==} cpu: [ia32] os: [win32] - '@rspack/binding-win32-x64-msvc@1.3.3': - resolution: {integrity: sha512-rOsNz4/DFgSENjEh0t9kFn89feuXK14/9wbmmFlT8VMpYOCcj4tKcAHjWg+Nzzj4FL+NSOC/81SrUF9J+C2R7w==} + '@rspack/binding-win32-x64-msvc@1.3.11': + resolution: {integrity: sha512-pPy3yU6SAMfEPY7ki1KAetiDFfRbkYMiX3F89P9kX01UAePkLRNsjacHF4w7N3EsBsWn1FlGaYZdlzmOI5pg2Q==} cpu: [x64] os: [win32] - '@rspack/binding@1.3.3': - resolution: {integrity: sha512-zdwJ801tyC8k+Gu5RjNoc7bEtX0MgJzzVv9qpaMwcAUfUfwZgCzXPTqcGMDoNI+Z47Fw59/2fKCmgZhZn60AgA==} + '@rspack/binding@1.3.11': + resolution: {integrity: sha512-BbMfZHqfH+CzFtZDg+v9nbKifJIJDUPD6KuoWlHq581koKvD3UMx6oVrj9w13JvO2xWNPeHclmqWAFgoD7faEQ==} - '@rspack/core@1.3.3': - resolution: {integrity: sha512-+mXVlFcYr0tWezZfJ/gR0fj8njRc7pzEMtTFa2NO5cfsNAKPF/SXm4rb55kfa63r0b3U3N7f2nKrJG9wyG7zMQ==} + '@rspack/core@1.3.11': + resolution: {integrity: sha512-aSYPtT1gum5MCfcFANdTroJ4JwzozuL3wX0twMGNAB7amq6+nZrbsUKWjcHgneCeZdahxzrKdyYef3FHaJ7lEA==} engines: {node: '>=16.0.0'} peerDependencies: - '@rspack/tracing': ^1.x '@swc/helpers': '>=0.5.1' peerDependenciesMeta: - '@rspack/tracing': - optional: true '@swc/helpers': optional: true @@ -211,8 +208,8 @@ packages: peerDependencies: acorn: ^8.9.0 - '@swc/helpers@0.5.15': - resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} + '@swc/helpers@0.5.17': + resolution: {integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==} '@types/estree@1.0.7': resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==} @@ -236,15 +233,15 @@ packages: big.js@5.2.2: resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} - caniuse-lite@1.0.30001712: - resolution: {integrity: sha512-MBqPpGYYdQ7/hfKiet9SCI+nmN5/hp4ZzveOJubl5DTAMa5oggjAuoi0Z4onBpKPFI2ePGnQuQIzF3VxDjDJig==} + caniuse-lite@1.0.30001718: + resolution: {integrity: sha512-AflseV1ahcSunK53NfEs9gFWgOEmzr0f+kaMFA4xiLZlr9Hzt7HxcSpIFcnNCUkz6R6dWKa54rUz3HUmI3nVcw==} clsx@2.1.1: resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} engines: {node: '>=6'} - core-js@3.41.0: - resolution: {integrity: sha512-SJ4/EHwS36QMJd6h/Rg+GyR4A5xE0FSI3eZ+iBVpfqf1x0eTSg1smWLHrA+2jQThZSh97fmSgFSU8B61nxosxA==} + core-js@3.42.0: + resolution: {integrity: sha512-Sz4PP4ZA+Rq4II21qkNqOEDTDrCvcANId3xpIgB34NDkWc3UduWj2dqEtN9yZIq8Dk3HyPI33x9sqqU5C8sr0g==} emojis-list@3.0.0: resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} @@ -286,8 +283,8 @@ packages: svelte-dev-helper@1.1.9: resolution: {integrity: sha512-oU+Xv7Dl4kRU2kdFjsoPLfJfnt5hUhsFUZtuzI3Ku/f2iAFZqBoEuXOqK3N9ngD4dxQOmN4OKWPHVi3NeAeAfQ==} - svelte-dnd-action@0.9.60: - resolution: {integrity: sha512-PTz9RlJiSTNXo0mIUGPmYXRMcqzLG/ghr79YqLrsOrq0dM4gQhXn97AkuImTalNuIxl/tohFK3uQPsEML+ZKeQ==} + svelte-dnd-action@0.9.61: + resolution: {integrity: sha512-xj0jZNdV44MAMbdGIAuBYEombmK7A7ticemOtdR5ErWw0f3IxcfcnrRjlYEK0rRjsahVsU+VdGUMwjPVyXrSrA==} peerDependencies: svelte: '>=3.23.0 || ^5.0.0-next.0' @@ -347,8 +344,8 @@ packages: peerDependencies: svelte: ^3.2.1 || ^4.0.0-next.1 || ^5.0.0-next.94 - svelte@5.25.9: - resolution: {integrity: sha512-/SSLuHty7ktD8WwDDy3bjuijeNK+9etPz5lzPwe+AariSvk/8s9YLtot3j9/W6CK2iGH347S5RHXAE4HavJS+Q==} + svelte@5.33.1: + resolution: {integrity: sha512-7znzaaQALL62NBzkdKV04tmYIVla8qjrW+k6GdgFZcKcj8XOb8iEjmfRPo40iaWZlKv3+uiuc0h4iaGgwoORtA==} engines: {node: '>=18'} tslib@2.8.1: @@ -421,46 +418,44 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 - '@module-federation/error-codes@0.11.2': {} + '@module-federation/error-codes@0.13.1': {} - '@module-federation/runtime-core@0.11.2': + '@module-federation/runtime-core@0.13.1': dependencies: - '@module-federation/error-codes': 0.11.2 - '@module-federation/sdk': 0.11.2 + '@module-federation/error-codes': 0.13.1 + '@module-federation/sdk': 0.13.1 - '@module-federation/runtime-tools@0.11.2': + '@module-federation/runtime-tools@0.13.1': dependencies: - '@module-federation/runtime': 0.11.2 - '@module-federation/webpack-bundler-runtime': 0.11.2 + '@module-federation/runtime': 0.13.1 + '@module-federation/webpack-bundler-runtime': 0.13.1 - '@module-federation/runtime@0.11.2': + '@module-federation/runtime@0.13.1': dependencies: - '@module-federation/error-codes': 0.11.2 - '@module-federation/runtime-core': 0.11.2 - '@module-federation/sdk': 0.11.2 + '@module-federation/error-codes': 0.13.1 + '@module-federation/runtime-core': 0.13.1 + '@module-federation/sdk': 0.13.1 - '@module-federation/sdk@0.11.2': {} + '@module-federation/sdk@0.13.1': {} - '@module-federation/webpack-bundler-runtime@0.11.2': + '@module-federation/webpack-bundler-runtime@0.13.1': dependencies: - '@module-federation/runtime': 0.11.2 - '@module-federation/sdk': 0.11.2 + '@module-federation/runtime': 0.13.1 + '@module-federation/sdk': 0.13.1 - '@rsbuild/core@1.3.5': + '@rsbuild/core@1.3.21': dependencies: - '@rspack/core': 1.3.3(@swc/helpers@0.5.15) + '@rspack/core': 1.3.11(@swc/helpers@0.5.17) '@rspack/lite-tapable': 1.0.1 - '@swc/helpers': 0.5.15 - core-js: 3.41.0 + '@swc/helpers': 0.5.17 + core-js: 3.42.0 jiti: 2.4.2 - transitivePeerDependencies: - - '@rspack/tracing' - '@rsbuild/plugin-svelte@1.0.8(@rsbuild/core@1.3.5)(svelte@5.25.9)(typescript@5.8.3)': + '@rsbuild/plugin-svelte@1.0.10(@rsbuild/core@1.3.21)(svelte@5.33.1)(typescript@5.8.3)': dependencies: - '@rsbuild/core': 1.3.5 - svelte-loader: 3.2.4(svelte@5.25.9) - svelte-preprocess: 6.0.3(svelte@5.25.9)(typescript@5.8.3) + '@rsbuild/core': 1.3.21 + svelte-loader: 3.2.4(svelte@5.33.1) + svelte-preprocess: 6.0.3(svelte@5.33.1)(typescript@5.8.3) transitivePeerDependencies: - '@babel/core' - coffeescript @@ -474,53 +469,53 @@ snapshots: - svelte - typescript - '@rspack/binding-darwin-arm64@1.3.3': + '@rspack/binding-darwin-arm64@1.3.11': optional: true - '@rspack/binding-darwin-x64@1.3.3': + '@rspack/binding-darwin-x64@1.3.11': optional: true - '@rspack/binding-linux-arm64-gnu@1.3.3': + '@rspack/binding-linux-arm64-gnu@1.3.11': optional: true - '@rspack/binding-linux-arm64-musl@1.3.3': + '@rspack/binding-linux-arm64-musl@1.3.11': optional: true - '@rspack/binding-linux-x64-gnu@1.3.3': + '@rspack/binding-linux-x64-gnu@1.3.11': optional: true - '@rspack/binding-linux-x64-musl@1.3.3': + '@rspack/binding-linux-x64-musl@1.3.11': optional: true - '@rspack/binding-win32-arm64-msvc@1.3.3': + '@rspack/binding-win32-arm64-msvc@1.3.11': optional: true - '@rspack/binding-win32-ia32-msvc@1.3.3': + '@rspack/binding-win32-ia32-msvc@1.3.11': optional: true - '@rspack/binding-win32-x64-msvc@1.3.3': + '@rspack/binding-win32-x64-msvc@1.3.11': optional: true - '@rspack/binding@1.3.3': + '@rspack/binding@1.3.11': optionalDependencies: - '@rspack/binding-darwin-arm64': 1.3.3 - '@rspack/binding-darwin-x64': 1.3.3 - '@rspack/binding-linux-arm64-gnu': 1.3.3 - '@rspack/binding-linux-arm64-musl': 1.3.3 - '@rspack/binding-linux-x64-gnu': 1.3.3 - '@rspack/binding-linux-x64-musl': 1.3.3 - '@rspack/binding-win32-arm64-msvc': 1.3.3 - '@rspack/binding-win32-ia32-msvc': 1.3.3 - '@rspack/binding-win32-x64-msvc': 1.3.3 - - '@rspack/core@1.3.3(@swc/helpers@0.5.15)': + '@rspack/binding-darwin-arm64': 1.3.11 + '@rspack/binding-darwin-x64': 1.3.11 + '@rspack/binding-linux-arm64-gnu': 1.3.11 + '@rspack/binding-linux-arm64-musl': 1.3.11 + '@rspack/binding-linux-x64-gnu': 1.3.11 + '@rspack/binding-linux-x64-musl': 1.3.11 + '@rspack/binding-win32-arm64-msvc': 1.3.11 + '@rspack/binding-win32-ia32-msvc': 1.3.11 + '@rspack/binding-win32-x64-msvc': 1.3.11 + + '@rspack/core@1.3.11(@swc/helpers@0.5.17)': dependencies: - '@module-federation/runtime-tools': 0.11.2 - '@rspack/binding': 1.3.3 + '@module-federation/runtime-tools': 0.13.1 + '@rspack/binding': 1.3.11 '@rspack/lite-tapable': 1.0.1 - caniuse-lite: 1.0.30001712 + caniuse-lite: 1.0.30001718 optionalDependencies: - '@swc/helpers': 0.5.15 + '@swc/helpers': 0.5.17 '@rspack/lite-tapable@1.0.1': {} @@ -528,7 +523,7 @@ snapshots: dependencies: acorn: 8.14.1 - '@swc/helpers@0.5.15': + '@swc/helpers@0.5.17': dependencies: tslib: 2.8.1 @@ -544,11 +539,11 @@ snapshots: big.js@5.2.2: {} - caniuse-lite@1.0.30001712: {} + caniuse-lite@1.0.30001718: {} clsx@2.1.1: {} - core-js@3.41.0: {} + core-js@3.42.0: {} emojis-list@3.0.0: {} @@ -578,41 +573,41 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 - svelte-5-french-toast@2.0.4(svelte@5.25.9): + svelte-5-french-toast@2.0.4(svelte@5.33.1): dependencies: - svelte: 5.25.9 - svelte-writable-derived: 3.1.1(svelte@5.25.9) + svelte: 5.33.1 + svelte-writable-derived: 3.1.1(svelte@5.33.1) svelte-dev-helper@1.1.9: {} - svelte-dnd-action@0.9.60(svelte@5.25.9): + svelte-dnd-action@0.9.61(svelte@5.33.1): dependencies: - svelte: 5.25.9 + svelte: 5.33.1 - svelte-hmr@0.14.12(svelte@5.25.9): + svelte-hmr@0.14.12(svelte@5.33.1): dependencies: - svelte: 5.25.9 + svelte: 5.33.1 - svelte-loader@3.2.4(svelte@5.25.9): + svelte-loader@3.2.4(svelte@5.33.1): dependencies: loader-utils: 2.0.4 - svelte: 5.25.9 + svelte: 5.33.1 svelte-dev-helper: 1.1.9 - svelte-hmr: 0.14.12(svelte@5.25.9) + svelte-hmr: 0.14.12(svelte@5.33.1) svelte-portal@2.2.1: {} - svelte-preprocess@6.0.3(svelte@5.25.9)(typescript@5.8.3): + svelte-preprocess@6.0.3(svelte@5.33.1)(typescript@5.8.3): dependencies: - svelte: 5.25.9 + svelte: 5.33.1 optionalDependencies: typescript: 5.8.3 - svelte-writable-derived@3.1.1(svelte@5.25.9): + svelte-writable-derived@3.1.1(svelte@5.33.1): dependencies: - svelte: 5.25.9 + svelte: 5.33.1 - svelte@5.25.9: + svelte@5.33.1: dependencies: '@ampproject/remapping': 2.3.0 '@jridgewell/sourcemap-codec': 1.5.0 diff --git a/frontend/src/assets/items.csv b/frontend/src/assets/items.csv index f0c53f1..5dda5c8 100644 --- a/frontend/src/assets/items.csv +++ b/frontend/src/assets/items.csv @@ -3727,6 +3727,7 @@ 5696,MusicStingers,Product_TA ProductsDB.Products.Anthem_House_Funky,Everybody Dance! 5697,MusicStingers,Product_TA ProductsDB.Products.Anthem_House_Tropical,Tropical Breeze 5698,MusicStingers,Product_TA ProductsDB.Products.Anthem_Trance_HandsUp,R.A.V.E. +5701,Boost,Product_TA ProductsDB.Products.boost_trace,Stormroot 5702,Skin,Product_TA ProductsDB.Products.skin_grain_G2_esports,Fennec: G2 Esports 5703,SupersonicTrail,Product_TA ProductsDB.Products.ss_pixelatedcautiontape,EL-E-DEE 5704,PlayerBanner,Product_TA ProductsDB.Products.playerbanner_kaykay,Kaskade @@ -6755,6 +6756,7 @@ 9822,Skin,Product_TA ProductsDB.Products.skin_skunkz_stripes,Primo: Stripes 9823,Wheels,Product_TA ProductsDB.Products.wheel_rl112,Win Column 9824,Wheels,Product_TA ProductsDB.Products.wheel_rl114,Tipoff +9825,Wheels,Product_TA ProductsDB.Products.wheel_rl123,Compass 9827,Boost,Product_TA ProductsDB.Products.boost_jellyfish,Jellyfish 9828,Skin,Product_TA ProductsDB.Products.skin_force_sk_aftermarket,Breakout: First Impression 9830,PlayerAvatarBorder,Product_TA ProductsDB.Products.avatarborder_frostyfest23,Fridged @@ -7155,6 +7157,7 @@ 10394,Wheels,Product_TA ProductsDB.Products.wheel_rl027_radiant,QuarterRoll: Radiant 10395,Wheels,Product_TA ProductsDB.Products.wheel_rl105_t2,Brewha: Inverted 10396,PlayerBanner,Product_TA ProductsDB.Products.playerbanner_ringer_003,Magneto +10399,Skin,Product_TA ProductsDB.Products.skin_animated_p14,StarCar 10400,PlayerBanner,Product_TA ProductsDB.Products.playerbanner_ringer_002,Wolverine 10401,Antenna,Product_TA ProductsDB.Products.antenna_mothman,Mothman 10402,PlayerBanner,Product_TA ProductsDB.Products.playerbanner_ringer_b,X-Men @@ -7211,6 +7214,7 @@ 10479,SupersonicTrail,Product_TA ProductsDB.Products.SS_SolarBeam,Chromophore 10480,Boost,Product_TA ProductsDB.Products.boost_solarbeam,Chromophore 10481,Boost,Product_TA ProductsDB.Products.boost_octo,Octonox +10482,Wheels,Product_TA ProductsDB.Products.wheel_rl110,Blockout 10483,Boost,Product_TA ProductsDB.Products.boost_aw,Front Row 10484,Boost,Product_TA ProductsDB.Products.boost_helix,Cure 10486,Hat,Product_TA ProductsDB.Products.Hat_Law,Walker Drone @@ -7516,6 +7520,7 @@ 10886,Skin,Product_TA ProductsDB.Products.skin_turnstile_psplus,Meteoroid BG 10887,Wheels,Product_TA ProductsDB.Products.wheel_astro_psplus,Astro-CSX BG 10888,Skin,Product_TA ProductsDB.Products.skin_octane_sticky_04,Octane: Spider-Gwen +10894,Boost,Product_TA ProductsDB.Products.boost_celestialspark,PopHaze 10896,Body,Product_TA ProductsDB.Products.body_bober_T1,BMW 1 Series 10897,Body,Product_TA ProductsDB.Products.body_bober_t2,BMW 1 Series RLE 10898,PremiumInventory,Product_TA ProductsDB.Products.crateunlocked_ChampionsRoad24,Golden Trophy '24 @@ -7556,6 +7561,7 @@ 10944,Skin,Product_TA ProductsDB.Products.skin_bullet_livery4,McLaren Senna: Pandora Armor Doom 10945,Hat,Product_TA ProductsDB.Products.hat_volleyball,Volleyball 10947,GoalExplosion,Product_TA ProductsDB.Products.explosion_pixelbubble,Pixel Popper +10949,GoalExplosion,Product_TA ProductsDB.Products.explosion_infinite,In-Finite 10950,Hat,Product_TA ProductsDB.Products.hat_joystick,Joystick 10951,Boost,Product_TA ProductsDB.Products.boost_gray,AC Milan (Puma x Off-White) 10953,Hat,Product_TA ProductsDB.Products.hat_gumballmachine,Gumball @@ -7616,6 +7622,7 @@ 11029,Boost,Product_TA ProductsDB.Products.boost_plasmaenergy_bw,Chemergency 11030,Wheels,Product_TA ProductsDB.Products.wheel_gutted,Chummy 11031,SupersonicTrail,Product_TA ProductsDB.Products.ss_gray_two,AC Milan (Puma x Off-White) +11038,Body,Product_TA ProductsDB.Products.body_zuse,Revolver 11039,Skin,Product_TA ProductsDB.Products.skin_raster,Freeplay 11042,Skin,Product_TA ProductsDB.Products.skin_jam_flames,Porsche 911 GT3 RS: Flames 11043,Skin,Product_TA ProductsDB.Products.skin_jam_lightning,Porsche 911 GT3 RS: Lightning @@ -7630,6 +7637,7 @@ 11058,Skin,Product_TA ProductsDB.Products.skin_musclecar_bubblebobbler,Dominus: Bubble Beasts 11064,Skin,Product_TA ProductsDB.Products.skin_jam_livery4,Porsche 911 GT3 RS: GT3 RS Signature 11066,PaintFinish,Product_TA ProductsDB.Products.paintfinish_plaid,Swirled +11067,GoalExplosion,Product_TA ProductsDB.Products.explosion_paintpuzzle,Puzzle Cube 11068,MusicStingers,Product_TA ProductsDB.Products.album_anthem_projectclyde,Remix 11069,MusicStingers,Product_TA ProductsDB.Products.anthem_projectclyde_01,Oh Shhh... 11070,MusicStingers,Product_TA ProductsDB.Products.anthem_projectclyde_02,Lucid Dreams @@ -7690,6 +7698,7 @@ 11165,Wheels,Product_TA ProductsDB.Products.wheel_pickle,Void Gold 11166,EngineAudio,Product_TA ProductsDB.Products.engineaudio_zaku_t1,Shokunin 11167,EngineAudio,Product_TA ProductsDB.Products.engineaudio_zaku_t2,Shokunin GXT +11168,Wheels,Product_TA ProductsDB.Products.wheel_mudpie,Jeep Wrangler Rubicon 11169,EngineAudio,Product_TA ProductsDB.Products.engineaudio_wurst,Lamborghini Urus SE 11170,Skin,Product_TA ProductsDB.Products.skin_seba_flames,Quadra Turbo-R: Flames 11171,Skin,Product_TA ProductsDB.Products.skin_seba_lightning,Quadra Turbo-R: Lightning @@ -7705,6 +7714,7 @@ 11186,Wheels,Product_TA ProductsDB.Products.wheel_vibora_radiant,King Fang Radiant 11189,Skin,Product_TA ProductsDB.Products.skin_big01,Nissan Skyline GT-R (R32): Godzilla Evolved 11190,Skin,Product_TA ProductsDB.Products.skin_big02,Nissan Skyline GT-R (R32): Mechagodzilla +11191,GoalExplosion,Product_TA ProductsDB.Products.explosion_esports_v3,Team BDS (2025) 11193,EngineAudio,Product_TA ProductsDB.Products.engineaudio_pickle,Void Burn 11195,Skin,Product_TA ProductsDB.Products.skin_nerd_livery1,Nissan Skyline GT-R (R32): Godzilla 11196,Skin,Product_TA ProductsDB.Products.skin_nerd_livery2,Nissan Skyline GT-R (R32): Kong @@ -7739,11 +7749,17 @@ 11234,SupersonicTrail,Product_TA ProductsDB.Products.ss_daikon,Snowball 11235,Skin,Product_TA ProductsDB.Products.skin_zakut1_lightning,Shokunin: Lightning 11237,Boost,Product_TA ProductsDB.Products.boost_daikon,Floeburner +11241,GoalExplosion,Product_TA ProductsDB.Products.pack_esportsexplosions25,RLCS 24-25 11242,PaintFinish,Product_TA ProductsDB.Products.paintfinish_wise,Fast Catch 11243,PaintFinish,Product_TA ProductsDB.Products.paintfinish_wobbleh,Cracked +11247,GoalExplosion,Product_TA ProductsDB.Products.explosion_ESports_Luminosity_V3,Luminosity (2025) 11248,PremiumInventory,Product_TA ProductsDB.Products.crateunlocked_AT17,Accolade XVII 11253,MusicStingers,Product_TA ProductsDB.Products.anthem_teminiteandskybreak_accelerate,Accelerate 11254,MusicStingers,Product_TA ProductsDB.Products.anthem_tokyomachine_play_vip,PLAY (VIP) +11255,GoalExplosion,Product_TA ProductsDB.Products.explosion_ESports_GenG_V3,Gen.G (2025) +11260,GoalExplosion,Product_TA ProductsDB.Products.explosion_ESports_SpaceStation_V3,Spacestation Gaming (2025) +11261,GoalExplosion,Product_TA ProductsDB.Products.explosion_ESports_TeamFalcons_V3,Team Falcons (2025) +11263,GoalExplosion,Product_TA ProductsDB.Products.explosion_ESports_Vitality_V3,Team Vitality (2025) 11266,Skin,Product_TA ProductsDB.Products.skin_daikon01,Ugly Sweater 11267,Skin,Product_TA ProductsDB.Products.skin_daikon02,Gingerbread House 11268,Wheels,Product_TA ProductsDB.Products.wheel_tertius_ff,Playock: Frosted @@ -7761,6 +7777,8 @@ 11282,MusicStingers,Product_TA ProductsDB.Products.anthem_frostycat08,games 11283,MusicStingers,Product_TA ProductsDB.Products.anthem_s17_neon,Neon Dream 11284,PaintFinish,Product_TA ProductsDB.Products.paintfinish_geoweb,Hexagonal +11289,Skin,Product_TA ProductsDB.Products.skin_militariegun,Kinetic Camo +11291,GoalExplosion,Product_TA ProductsDB.Products.explosion_hug,Get Over Here! 11301,SupersonicTrail,Product_TA ProductsDB.Products.ss_astralradiance,Lunaria 11302,Wheels,Product_TA ProductsDB.Products.wheel_gear7,NeonFlux 11306,Wheels,Product_TA ProductsDB.Products.wheel_edison,R/T @@ -7768,6 +7786,7 @@ 11310,PlayerAvatarBorder,Product_TA ProductsDB.Products.avatarborder_utopia03,Futura Diodes 11312,Wheels,Product_TA ProductsDB.Products.wheel_sherbet,Soar-Bae 11313,Wheels,Product_TA ProductsDB.Products.wheel_cyber,Cybertread +11314,Body,Product_TA ProductsDB.Products.body_mudpie,Jeep Wrangler Rubicon 11316,Antenna,Product_TA ProductsDB.Products.antenna_jitb,Jack-In-The-Box 11317,Skin,Product_TA ProductsDB.Products.skin_squash_aventurine01,Cyclone: Miku Rider Beam 11318,Antenna,Product_TA ProductsDB.Products.flag_aventurine,Hatsune Miku @@ -7783,6 +7802,7 @@ 11332,Wheels,Product_TA ProductsDB.Products.wheel_swish,Off-Ramp 11333,Wheels,Product_TA ProductsDB.Products.wheel_victor,Fij-It 11336,Body,Product_TA ProductsDB.Products.body_musclecar_SE_Glow,Dominus: Neon +11342,Wheels,Product_TA ProductsDB.Products.wheel_mudpie02,Jeep Wrangler Rubicon (Off-Road) 11343,MusicStingers,Product_TA ProductsDB.Products.album_anthem_aventurine,Hatsune Miku 11344,MusicStingers,Product_TA ProductsDB.Products.anthem_aventurine01,M@GICAL:star:CURE! LOVE:heart:SHOT! (feat. Hatsune Miku) 11346,MusicStingers,Product_TA ProductsDB.Products.anthem_aventurine02,Miku @@ -7809,12 +7829,14 @@ 11372,Boost,Product_TA ProductsDB.Products.boost_disco,Disco Ball 11377,Skin,Product_TA ProductsDB.Products.skin_octane_yeasayer,Octane: LightLane 11378,Skin,Product_TA ProductsDB.Products.skin_musclecar_futurewave,Dominus: Futura Diodes +11379,Body,Product_TA ProductsDB.Products.body_rio,Ram 1500 RHO 11381,Hat,Product_TA ProductsDB.Products.hat_threedee_papercut_psp,ThreeDee (R+T) 11382,Skin,Product_TA ProductsDB.Products.skin_octane_wire_psp,Octane: Framework (R+T) 11383,Wheels,Product_TA ProductsDB.Products.wheel_atomizer_psp,Nucleon Clutch (R+T) 11384,MusicStingers,Product_TA ProductsDB.Products.anthem_aventurine03,World Is Mine 11386,MusicStingers,Product_TA ProductsDB.Products.anthem_aventurine04,Melt 11387,Wheels,Product_TA ProductsDB.Products.wheel_victor_se,Fij-It: Inverted +11389,Wheels,Product_TA ProductsDB.Products.wheel_rio,Ram 1500 RHO 11390,Wheels,Product_TA ProductsDB.Products.wheel_aventurine01,Miku Dark 11391,Wheels,Product_TA ProductsDB.Products.wheel_aventurine02,Miku Pink 11392,Wheels,Product_TA ProductsDB.Products.wheel_aventurineanimated,Miku's Beam @@ -7824,6 +7846,7 @@ 11399,Wheels,Product_TA ProductsDB.Products.wheel_rl192,Kross 11400,Wheels,Product_TA ProductsDB.Products.wheel_hyperlite_se,Hyperlite: Holographic 11401,Hat,Product_TA ProductsDB.Products.hat_futurepigeon,Pigeon 3000 +11403,Skin,Product_TA ProductsDB.Products.skin_bringm,RLCS Birmingham Major 2025 11404,Skin,Product_TA ProductsDB.Products.skin_musclecar_triceraptops,Dominus: Tricera 11405,Skin,Product_TA ProductsDB.Products.skin_venom_flug,Venom: Sneaky 7 11406,Wheels,Product_TA ProductsDB.Products.wheel_edison2,Scat Pack @@ -7831,7 +7854,9 @@ 11408,Skin,Product_TA ProductsDB.Products.skin_futura_lightning,Azura: Lightning 11409,Skin,Product_TA ProductsDB.Products.skin_futura_stripes,Azura: Stripes 11410,Skin,Product_TA ProductsDB.Products.skin_futura_wings,Azura: Wings +11411,Boost,Product_TA ProductsDB.Products.boost_rlcs2401,RLCS Birmingham Major 2025 11412,Boost,Product_TA ProductsDB.Products.boost_digitaltrace_psplus,Tri-oomph (R+T) +11414,Skin,Product_TA ProductsDB.Products.skin_brick_viz02,Tygris: Omni-Man 11418,EngineAudio,Product_TA ProductsDB.Products.engineaudio_RP_S18_scifi,Azura 11419,Skin,Product_TA ProductsDB.Products.skin_edison_flames,Dodge Charger Daytona Scat Pack: Flames 11420,Skin,Product_TA ProductsDB.Products.skin_edison_lightning,Dodge Charger Daytona Scat Pack: Lightning @@ -7845,9 +7870,20 @@ 11433,Wheels,Product_TA ProductsDB.Products.wheel_stuffed,Stuffed 11434,Wheels,Product_TA ProductsDB.Products.wheel_silvertriangle,Fulltime 11435,Wheels,Product_TA ProductsDB.Products.wheel_rl184se,City Central: Holographic +11437,Skin,Product_TA ProductsDB.Products.skin_mudpie_wings,Jeep Wrangler Rubicon: Wings +11452,Skin,Product_TA ProductsDB.Products.skin_mudpie_stripes,Jeep Wrangler Rubicon: Stripes 11453,Wheels,Product_TA ProductsDB.Products.wheel_rl194,UG-66 +11454,Skin,Product_TA ProductsDB.Products.skin_brick_viz03,Tygris: Atom Eve +11457,Skin,Product_TA ProductsDB.Products.skin_brick_viz01,Tygris: Invincible +11458,Skin,Product_TA ProductsDB.Products.skin_zuse3,Revolver: Slipstream Edge +11460,Skin,Product_TA ProductsDB.Products.skin_zuse_01,Revolver: The Number +11461,Skin,Product_TA ProductsDB.Products.skin_zuse_02,Revolver: Power GT +11465,Wheels,Product_TA ProductsDB.Products.wheel_rlcs2401,RLCS Birmingham Major 2025 11467,Skin,Product_TA ProductsDB.Products.skin_force_toopher,Breakout: Tooth Care +11468,Skin,Product_TA ProductsDB.Products.skin_maser_timmy2,Mamba: Jake the Dog 11470,Skin,Product_TA ProductsDB.Products.skin_futura_livery1,Azura: Chase Pro +11476,Skin,Product_TA ProductsDB.Products.skin_mudpie_lightning,Jeep Wrangler Rubicon: Lightning +11477,Skin,Product_TA ProductsDB.Products.skin_rage_hug,Lamborghini Countach LPI 800-4: Shirai Ryu Wrapped 11478,Skin,Product_TA ProductsDB.Products.skin_edison_livery4,Dodge Charger Daytona Scat Pack: Peel Orange 11491,GoalExplosion,Product_TA ProductsDB.Products.explosion_season17_bronze,S17 - Bronze 11492,GoalExplosion,Product_TA ProductsDB.Products.explosion_season17_champ,S17 - Champion @@ -7857,21 +7893,66 @@ 11496,GoalExplosion,Product_TA ProductsDB.Products.explosion_season17_platinum,S17 - Platinum 11497,GoalExplosion,Product_TA ProductsDB.Products.explosion_season17_silver,S17 - Silver 11498,GoalExplosion,Product_TA ProductsDB.Products.explosion_season17_ssl,S17 - Supersonic Legend +11499,Skin,Product_TA ProductsDB.Products.skin_maser_timmy1,Mamba: Finn the Human +11500,Wheels,Product_TA ProductsDB.Products.wheel_hug_02,Sub-Zero Kombat 11504,Antenna,Product_TA ProductsDB.Products.antenna_drone,Rocket Drone +11506,Skin,Product_TA ProductsDB.Products.skin_mudpie_livery1,Jeep Wrangler Rubicon: Tomb Raider +11507,Skin,Product_TA ProductsDB.Products.skin_mudpie_livery2,Jeep Wrangler Rubicon: Hydro Blue +11508,Skin,Product_TA ProductsDB.Products.skin_rage_hug2,Lamborghini Countach LPI 800-4: Lin Kuei Wrapped 11511,Skin,Product_TA ProductsDB.Products.skin_edison_livery1,Dodge Charger Daytona Scat Pack: Chase Pro 11512,Skin,Product_TA ProductsDB.Products.skin_edison_livery2,Dodge Charger Daytona Scat Pack: Rumble Bee 11513,Skin,Product_TA ProductsDB.Products.skin_edison_livery3,Dodge Charger Daytona Scat Pack: EV Circuit +11514,Wheels,Product_TA ProductsDB.Products.wheel_zuse,Cruise Caliber 11515,MusicStingers,Product_TA ProductsDB.Products.anthem_badcomputer_breathe,Breathe +11519,Skin,Product_TA ProductsDB.Products.skin_rage_rage02,Lamborghini Countach LPI 800-4: Opalescent 11520,Skin,Product_TA ProductsDB.Products.skin_futura_livery2,Azura: Rumble Bee 11521,Skin,Product_TA ProductsDB.Products.skin_futura_livery3,Azura: EV Circuit +11527,Skin,Product_TA ProductsDB.Products.skin_mudpie_flames,Jeep Wrangler Rubicon: Flames 11528,Wheels,Product_TA ProductsDB.Products.wheel_robo,T-I Breaker 11529,PremiumInventory,Product_TA ProductsDB.Products.crateunlocked_AT18,Accolade XVIII +11540,Skin,Product_TA ProductsDB.Products.skin_rio_red,Ram 1500 RHO: Flame Red +11543,EngineAudio,Product_TA ProductsDB.Products.engineaudio_zuse,Revolver 11545,Wheels,Product_TA ProductsDB.Products.wheel_robo_infinite,T-I Breaker: Infinite 11553,Skin,Product_TA ProductsDB.Products.skin_decveau01,Vapor Web 11554,Skin,Product_TA ProductsDB.Products.skin_decveau02,Venerate +11556,GoalExplosion,Product_TA ProductsDB.Products.explosion_ESports_Dignitas_V3,Dignitas (2025) +11557,GoalExplosion,Product_TA ProductsDB.Products.explosion_ESports_Furia_V3,Furia (2025) +11558,GoalExplosion,Product_TA ProductsDB.Products.explosion_ESports_Limitless_V3,Limitless (2025) +11559,GoalExplosion,Product_TA ProductsDB.Products.explosion_ESports_NRG_V3,NRG (2025) +11561,Skin,Product_TA ProductsDB.Products.skin_rio_livery1,Ram 1500 RHO: Guts +11563,Skin,Product_TA ProductsDB.Products.skin_rio_livery2,Ram 1500 RHO: Glory +11574,EngineAudio,Product_TA ProductsDB.Products.engineaudio_rio,Ram 1500 RHO +11577,MusicStingers,Product_TA ProductsDB.Products.anthem_pmoney_whiney_hayve_99octane,99 Octane 11578,EngineAudio,Product_TA ProductsDB.Products.engineaudio_edison,Dodge Charger Daytona Scat Pack +11579,EngineAudio,Product_TA ProductsDB.Products.engineaudio_mudpie,Jeep Wrangler Rubicon +11580,Skin,Product_TA ProductsDB.Products.skin_autofalcon_00,Team Falcons (2025) +11581,Skin,Product_TA ProductsDB.Products.skin_autoluminosity_00,Luminosity (2025) +11582,Skin,Product_TA ProductsDB.Products.skin_autonrg_00,NRG Esports (2025) +11584,Antenna,Product_TA ProductsDB.Products.flag_mc_bensley,Bensley +11585,Antenna,Product_TA ProductsDB.Products.flag_mc_biskuwi,biskuwi +11586,Antenna,Product_TA ProductsDB.Products.flag_mc_tomferry,Tom Ferry +11587,Antenna,Product_TA ProductsDB.Products.flag_mc_pmoneywhiney,P Money x Whiney +11588,Antenna,Product_TA ProductsDB.Products.flag_mc_aeonmode,ÆON:MODE +11589,Antenna,Product_TA ProductsDB.Products.flag_mc_willmack,WILL MAC +11590,Antenna,Product_TA ProductsDB.Products.flag_mc_andreabotez,Andrea Botez +11591,Wheels,Product_TA ProductsDB.Products.wheel_hug_01,Scorpion Kombat 11592,MusicStingers,Product_TA ProductsDB.Products.anthem_parkwild_showmethestars,Show Me The Stars 11593,EngineAudio,Product_TA ProductsDB.Products.engineaudio_futureutopia,Utopian 11595,MusicStingers,Product_TA ProductsDB.Products.anthem_haj_whatasave,What A Save! +11596,Skin,Product_TA ProductsDB.Products.skin_zuse_gold,Revolver: Solid Gold 11597,MusicStingers,Product_TA ProductsDB.Products.anthem_parkwild_ifyouliketogofast,If You Like To Go Fast 11599,PlayerBanner,Product_TA ProductsDB.Products.playerbanner_utopia02,Future Fashion +11608,Skin,Product_TA ProductsDB.Products.skin_autodignitas_00,Dignitas (2025) +11609,Skin,Product_TA ProductsDB.Products.skin_autobds_00,Team BDS (2025) +11610,Skin,Product_TA ProductsDB.Products.skin_autovitality_00,Team Vitality (2025) +11614,GoalExplosion,Product_TA ProductsDB.Products.explosion_ESports_Gentlemates_V3,Gentle Mates (2025) +11615,GoalExplosion,Product_TA ProductsDB.Products.explosion_ESports_TSM_V3,TSM (2025) +11616,Skin,Product_TA ProductsDB.Products.pack_rlcs2025,RLCS '25 +11618,Skin,Product_TA ProductsDB.Products.skin_autotsm_00,TSM (2025) +11620,Skin,Product_TA ProductsDB.Products.skin_autogeng_00,Gen.G (2025) +11627,Skin,Product_TA ProductsDB.Products.skin_autolimitless_00,Limitless 2025 +11628,Skin,Product_TA ProductsDB.Products.skin_autospacestationgaming_00,Spacestation Gaming (2025) +11633,Skin,Product_TA ProductsDB.Products.skin_autofuria_00,Furia (2025) +11635,Skin,Product_TA ProductsDB.Products.skin_autogentlemates_00,Gentle Mates (2025) +11665,MusicStingers,Product_TA ProductsDB.Products.anthem_habstrakt_zero200,ZERO200 +11671,Wheels,Product_TA ProductsDB.Products.wheel_rl190,TriTrim diff --git a/frontend/src/components/LoadoutEditor/Main.svelte b/frontend/src/components/LoadoutEditor/Main.svelte index e41c65d..588eae9 100644 --- a/frontend/src/components/LoadoutEditor/Main.svelte +++ b/frontend/src/components/LoadoutEditor/Main.svelte @@ -108,7 +108,7 @@ function PreviewLoadout(team: "blue" | "orange") { const launcher = localStorage.getItem("MS_LAUNCHER"); if (!launcher) { toast.error("Please select a launcher first", { - position: "bottom-right", + position: "top-center", duration: 5000, }); diff --git a/frontend/src/pages/Home.svelte b/frontend/src/pages/Home.svelte index 4339538..3cfd358 100644 --- a/frontend/src/pages/Home.svelte +++ b/frontend/src/pages/Home.svelte @@ -49,7 +49,7 @@ function updateBotpack(repoName: string) { const details = paths.find((x) => x.repo === repoName); if (details?.repo && details.tagName) { const tId = toast.loading(`Updating ${repoName}...`, { - position: "bottom-right", + position: "top-center", }); App.UpdateBotpack(details.repo, details.installPath, details.tagName) @@ -57,7 +57,7 @@ function updateBotpack(repoName: string) { details.tagName = newTagName; toast.success(`${repoName} updated successfully`, { id: tId, - position: "bottom-right", + position: "top-center", duration: 3000, }); }) @@ -65,7 +65,7 @@ function updateBotpack(repoName: string) { console.error(error); toast.error(`Failed to update ${repoName}: ${error}`, { id: tId, - position: "bottom-right", + position: "top-center", duration: 10000, }); }); @@ -86,7 +86,7 @@ function CheckForBotpackUpdates() { updateBotpack, }, style: "max-width: 500px", - position: "bottom-right", + position: "top-center", duration: 10000, }); @@ -256,11 +256,13 @@ $effect(() => { localStorage.setItem("MS_MUTATORS", JSON.stringify(mutatorSettings)); }); +let startMatchToastId: string | null = null; + async function onMatchStart(randomizeMap: boolean) { const launcher = localStorage.getItem("MS_LAUNCHER"); if (!launcher) { toast.error("Please select a launcher first", { - position: "bottom-right", + position: "top-center", duration: 5000, }); @@ -293,40 +295,45 @@ async function onMatchStart(randomizeMap: boolean) { extraOptions, }; - toast("Starting match...", { - position: "bottom-right", + // only show the toast from the newest start match attempt + if (startMatchToastId) { + toast.dismiss(startMatchToastId); + } + + const toastId = toast.loading("Starting match...", { + position: "top-center", }); + startMatchToastId = toastId; const response = await App.StartMatch(options); + if (toastId != startMatchToastId) return; + startMatchToastId = null; + if (response.success) { - toast.success("Sent start match command", { - position: "bottom-right", - duration: 5000, + toast.success("Match started", { + id: toastId, }); } else { toast.error(`Match start failed\n${response.message}`, { - position: "bottom-right", - duration: 5000, + id: toastId, + duration: 10000, }); } } async function onMatchStop() { - toast("Stopping match...", { - position: "bottom-right", - }); + const id = startMatchToastId ?? undefined; const response = await App.StopMatch(false); if (response.success) { toast.success("Sent stop match command", { - position: "bottom-right", - duration: 5000, + id, }); } else { toast.error(`Match stop failed\n${response.message}`, { - position: "bottom-right", - duration: 5000, + id, + duration: 10000, }); } } diff --git a/frontend/src/pages/RocketHost.svelte b/frontend/src/pages/RocketHost.svelte index 6665594..312dc31 100644 --- a/frontend/src/pages/RocketHost.svelte +++ b/frontend/src/pages/RocketHost.svelte @@ -31,7 +31,7 @@ function refreshRHostBots() { }) .catch((error) => { toast.error(`Couldn't resolve Rocket Host bots\n${error}`, { - position: "bottom-right", + position: "top-center", duration: 5000, }); }); @@ -60,7 +60,7 @@ function refreshRHostServers() { }) .catch((error) => { toast.error(`Couldn't resolve Rocket Host server addresses\n${error}`, { - position: "bottom-right", + position: "top-center", duration: 5000, }); }); @@ -192,7 +192,7 @@ let launcherOptionsVisible = $state(false); let launcher = localStorage.getItem("MS_LAUNCHER"); if (!launcher) { toast.error("Please select a launcher first", { - position: "bottom-right", + position: "top-center", duration: 5000, }); @@ -202,7 +202,7 @@ let launcherOptionsVisible = $state(false); waiting = true; let id = toast.loading("Starting rocket host game...", { - position: "bottom-right" + position: "top-center" }) App.StartRHostMatch({ server: serverAddr, @@ -215,13 +215,13 @@ let launcherOptionsVisible = $state(false); waiting = false; toast.success( `Started game with address ${addr}`, - {position: "bottom-right", duration: 10000, id} + {position: "top-center", duration: 10000, id} ) }).catch((e)=>{ waiting = false; toast.error( "Failed to start Rocket Host game\n" + e, - {position: "bottom-right", duration: 8000, id} + {position: "top-center", duration: 8000, id} ) }) }}> diff --git a/go.mod b/go.mod index 9002221..871987a 100644 --- a/go.mod +++ b/go.mod @@ -16,18 +16,18 @@ require ( require ( dario.cat/mergo v1.0.1 // indirect github.com/Microsoft/go-winio v0.6.2 // indirect - github.com/ProtonMail/go-crypto v1.1.6 // indirect + github.com/ProtonMail/go-crypto v1.2.0 // indirect github.com/adrg/xdg v0.5.3 // indirect github.com/akavel/rsrc v0.10.2 // indirect github.com/bep/debounce v1.2.1 // indirect - github.com/cloudflare/circl v1.6.0 // indirect + github.com/cloudflare/circl v1.6.1 // indirect github.com/cyphar/filepath-securejoin v0.4.1 // indirect github.com/dchest/jsmin v1.0.0 // indirect github.com/ebitengine/purego v0.8.2 // indirect github.com/emirpasic/gods v1.18.1 // indirect github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect github.com/go-git/go-billy/v5 v5.6.2 // indirect - github.com/go-git/go-git/v5 v5.14.0 // indirect + github.com/go-git/go-git/v5 v5.16.0 // indirect github.com/go-ole/go-ole v1.3.0 // indirect github.com/godbus/dbus/v5 v5.1.0 // indirect github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect diff --git a/go.sum b/go.sum index aa21d3c..99bba65 100644 --- a/go.sum +++ b/go.sum @@ -5,8 +5,8 @@ github.com/BurntSushi/toml v1.5.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2 github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= -github.com/ProtonMail/go-crypto v1.1.6 h1:ZcV+Ropw6Qn0AX9brlQLAUXfqLBc7Bl+f/DmNxpLfdw= -github.com/ProtonMail/go-crypto v1.1.6/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE= +github.com/ProtonMail/go-crypto v1.2.0 h1:+PhXXn4SPGd+qk76TlEePBfOfivE0zkWFenhGhFLzWs= +github.com/ProtonMail/go-crypto v1.2.0/go.mod h1:9whxjD8Rbs29b4XWbB8irEcE8KHMqaR2e7GWU1R+/PE= github.com/RLBot/go-interface v0.0.0-20250415214826-040d3d30ba7f h1:SEbN/466Lfjs/6rvHojmkmPKRq7gXLYJr/44GaQWKB8= github.com/RLBot/go-interface v0.0.0-20250415214826-040d3d30ba7f/go.mod h1:zogQvXLJKb2EQ4bb/PUH168VPwxBdzG1SSFJt9uJM5c= github.com/adrg/xdg v0.5.3 h1:xRnxJXne7+oWDatRhR1JLnvuccuIeCoBu2rtuLqQB78= @@ -19,8 +19,8 @@ github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPd github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/bep/debounce v1.2.1 h1:v67fRdBA9UQu2NhLFXrSg0Brw7CexQekrBwDMM8bzeY= github.com/bep/debounce v1.2.1/go.mod h1:H8yggRPQKLUhUoqrJC1bO2xNya7vanpDl7xR3ISbCJ0= -github.com/cloudflare/circl v1.6.0 h1:cr5JKic4HI+LkINy2lg3W2jF8sHCVTBncJr5gIIq7qk= -github.com/cloudflare/circl v1.6.0/go.mod h1:uddAzsPgqdMAYatqJ0lsjX1oECcQLIlRpzZh3pJrofs= +github.com/cloudflare/circl v1.6.1 h1:zqIqSPIndyBh1bjLVVDHMPpVKqp8Su/V+6MeDzzQBQ0= +github.com/cloudflare/circl v1.6.1/go.mod h1:uddAzsPgqdMAYatqJ0lsjX1oECcQLIlRpzZh3pJrofs= github.com/cyphar/filepath-securejoin v0.4.1 h1:JyxxyPEaktOD+GAnqIqTf9A8tHyAG22rowi7HkoSU1s= github.com/cyphar/filepath-securejoin v0.4.1/go.mod h1:Sdj7gXlvMcPZsbhwhQ33GguGLDGQL7h7bg04C/+u9jI= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -42,8 +42,8 @@ github.com/go-git/go-billy/v5 v5.6.2 h1:6Q86EsPXMa7c3YZ3aLAQsMA0VlWmy43r6FHqa/UN github.com/go-git/go-billy/v5 v5.6.2/go.mod h1:rcFC2rAsp/erv7CMz9GczHcuD0D32fWzH+MJAU+jaUU= github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4= github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII= -github.com/go-git/go-git/v5 v5.14.0 h1:/MD3lCrGjCen5WfEAzKg00MJJffKhC8gzS80ycmCi60= -github.com/go-git/go-git/v5 v5.14.0/go.mod h1:Z5Xhoia5PcWA3NF8vRLURn9E5FRhSl7dGj9ItW3Wk5k= +github.com/go-git/go-git/v5 v5.16.0 h1:k3kuOEpkc0DeY7xlL6NaaNg39xdgQbtH5mwCafHO9AQ= +github.com/go-git/go-git/v5 v5.16.0/go.mod h1:4Ge4alE/5gPs30F2H1esi2gPd69R0C39lolkucHBOp8= github.com/go-ole/go-ole v1.3.0 h1:Dt6ye7+vXGIKZ7Xtk4s6/xVdGDQynvom7xCFEdWr6uE= github.com/go-ole/go-ole v1.3.0/go.mod h1:5LS6F96DhAwUc7C+1HLexzMXY1xGRSryjyPPKW6zv78= github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk=