The desk's replies no longer ring the bell: reports and players' answers do, the desk's own mail does not
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Jm2auWk6RP71CjaAb4FMoG
This commit is contained in:
co-authored by
Claude Fable 5.1
parent
35d805fda3
commit
f68b3cef06
@@ -24,8 +24,9 @@ One JSONL line per entry:
|
||||
word back, sent from their lobby under the desk's reply.
|
||||
A report is ANSWERED when the LAST line under it is the desk's; a
|
||||
player's answer reopens it. Never re-answer a settled one unless Eric
|
||||
asks for a revision. Every report, answer, and desk reply rings a
|
||||
Sentry issue on Eric's phone (fingerprinted per report or per line).
|
||||
asks for a revision. Every report and every player's answer rings a
|
||||
Sentry issue on Eric's phone (fingerprinted per report or per line);
|
||||
the desk's own replies ring nothing — Eric watches them go out here.
|
||||
|
||||
- Picture: `{reportId, image: "<id>.png", at}` — the player attached a
|
||||
screenshot; the file is `/var/lib/wizwar/feedback-images/<id>.<ext>`.
|
||||
|
||||
@@ -17,21 +17,3 @@ console.log(JSON.stringify({
|
||||
text: process.env.TEXT,
|
||||
}));')
|
||||
printf '%s\n' "$LINE" | ssh "root@$HOST" 'cat >> /var/lib/wizwar/feedback.jsonl && tail -1 /var/lib/wizwar/feedback.jsonl'
|
||||
# The desk's bell rings for the reply too, so Eric sees the exchange move:
|
||||
# an event straight to Sentry from the droplet, with the DSN the service holds.
|
||||
ssh "root@$HOST" "REPORT_ID='$REPORT_ID' STATUS='$STATUS' TEXT=\"\$(cat)\" python3 - <<'PY'
|
||||
import json, os, re, uuid, urllib.request, datetime
|
||||
svc = open('/etc/systemd/system/wizwar.service').read()
|
||||
m = re.search(r'SENTRY_DSN=https://([0-9a-f]+)@([^/]+)/(\\d+)', svc)
|
||||
if not m: raise SystemExit(0)
|
||||
key, host, project = m.groups()
|
||||
text = os.environ['TEXT']; rid = os.environ['REPORT_ID']; status = os.environ['STATUS']
|
||||
now = datetime.datetime.now(datetime.UTC).isoformat()
|
||||
event = {'event_id': uuid.uuid4().hex, 'timestamp': now, 'level': 'error', 'platform': 'other',
|
||||
'message': {'formatted': f'Desk replies on report {rid} ({status}): {text[:100]}'}, 'fingerprint': ['report-reply', rid, now],
|
||||
'tags': {'report': rid, 'status': status}, 'extra': {'text': text}}
|
||||
body = json.dumps({'event_id': event['event_id'], 'sent_at': event['timestamp']}) + '\\n' + json.dumps({'type': 'event'}) + '\\n' + json.dumps(event)
|
||||
req = urllib.request.Request(f'https://{host}/api/{project}/envelope/', data=body.encode(), headers={'Content-Type': 'application/x-sentry-envelope', 'X-Sentry-Auth': f'Sentry sentry_version=7, sentry_client=wizwar-desk/1, sentry_key={key}'})
|
||||
try: urllib.request.urlopen(req, timeout=10); print('bell rung')
|
||||
except Exception as e: print('bell failed:', e)
|
||||
PY" <<< "$TEXT"
|
||||
|
||||
Reference in New Issue
Block a user