Repository navigation
Parse titlename.xml as its own table - #86
Conversation
ParseTitleTag only returns names for ids that have a titletag.xml row, and the client builds its profile title dropdown from titlename.xml alone. The server needs every title the client can name, after the locale and feature filter, to stop sending titles the dropdown cannot show. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (3)
Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthrough
ChangesTitle-name parsing
Priority: ➖ Normal Estimated code review effort: 2 (Simple) | ~10 minutes Change: Feature Suggested reviewers: Merge Risk: ⚪ Minimal · up to The title-name parser and version update are ready to merge after normal checks; the reported test-initialization failure prevents treating the new test as a successful run. Security Architecture ReviewSecurity architecture risk: 🔵 Low · up to The new API reuses existing archive-reading and filtering controls. No introduced security concern was confirmed, but downstream use and runtime verification remain unverified. Retained concerns Security review detailsSecurity Blast Radius
Trust Boundaries and Controls
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 16.67% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 6 functions across 2 files. (1 skipped: 1 unsupported.)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 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 |
The server has no list of the titles the client can name. The client builds the profile title dropdown from
titlename.xml, after the locale and feature filter. It skips a title with no name but still counts it when it picks the preselected row, so a single such title makes the dropdown preselect the wrong row (PrivateMaple2#1573). PrivateMaple2 needs that list to stop granting and sending such titles.ParseTitleTagcannot provide it, because it only returns names for ids that have atitletag.xmlrow.Maple2.File.Parser/TableParser.cs: addsParseTitleName(), which reads{language}/titlename.xmlthrough the existingStringMappingtype, so keys come out already resolved by the locale and feature filter.Maple2.File.Tests/TableParserTest.cs:TestParseTitleNamechecks three rows under Live NA: Ace Archer is kept, 10000754 withfeature="Fame_Geo01"is dropped, and 10000750 with onlylocale="CN"is dropped.Maple2.File.Parser/Maple2.File.Parser.csproj: 2.4.27 to 2.4.28.Verification
TestParseTitleName, or any other test inMaple2.File.Tests, on my machine.TestUtils' static constructor builds anAssetIndex, and that throws on my data folder, a duplicate empty key inAssetIndex.ParseNtFile, before any test runs.TestParseTitleTagfails the same way, so it is not caused by this change.2.4.28-debug.0and ran the PrivateMaple2 ingest against it. It wrote 791 titles. A separate Python pass over the same XML, applying the locale and feature rules by hand, also gives 791, and the ids in the range 10000840 to 10000901 match one for one.Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.Summary by CodeRabbit