You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Citizens tooltip shows today's collected tax as “Other citizen taxes” because current earnings no longer populate the legacy contributor map. Read the earning characters recorded with committed DenarEconomy tax transactions, alongside legacy rows, so Today shows character names and settlement carries them into Last day and Lifetime.
Capture contributor amounts with held balances for async previews and settlement. Existing tax amounts, legacy history and saved contributor rows are preserved; money whose contributor was never recorded remains grouped as “Other citizen taxes”.
Uses the published DenarEconomy 0.7.0 release from TF-Minecraft/DenarEconomy#44. Deploy DenarEconomy before this consumer. The committed project version remains main-SNAPSHOT; numeric tags supply release versions.
Validation: tfmc-mvn -o -B --no-transfer-progress clean verify passed on CachyOS: 8,212 tests, zero failures or skips, and the required zero-missed-lines coverage gate. Runtime JAR filename/version validation passed. The new real-tax-posting-to-tooltip regression fails against the original Ledger implementation and passes with this fix; coverage also checks async snapshots, legacy rows and settlement history. Verification was repeated against the published, checksum-verified DenarEconomy 0.7.0 JAR (dbe4fd8ebc028a43cc9015ea008afc100e2a1c346115d64f8a74782ac0086f99). No server deployment is included.
Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.
📝 Summary
Summary by CodeRabbit
New Features
Citizen-tax breakdowns now include transaction contributor data alongside saved tax entries, with amounts combined by character.
Contributor details are retained in settlement history and daily guild income records after held tax is transferred to the guild bank.
Frozen reads now capture tax contributors by guild incarnation. Citizen-tax breakdowns combine contributor amounts with legacy entries. Tests cover frozen reads, settlement history, and menu displays. The project and Denar Economy dependency versions also change.
Changes: Citizen tax attribution
Layer / File(s)
Summary
Capture and combine tax contributors pom.xml, src/main/java/net/tfminecraft/simplefactions/economy/FrozenReads.java, src/main/java/net/tfminecraft/simplefactions/guild/income/Ledger.java, src/test/java/net/tfminecraft/simplefactions/economy/FrozenReadsTest.java, src/test/java/net/tfminecraft/simplefactions/guild/income/LedgerCitizenTaxPersistenceTest.java
The project version changes to main-SNAPSHOT, and the Denar Economy version changes to 0.7.0. FrozenReads captures contributor maps by guild incarnation, and Ledger merges those amounts with legacy citizen-tax entries. Tests check frozen values and confirm that the saved legacy entries remain unchanged.
Settlement history and menu display src/test/java/net/tfminecraft/simplefactions/economy/settlement/RealmSettlementCalculationTest.java, src/test/java/net/tfminecraft/simplefactions/managers/inventory/GuildMenusCoverageTest.java
Tests cover contributor amounts in settlement history and daily, previous-day, and lifetime menu displays.
sequenceDiagram
participant Denars
participant FrozenReads
participant Ledger
Denars->>FrozenReads: provide contributors during capture
Ledger->>FrozenReads: request contributors for an incarnation
FrozenReads-->>Ledger: return captured or live contributors
Ledger->>Ledger: merge contributor amounts with legacy entries
Loading
Suggested reviewers:drefvelin
Merge Risk:⚪ Minimal · up to 6f409
No actionable merge-blocking issue is established. Confirm the planned DenarEconomy release and deployment before merging.
- [ ] Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
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.
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
size:M30-99 effective changed lines (tests excluded in mixed PRs).
1 participant
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.
The Citizens tooltip shows today's collected tax as “Other citizen taxes” because current earnings no longer populate the legacy contributor map. Read the earning characters recorded with committed DenarEconomy tax transactions, alongside legacy rows, so Today shows character names and settlement carries them into Last day and Lifetime.
Capture contributor amounts with held balances for async previews and settlement. Existing tax amounts, legacy history and saved contributor rows are preserved; money whose contributor was never recorded remains grouped as “Other citizen taxes”.
Uses the published DenarEconomy 0.7.0 release from TF-Minecraft/DenarEconomy#44. Deploy DenarEconomy before this consumer. The committed project version remains
main-SNAPSHOT; numeric tags supply release versions.Validation:
tfmc-mvn -o -B --no-transfer-progress clean verifypassed on CachyOS: 8,212 tests, zero failures or skips, and the required zero-missed-lines coverage gate. Runtime JAR filename/version validation passed. The new real-tax-posting-to-tooltip regression fails against the original Ledger implementation and passes with this fix; coverage also checks async snapshots, legacy rows and settlement history. Verification was repeated against the published, checksum-verified DenarEconomy 0.7.0 JAR (dbe4fd8ebc028a43cc9015ea008afc100e2a1c346115d64f8a74782ac0086f99). No server deployment is included.