Skip to content

Weekly Device Info Update#114

Open
npayfebot wants to merge 1 commit into
mainfrom
update-weekly
Open

Weekly Device Info Update#114
npayfebot wants to merge 1 commit into
mainfrom
update-weekly

Conversation

@npayfebot

Copy link
Copy Markdown
Contributor

✨ 기기정보를 업데이트 합니다.

@npayfebot npayfebot requested a review from a team as a code owner March 30, 2026 03:56

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Code review skipped — your organization's overage spend limit has been reached.

Code review is billed via overage credits. To resume reviews, an organization admin can raise the monthly limit at claude.ai/admin-settings/claude-code.

Once credits are available, push a new commit or reopen this pull request to trigger a review.

@npayfebot

npayfebot commented Mar 30, 2026

Copy link
Copy Markdown
Contributor Author

⚠️ No Changeset found

Latest commit: eb6a2f3

@naverpay/device-info package have detected changes.

If no version change is needed, please add skip-detect-change to the label.

If you want to add changes to .changeset, please select one of the following options or use the Claude Code Plugin provided by NaverPayDev.

💥 X.0.0 major bump
✨ 0.X.0 minor bump
🩹 0.0.X patch bump

Plugin Usage

Add marketplace & install changeset plugin

/plugin marketplace add NaverPayDev/naverpay-plugins
/plugin install naverpay-changeset@naverpay-plugins

Usage

/naverpay-changeset:changeset
This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

powered by: naverpay changeset detect-add actions

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Code review skipped — your organization's overage spend limit has been reached.

Code review is billed via overage credits. To resume reviews, an organization admin can raise the monthly limit at claude.ai/admin-settings/claude-code.

Once credits are available, push a new commit or reopen this pull request to trigger a review.

Comment thread src/data/aos.json
@@ -26042,6 +26083,7 @@
"CM4806": "CM4806",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🔴 The entry "Elise T80P": "Elise_T65V" is a copy-paste error that maps a T80-series device to a T65-series identifier. Any device reporting model string "Elise T80P" will be misidentified as a T65V device; the value should be corrected to "Elise_T80P" to follow the self-referential pattern used by all other Elise entries.

Extended reasoning...

Bug: Elise T80P incorrectly mapped to Elise_T65V

What the bug is and how it manifests

In src/data/aos.json, the newly added entry "Elise T80P": "Elise_T65V" maps a T80-series device to a T65-series canonical identifier. The T80 and T65 are distinct product lines, and this cross-series mapping means any device that reports its model as "Elise T80P" will be resolved to the "Elise_T65V" product — a completely different device family.

The specific code path that triggers it

The surrounding entries in the file follow a clear self-referential pattern for Elise devices:

"Elise_T65": "Elise_T65",
"Elise T65V": "Elise_T65V",
"Elise T80P": "Elise_T65V"   // <-- BUG: value was not updated from the line above

The T80P entry was added directly below the T65V entry in this PR. The value "Elise_T65V" was copied from the preceding line and never updated to reflect the T80P series.

Why existing code does not prevent it

The JSON file is a flat lookup table; there is no validation layer that enforces the self-referential pattern or detects cross-series mismatches. As long as the JSON is syntactically valid, any value is accepted. There are no other T80-series Elise devices in the entire file to serve as a cross-reference check.

What the impact would be

Any consumer device that advertises itself as "Elise T80P" will be incorrectly identified as an Elise T65V. This can affect device-specific behavior, feature gating, analytics bucketing, or any logic that branches on the canonical device identifier. Users of an Elise T80P device could silently receive the wrong configuration intended for T65V hardware.

How to fix it

Change the value from "Elise_T65V" to "Elise_T80P" to match the self-referential convention used by every other standalone Elise entry:

"Elise T80P": "Elise_T80P"

Step-by-step proof

  1. A device boots with Android model string "Elise T80P".
  2. The device-info library looks up "Elise T80P" in aos.json.
  3. The current mapping returns "Elise_T65V".
  4. All downstream logic (feature flags, UI adaptations, analytics) now treats this T80P device as a T65V.
  5. With the fix ("Elise_T80P"), the device is correctly identified and no cross-series confusion occurs.

