Fix restore-after-deletion issue by creating QKeychain jobs dynamically #289
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request addresses the restore failure after deletion reported in
#288.
Changes:
Keychain jobs (
readCredentialJob,writeCredentialJob,deleteCredentialJob) are nowcreated dynamically at runtime instead of being persistent member variables.
This ensures that restore operations succeed even after a previous deletion failure.
Existing member jobs are retained but commented out, with explanations referencing
the GitHub issue for context.
Added
autoDelete = truefor runtime-created jobs to ensure proper cleanup withoutmanual deletion.
Updated
readKey,writeKey, anddeleteKeymethods to use both persistent anddynamic job objects to handle legacy cases and dynamic use-cases safely.
Motivation:
Persistent job objects were causing failures in restore operations after deletion because
the internal state of the QKeychain jobs persisted across operations. Creating jobs
dynamically ensures each operation works with a fresh object.
Related Issue:
#288