Commit 6accd13
iOS: fix phantom lastExecutedAt when BGTask expires before purchase
claimPlanForExecution no longer sets lastExecutedAt — only advances
nextExecutionAt to prevent double-purchase. lastExecutedAt is now set
exclusively by saveTransactionAndAdvance after a transaction is actually
persisted. This prevents the UI showing a "last executed" time with no
corresponding transaction when a BGTask is killed mid-execution.
Also saves a failed transaction when credentials are missing instead of
silently returning, so the user sees what went wrong.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>1 parent 4e8cf27 commit 6accd13
2 files changed
Lines changed: 17 additions & 2 deletions
Lines changed: 4 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
142 | 142 | | |
143 | 143 | | |
144 | 144 | | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
145 | 148 | | |
146 | 149 | | |
147 | 150 | | |
148 | 151 | | |
149 | 152 | | |
150 | | - | |
| 153 | + | |
151 | 154 | | |
152 | 155 | | |
153 | 156 | | |
154 | 157 | | |
155 | | - | |
156 | 158 | | |
157 | 159 | | |
158 | 160 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
123 | 123 | | |
124 | 124 | | |
125 | 125 | | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
126 | 139 | | |
127 | 140 | | |
128 | 141 | | |
| |||
0 commit comments