ModernUO/Projects/Server.Tests/Tests
Kamron Batman 107ca3c1c0 fix: stop items from insta-decaying when eligibility is restored without a move
A GM flipping Movable (or Visible) back on for a long-frozen item registered
it with a deadline computed from its stale LastMoved, so the scheduler
deleted it on the next tick. The old save-time decay sweep had the same
semantics but hid them behind the save cadence.

Introduce DecayResetTime (CompactInfo-backed, persisted as delta minutes
under a new SaveFlag with an Item version bump): the decay countdown now
runs from the later of LastMoved and DecayResetTime. RestartDecay() stamps
it only when the item can decay and the stamp extends the deadline, so hot
paths with a fresh LastMoved allocate nothing.

- Movable/Visible/Spawner setters restart the countdown instead of
  registering a stale deadline
- The region-refusal retry in DecayScheduler restarts the countdown without
  rewriting LastMoved, which is reserved for actual moves
- A raw Map assignment (e.g. props) now counts as a move: it stamps
  LastMoved and enrolls/withdraws the item, closing the gap where an item
  moved out of Map.Internal via the setter never decayed

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-22 10:42:24 -07:00
..
Buffers fix: Harden Advanced Search: crash-safety, autosave, correct results & worker fixes (#2543) 2026-07-21 07:51:06 -07:00
Client fix: Fixes flaky tests, formatting, and sequential testing. (#2168) 2025-04-30 16:42:38 -07:00
Collections chore: Use var everywhere (#2294) 2025-12-27 16:47:28 -08:00
Console fix(console): stop headless servers from pegging a CPU core (#2535) 2026-07-16 18:52:43 -07:00
Geometry chore: Use var everywhere (#2294) 2025-12-27 16:47:28 -08:00
Items fix: stop items from insta-decaying when eligibility is restored without a move 2026-08-22 10:42:24 -07:00
Json fix(json): Rectangle3DConverter loses a z-level on write (#2506) 2026-06-25 23:42:49 -07:00
Localization fix: Fixes flaky tests, formatting, and sequential testing. (#2168) 2025-04-30 16:42:38 -07:00
Maps perf(saves): eliminate world-save freeze bottlenecks (~9.5x faster freeze) (#2525) 2026-07-16 22:53:28 -07:00
Network perf: Sleep the event loop when idle. Fixes networking micro-stalls. Adds event loop instrumentation. (#2559) 2026-08-09 13:24:59 -07:00
PropertyList feat(network): allowlist false-positive IPs, escalate on behavior (#2556) 2026-07-30 23:12:17 -07:00
Serialization perf(saves): eliminate world-save freeze bottlenecks (~9.5x faster freeze) (#2525) 2026-07-16 22:53:28 -07:00
Text chore: Code Cleanup (#1239) 2022-11-10 22:49:25 -08:00
Timer chore: Use var everywhere (#2294) 2025-12-27 16:47:28 -08:00
Utility chore: Fixes flaky tests (#2386) 2026-03-22 10:54:12 -07:00
World chore: Use var everywhere (#2294) 2025-12-27 16:47:28 -08:00
SerialTests.cs fix: Adds ISpanFormattable support to Serial (#1065) 2022-06-14 18:39:46 -07:00