mirror of
https://github.com/MarekZegare4/MeshCore-Solo.git
synced 2026-09-14 15:16:40 +00:00
fix(ui): message bubble color, received-message hop count, list wrap-around, age fallback; add sim WASM build workflow
- Unselected message bubbles no longer carry a stray light-filled header strip behind the sender name -- the one place with a filled patch on an otherwise plain row. Selected fill is unchanged. - Received DMs and channel posts now show their hop count as the same tiny digit icon a sent message already uses for its repeater/echo count, using the hop path the mesh already records for incoming messages. - DM/channel history list: UP at the oldest message now wraps straight to the newest (not the compose row), closing the loop the same way every other list in the UI does at its ends. - A received message's age no longer goes blank when its timestamp reads slightly ahead of the device's own clock (sender/receiver skew, or an unsynced receiver) or is genuinely unknown -- both now show the receipt time instead of leaving the row with just a name and hop count. - release-notes.md: add the v1.28 section covering the above plus this cycle's already-committed dev fixes (GPS altitude field, units compliance, noise floor, Msg wake location, bot relay tracking, PR #34). - Add .github/workflows/build-solo-sim.yml: builds the companion+repeater WASM sim via Emscripten and attaches it as a fixed-name asset to the tag's draft release, independent of the hardware firmware build job. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
name: Build Solo Sim (WASM)
|
||||
|
||||
# Builds the companion_radio browser sim (real firmware compiled to WASM via
|
||||
# Emscripten, see variants/sim/) and attaches it to the same draft release
|
||||
# build-solo-firmwares.yml creates for this tag, as a single fixed-name
|
||||
# asset: solo-sim-wasm.zip. Fixed name (no version in it) so
|
||||
# meshcore-solo-site's server-side deploy script can always fetch it from
|
||||
# the stable "latest release" download URL without knowing the tag --
|
||||
# see meshcore-solo-site/scripts/fetch-wasm-release.sh.
|
||||
#
|
||||
# Independent job/workflow from the hardware firmware builds: different
|
||||
# toolchain (Emscripten, not PlatformIO), and a WASM build failure shouldn't
|
||||
# block or delay the actual firmware release.
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
tags:
|
||||
- 'v*'
|
||||
|
||||
jobs:
|
||||
build-sim-wasm:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Clone Repo
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Cache emsdk
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: variants/sim/tools/emsdk
|
||||
key: emsdk-6.0.9-${{ runner.os }}
|
||||
|
||||
- name: Install emsdk 6.0.9
|
||||
run: |
|
||||
if [ ! -x variants/sim/tools/emsdk/upstream/emscripten/em++ ]; then
|
||||
rm -rf variants/sim/tools/emsdk
|
||||
git clone --depth 1 https://github.com/emscripten-core/emsdk.git variants/sim/tools/emsdk
|
||||
cd variants/sim/tools/emsdk
|
||||
python3 ./emsdk.py install 6.0.9
|
||||
python3 ./emsdk.py activate 6.0.9
|
||||
else
|
||||
echo "emsdk 6.0.9 already cached"
|
||||
fi
|
||||
|
||||
- name: Build companion WASM
|
||||
run: variants/sim/build_wasm.sh
|
||||
|
||||
- name: Build repeater WASM
|
||||
run: variants/sim/build_wasm_repeater.sh
|
||||
|
||||
- name: Package
|
||||
run: |
|
||||
mkdir -p out/wasm/companion out/wasm/repeater
|
||||
cp variants/sim/web/build/meshcore_sim.js variants/sim/web/build/meshcore_sim.wasm out/wasm/companion/
|
||||
cp variants/sim/web/build/repeater/meshcore_sim_repeater.js variants/sim/web/build/repeater/meshcore_sim_repeater.wasm out/wasm/repeater/
|
||||
cd out && zip -r solo-sim-wasm.zip wasm
|
||||
|
||||
- name: Attach to release
|
||||
if: startsWith(github.ref, 'refs/tags/')
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
draft: true
|
||||
files: out/solo-sim-wasm.zip
|
||||
Reference in New Issue
Block a user