diff --git a/.ai_agency/memory/backlog.json b/.ai_agency/memory/backlog.json
index 9fbc70b..2a8fb23 100644
--- a/.ai_agency/memory/backlog.json
+++ b/.ai_agency/memory/backlog.json
@@ -102,7 +102,7 @@
"title": "ایجاد لایههای loading.tsx و error.tsx استاندارد در Next.js App Router",
"priority": "MEDIUM",
"assigned_role": "05_dev_frontend",
- "status": "pending",
+ "status": "completed",
"max_file_count": 3,
"estimated_minutes": 15,
"dependency_task_ids": [],
diff --git a/.ai_agency/memory/state.json b/.ai_agency/memory/state.json
index 5adb25b..d3cedf7 100644
--- a/.ai_agency/memory/state.json
+++ b/.ai_agency/memory/state.json
@@ -5,8 +5,8 @@
"checkpoint": {
"stage": "REFACTORING",
"active_agent": "05_dev_frontend",
- "current_ticket_id": "TASK-108",
- "sub_step_index": 8,
+ "current_ticket_id": "TASK-109",
+ "sub_step_index": 9,
"total_sub_steps": 10
},
"execution_guards": {
@@ -16,11 +16,11 @@
"token_usage_total": 0
},
"git_state": {
- "active_branch": "feature/TASK-107",
+ "active_branch": "feature/TASK-108",
"last_healthy_commit": "HEAD"
},
"context_buffer": {
- "last_agent_summary": "TASK-107 (Next.js Image component optimization for SafeImage and media galleries) completed and verified."
+ "last_agent_summary": "TASK-108 (app/loading.tsx and app/error.tsx Boundaries) successfully created and verified."
},
- "last_updated": "2026-07-26T14:55:00Z"
+ "last_updated": "2026-07-26T14:57:00Z"
}
diff --git a/frontend/application/app/error.tsx b/frontend/application/app/error.tsx
new file mode 100644
index 0000000..86c0463
--- /dev/null
+++ b/frontend/application/app/error.tsx
@@ -0,0 +1,17 @@
+"use client";
+import React, { useEffect } from "react";
+import { ServerErrorPage } from "../components/ErrorPages";
+
+export default function ErrorBoundary({
+ error,
+ reset,
+}: {
+ error: Error & { digest?: string };
+ reset: () => void;
+}) {
+ useEffect(() => {
+ console.error("Global Application Error:", error);
+ }, [error]);
+
+ return