Repository navigation
Fix the isMaker declaration: optional, and boolean not bool - #146
Conversation
CI has been red on master since fb74988, on all three jobs. Two separate mistakes in the same one-line field declaration: - `bool` is not a TypeScript type. It should be `boolean`, which is what every other boolean field in DeviceHardware uses. This alone is `error TS2304: Cannot find name 'bool'`. - 6d54be9 then dropped the `?`. fb74988 had added the field as `isMaker?:`, which was right -- the comment says "Optional", every other non-core field in the interface is optional, and exactly one of the 117 entries sets it. Making it required turned into `error TS2741: Property 'isMaker' is missing` on all 116 entries that do not. There was also a trailing space after "maker tier", which is what `biome ci` was failing on in the quality job. Removed. Verified: `biome ci` clean, `pnpm build` (tsc) clean, `typecheck:v2` clean, validate OK at 117 devices, determinism check passes, both golden hash sets OK, 62/62 router tests. No data change, and that is checked rather than assumed: the rebuilt DEVICE_HARDWARE is 39685 B with etag 53c18168b074a0d6f6189c8046373134, byte-identical to what api.meshtastic.org is serving right now. isMaker: true stays on AXIOMETA_GENESIS_MINI. Worth noting for next time: Deploy stayed green through all of this and shipped the broken tree, because deploy.yml runs build:data/build:static/validate via tsx, which strips types without checking them. Only CI typechecks. So a type error in resource.ts reaches production silently and the signal is CI alone. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughChangesDeviceHardware contract
Priority: ⬇️ Low Estimated code review effort: 1 (Trivial) | ~3 minutes Change: Bug fix Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
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. A rabbit checks the type with care Comment |
CI has been red on
mastersincefb74988— all three jobs (quality,build,static). Two separate mistakes in the same one-line field declaration:boolis not a TypeScript type. It should beboolean, which is what every other boolean field inDeviceHardwareuses. On its own this iserror TS2304: Cannot find name 'bool'.6d54be9dropped the?.fb74988originally added the field asisMaker?:, which was correct — the comment literally says "Optional", every other non-core field in the interface is optional, and exactly one of the 117 entries sets it. Making it required producederror TS2741: Property 'isMaker' is missingon all 116 entries that don't.There was also a trailing space after
maker tier, which is whatbiome ciwas failing on in thequalityjob.Verified
biome cipnpm build(prisma + tsc)dist/index.jspresenttypecheck:v2pnpm validatefrozen.sha256/binaries.sha256No data change
Checked rather than assumed — the rebuilt
DEVICE_HARDWAREis 39685 B, etag53c18168b074a0d6f6189c8046373134, byte-identical to whatapi.meshtastic.orgis serving right now.isMaker: truestays onAXIOMETA_GENESIS_MINI.One thing worth knowing
Deploystayed green through all of this and shipped the broken tree.deploy.ymlrunsbuild:data/build:static/validatethroughtsx, which strips types without checking them — only CI typechecks. So a type error inresource.tsreaches production silently, and CI is the only signal. Production was never functionally broken here, but it could have been.🤖 Generated with Claude Code
Summary by CodeRabbit