fix(instanda): rate limiting, UTC timestamps, and close silent-failure paths
- F-06: throttle the public create per IP (20/h) and per email (5/h) before the paid API call and the PII write. - F-11: wrap the create path in try/catch - on an unexpected error fail closed for that submission (no quote-less entry), alert admins, keep the form working. - F-14: abort the StartQuote when the write-ahead insert fails (no unaudited call); fire the failure alert even when storage is disabled (build an in-memory tx). - F-10/F-17: treat a 2xx with a missing/empty quoteRef as ambiguous (possible_duplicate=1), not a hard failure - a quote may exist. - F-07: write created_at/delivered_at/event timestamps in UTC to match the gmdate() retention/dedupe cutoffs; display in site-local via get_date_from_gmt. - F-09: log (no silent return) when async record_feed_result cannot resolve a delivered transaction. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -83,7 +83,7 @@ final class Transactions_List_Table extends \WP_List_Table {
|
||||
|
||||
protected function column_default($item, $column_name): string {
|
||||
return match ($column_name) {
|
||||
'submitted' => esc_html($item->created_at) . '<br><span class="mono">#' . $item->id . '</span>',
|
||||
'submitted' => esc_html(get_date_from_gmt($item->created_at, 'Y-m-d H:i')) . '<br><span class="mono">#' . $item->id . '</span>',
|
||||
'email' => esc_html($item->customer_email),
|
||||
'role' => esc_html($item->role_label),
|
||||
'status' => $this->status_badge($item),
|
||||
|
||||
Reference in New Issue
Block a user