Skip to content

Add a Storage options tab and client log rotation - #1073

Open
11EJDE11 wants to merge 23 commits into
developfrom
replays/storage-options
Open

Add a Storage options tab and client log rotation#1073
11EJDE11 wants to merge 23 commits into
developfrom
replays/storage-options

Conversation

@11EJDE11

@11EJDE11 11EJDE11 commented Sep 7, 2026

Copy link
Copy Markdown
Member

Adds a Storage tab to the options window, and replaces the single client_previous.log backup with proper log rotation.

Today the client keeps one old log: client.log is copied over client_previous.log on every start. Logs are now renamed to a timestamped backup and pruned to a configured file count and total folder size

([ClientLogs] MaxKeptLogFiles, MaxLogFolderSizeMB), which addresses #1021.

Retention is read straight from the settings INI rather than through UserINISettings, because rotation runs before that is initialised.

image

Note: Screenshots show the replay options - these will be added in a later PR and are opt-in. For now, it's just the client logs.

@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown

Nightly build for this pull request:

  • artifacts.zip
    This comment is automatic and is meant to allow guests to get latest automatic builds without registering. It is updated on every successful build.

Comment thread DXMainClient/DXGUI/Generic/OptionsWindow.cs Outdated
Comment thread DXMainClient/PreStartup.cs Outdated
Comment thread DXMainClient/PreStartup.cs Outdated
Comment thread DXMainClient/DXGUI/Generic/OptionsWindow.cs
Comment thread DXMainClient/PreStartup.cs Outdated
@MahBoiDeveloper

Copy link
Copy Markdown
Member

Log and replays ok. Would you kindly add this feature and for game saves too?

@11EJDE11

11EJDE11 commented Sep 8, 2026

Copy link
Copy Markdown
Member Author

Log and replays ok. Would you kindly add this feature and for game saves too?

I've added that. With 0/unlimited so no saved games get deleted unless the user changes the setting.

Also updated the docs as I missed a bit when changing to 20 instead of 5 files.

@11EJDE11
11EJDE11 force-pushed the replays/storage-options branch from 6cde825 to 0d7e981 Compare September 9, 2026 22:55
Comment thread ClientCore/SinglePlayerSavedGameManager.cs
Comment thread DXMainClient/Startup.cs Outdated
Comment thread DXMainClient/Startup.cs
@SadPencil

Copy link
Copy Markdown
Member
图片 Do we really need to explain that much to players? I prefer just saying nothing

@MahBoiDeveloper

MahBoiDeveloper commented Sep 12, 2026

Copy link
Copy Markdown
Member

Do we really need to explain that much to players? I prefer just saying nothing

Better to keep the description

@11EJDE11

Copy link
Copy Markdown
Member Author

How about change to Oldest saves are permanently deleted.? I'd like to keep "permanently deleted" in there somewhere.

@SadPencil

Copy link
Copy Markdown
Member

How about change to Oldest saves are permanently deleted.? I'd like to keep "permanently deleted" in there somewhere.

Sounds good. The original text seems hard to understand (I simulated regular players with a tired mind and found I can't read that sentence)

var lblGameLogRetentionHint = new XNALabel(WindowManager);
lblGameLogRetentionHint.Name = nameof(lblGameLogRetentionHint);
lblGameLogRetentionHint.ClientRectangle = new Rectangle(12, lblGameLogFolderSize.Y + ROW_SPACING, 0, 0);
lblGameLogRetentionHint.Text = ("The game's debug folder: its logs and the snapshots saved for crashes and desyncs.\n" +

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@11EJDE11 Can you also shorten this text? This should be my last review comment.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good call 81d402f

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants