Add opt-in milestone and failure emails for background tasks #9
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Analysis and preview can take long enough that users should be able to leave and receive an actionable notification.
Acceptance criteria:
Starting #9 after reading #14, this issue, and the related authentication, activity/cancellation and diagnostics handoffs. Scope: explicit per-operation consent beside activity, verified owner destinations, durable scheduling from authoritative terminal task states, safe SMTP retry/uncertainty handling, branded authenticated links, and ownership/consent/outcome race tests. Working on an isolated branch combining the reviewed #6 and #4/#7/#8 prerequisites; issue #12 is on hold and is excluded. No pilot rebuild, restart or active task interruption is planned.
Implementation finding: the existing verified-address and external-relay support can be reused, but SMTP acceptance uncertainty must not be retried blindly. The task outbox records one consent/delivery identity per operation, retries confirmed non-acceptance up to five attempts, and exposes uncertain handoffs without automatically resending. Cancellation suppresses milestone mail; completion winning a late stop uses the actual terminal outcome. The initial full backend suite passed; race and browser checks are continuing. Scope clarification from the owner: use normal routable collection/analysis/attempt URLs. Direct page loads, history navigation and return to the selected page after sign-in are being covered. Issue #12 remains excluded; no pilot services or active tasks have been restarted.
Implemented and published for review: commit
ba40ae4e90ee0c4b3b9c51b3bd3eb1236b20bbd3, branchcodex/issue-9-task-emails, PR #20: #20 . Working tree is clean.Changes:
Checks actually passed locally:
State and next handoff:
Published for review, not merged, release-image-published or deployed. PR #20 is based on #17 and includes the existing #18 metadata changes through prerequisite merge
54479e0; #15/#16 are transitive dependencies. Issue #12 is excluded and remains on hold. Review the issue #9 feature commit, integrate the prerequisites, then retarget to main and verify the resulting diff.Forgejo run https://git.sharedroot.net/jchapman/Immich-Bridge/actions/runs/9 is waiting for native validation. Native ARM64, real-provider inbox delivery and deployed pilot behavior remain unverified; the existing UI bundle-size advisory remains. No pilot service, active upload or server task was interrupted. Coordinate an idle deployment/restart and verify an opted-in owner task using the actual relay before closing #9. This issue stays open.
Integration handoff: PR #20 is merged into main in
f9885d4. The final combined source passed local backend/vet/race, UI/browser, container/isolation/HTTPS, source/image policy and secret checks. Detailed merge/conflict evidence and limitations: #14 (comment). Native Forgejo AMD64/ARM64 release validation remains queued; no release images or deployment are claimed. This issue remains open for its pilot checkpoint. Verify an opted-in owner task with the actual configured relay and authenticated result link after coordinated deployment. No active upload/task or pilot service was interrupted.Final development handoff: PR #20 is merged into main in
f9885d4, preserving feature commit(s)ba40ae4.Fresh per-operation email consent is bound to the verified owner destination, with no arbitrary recipient or administrator copy. The durable outbox uses terminal outcomes, suppresses confirmed cancellation, bounds definite-rejection retries and leaves ambiguous handoffs uncertain. Authenticated result links preserve reload/history/sign-in return.
Validation: Notification/SMTP/auth/lifecycle/ownership/origin and concurrent-claim races passed, including fake TLS/STARTTLS relays, lost acceptance, database recovery and fresh retry consent. Task-email browser and HTTPS route checks passed. No real email was sent. The combined application also passed backend/vet/race, UI lint/build, container/HTTPS, source/image policies and secret checks; integration evidence.
Documentation is updated on main through PR #21, merge
5ed7191: feature guide, merged scope/evidence, and remaining pilot checks. All nine documentation/policy tests and link/anchor/workflow checks passed.Closing at the owner's explicit request after merge, local validation and documentation review. This supersedes the earlier request to keep this development issue open through deployment. Native Forgejo AMD64/ARM64 release gates, coordinated idle installation and applicable real-provider/owner pilot checks remain in the release checklist and coordination issue #14. No deployment, native ARM64 pass, real-library capacity result or gate waiver is claimed. PR #19 and scanning remain on hold.