errors: report EVERY server/gateway error to GitHub Issues
PHP api/index.php: - DB connection failure (500) now calls _phpErrorReport() - Main router catch-all (500) now calls _phpErrorReport() - undoTransaction DB error (500) now calls _phpErrorReport() PHP api/cron_smart_shopping.php: - cron Throwable catch now calls _phpErrorReport() before exit(1) (fires even in CRON_MODE since _phpErrorReport() has its own guard) Scale Gateway GatewayWebSocketServer.kt: - onError() now calls ErrorReporter.report(ex, ...) in addition to Log.e Combined with previous kiosk commit, every error path in the entire EverShelf stack now sends an automatic GitHub Issue.
This commit is contained in:
@@ -41,6 +41,9 @@ try {
|
||||
|
||||
echo '[' . date('Y-m-d H:i:s') . '] OK — ' . count($decoded['items'] ?? []) . " items cached\n";
|
||||
} catch (Throwable $e) {
|
||||
echo '[' . date('Y-m-d H:i:s') . '] ERROR: ' . $e->getMessage() . "\n";
|
||||
$msg = $e->getMessage();
|
||||
echo '[' . date('Y-m-d H:i:s') . '] ERROR: ' . $msg . "\n";
|
||||
// Report to GitHub Issues (uses the same _phpErrorReport from index.php)
|
||||
_phpErrorReport($msg, $e->getFile(), $e->getLine(), $e->getTraceAsString(), get_class($e));
|
||||
exit(1);
|
||||
}
|
||||
|
||||
@@ -188,6 +188,7 @@ try {
|
||||
} catch (Exception $e) {
|
||||
http_response_code(500);
|
||||
echo json_encode(['error' => 'Database connection failed: ' . $e->getMessage()]);
|
||||
_phpErrorReport($e->getMessage(), $e->getFile(), $e->getLine(), $e->getTraceAsString(), get_class($e));
|
||||
exit;
|
||||
}
|
||||
|
||||
@@ -432,6 +433,7 @@ try {
|
||||
} catch (Exception $e) {
|
||||
http_response_code(500);
|
||||
echo json_encode(['error' => $e->getMessage()]);
|
||||
_phpErrorReport($e->getMessage(), $e->getFile(), $e->getLine(), $e->getTraceAsString(), get_class($e));
|
||||
}
|
||||
endif; // end !CRON_MODE
|
||||
|
||||
@@ -1652,6 +1654,7 @@ function undoTransaction(PDO $db): void {
|
||||
$db->rollBack();
|
||||
http_response_code(500);
|
||||
echo json_encode(['error' => 'DB error: ' . $e->getMessage()]);
|
||||
_phpErrorReport($e->getMessage(), $e->getFile(), $e->getLine(), $e->getTraceAsString(), get_class($e));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+2
@@ -94,6 +94,8 @@ class GatewayWebSocketServer(
|
||||
|
||||
override fun onError(conn: WebSocket?, ex: Exception) {
|
||||
Log.e(TAG, "WebSocket error on ${conn?.remoteSocketAddress}", ex)
|
||||
ErrorReporter.report(ex, "GatewayWebSocketServer.onError",
|
||||
mapOf("remote_addr" to (conn?.remoteSocketAddress?.toString() ?: "null")))
|
||||
}
|
||||
|
||||
// ─── Publishing API ────────────────────────────────────────────────────────
|
||||
|
||||
Reference in New Issue
Block a user