Fix independent configuration saves and preserve recipient address order #96

Closed
opened 2026-09-07 14:06:44 +02:00 by zemion · 1 comment
Owner

User-reported usability regressions, 2026-09-07. Local implementation in the existing working tree; NOT pushed or closed.

Scope and evidence:

  • Mail profile migration and ZIP-policy repairs can be saved independently in either order. Only exactly unchanged stored configuration is retained; changed resources and all validation/build/delivery paths remain fully authorized. No inline transport secrets accepted/returned.
  • Campaign credential selectors must show explicit saved IDs, not a visually preselected but unstored default. Missing/inactive references stay visible until explicitly replaced.
  • Shared save lifecycle coalesces pending writes, retains newer edits, keeps failed/conflicted drafts, separates committed save from follow-up reload, and rejects obsolete read/discard responses.
  • Address deduplication had alphabetically resorted recipients on dialog Save, undoing arrow reordering. Preserve first occurrence/order for individual and header-address Save/paste; keep Core sorting default for unrelated consumers.
  • Attachment source edits can save unchanged legacy ZIP configuration; compact Add actions, keyboard chooser activation, and explicit unavailable-source/capability feedback.

Verification so far: real dialog recipient-order 6 cases, shared saving 7, workspace reload 8, Mail settings 8, attachment chooser/save 3; database-backed repair-order and recipient persistence regressions. EN/DE owning documentation updated. Full final conformance/build checks in progress. No live campaign/policy/credential changes or delivery effects performed.

User-reported usability regressions, 2026-09-07. Local implementation in the existing working tree; NOT pushed or closed. Scope and evidence: - Mail profile migration and ZIP-policy repairs can be saved independently in either order. Only exactly unchanged stored configuration is retained; changed resources and all validation/build/delivery paths remain fully authorized. No inline transport secrets accepted/returned. - Campaign credential selectors must show explicit saved IDs, not a visually preselected but unstored default. Missing/inactive references stay visible until explicitly replaced. - Shared save lifecycle coalesces pending writes, retains newer edits, keeps failed/conflicted drafts, separates committed save from follow-up reload, and rejects obsolete read/discard responses. - Address deduplication had alphabetically resorted recipients on dialog Save, undoing arrow reordering. Preserve first occurrence/order for individual and header-address Save/paste; keep Core sorting default for unrelated consumers. - Attachment source edits can save unchanged legacy ZIP configuration; compact Add actions, keyboard chooser activation, and explicit unavailable-source/capability feedback. Verification so far: real dialog recipient-order 6 cases, shared saving 7, workspace reload 8, Mail settings 8, attachment chooser/save 3; database-backed repair-order and recipient persistence regressions. EN/DE owning documentation updated. Full final conformance/build checks in progress. No live campaign/policy/credential changes or delivery effects performed.
Author
Owner

Reconciled 2026-09-08: implemented and published

This supersedes the earlier local/unpublished status. The owning fix is on remote main and the verified v0.1.28 tag (commit c51fc180fba7), included in the published 0.1.45 source/package composition.

Independent Mail/ZIP save order, retained history and current authorization, explicit stored credential selection, shared failure-safe save lifecycle, recipient-order persistence and attachment chooser/compact actions are implemented. test_independent_configuration_repairs.py and actual campaign-saving/workspace/recipient-order/mail-settings/attachments conformance passed. Owning EN/DE documentation is included. No live campaign or credential state was changed for this audit.

The completed, unmodified release tools/checks/check-focused.sh run passed, including 213 browser conformance cases and the relevant backend suites. The audit matched current remote branches/tags and reviewed the original acceptance criteria and subsequent comments. Closing the implemented source/package scope. This is not a runtime deployment claim: Meta #52 and website #9 retain their independent runtime/public-site holds. No tag was moved.

<!-- govoplan-issue-reconciliation-20260908-published-fixes-v1 --> ## Reconciled 2026-09-08: implemented and published This supersedes the earlier local/unpublished status. The owning fix is on remote `main` and the verified [`v0.1.28` tag](https://git.add-ideas.de/GovOPlaN/govoplan-campaign/src/tag/v0.1.28) ([commit `c51fc180fba7`](https://git.add-ideas.de/GovOPlaN/govoplan-campaign/commit/c51fc180fba75441dbd19c25b02a3ddc37c81a5d)), included in the published [0.1.45 source/package composition](https://git.add-ideas.de/GovOPlaN/govoplan/src/commit/88b685ff5e689acf096bdfc7084bd108e801e86e/docs/releases/0.1.45.md). Independent Mail/ZIP save order, retained history and current authorization, explicit stored credential selection, shared failure-safe save lifecycle, recipient-order persistence and attachment chooser/compact actions are implemented. `test_independent_configuration_repairs.py` and actual campaign-saving/workspace/recipient-order/mail-settings/attachments conformance passed. Owning EN/DE documentation is included. No live campaign or credential state was changed for this audit. The completed, unmodified release `tools/checks/check-focused.sh` run passed, including 213 browser conformance cases and the relevant backend suites. The audit matched current remote branches/tags and reviewed the original acceptance criteria and subsequent comments. Closing the implemented source/package scope. This is not a runtime deployment claim: [Meta #52](https://git.add-ideas.de/GovOPlaN/govoplan/issues/52) and [website #9](https://git.add-ideas.de/add-ideas/addideas-govoplan-website/issues/9) retain their independent runtime/public-site holds. No tag was moved.
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: GovOPlaN/govoplan-campaign#96