Comment thread src/data/aos.json Outdated
"Stick 4K": "Stick 4K",
"Stick HD": "Stick HD",
"TG STREAM 2": "TG STREAM 2",
"Box R Lite 4K": "Test",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🔴 The entry "Box R Lite 4K": "Test" uses the literal string "Test" as a device identifier — this is clearly a placeholder accidentally committed to production. Any device reporting model "Box R Lite 4K" will be incorrectly identified as "Test" rather than the proper device name; the value should be "Box R Lite 4K" to match the naming convention of all surrounding entries.

Extended reasoning...

Bug: Placeholder "Test" value in device mapping

What the bug is and how it manifests:
The entry "Box R Lite 4K": "Test" maps the real device model "Box R Lite 4K" to the string literal "Test". This file is a lookup table used to map raw device model strings to meaningful display identifiers. When a device reports its model as "Box R Lite 4K", the mapping returns "Test" — a nonsensical placeholder — instead of a real device name.

The specific code path that triggers it:
Any code path that consults aos.json to identify a device with model string "Box R Lite 4K" will receive "Test" as the resolved identifier. This affects all downstream logic that relies on this mapping (analytics, device-specific feature flags, display names, etc.).

Why existing code does not prevent it:
The file is a static JSON data file with no schema validation enforcing that values must be non-placeholder strings. A "Test" value is syntactically valid JSON and passes any basic parse check. There is no automated test or lint rule in this repository that would catch a value of "Test" as invalid.

Impact:
All "Box R Lite 4K" devices will be misidentified as "Test" in production. This corrupts analytics data, potentially breaks device-specific behavior, and exposes internal development artifacts to production consumers of this library.

How to fix it:
Replace "Test" with "Box R Lite 4K", consistent with the pattern used by all adjacent entries in the "Box" series:

"Box R Lite 4K": "Box R Lite 4K"

Step-by-step proof:

  1. PR diff adds line: "Box R Lite 4K": "Test" at line 11934 of src/data/aos.json.
  2. Adjacent entries follow the pattern "Box R 4K": "Box R 4K", "Box R 4K Plus": "Box R 4K Plus", "Box HD": "Box HD".
  3. Searching the entire file confirms "Test" appears exactly once as a value — nowhere else in the ~41,000-entry file is "Test" used as a device identifier.
  4. A consumer calling deviceInfo("Box R Lite 4K") will receive "Test" — a string that matches no valid device profile in the system.

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Code review skipped — your organization's overage spend limit has been reached.

Code review is billed via overage credits. To resume reviews, an organization admin can raise the monthly limit at claude.ai/admin-settings/claude-code.

Once credits are available, push a new commit or reopen this pull request to trigger a review.

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Code review skipped — your organization's overage spend limit has been reached.

Code review is billed via overage credits. To resume reviews, an organization admin can raise the monthly limit at claude.ai/admin-settings/claude-code.

Once credits are available, push a new commit or reopen this pull request to trigger a review.

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Code review skipped — your organization's overage spend limit has been reached.

Code review is billed via overage credits. To resume reviews, an organization admin can raise the monthly limit at claude.ai/admin-settings/claude-code.

Once credits are available, push a new commit or reopen this pull request to trigger a review.

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Code review skipped — your organization's overage spend limit has been reached.

Code review is billed via overage credits. To resume reviews, an organization admin can raise the monthly limit at claude.ai/admin-settings/claude-code.

Once credits are available, push a new commit or reopen this pull request to trigger a review.

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Code review skipped — your organization's overage spend limit has been reached.

Code review is billed via overage credits. To resume reviews, an organization admin can raise the monthly limit at claude.ai/admin-settings/claude-code.

Once credits are available, push a new commit or reopen this pull request to trigger a review.

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Code review skipped — your organization's overage spend limit has been reached.

Code review is billed via overage credits. To resume reviews, an organization admin can raise the monthly limit at claude.ai/admin-settings/claude-code.

Once credits are available, push a new commit or reopen this pull request to trigger a review.

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Code review skipped — your organization's overage spend limit has been reached.

Code review is billed via overage credits. To resume reviews, an organization admin can raise the monthly limit at claude.ai/admin-settings/claude-code.

Once credits are available, push a new commit or reopen this pull request to trigger a review.

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Code review skipped — your organization's overage spend limit has been reached.

Code review is billed via overage credits. To resume reviews, an organization admin can raise the monthly limit at claude.ai/admin-settings/claude-code.

Once credits are available, push a new commit or reopen this pull request to trigger a review.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant