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

Release 1.1.0 #190

Merged
merged 148 commits into from
Jan 22, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
148 commits
Select commit Hold shift + click to select a range
7993f6c
build(deps-dev): Bump the npm-dependencies group (#116)
dependabot[bot] Nov 13, 2023
fb8c416
build(deps-dev): Bump the npm-dependencies group in /WebUI with 9 upd…
dependabot[bot] Nov 20, 2023
3eec232
Push color palette (#118)
hhvrc Nov 21, 2023
81838e7
Rework HTTP/JSON handling to be cleaner (#106)
hhvrc Nov 21, 2023
a97bd86
D1 Mini default pin should be 15
LucHeart Nov 23, 2023
4dbefe9
Increase stability by handling heavy tasks better (#122)
hhvrc Nov 24, 2023
b6e1b15
RGB Support plus OpenShock Core V1 board definition (#121)
nullstalgia Nov 25, 2023
0e06a44
Check if link code is proper length + use numeric input (#124)
nullstalgia Nov 26, 2023
b693f2a
Remove loop() behaviour from code (#123)
hhvrc Nov 26, 2023
cef8b64
build(deps-dev): Bump the npm-dependencies group in /WebUI with 11 up…
dependabot[bot] Nov 27, 2023
1f621b8
Create codeql.yml (#129)
hhvrc Nov 27, 2023
4119946
build(deps): Bump actions/checkout from 3 to 4
dependabot[bot] Nov 27, 2023
c207665
Add optional (on by default) shocker Keep-Alive (#125)
nullstalgia Nov 28, 2023
129ad0b
Use WiFi.begin() for faster connect if we recognize the cached SSID (…
nullstalgia Nov 28, 2023
f4dbc8c
Reduce concurrent Github jobs (#131)
hhvrc Nov 28, 2023
3c56492
Cleanup & beautify strings and logging
hhvrc Nov 29, 2023
05db2b8
Rework config (#134)
hhvrc Nov 29, 2023
973d4e1
Fix CommandHandler semaphore initialization (#135)
hhvrc Nov 29, 2023
49cedab
Remove code accidentally embedded in serial print strings (#136)
hhvrc Nov 29, 2023
202924e
Fix clearing E-Stop re-enabling keep-alive when disabled in config (#…
nullstalgia Nov 29, 2023
85353e4
Feature/improve network config (#139)
hhvrc Nov 29, 2023
841ebb8
Feature/config improvements (#140)
hhvrc Nov 29, 2023
55813c5
RFTransmitter cleanup (#138)
hhvrc Nov 29, 2023
200ee2a
Implement serial command for reading and writing raw config (#142)
hhvrc Dec 1, 2023
635b9f5
Remove misleading comment
hhvrc Dec 1, 2023
624774a
Show warning when no LED implementation is defined (#143)
hhvrc Dec 1, 2023
2f775bf
Fix weird logging of received command list
hhvrc Dec 1, 2023
b68fe89
Implement sending shocker commands via serial (#144)
hhvrc Dec 1, 2023
547fa24
Make VSCode STFU
hhvrc Dec 1, 2023
28b171b
Update README.md
hhvrc Dec 1, 2023
0b977e1
build(deps-dev): Bump the npm-dependencies group in /WebUI with 9 upd…
dependabot[bot] Dec 4, 2023
36b4db3
Radio code cleanup (#147)
hhvrc Dec 4, 2023
10930a9
Bugfix: xlc rmt encoder postamble (#148)
hhvrc Dec 4, 2023
173e4c8
Better checking for shocker types, fix rmt sending causing crashes (#…
nullstalgia Dec 5, 2023
91c17fe
Move ShockerCommandType FromString logic to common place (#150)
hhvrc Dec 5, 2023
23e390b
WiFi Scanning QOL: Hide duplicate SSIDs and restart stuck scans (#126)
nullstalgia Dec 6, 2023
694952f
Make sure to use OPENSHOCK_TX_PIN when resetting TX Pin (#151)
nullstalgia Dec 6, 2023
9cf13aa
Bump required node version
hhvrc Dec 8, 2023
82d556f
Update dependencies (#152)
hhvrc Dec 8, 2023
e823cc3
Fuck you VSCode, BGone
hhvrc Dec 11, 2023
b5c7b97
build(deps-dev): Bump the npm-dependencies group in /WebUI with 4 upd…
dependabot[bot] Dec 11, 2023
9ea9df5
Transform all binary semaphores into mutexes (#156)
nullstalgia Dec 12, 2023
f3e81c6
Add missing nullptr check for Captive Portal Deconstructor (would del…
nullstalgia Dec 12, 2023
bfa117e
[Feature] Better chip unsafe pin definitions (#153)
hhvrc Dec 13, 2023
99ef17b
Fix compile time checks
hhvrc Dec 13, 2023
526d7fe
Add more gpio rule bypasses, and fix duplicate define
hhvrc Dec 13, 2023
e887419
Config/WWW/OTA Partition and data access rework (#157)
nullstalgia Dec 13, 2023
c7c5a98
Serial Input Handler Cleanup and Improvements (#155)
nullstalgia Dec 13, 2023
532355f
build(deps): Bump github/codeql-action from 2 to 3 (#159)
dependabot[bot] Dec 14, 2023
d68c553
Restrict GPIO19 and GPIO20 on ESP32S3
hhvrc Dec 14, 2023
8dd3af2
Implement AvailGPIO command (#160)
hhvrc Dec 14, 2023
4e4dabe
[Refactoring] SerialInputHandler (#161)
hhvrc Dec 14, 2023
3a7d408
Update ci-tag.yml (#162)
LucHeart Dec 14, 2023
3186d62
Handle connecting to open (unsecured) networks (#164)
nullstalgia Dec 15, 2023
17bdd6e
build(deps): Bump actions/download-artifact from 3 to 4 (#163)
dependabot[bot] Dec 15, 2023
6db98ad
Captive Portal: DNS Server + Redirects (triggers login popup on devic…
nullstalgia Dec 15, 2023
a43eb2e
Fix cppcheck warnings and errors (#167)
hhvrc Dec 16, 2023
de09527
[Bugfix] xiao pin bypass (#165)
hhvrc Dec 16, 2023
670dcc8
Upgrade SvelteKit to 2.0 (#168)
hhvrc Dec 16, 2023
c26491f
build(deps-dev): Bump the npm-dependencies group (#169)
dependabot[bot] Dec 18, 2023
3a6c566
Use more utlity methods for config parsing
hhvrc Dec 19, 2023
0284e26
build(deps-dev): Bump the npm-dependencies group
dependabot[bot] Dec 25, 2023
8a86851
build(deps-dev): Bump the npm-dependencies group
dependabot[bot] Jan 1, 2024
950fab1
Implement stringview (#172)
hhvrc Jan 3, 2024
12e339c
Remove nonstd/span dependency (#173)
hhvrc Jan 3, 2024
bf38bb7
Implement http streaming (#174)
hhvrc Jan 3, 2024
039bab9
Add ability not export sensitive data from config
hhvrc Jan 3, 2024
d0f1e8f
Better error checking on config parsing
hhvrc Jan 3, 2024
718aaee
Improve flatbuffers docs
hhvrc Jan 3, 2024
1d9defd
Update flatc
hhvrc Jan 3, 2024
c81f795
Improve flatc locating logic
hhvrc Jan 3, 2024
378d33c
Add config flatbuffers exporting logic
hhvrc Jan 3, 2024
f6eadd6
Cleanup and better logs
hhvrc Jan 3, 2024
b6f3dc5
Change default environment to D1-Mini
hhvrc Jan 3, 2024
0489190
Add compatibility check for estop pin
hhvrc Jan 3, 2024
07a51af
Fix file naming typo
hhvrc Jan 3, 2024
03201f8
Regenerate flatbuffers
hhvrc Jan 3, 2024
d02beee
Send entire device config on LocalWS connect
hhvrc Jan 3, 2024
fc4a945
Correct typo
hhvrc Jan 3, 2024
c958091
Minor code cleanup
hhvrc Jan 3, 2024
e71596f
Rename WebUI to Frontend (#175)
hhvrc Jan 3, 2024
5e7f4d1
build(deps-dev): Bump the npm-dependencies group
dependabot[bot] Jan 3, 2024
c257a75
Restructure GitHub actions (#177)
hhvrc Jan 3, 2024
746010c
Fix link/pair terminology
hhvrc Jan 3, 2024
b5cbe0e
Add json config export serial command
hhvrc Jan 3, 2024
87d1dee
Improve StringView constexpr and compare operators
hhvrc Jan 4, 2024
3190844
Fix bug
hhvrc Jan 4, 2024
add8c3a
Fix index operator integer type
hhvrc Jan 4, 2024
b65beac
Add SemVer type
hhvrc Jan 4, 2024
46435b9
build(deps): Bump the npm-dependencies group in /frontend with 8 updates
dependabot[bot] Jan 8, 2024
983dc64
SHAKE THE TREE
hhvrc Jan 9, 2024
d1095c6
Update package-lock.json
hhvrc Jan 9, 2024
a549796
Support OTA updating (#92)
redmushie Jan 9, 2024
d53787d
Implement some code QOL stuffz (#179)
hhvrc Jan 9, 2024
ec9c650
Constants.h was moved to Common.h
hhvrc Jan 9, 2024
c83a30b
Improve CI/CD workflows (#180)
hhvrc Jan 11, 2024
f99d8b0
Fix some CI/CD bugs/lookovers
hhvrc Jan 11, 2024
65150c1
Attempt to fix R2 uploads
hhvrc Jan 11, 2024
fe01f4e
Couple more fixes
hhvrc Jan 11, 2024
ef774c3
Fix version upload
hhvrc Jan 11, 2024
ab619e6
Use md5sum for md5's :eyes:
hhvrc Jan 11, 2024
c447858
Final fix
hhvrc Jan 11, 2024
5080066
Fix secret complaining
hhvrc Jan 11, 2024
151f83a
Revert multiline version.txt
hhvrc Jan 11, 2024
6204b75
Fix remaining problems with cicd pipeline
hhvrc Jan 12, 2024
a256eee
Fix prerelease and release-channel vars
hhvrc Jan 12, 2024
eda9884
build(deps): Bump actions/setup-node from 3 to 4
dependabot[bot] Jan 12, 2024
a2d27b8
Fix everything (#182)
hhvrc Jan 14, 2024
ea4e2b4
maybe fix
hhvrc Jan 14, 2024
98a9012
Upload firmware to version bucket
hhvrc Jan 14, 2024
7d21749
Stop spamming console with logs
hhvrc Jan 14, 2024
b9c5e17
oops
hhvrc Jan 14, 2024
78f5efa
build(deps-dev): Bump the npm-dependencies group
dependabot[bot] Jan 15, 2024
7471474
Fix some definitions and checks for gpio
hhvrc Jan 16, 2024
fe5ef52
Fix invalid GPIO checks
hhvrc Jan 17, 2024
d98c615
Hardcode DNS servers (#184)
hhvrc Jan 17, 2024
2c3b266
Remove log spam
hhvrc Jan 17, 2024
a18fb1e
Reduce overhead on OTA Progress message
hhvrc Jan 17, 2024
fa8993c
Remove unnecessary check
hhvrc Jan 17, 2024
d4727a2
Make HTTPRequestManager thread safe
hhvrc Jan 17, 2024
730c27c
fix error checking in frontend
hhvrc Jan 17, 2024
1d2fc38
Disconnect and forget cached WiFi before OTA restart
hhvrc Jan 17, 2024
1f25b19
Undo wifi disconnect before OTA restart
hhvrc Jan 17, 2024
344cae0
Pin espressif32 version
hhvrc Jan 17, 2024
8b7a1f6
Add .gitattributes
hhvrc Jan 17, 2024
7b03827
Freeze python requirements
hhvrc Jan 17, 2024
f707f0a
:)
hhvrc Jan 17, 2024
52405d3
Add 1.1.0-rc.1 to changelog
hhvrc Jan 17, 2024
30fc578
Fix User-Agent reported
hhvrc Jan 17, 2024
2767753
Captive Portal: Don't try to connect to secured WiFi without a password
nullstalgia Jan 18, 2024
434ab68
Account Link Code: Check Length, fix not returning InvalidCode
nullstalgia Jan 18, 2024
59118a0
Only check non-empty semver identifiers
hhvrc Jan 18, 2024
b05902a
Fix responsecode checks
hhvrc Jan 18, 2024
dba0f97
Fix dot-sep verification in SemVer parser
hhvrc Jan 18, 2024
efffa42
Add 1.1.0-rc.2 to changelog
hhvrc Jan 18, 2024
4c1bce3
Fix updateId not being supplied to bootmessage serializer
hhvrc Jan 19, 2024
1e3ba19
Update CHANGELOG.md
hhvrc Jan 19, 2024
8e6d9ff
Wait for message to be sent before rebooting
hhvrc Jan 20, 2024
a48d25c
Status report every 500ms
hhvrc Jan 20, 2024
77f01d4
Update CHANGELOG.md
hhvrc Jan 20, 2024
4bd73ec
Fix boot type reporting
hhvrc Jan 20, 2024
cc08101
Update CHANGELOG.md
hhvrc Jan 20, 2024
26e4594
Update CHANGELOG.md
hhvrc Jan 20, 2024
f72d079
Captive Portal Bugfixes (#185)
nullstalgia Jan 22, 2024
68c2aed
Remove duplicate code
hhvrc Jan 22, 2024
66427bc
Reduce allocations for vector construction [Optimization]
hhvrc Jan 22, 2024
6475161
Update CHANGELOG.md
hhvrc Jan 22, 2024
d9d5b06
Merge branch 'master' into beta
hhvrc Jan 22, 2024
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
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .env
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
OPENSHOCK_API_DOMAIN=api.shocklink.net
OPENSHOCK_FW_CDN_DOMAIN=firmware.openshock.org
OPENSHOCK_FW_VERSION=0.0.0-unknown
OPENSHOCK_FW_HOSTNAME=OpenShock
OPENSHOCK_FW_AP_PREFIX=OpenShock-
2 changes: 1 addition & 1 deletion .env.development
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Included by WebUI/ (DO NOT RENAME THIS FILE!)
# Included by frontend/ (DO NOT RENAME THIS FILE!)
# Intended for development builds (locally).
LOG_LEVEL=VERBOSE
OPENSHOCK_FW_VERSION=0.0.0-local
2 changes: 1 addition & 1 deletion .env.production
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# Included by WebUI/ (DO NOT RENAME THIS FILE!)
# Included by frontend/ (DO NOT RENAME THIS FILE!)
# Intended for all CI firmware builds.
LOG_LEVEL=INFO
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
* text=auto eol=lf
*.txt text eol=lf
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/70-board-test-report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -125,8 +125,8 @@ body:
attributes:
label: 'Gateway checks'
options:
- label: 'Can use pairing code to connect board to gateway server'
- label: 'Shows up as online on server board list (depends on API, LiveControlGateway and WebUI)'
- label: 'Can use linking code to link board to account on gateway server'
- label: 'Shows up as online on server board list (depends on API, LiveControlGateway and Captive Portal)'

- type: markdown
attributes:
Expand Down
44 changes: 0 additions & 44 deletions .github/actions/build-captive-portal/action.yml

This file was deleted.

23 changes: 15 additions & 8 deletions .github/actions/build-firmware/action.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@

name: build-firmware
description: Builds the firmware
description: Builds the firmware partitions and uploads them as an artifact
inputs:
python-version:
description: 'Python version to use'
required: true
description: 'Python version to use'
board:
required: true
description: 'Board name to build'
version:
required: true
description: 'Current firmware version'
skip-checkout:
description: 'If true, skips checkout'
required: false
Expand All @@ -30,21 +32,26 @@ runs:
- uses: actions/setup-python@v4
with:
python-version: ${{ inputs.python-version }}
cache: "pip"
cache: 'pip'

- name: Install dependencies
- name: Install python dependencies
shell: bash
run: pip install -r requirements.txt

- name: Build firmware
working-directory: .
shell: bash
run: pio run -e ${{ inputs.board }}
env:
OPENSHOCK_FW_VERSION: ${{ inputs.version }}
OPENSHOCK_FW_GIT_REF: ${{ github.ref }}
OPENSHOCK_FW_GIT_COMMIT: ${{ github.sha }}
OPENSHOCK_FW_BUILD_DATE: ${{ github.event.head_commit.timestamp }}

- name: Upload internal firmware binaries
uses: actions/upload-artifact@v3
- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: firmware_${{ inputs.board }}
name: firmware_build_${{ inputs.board }}
path: .pio/build/${{ inputs.board }}/*.bin
retention-days: 1
if-no-files-found: error
43 changes: 43 additions & 0 deletions .github/actions/build-frontend/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: build-frontend
description: Builds the frontend and uploads it as an artifact
inputs:
node-version:
description: 'NodeJS runtime version to use'
required: true
skip-checkout:
description: 'If true, skips checkout'
default: false

runs:
using: composite
steps:
- uses: actions/checkout@v4
if: ${{ !inputs.skip-checkout }}
with:
sparse-checkout: |
frontend
path: ${{ github.repository }}

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

- name: Install dependencies
working-directory: ./frontend
shell: bash
run: npm ci

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

- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: frontend
path: frontend/build/*
retention-days: 1
if-no-files-found: error
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@

name: build-filesystem
description: Builds the filesystem.
name: build-staticfs
description: Builds the static filesystem partition and uploads it as an artifact
inputs:
python-version:
description: 'Python version to use'
Expand All @@ -27,30 +26,30 @@ runs:
- uses: actions/setup-python@v4
with:
python-version: ${{ inputs.python-version }}
cache: "pip"
cache: 'pip'

- name: Install dependencies
shell: bash
run: pip install -r requirements.txt

- name: Download built captive portal
uses: actions/download-artifact@v3
- name: Download built frontend
uses: actions/download-artifact@v4
with:
name: captive-portal
path: WebUI/build/
name: frontend
path: frontend/build/

- name: Build filesystem
- name: Build filesystem partition
shell: bash
run: pio run --target buildfs -e fs

- name: Rename filesystem binary
- name: Rename partition binary
shell: bash
run: mv .pio/build/fs/littlefs.bin filesystem.bin
run: mv .pio/build/fs/littlefs.bin staticfs.bin

- name: Upload internal filesystem artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: filesystem
path: filesystem.bin
name: firmware_staticfs
path: staticfs.bin
retention-days: 1
if-no-files-found: error
18 changes: 7 additions & 11 deletions .github/actions/cdn-bump-version/action.yml
Original file line number Diff line number Diff line change
@@ -1,26 +1,22 @@
name: cnd-upload-firmware
description: Uploads firmware artifacts to CDN
name: cdn-bump-version
description: Uploads version file to CDN
inputs:
cf-bucket:
description: Name of the S3 bucket
required: true
version:
description: Version to upload
description: 'Version of the release'
required: true
release-channel:
description: 'Release channel that describes this upload'
required: false
default: 'none'
required: true

runs:
using: composite
steps:

- name: Upload version file
shell: bash
run: |
mkdir upload
cd upload
echo "${{ inputs.version }}" >> version-${{ inputs.release-channel }}.txt
rclone copy . cdn:${{ inputs.cf-bucket }}/

mkdir -p upload
echo "${{ inputs.version }}" >> upload/version-${{ inputs.release-channel }}.txt
rclone copy upload cdn:${{ inputs.cf-bucket }}/
4 changes: 2 additions & 2 deletions .github/actions/cdn-prepare/action.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: cnd-upload
description: Uploads firmware artifacts to CDN
name: cdn-prepare
description: Prepares the CDN for firmware uploads
inputs:
cf-account-id:
description: Cloudflare Account ID
Expand Down
45 changes: 0 additions & 45 deletions .github/actions/cdn-upload-board/action.yml

This file was deleted.

52 changes: 52 additions & 0 deletions .github/actions/cdn-upload-firmware/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
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
required: true
fw-version:
description: Firmware version
required: true
board:
description: 'Board to upload'
required: true

runs:
using: composite
steps:
- name: Download static filesystem partition
uses: actions/download-artifact@v4
with:
name: firmware_staticfs
path: .

- name: Download firmware partitions
uses: actions/download-artifact@v4
with:
name: firmware_build_${{ inputs.board }}
path: .

- name: Download merged firmware binary
uses: actions/download-artifact@v4
with:
name: firmware_merged_${{ inputs.board }}
path: .

- name: Rename firmware binaries
shell: bash
run: |
mv OpenShock_*.bin firmware.bin

- name: Generate SHA256 checksums
shell: bash
run: |
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
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 }}/'
15 changes: 9 additions & 6 deletions .github/actions/cdn-upload-version-info/action.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
name: cnd-upload-version-info
description: Uploads firmware artifacts to CDN
name: cdn-upload-version-info
description: Uploads version specific info to CDN
inputs:
cf-bucket:
description: Name of the S3 bucket
required: true
version:
description: Version to upload
fw-version:
description: Firmware version
required: true
release-channel:
description: 'Release channel that describes this upload'
required: true
boards:
description: 'List of boards, separated by newlines'
Expand All @@ -22,6 +25,6 @@ runs:
- name: Upload artifacts to CDN
shell: bash
run: |
mkdir upload
mkdir -p upload
mv boards.txt upload/
rclone copy upload cdn:${{ inputs.cf-bucket }}/${{ inputs.version }}/${{ inputs.board }}/
rclone copy upload 'cdn:${{ inputs.cf-bucket }}/${{ inputs.fw-version }}/${{ inputs.board }}/'
Loading
Loading