Skip to content

v1.7.3 — TigerTag partial writes & WiFi keep-awake#169

Merged
sjordan0228 merged 12 commits into
mainfrom
dev
Apr 20, 2026
Merged

v1.7.3 — TigerTag partial writes & WiFi keep-awake#169
sjordan0228 merged 12 commits into
mainfrom
dev

Conversation

@sjordan0228
Copy link
Copy Markdown
Contributor

Summary

Production release v1.7.3 — 5 merged dev PRs since v1.7.2.

Highlights

CHANGELOG backfill

CHANGELOG was missing entries for v1.7.1 and v1.7.2 — both backfilled in #168.

Post-merge

  • Push v1.7.3 git tag → triggers release.yml → builds firmware for esp32dev, esp32s3zero, esp32s3devkitc → creates GitHub Release → dispatches firmware-released event to SpoolSense/spoolsense.org (web flasher update).

sjordan0228 and others added 12 commits April 16, 2026 14:58
…sage

The function is OpenPrintTag-specific (uses opt_get_* CBOR accessors and
sets tag_format = "OpenPrintTag"). The old name implied it handled any
spool-detection event, which made multi-format support harder to reason
about. Rename clarifies scope ahead of per-format sender functions.

Mechanical rename: 1 declaration + 1 definition + 9 call sites (all in
NFCManager.{h,cpp}). No behavior change. Builds clean on esp32s3zero
and esp32dev.
refactor(#159): rename sendSpoolDetectedMessage → sendOpenPrintTagMessage
* feat(wifi): add keep-awake toggle to disable modem sleep

Arduino-ESP32 defaults WiFi to WIFI_PS_MIN_MODEM, which can drop reported
RSSI ~10 dB vs ESPHome on identical hardware. New NVS-backed config
toggle (wifi_keep_awake, default off) calls WiFi.setSleep(false) after
WiFi.begin so users on weak networks can opt into full-power operation.

Plumbing mirrors the bambu_dashboard pattern: ConfigUpdate struct field,
NVS key "wifi_awake", getter, /api/config GET/POST, web form toggle in
the WiFi section.

* fix(a11y): associate toggle labels with inputs via aria-labelledby

Addresses CodeRabbit finding on #163. Toggle rows rendered the visible
caption as a <span class="toggle-label"> sibling to the <input>, so
screen readers announced the checkbox with no accessible name. Adds an
id to each caption span and points the input/select at it via
aria-labelledby.

Covers the new wifi_keep_awake toggle plus the pre-existing
spoolman_on, prusalink_on, lcd_enabled, led_enabled, keypad_enabled,
tft_enabled, bambu_dashboard toggles and the tft_driver, nfc_reader
selects.

Fixes WCAG 1.3.1 (Info and Relationships) and 4.1.2 (Name, Role,
Value). No visual or behavioral change.
Pre-read pages 4–13, diff at 4-byte page granularity, write only
contiguous runs of changed pages (max 5 runs for 10 alternating pages).
No-op when nothing changed. Falls back to full 10-page write if the
pre-read returns fewer than 40 bytes.

TigerTag uses a fixed binary layout across pages 4–13, so byte offsets
never shift — page-granular partial writes are safe. Preserves original
log output, forceRescan, and return-value semantics.
If any per-run writeISO14443Pages call fails mid-sequence, earlier runs
may have already committed, leaving the tag in a mixed state. On run
failure now retry with a full 10-page rewrite using the original
tigertag_data before returning — only call forceRescan on verified
success, preserve FAILED log + return false if the fallback also fails.
…subdir

Matches existing usermods/<contributor>/ layout (jims_enclosure,
linuxgangster). Pure rename — file contents unchanged.
chore(usermods): reorganize roomonthethird case files into subdir
feat(#13): TigerTag partial write — update only changed pages
Bumps FIRMWARE_VERSION from 1.7.2 → 1.7.3.

CHANGELOG.md:
- Adds [1.7.3] entry documenting #163 WiFi keep-awake, #165 case files,
  #164/#13 TigerTag partial writes, #159/#162 openprinttag rename.
- Backfills missing [1.7.2] entry (Bambu MIFARE Classic reading, #24).
- Backfills missing [1.7.1] entry (writer enrichment + bug fixes,
  #130/#101/#128/#151 and platform pin).
v1.7.3 — TigerTag partial writes & WiFi keep-awake
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 20, 2026

Warning

Rate limit exceeded

@sjordan0228 has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 29 minutes and 41 seconds before requesting another review.

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 29 minutes and 41 seconds.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: bc2b70ad-b183-4c82-9565-3240a2c6c0a0

📥 Commits

Reviewing files that changed from the base of the PR and between d189ab1 and e7f78c0.

📒 Files selected for processing (14)
  • CHANGELOG.md
  • platformio.ini
  • src/ConfigHTML.h
  • src/ConfigurationManager.cpp
  • src/ConfigurationManager.h
  • src/NFCManager.cpp
  • src/NFCManager.h
  • src/WebServerManager.cpp
  • src/main.cpp
  • usermods/roomonthethird/Spoolsense NFC Reader Case - Base.step
  • usermods/roomonthethird/Spoolsense NFC Reader Case - Base.stl
  • usermods/roomonthethird/Spoolsense NFC Reader Case - LID.step
  • usermods/roomonthethird/Spoolsense NFC Reader Case - LID.stl
  • usermods/roomonthethird/Spoolsense NFC Reader.f3d
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch dev

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 and usage tips.

@sjordan0228 sjordan0228 merged commit a082fa1 into main Apr 20, 2026
3 checks passed
@github-actions github-actions Bot added the size/XL Extra large change (500+ lines) label Apr 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/XL Extra large change (500+ lines)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants