Skip to content

Commit c43fea5

Browse files
zcoderrclaude
andcommitted
fix: allow error report retry with 5-minute cooldown
Replace the blanket error guard with a cooldown-based retry: error status records can be regenerated after 5 minutes. This allows stuck reports to self-heal (e.g. after a template fix) while limiting AI waste to at most one attempt per 5 minutes during persistent failures. Co-authored-by: Claude <noreply@anthropic.com>
1 parent 219f9b7 commit c43fea5

4 files changed

Lines changed: 7 additions & 5 deletions

File tree

api/src/routes/report.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1463,7 +1463,8 @@ async function generateDetailIfNeeded({
14631463
if (
14641464
reportDetail.generateStatus === 'generating' ||
14651465
reportDetail.generateStatus === 'finished' ||
1466-
reportDetail.generateStatus === 'error'
1466+
// Allow retry for error status, but with a 5-minute cooldown to avoid wasting AI quota
1467+
(reportDetail.generateStatus === 'error' && Date.now() - new Date(reportDetail.updatedAt).getTime() < 5 * 60 * 1000)
14671468
) {
14681469
return;
14691470
}
@@ -1777,7 +1778,8 @@ export async function generateReport({
17771778

17781779
if (
17791780
report.generateStatus !== 'generating' &&
1780-
report.generateStatus !== 'error' &&
1781+
// Allow retry for error status, but with a 5-minute cooldown to avoid wasting AI quota
1782+
!(report.generateStatus === 'error' && Date.now() - new Date(report.updatedAt).getTime() < 5 * 60 * 1000) &&
17811783
(report.generateStatus !== 'finished' || newFields?.length)
17821784
) {
17831785
await report.update({ generateStatus: 'generating' });

blocklet.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ repository:
1313
type: git
1414
url: git+https://github.com/blocklet/create-blocklet.git
1515
specVersion: 1.2.8
16-
version: 0.1.8
16+
version: 0.1.9
1717
logo: logo.png
1818
files:
1919
- dist

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "aistro-ai",
33
"private": true,
4-
"version": "0.1.8",
4+
"version": "0.1.9",
55
"scripts": {
66
"dev": "blocklet dev",
77
"lint": "tsc --noEmit && eslint src api/src --ext .mjs,.js,.jsx,.ts,.tsx",

version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.1.8
1+
0.1.9

0 commit comments

Comments
 (0)