Skip to content

Cross-platform config path and inconsistent flag naming causing config handling issues #370

Description

@ANSHIKATYAGI30

Pre-check

  • I have searched existing issues for a duplicate.
  • I am using the latest version of WinHome.
  • I have read the Configuration Wiki.

Bug Description

The configuration handling logic has a few inconsistencies and platform-specific assumptions that can lead to incorrect or broken behavior.

  1. The config path uses APPDATA, which works only on Windows and breaks on Linux/macOS systems.
  2. There is an inconsistency in flag naming between dryRun (context) and dry_run (args), which may cause the dry-run mode to behave unexpectedly.
  3. The merge_settings() function silently ignores empty string values, which may lead to unintended or confusing partial updates

Steps to Reproduce

  1. Run the application on a non-Windows system (Linux/macOS) OR simulate missing APPDATA.
  2. Pass a configuration update with dryRun enabled.
  3. Include an empty string value in config updates.
  4. Observe inconsistent config behavior or missing updates.

Expected Behavior

  1. Config path should work across all operating systems.
  2. Flag naming should be consistent so dryRun is reliably respected.
  3. Empty values should be handled explicitly (either validated or documented behavior), not silently ignored.

OS Version

Win 11 22H2

Additional Context

I want to contribute a fix to this issue under GSSoC'26.

Metadata

Metadata

Labels

GSSOCGirlScript Summer of Code 2026level:beginnerBeginner level tasktype:bugBug fix

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions