v1.7.3 — TigerTag partial writes & WiFi keep-awake#169
Conversation
…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.
Add files via upload
…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
|
Warning Rate limit exceeded
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 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 configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (14)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
Summary
Production release v1.7.3 — 5 merged dev PRs since v1.7.2.
Highlights
sendSpoolDetectedMessage→sendOpenPrintTagMessagefor naming consistency.usermods/roomonthethird/.CHANGELOG backfill
CHANGELOG was missing entries for v1.7.1 and v1.7.2 — both backfilled in #168.
Post-merge
v1.7.3git tag → triggersrelease.yml→ builds firmware for esp32dev, esp32s3zero, esp32s3devkitc → creates GitHub Release → dispatchesfirmware-releasedevent to SpoolSense/spoolsense.org (web flasher update).