Skip to content

feat(settings): add settings import and export - #129

Draft
esphynox wants to merge 3 commits into
mainfrom
feat/settings-import-export
Draft

feat(settings): add settings import and export#129
esphynox wants to merge 3 commits into
mainfrom
feat/settings-import-export

Conversation

@esphynox

@esphynox esphynox commented Aug 23, 2026

Copy link
Copy Markdown
Collaborator

Summary

Add settings export and import using a JSON archive backed by stored setting metadata, so Keyty can save and restore user configuration without exporting the full defaults domain.

Add General settings actions for exporting and importing settings archives, localized transfer errors, and settings pane refreshes after reset or import so the visible state stays in sync with restored values.

Add focused coverage for settings transfer round-trips, default fallback behavior, and invalid archive handling.

Tests

  • tuist generate
  • xcodebuild test -project Keyty.xcodeproj -scheme Keyty -destination 'platform=macOS'
  • Other: xcodebuild test -project Keyty.xcodeproj -scheme Keyty -destination 'platform=macOS' -only-testing:KeytyTests/SettingsTransferServiceTests

Run project commands from Apps/Keyty.

UI Changes

Screenshot 2026-08-24 at 02 06 22

Documentation

  • Updated relevant docs
  • No docs needed

Release Notes

Add settings import and export actions so users can save and restore their Keyty configuration.

@esphynox
esphynox force-pushed the feat/settings-import-export branch 2 times, most recently from bb12981 to 61c6d68 Compare August 23, 2026 22:22
@esphynox esphynox self-assigned this Aug 23, 2026
@esphynox
esphynox marked this pull request as draft August 24, 2026 00:02
@esphynox
esphynox force-pushed the feat/settings-import-export branch from 61c6d68 to c750a26 Compare August 24, 2026 00:34
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.

1 participant