7 Commits

Author SHA1 Message Date
d9183f952a 2.0.2 2024-11-08 15:48:26 +01:00
913a833824 fix: build 2024-11-08 15:47:20 +01:00
0d6ef4d011 2.0.1 2024-11-08 15:43:23 +01:00
232045964c fix: firmware updates 2024-11-08 15:42:58 +01:00
3659b80e41 fix: firmware cannot be linked 2024-11-08 15:21:53 +01:00
3a02caeb6d fix: pre-production devices are not recognized by the device manager 2024-11-07 21:53:59 +01:00
259fd3a989 fix: stable pipeline 2024-11-05 02:51:21 +01:00
15 changed files with 37 additions and 18 deletions

View File

@@ -41,7 +41,7 @@ jobs:
echo "${{ secrets.DEPLOY_KNOWN_HOSTS }}" > ~/.ssh/known_hosts
- name: Publish Stable
if: ${{ github.ref == 'refs/heads/v*' }}
if: ${{ github.ref == 'refs/tags/v*' }}
run: rsync -rav --mkpath --delete build/ deploy@charachorder.io:/home/deploy/www/
- name: Publish Branch

View File

@@ -1,6 +1,6 @@
{
"name": "charachorder-device-manager",
"version": "2.0.0",
"version": "2.0.2",
"license": "AGPL-3.0-or-later",
"private": true,
"engines": {

View File

@@ -1,6 +1,6 @@
[package]
name = "app"
version = "2.0.0"
version = "2.0.2"
description = "A Tauri App"
authors = ["Thea Schöbl <dev@theaninova.de>"]
license = "AGPL-3"

View File

@@ -6,7 +6,7 @@
"devPath": "http://localhost:5173",
"distDir": "../build"
},
"package": { "productName": "amacc1ng", "version": "2.0.0" },
"package": { "productName": "amacc1ng", "version": "2.0.2" },
"tauri": {
"allowlist": { "all": false },
"bundle": {

View File

@@ -12,7 +12,7 @@ import { browser } from "$app/environment";
const PORT_FILTERS: Map<string, SerialPortFilter> = new Map([
["ONE M0", { usbProductId: 32783, usbVendorId: 9114 }],
["TWO S3", { usbProductId: 0x8252, usbVendorId: 0x303a }], // TODO: remove this after everyone has migrated
["TWO S3 (pre-production)", { usbProductId: 0x8252, usbVendorId: 0x303a }], // TODO: remove this after everyone has migrated
["TWO S3", { usbProductId: 0x8253, usbVendorId: 0x303a }],
["LITE S2", { usbProductId: 33070, usbVendorId: 12346 }],
["LITE M0", { usbProductId: 32796, usbVendorId: 9114 }],
@@ -513,11 +513,11 @@ export class CharaDevice {
const writer2 = this.port.writable!.getWriter();
try {
await writer2.write(new TextEncoder().encode(`RST REBOOT\r\n`));
await writer2.write(new TextEncoder().encode(`RST RESTART\r\n`));
serialLog.update((it) => {
it.push({
type: "input",
value: "RST REBOOT",
value: "RST RESTART",
});
return it;
});

View File

@@ -82,7 +82,7 @@
</li>
<li>
<a
href="/firmware/{currentDevice ? `${currentDevice}/` : ''}"
href="/ccos/{currentDevice ? `${currentDevice}/` : ''}"
use:action={{ title: "Updates" }}
>
CCOS {$serialPort?.version ?? "Updates"}

View File

@@ -2,7 +2,7 @@
let { children } = $props();
</script>
<h1><a href="/firmware">Firmware Updates</a></h1>
<h1><a href="/ccos">Firmware Updates</a></h1>
{@render children()}

View File

@@ -104,14 +104,16 @@
}
</script>
<div>
<div class="container">
<h2>
Update <em
class="device"
<a class="inline-link" href="/ccos">CCOS</a> /
<a
href="/ccos/{data.device}"
class="device inline-link"
class:correct-device={isCorrectDevice === true}
class:incorrect-device={isCorrectDevice === false}>{data.device}</em
class:incorrect-device={isCorrectDevice === false}>{data.device}</a
>
to <em class="version">{data.version}</em>
/ <em class="version">{data.version}</em>
</h2>
{#if data.ota && !data.device.endsWith("m0")}
@@ -127,8 +129,14 @@
>
{#if $serialPort && isCorrectDevice}
<div transition:slide>
Your device is ready and compatible. Click the button to perform the
update.
Your
<b
>{$serialPort.company}
{$serialPort.device}
{$serialPort.chipset}</b
>
will be updated from <b class="version">{$serialPort.version}</b> to
<b class="version">{data.version}</b>
</div>
{:else if $serialPort && isCorrectDevice === false}
<div class="error" transition:slide>
@@ -147,8 +155,6 @@
{/if}
</section>
<hr />
<h3>Manual Update</h3>
{/if}
@@ -229,6 +235,10 @@
transition: color 200ms ease;
}
h3 {
margin-block-start: 4em;
}
.primary {
color: var(--md-sys-color-primary);
}
@@ -237,6 +247,10 @@
color: var(--md-sys-color-error);
}
.container {
width: calc(min(100%, 16cm));
}
@keyframes rotate {
0% {
transform: rotate(120deg);
@@ -375,6 +389,11 @@
opacity: 0.6;
}
.inline-link {
display: inline;
padding: 0;
}
.correct-device {
color: var(--md-sys-color-primary);
opacity: 1;