yaver-feedback-react-native 0.7.2 → 0.7.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -79,14 +79,19 @@ const YaverMachinePickerScreen = ({ token, currentDeviceId, onPick, onCancel, })
79
79
  };
80
80
  const renderDevice = (device) => {
81
81
  const selected = device.deviceId === currentDeviceId;
82
- // Match the Yaver mobile app: HEARTBEAT_STALE_MS is 90 s. Using
83
- // 60 s here flashed yellow on a single missed agent beat even
84
- // though the Mac was up.
85
- const stale = device.lastHeartbeat > 0 &&
86
- Date.now() - device.lastHeartbeat > 90000;
82
+ // Trust Convex's `isOnline` the backend already gates it on a
83
+ // fresh 90 s heartbeat (see backend/convex/devices.ts
84
+ // deriveIsOnline). Re-checking on the client produced false
85
+ // yellows from phone↔backend clock skew around the 89-90 s mark.
86
+ //
87
+ // `runnerDown` intentionally does NOT flip the dot. That flag
88
+ // tracks whether the AI runner (claude-code, aider, ...) is
89
+ // healthy — a separate concern from "can I reach this machine?"
90
+ // Mobile app surfaces runner issues via a separate badge, not
91
+ // this dot. Picker's job is reachability, nothing more.
87
92
  const healthColor = !device.isOnline
88
93
  ? '#ef4444'
89
- : device.needsAuth || device.runnerDown || stale
94
+ : device.needsAuth
90
95
  ? '#f59e0b'
91
96
  : '#22c55e';
92
97
  return (<react_native_1.TouchableOpacity key={device.deviceId} style={[styles.deviceRow, selected && styles.deviceSelected]} onPress={() => handlePick(device)}>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yaver-feedback-react-native",
3
- "version": "0.7.2",
3
+ "version": "0.7.3",
4
4
  "description": "Visual feedback SDK for Yaver — bug reports, screen recording, voice annotations, and local-first developer workflows",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -72,15 +72,19 @@ export const YaverMachinePickerScreen: React.FC<YaverMachinePickerProps> = ({
72
72
 
73
73
  const renderDevice = (device: RemoteDevice) => {
74
74
  const selected = device.deviceId === currentDeviceId;
75
- // Match the Yaver mobile app: HEARTBEAT_STALE_MS is 90 s. Using
76
- // 60 s here flashed yellow on a single missed agent beat even
77
- // though the Mac was up.
78
- const stale =
79
- device.lastHeartbeat > 0 &&
80
- Date.now() - device.lastHeartbeat > 90_000;
75
+ // Trust Convex's `isOnline` the backend already gates it on a
76
+ // fresh 90 s heartbeat (see backend/convex/devices.ts
77
+ // deriveIsOnline). Re-checking on the client produced false
78
+ // yellows from phone↔backend clock skew around the 89-90 s mark.
79
+ //
80
+ // `runnerDown` intentionally does NOT flip the dot. That flag
81
+ // tracks whether the AI runner (claude-code, aider, ...) is
82
+ // healthy — a separate concern from "can I reach this machine?"
83
+ // Mobile app surfaces runner issues via a separate badge, not
84
+ // this dot. Picker's job is reachability, nothing more.
81
85
  const healthColor = !device.isOnline
82
86
  ? '#ef4444'
83
- : device.needsAuth || device.runnerDown || stale
87
+ : device.needsAuth
84
88
  ? '#f59e0b'
85
89
  : '#22c55e';
86
90
  return (