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

v0.2.0! (But for real) #4

Merged
merged 63 commits into from
Nov 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
418388a
Huge internal re-organization (unfinished, but functional)
nullstalgia Sep 15, 2024
77104ef
Fix current warnings, better OSC Config errors, debug/release conf, etc
nullstalgia Sep 15, 2024
18e8471
Broadcast macro
nullstalgia Sep 15, 2024
fe296b6
From Battery to u8, more .into()s for AppUpdate, logging actor edit, etc
nullstalgia Sep 15, 2024
767757f
FatalDetailed error, more file error handling
nullstalgia Sep 15, 2024
788b0d2
Appease the all-mighty Clippy
nullstalgia Sep 15, 2024
98b02d6
App Icon! (Windows-only right now)
nullstalgia Sep 15, 2024
38722f4
Fix Release's config dir errors
nullstalgia Sep 15, 2024
dabac4c
First integration test! (WebSocket -> bpm.txt)
nullstalgia Sep 16, 2024
a6c97d1
Set argh bools to optional
nullstalgia Sep 16, 2024
1ad48b3
OSC Address unit tests, start of CI tests and config parse testing
nullstalgia Sep 16, 2024
2bb1514
Portable CI release, config test tweak
nullstalgia Sep 17, 2024
7dd49f9
HR Twitching into shared object with tests
nullstalgia Sep 17, 2024
36a7fcd
Clippy recommendations
nullstalgia Sep 17, 2024
18afc38
Separate some config file sections
nullstalgia Sep 17, 2024
f47419e
Add .justfile (https://github.com/casey/just)
nullstalgia Sep 17, 2024
6249160
Hide RR in combined chart if empty
nullstalgia Sep 17, 2024
a45fc8c
Prevent RR divide by zero
nullstalgia Sep 17, 2024
97617e5
Actually hide RR in combined chart if empty
nullstalgia Sep 17, 2024
d30d38a
Subcommands to quickly access other modes!
nullstalgia Sep 18, 2024
afd065b
WebSocket Dummy arguments, prompt plans
nullstalgia Sep 19, 2024
d0ba664
Remove param_ prefix from osc addresses
nullstalgia Sep 21, 2024
52c7d83
Close test's websocket on shutdown
nullstalgia Sep 24, 2024
c1bca79
Unused lint warning as error, make sure Futures and Results get resolved
nullstalgia Sep 26, 2024
0e3796a
Auto-generate VRCX App Launcher shortcut!
nullstalgia Sep 26, 2024
9cff7c7
Make notifications a little easier to read
nullstalgia Sep 27, 2024
db0e5f3
Only check files with .lnk extension
nullstalgia Sep 27, 2024
1b00bd8
Make sure VRCX stuff only happens on Windows
nullstalgia Sep 27, 2024
0665f49
Dang, missed a spot
nullstalgia Sep 27, 2024
3b6bb49
Isolate more VRCX TUI to Windows-only
nullstalgia Sep 27, 2024
3061aaf
Appease Unix Clippy
nullstalgia Sep 27, 2024
905c2bb
Fix Linux compile, and fix stuck save prompt response
nullstalgia Sep 27, 2024
41789bf
Dummy shows how long left in disconnection testing
nullstalgia Sep 30, 2024
57ebf19
Rename info_table to action_bar
nullstalgia Sep 30, 2024
e35a597
Allow setting dummy speed from CLI
nullstalgia Sep 30, 2024
e3e548f
Starting work on Activities
nullstalgia Sep 30, 2024
84cb011
Autoresize when terminal size changes
nullstalgia Sep 30, 2024
09b3047
Activities base impl!
nullstalgia Oct 1, 2024
f674475
Forgot to save last activity
nullstalgia Oct 1, 2024
945d680
BTreeMap sustains key order, guess I'll use that
nullstalgia Oct 1, 2024
c218b46
Better prevent VRCX dead code on Unix
nullstalgia Oct 1, 2024
c46a7ba
Tweak Activities TUI, log to CSV
nullstalgia Oct 1, 2024
b541329
Use tokio::select for ui rx loop/crossterm events, tweaks for VHS
nullstalgia Oct 1, 2024
abdccbd
Ensure config save is flush()'d
nullstalgia Oct 2, 2024
149e1ef
Trying to figure out why config goes missing
nullstalgia Oct 3, 2024
cf0b263
HR can restart BLE Central, allow adding new Activities, sync > flush?
nullstalgia Oct 3, 2024
5b81fda
Output sha512 checksum for release artifacts
nullstalgia Oct 6, 2024
4df51e1
Auto-updating of portable binaries!
nullstalgia Oct 7, 2024
6182a1d
Fix Linux compile, fix terminal updates cancelling app update handling!
nullstalgia Oct 8, 2024
cbc372b
Prometheus Push Logging, improve log's initial activities
nullstalgia Oct 9, 2024
37cee37
Tell BLE Manager to start scanning when getting Device Unreachable error
nullstalgia Oct 9, 2024
b30457c
Trying to ensure stability across device reconnects
nullstalgia Oct 10, 2024
17203bc
Getting close to v0.2.0 release
nullstalgia Oct 10, 2024
389908a
Switch to tracing for logging
nullstalgia Oct 16, 2024
a9fa1ce
VRCX: Fix stuck prompt, handle failed shortcut canonicalization
nullstalgia Oct 16, 2024
758af9a
Enforcing Error message priority
nullstalgia Oct 16, 2024
2433fba
Don't let update prompt dismiss press trigger BLE connect prompt
nullstalgia Oct 16, 2024
340e4ca
More sane logic in device connection
nullstalgia Oct 16, 2024
12fb845
Give OS and adapter time to breathe between retries
nullstalgia Oct 16, 2024
e27d833
Remove some old comments
nullstalgia Oct 16, 2024
136e541
Fix memory leak when trying to reconnect
nullstalgia Oct 17, 2024
5db6276
Simplify update prompt logic, Trigger BLE Scan on connect error
nullstalgia Oct 20, 2024
ca0bf29
Tweak scan restart behavior, clamp Activity prompt activation
nullstalgia Nov 16, 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
3 changes: 3 additions & 0 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# # For console-subscriber
# [build]
# rustflags = ["--cfg", "tokio_unstable"]
13 changes: 9 additions & 4 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
name: Build

# Runs for each commit/PR, but not tag push
on:
push:
branches: ["main", "hr_osc"]
branches:
- "**"
pull_request:
branches: ["main", "hr_osc"]

env:
CARGO_TERM_COLOR: always
Expand All @@ -23,9 +24,13 @@ jobs:
run: sudo apt-get update && sudo apt-get install -y libdbus-1-dev
- name: Setup Rust toolchain and cache
uses: actions-rust-lang/setup-rust-toolchain@v1.9.0
# - name: cargo fmt
# run: cargo fmt --all -- --check
# - name: cargo fmt
# run: cargo fmt --all -- --check
- name: Run Clippy
run: cargo clippy --all-targets --all-features
- name: Build
run: cargo build --verbose
- name: Run Unit Tests
run: cargo test --all-targets --all-features
- name: Run Integration Tests
run: cargo test --all-targets --all-features -- --ignored --show-output --test-threads=1
10 changes: 9 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ on:
release:
types: [created]

env:
CARGO_TERM_COLOR: always

jobs:
upload-assets:
strategy:
Expand All @@ -28,10 +31,15 @@ jobs:
if: startsWith(matrix.os, 'ubuntu')
- uses: taiki-e/upload-rust-binary-action@v1
with:
bin: null-iron-heart
bin: iron-heart
features: portable
target: ${{ matrix.target }}
include: LICENSE,README.md
tar: unix
zip: windows
archive: $bin-$tag-$target
token: ${{ secrets.GITHUB_TOKEN }}
checksum: sha512
- uses: actions/attest-build-provenance@v1
with:
subject-path: "**/*.tar.gz,**/*.zip"
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,6 @@
/target
# Data logging files
# These are put in the root instead of in the target dir in portable+debug builds
# since Cargo cleans them up when I don't want it to
session_logs
bpm.txt
52 changes: 52 additions & 0 deletions .justfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# https://github.com/casey/just
set windows-shell := ["powershell.exe", "-NoLogo", "-Command"]

alias r := run
alias b := build
alias br := build-release
alias rr := release
alias rel := release
alias t := test
alias ti := test-integration
alias c := clippy
alias d := dummy
alias ws := websocket
alias wsd := websocket-dummy

run *ARGS:
cargo run {{ARGS}}

build *ARGS:
cargo build {{ARGS}}

release:
cargo run --release --features portable

build-release:
cargo build --release --features portable

test:
cargo test

test-integration *ARGS:
cargo test -- --ignored --nocapture --test-threads=1 {{ARGS}}

clippy:
cargo clippy --all-targets --all-features

# Shortcuts for subcommands

ble:
cargo run -- ble

dummy *ARGS:
cargo run -- dummy {{ARGS}}

vhs:
cargo run -- dummy --vhs -s 5.0

websocket *ARGS:
cargo run -- ws {{ARGS}}

websocket-dummy *ARGS:
cargo run --example websocket_dummy -- {{ARGS}}
Loading