Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
158 commits
Select commit Hold shift + click to select a range
673b583
Isolate serial loop (#297)
hhvrc Oct 9, 2024
143d68d
Isolate captiveportal loop (#298)
hhvrc Oct 9, 2024
2089b48
Isolate WiFiManager loop (#299)
hhvrc Oct 9, 2024
e234f25
Merge branch 'beta' into develop
hhvrc Oct 10, 2024
68a22e4
Clean up main.cpp a bit
hhvrc Oct 10, 2024
ee22cf8
Format SemVer
hhvrc Oct 11, 2024
cbbdc0f
SemVer: Implement string compare
hhvrc Oct 11, 2024
483f1cd
build(deps-dev): Bump the frontend group in /frontend with 5 updates …
dependabot[bot] Oct 14, 2024
453d584
build(deps-dev): Bump the frontend group in /frontend with 11 updates…
dependabot[bot] Oct 21, 2024
92b1914
Switch to pnpm (#305)
hhvrc Oct 21, 2024
6fc14f4
Merge branch 'beta' into develop
hhvrc Oct 23, 2024
f85a991
Proxy PinPatternManager::RunPattern
hhvrc Oct 23, 2024
652de8e
Squashed commit of the following:
hhvrc Oct 23, 2024
8d6f805
Add integer to string methods
hhvrc Oct 23, 2024
7f7da63
Merge branch 'beta' into develop
hhvrc Oct 25, 2024
e83e52d
build(deps): Bump the frontend group across 1 directory with 6 update…
dependabot[bot] Oct 28, 2024
4f2899c
Switch to using bunny cdn
LucHeart Nov 1, 2024
aa4a204
fix variable usage
LucHeart Nov 1, 2024
1243bfa
fix password name
LucHeart Nov 1, 2024
c0589df
Use scp...
LucHeart Nov 1, 2024
d325ec2
Add .ssh folder lol..
LucHeart Nov 1, 2024
a5f7dcb
fix naming
LucHeart Nov 1, 2024
de0a7ef
Fix more namings
LucHeart Nov 1, 2024
9458128
Fix upload paths
LucHeart Nov 1, 2024
a937dad
Dont do that for firmware.. i guess
LucHeart Nov 1, 2024
8946e60
debug bump
LucHeart Nov 2, 2024
e6fe5df
Purge cache
LucHeart Nov 2, 2024
4c7d0c2
fix syntax
LucHeart Nov 2, 2024
b7b6e8e
fix syntax
LucHeart Nov 2, 2024
fffeddd
fix syntax
LucHeart Nov 2, 2024
6fe50ac
build(deps-dev): Bump the frontend group in /frontend with 6 updates …
dependabot[bot] Nov 4, 2024
d2c3b8c
build(deps-dev): Bump the frontend group in /frontend with 4 updates …
dependabot[bot] Nov 11, 2024
535d892
Fix possible memory leak
hhvrc Nov 11, 2024
c208800
Make IsScanning method more robust
hhvrc Nov 11, 2024
6f6adc9
Use event loops to decouple code (#300)
hhvrc Nov 11, 2024
b6e5cea
More CI stuff
hhvrc Nov 12, 2024
78b0de6
Use V2 schemas (#313)
hhvrc Nov 12, 2024
611343b
feat: :wrench: Add support for NodeMCU and uPesy (#312)
Wilaz Nov 12, 2024
5c0eb09
Handle ratelimiting properly for Account Link request
hhvrc Nov 15, 2024
554f36f
Fix and abstract away HTTP RateLimiter
hhvrc Nov 15, 2024
137a199
Clean up Hashing.h
hhvrc Nov 15, 2024
c81d86c
Clean up Checksum.h
hhvrc Nov 15, 2024
8aafec9
Disable move and copy on classes
hhvrc Nov 15, 2024
68732c4
Fix timing inaccuracies for CaiXianlin encoder
hhvrc Nov 15, 2024
917a5e8
Increase stack depth of SerialRX task
hhvrc Nov 15, 2024
ad90a53
Remove ping handler logging
hhvrc Nov 16, 2024
99da6dd
Fix invalid log call
hhvrc Nov 16, 2024
841cec7
Make FnProxy accept extra arguments
hhvrc Nov 16, 2024
6ee7bcd
More CaiXianlin cleanup
hhvrc Nov 16, 2024
7e1216e
Renamed "device" to "hub"
hhvrc Nov 18, 2024
493d8b2
build(deps): Bump the frontend group in /frontend with 8 updates (#321)
dependabot[bot] Nov 18, 2024
9bf87bd
Improve Petrainer998DR protocol handling
hhvrc Nov 21, 2024
92559fc
More Petrainer998DR protocol improvements
hhvrc Nov 21, 2024
4a3bd1c
Start using emplace_back
hhvrc Nov 21, 2024
7ed0ec3
Enable extra compiler warnings
hhvrc Nov 21, 2024
1b60a0b
Bump packages
hhvrc Nov 21, 2024
aaaff50
Fix bitfields for Petrainer998DR
hhvrc Nov 21, 2024
bd9be52
build(deps-dev): Bump the frontend group in /frontend with 5 updates …
dependabot[bot] Nov 25, 2024
645fe33
Encoder for T330 collar (#322)
Puff-Machine Nov 25, 2024
974d3c5
Update flatbuffers
hhvrc Jan 1, 2025
5ed4b10
Add verbose debug output
LucHeart Jan 8, 2025
3774d0e
Debug by splitting them into two steps
LucHeart Jan 9, 2025
83780e4
one more verbosity level bro, trust me
LucHeart Jan 9, 2025
cd5a228
Parent folder seems to be the issue, lets create the folder locally a…
LucHeart Jan 9, 2025
cb3503f
Use a action for upload
LucHeart Jan 9, 2025
cbb0503
use action for other uploads aswell
LucHeart Jan 9, 2025
c3298b4
Clean up some string and hashing utility functions
hhvrc Jan 14, 2025
5ebc2f0
Remove const and const ref qualifiers on stringviews
hhvrc Jan 14, 2025
8644364
Merge hex logic
hhvrc Jan 14, 2025
7951750
Some constexpr cleanup
hhvrc Jan 14, 2025
cb5289f
Oops
hhvrc Jan 14, 2025
0df80bb
More estop to subdirectory
hhvrc Jan 14, 2025
0ab6992
Remove websocket ping/pong logging
hhvrc Jan 14, 2025
6c09a68
Leave todo comment for future work
hhvrc Jan 14, 2025
35e7af8
Fix semver build sometimes being int breaking compilation
hhvrc Jan 15, 2025
207531d
Oops
hhvrc Jan 15, 2025
43ece0a
Transition to Svelte 5 + shadcn (#315)
hhvrc Jan 15, 2025
c1fe72b
Further minify frontend build artifacts
hhvrc Jan 15, 2025
7b1df43
Clean up and simplify filesystem build script
hhvrc Jan 15, 2025
d394c7c
build(deps-dev): Bump @sveltejs/kit (#334)
dependabot[bot] Jan 15, 2025
6e7db82
Apply color schemes from website
hhvrc Jan 15, 2025
f14282c
Fix header logo spacing to left edge
hhvrc Jan 15, 2025
40ad185
Remove goto label logic in favor of while loop
hhvrc Jan 15, 2025
1e4bcc7
Fix loop exiting logic
hhvrc Jan 15, 2025
68b5226
Fix copy paste error in CI
LucHeart Jan 15, 2025
0d5dfbf
Fix HTTP chunk hex parser
hhvrc Jan 15, 2025
77ce195
Increase SerialRX stack to 10k
hhvrc Jan 15, 2025
7767f7b
Fix usage of push_back vs emplace_back
hhvrc Jan 16, 2025
287aa96
Revise encoders to use shared buffer and handle terminator encoding s…
hhvrc Jan 20, 2025
868d7ac
build(deps-dev): Bump the frontend group in /frontend with 6 updates …
dependabot[bot] Jan 20, 2025
53ea3f8
Add missing <memory> include in Checksum.h
hhvrc Jan 20, 2025
4793d97
Decrease allocations for RF encoding + transmitting
hhvrc Jan 20, 2025
9d1e885
build(deps-dev): Bump vite in /frontend in the npm_and_yarn group (#336)
dependabot[bot] Jan 22, 2025
124471b
Cleanup misc converter and constexpr logic (#339)
hhvrc Jan 24, 2025
1397bd6
Misc cleanup from other branches added (#340)
hhvrc Jan 24, 2025
372d5a1
Fix rmt and crash loop (#341)
hhvrc Jan 24, 2025
bf78162
build(deps): Bump undici in /.github/scripts in the npm_and_yarn grou…
dependabot[bot] Jan 24, 2025
a9755eb
Update docs for int converter
hhvrc Jan 24, 2025
3558b1d
make eepytime static
hhvrc Jan 24, 2025
714c6d1
Int converter: Optimize negative value cast
hhvrc Jan 24, 2025
7e8cc74
Optimize and clean up integer parser
hhvrc Jan 24, 2025
76caf8b
Fix semver toString method
hhvrc Jan 25, 2025
bca2393
Fix OtaUpdateManager hash parsing method
hhvrc Jan 25, 2025
ca2106f
Fix some warnings
hhvrc Jan 26, 2025
03d2c01
Improve comments from int to string converter
hhvrc Jan 26, 2025
0292cb2
Optimize and clean up a couple extra things
hhvrc Jan 26, 2025
a8b8704
build(deps-dev): Bump the frontend group in /frontend with 11 updates…
dependabot[bot] Jan 27, 2025
f3ea910
Update flatbuffers
hhvrc Jan 27, 2025
d6a1e5a
Update platformio, espressif32 platform, and pip packages
hhvrc Jan 27, 2025
2281204
Profile and adjust initial flatbuffer message sizes
hhvrc Jan 29, 2025
8651074
build(deps): Bump semver in /.github/scripts in the ci-cd group (#344)
dependabot[bot] Feb 3, 2025
69bd74e
Replace all ESP.restart() calls
hhvrc Feb 4, 2025
21e7bdb
build(deps-dev): Bump vitest in /frontend in the npm_and_yarn group (…
dependabot[bot] Feb 5, 2025
65082cd
build(deps): Bump semver in /.github/scripts in the ci-cd group (#347)
dependabot[bot] Feb 10, 2025
d2f1af6
Upgrade flatbuffers
hhvrc Feb 14, 2025
6104a66
Update frontend dependencies
hhvrc Feb 14, 2025
ee1d3e7
chore: Bump node and pnpm version
hhvrc Mar 19, 2025
95e00bd
fix: Correct typos for shadcn
hhvrc Mar 19, 2025
6006faa
fix: set eslint ecmaversion
hhvrc Mar 19, 2025
11321ec
chore: Update shadcn components
hhvrc Mar 19, 2025
d3f2b15
chore: Update Tailwind CSS to v4
hhvrc Mar 19, 2025
7972ce4
fix: Allow esbuild scripts in pnpm
hhvrc Mar 19, 2025
25b703c
chore: Nump build dependencies
hhvrc Mar 19, 2025
9a69651
build(deps): Bump the npm_and_yarn group (#349)
dependabot[bot] Mar 25, 2025
2631dfb
Lock platformio dependencies to commit hash
hhvrc Mar 26, 2025
703b24f
Add C++20 std::span implementation
hhvrc Apr 13, 2025
e23d456
Improve handling of statuscodes in HTTP requests
hhvrc Apr 13, 2025
5333d02
fix: Serial now outputs CRLF rather than just LF for better compatibi…
20kdc Apr 13, 2025
af441d7
Improve authtoken 401 handling (#355)
hhvrc Apr 13, 2025
1b1432b
Treat fqns as non-fqdns to handle non-fqdns correctly where only fqdn…
hhvrc Apr 18, 2025
9d54975
build(deps): Bump @actions/github in /.github/scripts in the ci-cd gr…
dependabot[bot] May 12, 2025
f5c7205
build(deps): Bump semver in /.github/scripts in the ci-cd group (#357)
dependabot[bot] May 19, 2025
4575b62
Attempt to phase out outdated dependencies
hhvrc May 19, 2025
313cad7
Update requirements.txt
hhvrc May 19, 2025
1de9124
Revert "Update requirements.txt"
hhvrc May 19, 2025
9d5a15b
Try removing esptool fork
hhvrc May 19, 2025
5caac00
Fix CI builds
hhvrc May 19, 2025
09f2ee9
cleanup: Remove usage of underscore prefixes
hhvrc May 21, 2025
70dd361
Use improved AssingLCG endpoint (#358)
hhvrc May 30, 2025
3e209fb
More readable error codes for HTTP requests
hhvrc Jun 13, 2025
338875b
Update dependencies
hhvrc Jul 7, 2025
e54ae36
Remove CertificateUtils
hhvrc Aug 14, 2025
21f3b5e
Safer data handling (#367)
hhvrc Aug 14, 2025
6f3f4fb
Better RMT and RFTX logic (#368)
hhvrc Aug 14, 2025
a92d591
build(deps): Bump the ci-cd group across 1 directory with 3 updates (…
dependabot[bot] Sep 15, 2025
bbec95a
build(deps): Bump the npm_and_yarn group in /frontend with 5 updates …
dependabot[bot] Sep 15, 2025
d8ff575
Introduce time limits on actions
hhvrc Sep 16, 2025
95fa239
build(deps-dev): Bump vite (#373)
dependabot[bot] Sep 17, 2025
7c4880e
Update dependencies
hhvrc Sep 29, 2025
40e3d90
build(deps): Bump semver in /.github/scripts in the ci-cd group (#378)
dependabot[bot] Oct 22, 2025
20ad894
build(deps): Bump the ci-cd group across 1 directory with 2 updates (…
dependabot[bot] Oct 22, 2025
a876918
build(deps-dev): Bump vite (#380)
dependabot[bot] Oct 22, 2025
4c7861e
build(deps): Bump actions/download-artifact in the ci-cd group (#381)
dependabot[bot] Oct 27, 2025
6997e08
build(deps): Bump ini in /.github/scripts in the ci-cd group (#382)
dependabot[bot] Oct 27, 2025
931e013
build(deps): Bump actions/checkout from 5 to 6 in the ci-cd group (#385)
dependabot[bot] Nov 24, 2025
bf1f601
chore: Update C++ dependencies (#386)
hhvrc Nov 27, 2025
3508141
fix: typo pointed out by Github copilot
hhvrc Nov 27, 2025
a66852f
chore: Update CHANGELOG and versions for 1.5.0-rc.1 (#388)
hhvrc Nov 27, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions .changeset/mighty-pets-report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'frontend': patch
---

Improve authtoken handling in 401 responses
5 changes: 5 additions & 0 deletions .changeset/precious-eagle-cactus-fruit.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'firmware': patch
---

fix: Serial now uses CRLF rather than just LF for better compatibility
1 change: 1 addition & 0 deletions .github/actions/build-firmware/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ runs:
- uses: actions/cache@v4
with:
path: |
.pio/libdeps
~/.platformio/platforms
~/.platformio/packages
~/.platformio/.cache
Expand Down
35 changes: 30 additions & 5 deletions .github/actions/build-frontend/action.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
name: build-frontend
description: Builds the frontend and uploads it as an artifact
inputs:
pnpm-version:
description: 'pnpm version to use'
required: true
node-version:
description: 'NodeJS runtime version to use'
required: true
Expand All @@ -18,21 +21,43 @@ runs:
frontend
path: ${{ github.repository }}

- uses: pnpm/action-setup@v4
name: Install pnpm
with:
version: ${{ inputs.pnpm-version }}
run_install: false

- uses: actions/setup-node@v4
with:
node-version: ${{ inputs.node-version }}
cache: 'npm'
cache-dependency-path: ./frontend/package-lock.json
node-version-file: ./frontend/.nvmrc
cache: 'pnpm'
cache-dependency-path: ./frontend/pnpm-lock.yaml

- name: Install dependencies
working-directory: ./frontend
shell: bash
run: npm ci
run: pnpm install --frozen-lockfile --strict-peer-dependencies

- name: Check
working-directory: ./frontend
shell: bash
run: pnpm run check

# FIXME: Playwirght is not working: Error: browserType.launch: Executable doesn't exist at /home/runner/.cache/ms-playwright/chromium_headless_shell-1161/chrome-linux/headless_shell
# - name: Install playwright
# working-directory: ./frontend
# shell: bash
# run: pnpx playwright install --with-deps

- name: Test
working-directory: ./frontend
shell: bash
run: pnpm test:unit # TODO: Change back to pnpm test when playwright is working

- name: Build
working-directory: ./frontend
shell: bash
run: npm run build
run: pnpm run build

- name: Upload artifacts
uses: actions/upload-artifact@v4
Expand Down
37 changes: 33 additions & 4 deletions .github/actions/cdn-bump-version/action.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,20 @@
name: cdn-bump-version
description: Uploads version file to CDN
inputs:
cf-bucket:
description: Name of the S3 bucket
bunny-stor-hostname:
description: Bunny SFTP Hostname
required: true
bunny-stor-username:
description: Bunny SFTP Username
required: true
bunny-stor-password:
description: Bunny SFTP Password
required: true
bunny-api-key:
description: Bunny API key
required: true
bunny-cdn-url:
description: Bunny pull zone base url e.g. https://firmware.openshock.org (no trailing slash)
required: true
version:
description: 'Version of the release'
Expand All @@ -14,9 +26,26 @@ inputs:
runs:
using: composite
steps:
- name: Upload version file
- name: Prepare Upload Folder
shell: bash
run: |
mkdir -p upload
echo "${{ inputs.version }}" >> upload/version-${{ inputs.release-channel }}.txt
rclone copy upload cdn:${{ inputs.cf-bucket }}/

- name: Upload version file
uses: milanmk/actions-file-deployer@master
with:
remote-protocol: "sftp"
remote-host: "${{ inputs.bunny-stor-hostname }}"
remote-user: "${{ inputs.bunny-stor-username }}"
remote-password: "${{ inputs.bunny-stor-password }}"
remote-path: "/"
local-path: "upload"
sync: "full"

- name: Purge CDN cache
shell: bash
run: |
curl -X POST "https://api.bunny.net/purge?url=${{ inputs.bunny-cdn-url }}/version-${{ inputs.release-channel }}.txt" \
-H "Content-Type: application/json" \
-H "AccessKey: ${{ inputs.bunny-api-key }}"
29 changes: 8 additions & 21 deletions .github/actions/cdn-prepare/action.yml
Original file line number Diff line number Diff line change
@@ -1,33 +1,20 @@
name: cdn-prepare
description: Prepares the CDN for firmware uploads
description: Bunny sshpass and knowhosts setup
inputs:
cf-account-id:
description: Cloudflare Account ID
required: true
cf-access-key-id:
description: Cloudflare Access Key ID
required: true
cf-secret-access-key:
description: Cloudflare Secret Access Key
bunny-ssh-knownhosts:
description: Bunny SFTP Hostname
required: true

runs:
using: composite
steps:
- name: Install rclone
- name: Install sshpass
shell: bash
run: sudo apt-get install -y rclone
run: sudo apt-get install -y sshpass

- name: Configure rclone
- name: Configure known hosts
shell: bash
run: |
mkdir -p ~/.config/rclone/
conf=~/.config/rclone/rclone.conf
echo "[cdn]" >> $conf
echo "type = s3" >> $conf
echo "provider = Cloudflare" >> $conf
echo "access_key_id = ${{ inputs.cf-access-key-id }}" >> $conf
echo "secret_access_key = ${{ inputs.cf-secret-access-key }}" >> $conf
echo "endpoint = https://${{ inputs.cf-account-id }}.r2.cloudflarestorage.com" >> $conf
echo "acl = public-read" >> $conf
mkdir -p ~/.ssh
echo "${{ inputs.bunny-ssh-knownhosts }}" >> ~/.ssh/known_hosts

24 changes: 20 additions & 4 deletions .github/actions/cdn-upload-firmware/action.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,14 @@
name: cdn-upload-firmware
description: Uploads firmware partitions and merged binaries to CDN along with SHA256 checksums
inputs:
cf-bucket:
description: Name of the S3 bucket
bunny-stor-hostname:
description: Bunny SFTP Hostname
required: true
bunny-stor-username:
description: Bunny SFTP Username
required: true
bunny-stor-password:
description: Bunny SFTP Password
required: true
fw-version:
description: Firmware version
Expand Down Expand Up @@ -43,10 +49,20 @@ runs:
find . -type f -name '*.bin' -exec md5sum {} \; > hashes.md5.txt
find . -type f -name '*.bin' -exec sha256sum {} \; > hashes.sha256.txt

- name: Upload artifacts to CDN
- name: Prepare Upload Folder
shell: bash
run: |
mkdir -p upload
mv *.bin upload/
mv hashes.*.txt upload/
rclone copy upload 'cdn:${{ inputs.cf-bucket }}/${{ inputs.fw-version }}/${{ inputs.board }}/'

- name: Upload artifacts to CDN
uses: milanmk/actions-file-deployer@master
with:
remote-protocol: "sftp"
remote-host: "${{ inputs.bunny-stor-hostname }}"
remote-user: "${{ inputs.bunny-stor-username }}"
remote-password: "${{ inputs.bunny-stor-password }}"
remote-path: "/${{ inputs.fw-version }}/${{ inputs.board }}"
local-path: "upload"
sync: "full"
33 changes: 25 additions & 8 deletions .github/actions/cdn-upload-version-info/action.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,14 @@
name: cdn-upload-version-info
description: Uploads version specific info to CDN
inputs:
cf-bucket:
description: Name of the S3 bucket
bunny-stor-hostname:
description: Bunny SFTP Hostname
required: true
bunny-stor-username:
description: Bunny SFTP Username
required: true
bunny-stor-password:
description: Bunny SFTP Password
required: true
fw-version:
description: Firmware version
Expand All @@ -17,14 +23,25 @@ inputs:
runs:
using: composite
steps:
- name: Create boards.txt

- name: Prepare Upload Folder
shell: bash
run: |
echo -e '${{ inputs.boards }}' >> boards.txt
rm -rf upload/
mkdir -p upload/

- name: Upload artifacts to CDN
- name: Create boards.txt
shell: bash
run: |
mkdir -p upload
mv boards.txt upload/
rclone copy upload 'cdn:${{ inputs.cf-bucket }}/${{ inputs.fw-version }}/${{ inputs.board }}/'
echo -e '${{ inputs.boards }}' >> upload/boards.txt

- name: Upload artifacts to CDN
uses: milanmk/actions-file-deployer@master
with:
remote-protocol: "sftp"
remote-host: "${{ inputs.bunny-stor-hostname }}"
remote-user: "${{ inputs.bunny-stor-username }}"
remote-password: "${{ inputs.bunny-stor-password }}"
remote-path: "/${{ inputs.fw-version }}/"
local-path: "upload"
sync: "full"
10 changes: 5 additions & 5 deletions .github/scripts/get-vars.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
const fs = require('fs');
const ini = require('ini');
const semver = require('semver');
const core = require('@actions/core');
const child_process = require('child_process');
import fs from 'fs';
import ini from 'ini';
import semver from 'semver';
import core from '@actions/core';
import child_process from 'child_process';

// Get branch name
const gitRef = process.env.GITHUB_REF;
Expand Down
Loading
Loading