Skip to content

feat: update DEF CON 34 firmware to 2.8.0.c800fc8 - #112

Merged
thebentern merged 1 commit into
masterfrom
feat/defcon34-firmware-c800fc8
Jul 30, 2026
Merged

feat: update DEF CON 34 firmware to 2.8.0.c800fc8#112
thebentern merged 1 commit into
masterfrom
feat/defcon34-firmware-c800fc8

Conversation

@thebentern

@thebentern thebentern commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Points the DEF CON 34 edition at the next published build:
event/defcon34/firmware-2.8.0.c800fc8 (was 2.8.0.b00d76f2.8.0.8adc7c3).

  • version / id / title / zipUrl bumped to 2.8.0.c800fc8
  • slug stays defcon34, so the flasher's derived path event/{slug}/firmware-{version} resolves to the new directory
  • Release notes unchanged (the preview-build warning was already dropped in the previous bump)

What's in the new build

Two commits on top of 2.8.0.8adc7c3 on event/defcon34:

  1. The custom DEF CON boot logo renders again on MUI hardware. 8adc7c3 shipped the stock Meshtastic logo on the T-Deck boot screen instead of the event logo. The branding pipeline was fine — the logo is byte-identical in both builds' littlefs images — but firmware MUI: Portduino curl maps firmware#11214 bumped device-ui to a commit that sets LV_USE_LODEPNG 0 without registering its PNGdec replacement as an LVGL image decoder, leaving LVGL with no decoder for a PNG file source. The event branch now holds the device-ui pin at ef573c3. Upstream: Custom boot logo no longer renders: LV_USE_LODEPNG=0 leaves LVGL without a PNG file decoder device-ui#357.
  2. Signing and ingress hardening — cherry-pick of Signing and ingress hardening firmware#11282 (licensed-unicast signature requirement, PKI encryption failures now fail the send, hop clamping on UDP multicast ingress, warm-tier signers in the identity/NodeInfo gates).

⛔ Do not merge until the build publishes

The publishing run is in flight: firmware run 30500538943. Until it finishes, event/defcon34/firmware-2.8.0.c800fc8/ does not exist and merging this would point the flasher at a 404.

Gate on this returning 200 for both the manifest and a sample artifact:

for f in firmware-2.8.0.c800fc8.json firmware-heltec-v3-2.8.0.c800fc8.factory.bin; do curl -s -o /dev/null -w "%{http_code} $f\n" "https://raw.githubusercontent.com/meshtastic/meshtastic.github.io/master/event/defcon34/firmware-2.8.0.c800fc8/$f"; done

Local verification already done on the firmware side: t-deck-tft builds clean at this SHA (flash 58.2% of the 6.5 MB app partition), lv_lodepng.c.o is linked in, and the DEF CON logo is present in the produced littlefs-t-deck-tft-2.8.0.c800fc8.bin.

Note (pre-existing, not changed here): the zipUrl convention — event/{slug}/firmware-{version}.zip — 404s for every edition, since github.io stores these builds as directories rather than a single zip. Carried forward as-is; worth a separate cleanup if nothing consumes it.

Companion: meshtastic/web-flasher#390 keeps the flasher's bundled fallback copy in sync; this PR updates the live manifest. Merge both.

Summary by CodeRabbit

  • Chores
    • Updated the DEF CON 34 event firmware metadata to reference the latest firmware release.
    • Refreshed the associated firmware version, identifier, title, and download link.

Points the DEF CON 34 edition at the build that restores the custom boot logo
on MUI hardware (device-ui pin held at ef573c3) and carries the signing/ingress
hardening from firmware #11282. Was 2.8.0.8adc7c3.

version / id / title / zipUrl bumped; slug and release notes unchanged.
@coderabbitai

coderabbitai Bot commented Jul 30, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

The DEF CON 34 firmware metadata now points from release 2.8.0.8adc7c3 to 2.8.0.c800fc8, updating its version, ID, title, and ZIP URL.

Changes

DEFCON firmware metadata

