fix: close type hygiene findings#1192
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ 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 |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9acb2eb882
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| if (typeof value === "number" || typeof value === "boolean") { | ||
| return String(value); | ||
| } | ||
| return JSON.stringify(value) ?? String(value); |
There was a problem hiding this comment.
Handle non-JSON-safe script metadata in modal title
formatTitlePart now calls JSON.stringify for non-string values, which throws on BigInt (and some custom objects), so opening the User Script settings modal can crash when a script exports settings.name or settings.author as one of those values. Previously the template literal path would coerce these values without throwing, so this is a regression for malformed-but-loadable script metadata.
Useful? React with 👍 / 👎.
9acb2eb to
a63854f
Compare
4e13633 to
826da13
Compare
a63854f to
6b2d535
Compare
826da13 to
0144974
Compare
6b2d535 to
b542b06
Compare
0144974 to
16a197c
Compare
b542b06 to
92d38e5
Compare
16a197c to
9d0df27
Compare
92d38e5 to
0dd6f33
Compare
9d0df27 to
24b9222
Compare
0dd6f33 to
42fe9ae
Compare
42fe9ae to
60b43da
Compare
## [2.12.1](2.12.0...2.12.1) (2026-05-19) ### Bug Fixes * clear choice markdown render target ([#1200](#1200)) ([b8c6e32](b8c6e32)) * close async promise findings ([#1191](#1191)) ([b44f47a](b44f47a)) * close build release hygiene findings ([#1201](#1201)) ([245e763](245e763)) * close decision bucket findings ([#1202](#1202)) ([cf9d8dd](cf9d8dd)) * close platform compatibility scrutiny gaps ([#1190](#1190)) ([39cca1f](39cca1f)) * close type hygiene findings ([#1192](#1192)) ([a1b6618](a1b6618)) * close type hygiene scrutiny gaps ([#1193](#1193)) ([93d168a](93d168a)) * close type hygiene user testing gaps ([#1195](#1195)) ([24c5693](24c5693)) * collect VDATE in one-page preflight ([#1179](#1179)) ([59232ff](59232ff)) * **docs:** move feature icon inside <dt> to satisfy <dl> content model ([#1171](#1171)) ([7dcc8e1](7dcc8e1)) * **docs:** override webpackbar to ^7 for webpack 5.106+ compat ([#1167](#1167)) ([9dbbf3a](9dbbf3a)), closes [facebook/docusaurus#11923](facebook/docusaurus#11923) * **docs:** preserve VDATE pipe guidance ([#1183](#1183)) ([b4193bc](b4193bc)) * guard nullish macro commands ([#1196](#1196)) ([b1bb91e](b1bb91e)) * harden release dependency install ([6347b3c](6347b3c)) * **macros:** follow up on member access review fixes ([#1156](#1156)) ([30de256](30de256)), closes [#1155](#1155) * **macros:** resolve member access across all user scripts ([#1155](#1155)) ([a111204](a111204)) * make unknown formatting total ([#1194](#1194)) ([6ccc1a1](6ccc1a1)) * migrate ai macro modal styles ([#1198](#1198)) ([5595543](5595543)) * migrate ui styling batch a ([#1197](#1197)) ([c6ae439](c6ae439)) * **migrations:** traverse nested template choices ([#1152](#1152)) ([08d2430](08d2430)) * modernize deprecated API usage ([#1199](#1199)) ([9bded25](9bded25)) * **preflight:** preserve mapped dropdown defaults in capture ([#1175](#1175)) ([c078603](c078603)) * render DOM safety surfaces as text ([4003eb2](4003eb2)) * route QuickAdd opens away from pinned origin leaf ([1426246](1426246)), closes [#1165](#1165) * sort folder suggestions by tree path ([#1176](#1176)) ([5d63ee1](5d63ee1)) * support popout-owned DOM surfaces ([#1189](#1189)) ([95ad40c](95ad40c)) * **template:** clarify file collision handling ([#1150](#1150)) ([5ea1db0](5ea1db0)) * **template:** preserve wikilink lists in frontmatter ([#1154](#1154)) ([88647aa](88647aa))
|
🎉 This PR is included in version 2.12.1 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
Address the broad type-hygiene scorecard findings across engine, GUI, migrations, and utilities.
This replaces unsafe assumptions with narrower types, safer traversal helpers, and explicit conversions in areas that previously relied on casts or loosely typed values. The intent is behavior preservation with better static guarantees.
Review focus:
Stack position: 6/17, based on
scorecard/05-async-promise-findings.Validated as part of the completed scorecard mission with
bun run build-with-lint,bun run test,bun run build,bun run test:e2e, and Obsidiandevvault reload/smoke checks.