Skip to content

fix: close type hygiene findings#1192

Merged
chhoumann merged 1 commit into
masterfrom
scorecard/06-type-hygiene
May 14, 2026
Merged

fix: close type hygiene findings#1192
chhoumann merged 1 commit into
masterfrom
scorecard/06-type-hygiene

Conversation

@chhoumann
Copy link
Copy Markdown
Owner

@chhoumann chhoumann commented May 13, 2026

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:

  • Macro and script engine type narrowing.
  • Migration helper/traversal changes.
  • Suggester and utility changes that affect user-provided values.

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 Obsidian dev vault reload/smoke checks.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 13, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 0e6daf0d-40ee-47d8-ae9e-29a301c636c2

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch scorecard/06-type-hygiene

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.

@chhoumann chhoumann marked this pull request as ready for review May 13, 2026 15:30
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 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);
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge 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 👍 / 👎.

@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages Bot commented May 13, 2026

Deploying quickadd with  Cloudflare Pages  Cloudflare Pages

Latest commit: 60b43da
Status:⚡️  Build in progress...

View logs

@chhoumann chhoumann force-pushed the scorecard/06-type-hygiene branch from 9acb2eb to a63854f Compare May 14, 2026 09:35
@chhoumann chhoumann force-pushed the scorecard/05-async-promise-findings branch from 4e13633 to 826da13 Compare May 14, 2026 09:54
@chhoumann chhoumann force-pushed the scorecard/06-type-hygiene branch from a63854f to 6b2d535 Compare May 14, 2026 09:54
@chhoumann chhoumann force-pushed the scorecard/05-async-promise-findings branch from 826da13 to 0144974 Compare May 14, 2026 10:19
@chhoumann chhoumann force-pushed the scorecard/06-type-hygiene branch from 6b2d535 to b542b06 Compare May 14, 2026 10:19
@chhoumann chhoumann force-pushed the scorecard/05-async-promise-findings branch from 0144974 to 16a197c Compare May 14, 2026 10:26
@chhoumann chhoumann force-pushed the scorecard/06-type-hygiene branch from b542b06 to 92d38e5 Compare May 14, 2026 10:27
@chhoumann chhoumann force-pushed the scorecard/05-async-promise-findings branch from 16a197c to 9d0df27 Compare May 14, 2026 10:44
@chhoumann chhoumann force-pushed the scorecard/06-type-hygiene branch from 92d38e5 to 0dd6f33 Compare May 14, 2026 10:44
@chhoumann chhoumann force-pushed the scorecard/05-async-promise-findings branch from 9d0df27 to 24b9222 Compare May 14, 2026 10:49
@chhoumann chhoumann force-pushed the scorecard/06-type-hygiene branch from 0dd6f33 to 42fe9ae Compare May 14, 2026 10:49
@chhoumann chhoumann force-pushed the scorecard/06-type-hygiene branch from 42fe9ae to 60b43da Compare May 14, 2026 10:50
@chhoumann chhoumann changed the base branch from scorecard/05-async-promise-findings to master May 14, 2026 10:51
@chhoumann chhoumann merged commit a1b6618 into master May 14, 2026
2 of 3 checks passed
github-actions Bot pushed a commit that referenced this pull request May 19, 2026
## [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))
@github-actions
Copy link
Copy Markdown

🎉 This PR is included in version 2.12.1 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant