refactor: Secure and stabilize File Management System #37

Manually merged
Notarin merged 1 commit from notarin/refactor into FileSystemRework 2026-09-13 13:13:54 +00:00 AGit
Contributor

Security fixes:

  • Add network OOM protection (10MB max file size with buffer validation)
  • Replace EndOfStreamException with InvalidOperationException for sandbox compliance

Performance fixes:

  • Replace string concatenation with StringBuilder
  • Move client disk IO to Task.Run

Stability fixes:

  • Clean up callback queues on player disconnect to prevent memory leaks
  • LINQ -> manual array population

Architecture improvements:

  • Replace PostInject with Initialize
  • Move server to use direct state refresh instead of having to use network refresh events
  • Remove ShipyardConsoleRefreshMessage and associated listener
  • Split ShipFileManagerOptions and ApartmentFileManagerOptions
Security fixes: - Add network OOM protection (10MB max file size with buffer validation) - Replace EndOfStreamException with InvalidOperationException for sandbox compliance Performance fixes: - Replace string concatenation with StringBuilder - Move client disk IO to Task.Run Stability fixes: - Clean up callback queues on player disconnect to prevent memory leaks - LINQ -> manual array population Architecture improvements: - Replace PostInject with Initialize - Move server to use direct state refresh instead of having to use network refresh events - Remove ShipyardConsoleRefreshMessage and associated listener - Split ShipFileManagerOptions and ApartmentFileManagerOptions
refactor: Secure and stabilize File Management System
Some checks failed
Close PRs on master / run (pull_request_target) Has been skipped
Check Merge Conflicts / Add (pull_request_target) Has been cancelled
Labels: PR / labeler (pull_request_target) Has been cancelled
CRLF Check / CRLF Check (pull_request) Has been cancelled
RGA schema validator / YAML RGA schema validator (pull_request) Has been cancelled
Map file schema validator / YAML map schema validator (pull_request) Has been cancelled
YAML Linter / YAML Linter (pull_request) Has been cancelled
PR Changelogs / changelog (pull_request_target) Has been cancelled
0073942721
Security fixes:
- Add network OOM protection (10MB max file size with buffer validation)
- Replace EndOfStreamException with InvalidOperationException for sandbox compliance

Performance fixes:
- Replace string concatenation with StringBuilder
- Move client disk IO to Task.Run

Stability fixes:
- Clean up callback queues on player disconnect to prevent memory leaks
- LINQ -> manual array population

Architecture improvements:
- Replace PostInject with Initialize
- Move server to use direct state refresh instead of having to use network refresh events
- Remove ShipyardConsoleRefreshMessage and associated listener
- Split ShipFileManagerOptions and ApartmentFileManagerOptions
Author
Contributor

Normally I would amend your commit, but I felt it would be easier for you to actually review my changes if it was a commit on top.
If&when merged in, I will squash the two, before you then break it up into more digestible commits.

Normally I would amend your commit, but I felt it would be easier for you to actually review my changes if it was a commit on top. If&when merged in, I will squash the two, before you then break it up into more digestible commits.
Notarin manually merged commit 0073942721 into FileSystemRework 2026-09-13 13:13:54 +00:00
Sign in to join this conversation.
No reviewers
No milestone
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
Drekk/HardLight!37
No description provided.