fixes: timeAgo utc parse, reload clears unread, sync-event debug
- detail banner timeAgo: SQLite timestamps are UTC without tz marker, JS was parsing them as local. Fixed by appending Z when absent — same pattern chat uses. "2h ago" for a 30s-old update is gone. - banner Reload button now re-fires detail.opened so the collab-buckets plugin clears the red dot on the board card and calls mark-card-seen. Dismiss (×) still leaves the dot — that's the acknowledgement that nothing was actually read. - instrument /api/relay/poll with a sync_debug field so the JS can console.debug what happened on the sync-events sub-request (status, count, error body). Helps diagnose "no toast" reports. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
1966f8f4c0
commit
4a668b7fc4
5 files changed
+26
-4
No files matched your search
+8
-1
@@ -961,6 +961,7 @@ if (str_starts_with($route, '/api/')) {
|
||||
// them. GET /api/sync-events on the relay auto-marks fetched events.
|
||||
// Best-effort — older relays won't have the endpoint.
|
||||
$syncEvents = [];
|
||||
$syncDebug = ['requested' => true];
|
||||
$sch = curl_init(rtrim($relayUrl, '/') . '/api/sync-events');
|
||||
curl_setopt_array($sch, [
|
||||
CURLOPT_RETURNTRANSFER => true,
|
||||
@@ -970,14 +971,20 @@ if (str_starts_with($route, '/api/')) {
|
||||
$sResp = curl_exec($sch);
|
||||
$sStatus = curl_getinfo($sch, CURLINFO_HTTP_CODE);
|
||||
curl_close($sch);
|
||||
$syncDebug['status'] = $sStatus;
|
||||
if ($sStatus === 200) {
|
||||
$decoded = json_decode($sResp, true);
|
||||
if (is_array($decoded) && isset($decoded['events'])) {
|
||||
$syncEvents = $decoded['events'];
|
||||
$syncDebug['count'] = count($syncEvents);
|
||||
} else {
|
||||
$syncDebug['parse_error'] = substr((string)$sResp, 0, 200);
|
||||
}
|
||||
} else {
|
||||
$syncDebug['body'] = substr((string)$sResp, 0, 200);
|
||||
}
|
||||
|
||||
echo json_encode(['ok' => true, 'pulled' => $pulled, 'sync_events' => $syncEvents]); exit;
|
||||
echo json_encode(['ok' => true, 'pulled' => $pulled, 'sync_events' => $syncEvents, 'sync_debug' => $syncDebug]); exit;
|
||||
}
|
||||
|
||||
// List relay tenants (for the recipient picker)
|
||||
|
||||
Reference in new issue
Block a user