Layer / File(s) Summary
Update DEFCON firmware release metadata
data/eventFirmware.json
Updates the DEF CON 34 firmware version, ID, title, and ZIP URL to the 2.8.0.c800fc8 release.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Possibly related PRs

Suggested reviewers: jamesarich

Poem

A rabbit hops through JSON bright,
Four strings changed to point things right.
DEFCON’s firmware wears its new attire,
C800FC8 takes it higher.
The ZIP path gleams beneath the moon.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly matches the main change: updating the DEF CON 34 firmware reference to 2.8.0.c800fc8.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@data/eventFirmware.json`:
- Around line 126-129: Update the DEFCON event firmware entry in eventFirmware
metadata to consistently reference the intended 2.8.0.c800fc8 build, including
its version, id, title, and zipUrl, and ensure the matching event firmware
resource/ZIP is deployed so /resource/eventFirmware serves that build instead of
2.8.0.8adc7c3.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: b585b8fb-9f62-4f35-9c11-31ea48512015

📥 Commits

Reviewing files that changed from the base of the PR and between 39c61a8 and 39f4c25.

📒 Files selected for processing (1)
  • data/eventFirmware.json

Comment thread data/eventFirmware.json
Comment on lines +126 to +129
"version": "2.8.0.c800fc8",
"id": "v2.8.0.c800fc8",
"title": "Meshtastic Firmware 2.8.0.c800fc8",
"zipUrl": "https://github.com/meshtastic/meshtastic.github.io/raw/master/event/defcon34/firmware-2.8.0.c800fc8.zip",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🩺 Stability & Availability | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

manifest_url="${MANIFEST_URL:-https://api.meshtastic.org/resource/eventFirmware}"

manifest_status="$(curl -L -sS -o /tmp/eventFirmware.json -w '%{http_code}' "$manifest_url")"
test "$manifest_status" = "200"

zip_url="$(jq -er '.editions[] | select(.edition == "DEFCON") | .firmware.zipUrl' /tmp/eventFirmware.json)"
zip_status="$(curl -L -sS -o /dev/null -w '%{http_code}' "$zip_url")"
test "$zip_status" = "200"

Repository: meshtastic/api

Length of output: 152


🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf 'Repo files:\n'
git ls-files | rg '(^data/eventFirmware\.json$|eventFirmware|firmware)'

printf '\nLocal JSON excerpt:\n'
sed -n '110,135p' data/eventFirmware.json

printf '\nManifest URL direct probe:\n'
status="$(curl -L -sS -w '%{http_code} %{url_effective}\n' -o /tmp/eventFirmware_probed.json 'https://api.meshtastic.org/resource/eventFirmware')"
echo "$status"
if [ -f /tmp/eventFirmware_probed.json ]; then
  jq '.editions[]? | select(.edition? == "DEFCON") | {edition, firmware: .firmware | {version, id, title, zipUrl}}' /tmp/eventFirmware_probed.json || jq -r '"payload_size=<"+length+">"' /tmp/eventFirmware_probed.json
fi

printf '\nLocal manifest target for DEFCON:\n'
jq -r '.editions[]? | select(.edition == "DEFCON") | .firmware.zipUrl' data/eventFirmware.json

printf '\nManifest URL HTTP headers:\n'
curl -L -sS -I 'https://api.meshtastic.org/resource/eventFirmware' | sed -n '1,40p'

Repository: meshtastic/api

Length of output: 3502


Deploy the matching event firmware firmware metadata and ZIP.

/resource/eventFirmware is available, but the published DEFCON entry still points to 2.8.0.8adc7c3, while this PR adds 2.8.0.c800fc8; update and deploy the matching resource until the intended build is live.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@data/eventFirmware.json` around lines 126 - 129, Update the DEFCON event
firmware entry in eventFirmware metadata to consistently reference the intended
2.8.0.c800fc8 build, including its version, id, title, and zipUrl, and ensure
the matching event firmware resource/ZIP is deployed so /resource/eventFirmware
serves that build instead of 2.8.0.8adc7c3.

@thebentern
thebentern merged commit fcf7e0d into master Jul 30, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant