[PR #6241] [CLOSED] fix(il2cpp): accept names filters on type references #7219

Closed
opened 2026-11-01 21:46:14 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/morluto/rea/pull/6241
Author: @goprocker
Created: 10/22/2026
Status: ❌ Closed

Base: main ← Head: fix-6224-il2cpp-names-filter


📝 Commits (2)

  • 0e7bd6f fix(il2cpp): accept names filters on type references
  • d0ce526 test(il2cpp): reject absent type-reference names

📊 Changes

2 files changed (+51 additions, -3 deletions)

View changed files

📝 src/domain/analysisView/il2cppMetadataView.test.ts (+49 -1)
📝 src/domain/analysisView/il2cppMetadataView.ts (+2 -2)

📄 Description

Summary

Fixes #6224.

Problem and expected behavior

IL2CPP return_types, field_types, and parameter_types views document an exact names filter, but their request schemas used indexPage and rejected that field as unknown. These views should accept the documented filter and return matching retained rows.

Change and scope

Use the shared page schema for all three type-reference collections. This keeps existing pagination and projection logic unchanged while admitting names at the owning request boundary. No other collections or behavior changed.

Follow the contribution scope.

Contract and boundary impact

  • Semantic owner and earliest changed stage: IL2CPP analysis-view request schema.

  • Contribution scope fit and linked maintainer decision: Routine existing-workflow bug fix; maintainer decision not applicable.

  • CLI and MCP/tool-catalog contract: Restores documented names input for shared analysis-view validation; no catalog regeneration needed.

  • Provider, bridge, target-format, or platform compatibility: No provider or platform behavior changed.

  • Evidence, artifact, provenance, or reconstruction contract: No change to retained Evidence or provenance.

  • Generated metadata, package, or installation impact: None.

  • Read existing files or captured data.

  • Launch or attach to a process.

  • Inject instrumentation or run scripts/code.

  • Change process memory, registers, files, or configuration.

  • Contact network services.

  • Recover protected code or work around protections.

  • Documentation or usability only; no target interaction.

  • Not sure yet; investigation or maintainer guidance needed.

Evidence and regression coverage

  • Tests added or updated: Added one parameterized unit test covering all three collections through il2cppMetadataViewRequestSchema and projectIl2cppMetadataView.
  • Base reproduction or other evidence: Issue #6224 reports the documented names input was rejected while unfiltered paging worked. The regression test exercises the rejected request shape and verifies filtered rows.
  • User-visible CLI/MCP output: Not applicable; shared schema behavior is covered below the adapters.
  • Remaining proof gaps: No compiled CLI replay or Unity-produced metadata fixture was required for this schema-only change.

Validation performed

  • npm run test:local -- src/domain/analysisView/il2cppMetadataView.test.ts — 35 tests passed.
  • npm run check:fast — typecheck and lint passed.
  • git diff --check — passed.

Compatibility, safety, and release

  • Breaking changes or migration steps: None. This accepts a previously documented request.
  • Real Hopper/Ghidra, browser, or OS coverage: Not applicable.
  • Package or release metadata impact: None.
  • Security, privacy, process, or containment review: No target interaction or security boundary change.

Author readiness

Human owner: @goprocker

  • I reviewed the final diff and relevant existing code, understand the change and its edge cases, and take responsibility for the complete PR, including AI-assisted work.
  • I checked the evidence above, confirmed it supports the current change, and recorded meaningful validation gaps.
  • I declare this PR ready for initial maintainer review.

Before merge

  • This PR addresses a concrete problem or an agreed enhancement.
  • Material scope and authority questions are resolved, and any required maintainer scope decision covers the final diff.
  • The PR has one focused outcome and the title follows type(scope): outcome.
  • Related issue is linked, or the reason for not linking one is stated above.
  • Tests cover changed observable behavior and meaningful failure paths.
  • Owning docs, contracts, and generated metadata are updated where needed.
  • User-visible CLI/MCP changes include representative output.
  • I checked the final diff for secrets, unrelated cleanup, and unsupported claims.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/morluto/rea/pull/6241 **Author:** [@goprocker](https://github.com/goprocker) **Created:** 10/22/2026 **Status:** ❌ Closed **Base:** `main` ← **Head:** `fix-6224-il2cpp-names-filter` --- ### 📝 Commits (2) - [`0e7bd6f`](https://github.com/morluto/rea/commit/0e7bd6fcfaa28558413dffa094e1bd8c843f4e9a) fix(il2cpp): accept names filters on type references - [`d0ce526`](https://github.com/morluto/rea/commit/d0ce52636a1cf739aefb0b7466447801e436d397) test(il2cpp): reject absent type-reference names ### 📊 Changes **2 files changed** (+51 additions, -3 deletions) <details> <summary>View changed files</summary> 📝 `src/domain/analysisView/il2cppMetadataView.test.ts` (+49 -1) 📝 `src/domain/analysisView/il2cppMetadataView.ts` (+2 -2) </details> ### 📄 Description ## Summary Fixes #6224. ## Problem and expected behavior IL2CPP `return_types`, `field_types`, and `parameter_types` views document an exact `names` filter, but their request schemas used `indexPage` and rejected that field as unknown. These views should accept the documented filter and return matching retained rows. ## Change and scope Use the shared `page` schema for all three type-reference collections. This keeps existing pagination and projection logic unchanged while admitting `names` at the owning request boundary. No other collections or behavior changed. Follow the [contribution scope](https://github.com/morluto/rea/blob/main/CONTRIBUTING.md#contribution-scope). ## Contract and boundary impact - Semantic owner and earliest changed stage: IL2CPP analysis-view request schema. - Contribution scope fit and linked maintainer decision: Routine existing-workflow bug fix; maintainer decision not applicable. - CLI and MCP/tool-catalog contract: Restores documented `names` input for shared analysis-view validation; no catalog regeneration needed. - Provider, bridge, target-format, or platform compatibility: No provider or platform behavior changed. - Evidence, artifact, provenance, or reconstruction contract: No change to retained Evidence or provenance. - Generated metadata, package, or installation impact: None. - [x] Read existing files or captured data. - [ ] Launch or attach to a process. - [ ] Inject instrumentation or run scripts/code. - [ ] Change process memory, registers, files, or configuration. - [ ] Contact network services. - [ ] Recover protected code or work around protections. - [ ] Documentation or usability only; no target interaction. - [ ] Not sure yet; investigation or maintainer guidance needed. ## Evidence and regression coverage - Tests added or updated: Added one parameterized unit test covering all three collections through `il2cppMetadataViewRequestSchema` and `projectIl2cppMetadataView`. - Base reproduction or other evidence: Issue #6224 reports the documented `names` input was rejected while unfiltered paging worked. The regression test exercises the rejected request shape and verifies filtered rows. - User-visible CLI/MCP output: Not applicable; shared schema behavior is covered below the adapters. - Remaining proof gaps: No compiled CLI replay or Unity-produced metadata fixture was required for this schema-only change. ## Validation performed - `npm run test:local -- src/domain/analysisView/il2cppMetadataView.test.ts` — 35 tests passed. - `npm run check:fast` — typecheck and lint passed. - `git diff --check` — passed. ## Compatibility, safety, and release - Breaking changes or migration steps: None. This accepts a previously documented request. - Real Hopper/Ghidra, browser, or OS coverage: Not applicable. - Package or release metadata impact: None. - Security, privacy, process, or containment review: No target interaction or security boundary change. ## Author readiness Human owner: @goprocker - [x] I reviewed the final diff and relevant existing code, understand the change and its edge cases, and take responsibility for the complete PR, including AI-assisted work. - [x] I checked the evidence above, confirmed it supports the current change, and recorded meaningful validation gaps. - [x] I declare this PR ready for initial maintainer review. ## Before merge - [x] This PR addresses a concrete problem or an agreed enhancement. - [x] Material scope and authority questions are resolved, and any required maintainer scope decision covers the final diff. - [x] The PR has one focused outcome and the title follows `type(scope): outcome`. - [x] Related issue is linked, or the reason for not linking one is stated above. - [x] Tests cover changed observable behavior and meaningful failure paths. - [x] Owning docs, contracts, and generated metadata are updated where needed. - [x] User-visible CLI/MCP changes include representative output. - [x] I checked the final diff for secrets, unrelated cleanup, and unsupported claims. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-11-01 21:46:14 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
morluto/rea#7219
No description provided.