Release 1.36.2#3289
Merged
Merged
Conversation
1.36.1 merge dev
- 21 tables updated from Google Sheet - RuneSheet: added 10053 (Freya PETPOP), 10054 (Breaker) - SkillSheet/StatBuffSheet/SkillBuffSheet: new skills added - MaterialItemSheet: transcendence materials added - InfiniteTower*: expanded to floor 46+ - BuffLimitSheet/SynthesizeSheet/EventDungeon*: data updates - CollectionSheet: 15 new transcendence collections
When ActionEvaluationMarshaller.Unmarshal reconstructed an evaluation, it created a generic `new Exception(typeName)`, which collapsed the original action exception type into `System.Exception`. Downstream consumers (e.g. Libplanet's TxExecution, surfaced through NineChronicles.Headless's transactionResult.exceptionNames) then recorded every PAEV-evaluated failure as "System.Exception" instead of the actual action exception. Resolve the recorded FullName against loaded assemblies and instantiate the matching Exception subtype via FormatterServices.GetUninitializedObject so GetType().FullName round-trips correctly. Falls back to a generic Exception when the type cannot be resolved. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
v200420 table data(refixed)
After v200430, stage 451 is no longer a clone of base stage 1 — its SweepRequiredCP and combat stats are now those of a real mid-game stage. Boost the test avatar via a synthetic in-memory CollectionSheet row (no production CSV touched) so the seven failing tests can clear the new CP threshold and simulator battles, and derive sweep play count from the stage's CostAP instead of a hard-coded constant.
v200430 table data
Action exceptions thrown inside the plugin are wrapped by Libplanet in UnexpectedlyTerminatedActionException whose InnerException is the real cause. The marshaller previously serialized only the outermost type name, so when Libplanet's TxExecution constructor ran its `InnerException ?? exception` unwrap step on the deserialized object, the inner was null and the wrapper type leaked through as "Libplanet.Action.UnexpectedlyTerminatedActionException". Marshal the full outer->inner chain as a Bencodex list and reconstruct it on the host side by writing each reconstructed inner into Exception._innerException via reflection. Falls back to the legacy single-Text format on read for forward compatibility with plugin DLLs that pre-date this change. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The check-items-without-docs-increased lint job failed because the three new public test methods lacked XML doc comments, pushing the project's undocumented-item count above the base branch's. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…ype-in-marshaller Preserve original exception type in ActionEvaluationMarshaller
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release 1.36.2
Changes
Highlights
ActionEvaluationMarshaller가 원래 액션 예외의 런타임 타입과InnerException체인을 직렬화하도록 수정 — Libplanet의TxExecution언랩 단계에서 실제 액션 예외 이름을 복원 가능. 레거시(Text) 포맷과의 역호환성 유지.Version
🤖 Generated with Claude Code