yaver-feedback-react-native 0.9.0 → 0.9.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.
Files changed (144) hide show
  1. package/README.md +102 -1
  2. package/app.plugin.js +126 -9
  3. package/dist/AuthOverlay.d.ts +1 -14
  4. package/dist/AuthOverlay.js +9 -62
  5. package/dist/BlackBox.js +9 -1
  6. package/dist/DeployPanel.js +65 -0
  7. package/dist/Discovery.js +13 -8
  8. package/dist/DogfoodRuntime.d.ts +124 -0
  9. package/dist/DogfoodRuntime.js +273 -0
  10. package/dist/FeedbackModal.js +505 -65
  11. package/dist/LoginScreen.d.ts +1 -5
  12. package/dist/LoginScreen.js +2 -6
  13. package/dist/MachinePickerScreen.d.ts +1 -3
  14. package/dist/MachinePickerScreen.js +6 -18
  15. package/dist/P2PClient.d.ts +178 -2
  16. package/dist/P2PClient.js +493 -3
  17. package/dist/P2PDogfoodDriver.d.ts +12 -0
  18. package/dist/P2PDogfoodDriver.js +118 -0
  19. package/dist/PairDeviceModal.d.ts +2 -3
  20. package/dist/ShakeDetector.js +2 -0
  21. package/dist/VibeChatScreen.d.ts +11 -1
  22. package/dist/VibeChatScreen.js +200 -41
  23. package/dist/YaverFeedback.d.ts +132 -0
  24. package/dist/YaverFeedback.js +633 -65
  25. package/dist/YaverModeBadge.d.ts +22 -0
  26. package/dist/YaverModeBadge.js +219 -0
  27. package/dist/__tests__/AuthDevices.test.js +1 -48
  28. package/dist/__tests__/BlackBox.relayPassword.test.d.ts +1 -0
  29. package/dist/__tests__/BlackBox.relayPassword.test.js +105 -0
  30. package/dist/__tests__/BlackBoxAutoStart.test.d.ts +1 -0
  31. package/dist/__tests__/BlackBoxAutoStart.test.js +91 -0
  32. package/dist/__tests__/BlackBoxAutoStartColdStart.test.d.ts +1 -0
  33. package/dist/__tests__/BlackBoxAutoStartColdStart.test.js +156 -0
  34. package/dist/__tests__/BrowserLaneIcon.test.d.ts +3 -0
  35. package/dist/__tests__/BrowserLaneIcon.test.js +80 -0
  36. package/dist/__tests__/DogfoodRuntime.test.d.ts +1 -0
  37. package/dist/__tests__/DogfoodRuntime.test.js +116 -0
  38. package/dist/__tests__/P2PClient.test.js +2 -2
  39. package/dist/__tests__/P2PDogfoodDriver.test.d.ts +1 -0
  40. package/dist/__tests__/P2PDogfoodDriver.test.js +64 -0
  41. package/dist/__tests__/ReportIdentity.test.d.ts +25 -0
  42. package/dist/__tests__/ReportIdentity.test.js +180 -0
  43. package/dist/__tests__/SDKToken.test.js +1 -1
  44. package/dist/__tests__/ShakeToggle.test.d.ts +1 -0
  45. package/dist/__tests__/ShakeToggle.test.js +121 -0
  46. package/dist/__tests__/YaverFeedback.test.js +13 -3
  47. package/dist/__tests__/deviceDogfood.test.d.ts +1 -0
  48. package/dist/__tests__/deviceDogfood.test.js +86 -0
  49. package/dist/__tests__/dogfoodPolicy.test.d.ts +1 -0
  50. package/dist/__tests__/dogfoodPolicy.test.js +33 -0
  51. package/dist/__tests__/pickTargetDevice.test.d.ts +1 -0
  52. package/dist/__tests__/pickTargetDevice.test.js +89 -0
  53. package/dist/__tests__/reloadActions.test.d.ts +1 -0
  54. package/dist/__tests__/reloadActions.test.js +129 -0
  55. package/dist/__tests__/reloadActionsParity.test.d.ts +1 -0
  56. package/dist/__tests__/reloadActionsParity.test.js +42 -0
  57. package/dist/__tests__/types.test.js +5 -5
  58. package/dist/_core/ansi.d.ts +117 -0
  59. package/dist/_core/ansi.js +468 -0
  60. package/dist/_core/ansi.test.d.ts +1 -0
  61. package/dist/_core/ansi.test.js +225 -0
  62. package/dist/_core/buildFeedbackPrompt.d.ts +4 -9
  63. package/dist/_core/buildFeedbackPrompt.js +18 -72
  64. package/dist/_core/constants.d.ts +19 -6
  65. package/dist/_core/constants.js +20 -7
  66. package/dist/_core/device.d.ts +1 -5
  67. package/dist/_core/device.js +5 -14
  68. package/dist/_core/endpoints.d.ts +0 -7
  69. package/dist/_core/endpoints.js +0 -7
  70. package/dist/_core/index.d.ts +4 -0
  71. package/dist/_core/index.js +4 -0
  72. package/dist/_core/remoteless.d.ts +44 -0
  73. package/dist/_core/remoteless.js +75 -0
  74. package/dist/_core/trace.d.ts +47 -0
  75. package/dist/_core/trace.js +38 -0
  76. package/dist/_core/trace.test.d.ts +1 -0
  77. package/dist/_core/trace.test.js +60 -0
  78. package/dist/auth.d.ts +3 -60
  79. package/dist/auth.js +6 -88
  80. package/dist/deviceDogfood.d.ts +53 -0
  81. package/dist/deviceDogfood.js +137 -0
  82. package/dist/dogfoodPolicy.d.ts +25 -0
  83. package/dist/dogfoodPolicy.js +24 -0
  84. package/dist/index.d.ts +17 -4
  85. package/dist/index.js +33 -7
  86. package/dist/reloadActions.d.ts +88 -0
  87. package/dist/reloadActions.js +200 -0
  88. package/dist/storeShots.d.ts +67 -0
  89. package/dist/storeShots.js +137 -0
  90. package/dist/types.d.ts +208 -8
  91. package/package.json +13 -4
  92. package/src/AuthOverlay.tsx +20 -106
  93. package/src/BlackBox.ts +10 -1
  94. package/src/DeployPanel.tsx +74 -0
  95. package/src/Discovery.ts +13 -8
  96. package/src/DogfoodRuntime.ts +373 -0
  97. package/src/FeedbackModal.tsx +619 -79
  98. package/src/LoginScreen.tsx +2 -22
  99. package/src/MachinePickerScreen.tsx +6 -21
  100. package/src/P2PClient.ts +580 -4
  101. package/src/P2PDogfoodDriver.ts +132 -0
  102. package/src/PairDeviceModal.tsx +2 -3
  103. package/src/ShakeDetector.ts +1 -0
  104. package/src/VibeChatScreen.tsx +232 -42
  105. package/src/YaverFeedback.ts +631 -68
  106. package/src/YaverModeBadge.tsx +234 -0
  107. package/src/__tests__/AuthDevices.test.ts +1 -52
  108. package/src/__tests__/BlackBox.relayPassword.test.ts +129 -0
  109. package/src/__tests__/BlackBoxAutoStart.test.ts +111 -0
  110. package/src/__tests__/BlackBoxAutoStartColdStart.test.ts +191 -0
  111. package/src/__tests__/BrowserLaneIcon.test.ts +85 -0
  112. package/src/__tests__/DogfoodRuntime.test.ts +135 -0
  113. package/src/__tests__/P2PClient.test.ts +2 -2
  114. package/src/__tests__/P2PDogfoodDriver.test.ts +80 -0
  115. package/src/__tests__/ReportIdentity.test.ts +212 -0
  116. package/src/__tests__/SDKToken.test.ts +1 -1
  117. package/src/__tests__/ShakeToggle.test.ts +153 -0
  118. package/src/__tests__/YaverFeedback.test.ts +15 -3
  119. package/src/__tests__/deviceDogfood.test.ts +77 -0
  120. package/src/__tests__/dogfoodPolicy.test.ts +34 -0
  121. package/src/__tests__/pickTargetDevice.test.ts +101 -0
  122. package/src/__tests__/reloadActions.test.ts +171 -0
  123. package/src/__tests__/reloadActionsParity.test.ts +49 -0
  124. package/src/__tests__/types.test.ts +5 -5
  125. package/src/_core/ansi.test.ts +250 -0
  126. package/src/_core/ansi.ts +475 -0
  127. package/src/_core/buildFeedbackPrompt.ts +18 -95
  128. package/src/_core/constants.ts +20 -6
  129. package/src/_core/device.ts +5 -16
  130. package/src/_core/endpoints.ts +0 -7
  131. package/src/_core/index.ts +4 -0
  132. package/src/_core/remoteless.ts +110 -0
  133. package/src/_core/trace.test.ts +58 -0
  134. package/src/_core/trace.ts +75 -0
  135. package/src/auth.ts +7 -156
  136. package/src/deviceDogfood.ts +171 -0
  137. package/src/dogfoodPolicy.ts +40 -0
  138. package/src/index.ts +61 -11
  139. package/src/reloadActions.ts +273 -0
  140. package/src/storeShots.ts +189 -0
  141. package/src/types.ts +209 -8
  142. package/dist/GuestOnboardingScreen.d.ts +0 -8
  143. package/dist/GuestOnboardingScreen.js +0 -282
  144. package/src/GuestOnboardingScreen.tsx +0 -307
@@ -113,11 +113,9 @@ const iconStyles = StyleSheet.create({
113
113
 
114
114
  export interface YaverLoginScreenProps {
115
115
  /** Invoked once a session token is issued and the user is loaded. */
116
- onLoggedIn: (token: string, opts?: { inviteCode?: string }) => void;
116
+ onLoggedIn: (token: string) => void;
117
117
  /** Optional cancel button shown in header. */
118
118
  onCancel?: () => void;
119
- /** Optional prefilled guest invite code from config / deep link. */
120
- initialInviteCode?: string;
121
119
  }
122
120
 
123
121
  /**
@@ -128,7 +126,6 @@ export interface YaverLoginScreenProps {
128
126
  export const YaverLoginScreen: React.FC<YaverLoginScreenProps> = ({
129
127
  onLoggedIn,
130
128
  onCancel,
131
- initialInviteCode,
132
129
  }) => {
133
130
  const [busyProvider, setBusyProvider] = useState<OAuthProvider | 'apple' | null>(null);
134
131
  const [showEmailForm, setShowEmailForm] = useState(false);
@@ -137,7 +134,6 @@ export const YaverLoginScreen: React.FC<YaverLoginScreenProps> = ({
137
134
  const [email, setEmail] = useState('');
138
135
  const [password, setPassword] = useState('');
139
136
  const [confirmPassword, setConfirmPassword] = useState('');
140
- const [inviteCode, setInviteCode] = useState((initialInviteCode ?? '').toUpperCase());
141
137
  const [emailBusy, setEmailBusy] = useState(false);
142
138
  const [emailError, setEmailError] = useState('');
143
139
 
@@ -145,8 +141,7 @@ export const YaverLoginScreen: React.FC<YaverLoginScreenProps> = ({
145
141
  const user = await validateToken(token);
146
142
  await saveToken(token);
147
143
  if (user) await saveUser(user);
148
- const cleanedInviteCode = inviteCode.toUpperCase().replace(/[^A-Z0-9]/g, '').slice(0, 6);
149
- onLoggedIn(token, cleanedInviteCode ? { inviteCode: cleanedInviteCode } : undefined);
144
+ onLoggedIn(token);
150
145
  };
151
146
 
152
147
  const handleApple = async () => {
@@ -330,21 +325,6 @@ export const YaverLoginScreen: React.FC<YaverLoginScreenProps> = ({
330
325
  secureTextEntry
331
326
  />
332
327
  )}
333
- {isSignUp && (
334
- <TextInput
335
- style={styles.input}
336
- placeholder="Invite Code (optional)"
337
- placeholderTextColor="#666"
338
- value={inviteCode}
339
- onChangeText={(value) =>
340
- setInviteCode(value.toUpperCase().replace(/[^A-Z0-9]/g, '').slice(0, 6))
341
- }
342
- autoCapitalize="characters"
343
- autoCorrect={false}
344
- maxLength={6}
345
- />
346
- )}
347
-
348
328
  {emailError ? (
349
329
  <Text style={styles.errorText}>{emailError}</Text>
350
330
  ) : null}
@@ -28,9 +28,7 @@ export interface YaverMachinePickerProps {
28
28
  }
29
29
 
30
30
  /**
31
- * List of remote dev machines the signed-in user can reach. Split into
32
- * - Owned machines (user is the host)
33
- * - Shared machines (host invited them as a guest)
31
+ * List of remote dev machines owned by the signed-in user.
34
32
  *
35
33
  * Tapping a device persists it to AsyncStorage and invokes `onPick`. The
36
34
  * SDK then uses that device's deviceId for agent discovery (LAN probe +
@@ -45,7 +43,7 @@ export const YaverMachinePickerScreen: React.FC<YaverMachinePickerProps> = ({
45
43
  const [loading, setLoading] = useState(true);
46
44
  const [refreshing, setRefreshing] = useState(false);
47
45
  const [error, setError] = useState<string | null>(null);
48
- const [list, setList] = useState<DeviceList>({ owned: [], shared: [] });
46
+ const [list, setList] = useState<DeviceList>({ owned: [] });
49
47
  const [pairingDevice, setPairingDevice] = useState<RemoteDevice | null>(null);
50
48
  const [reachability, setReachability] = useState<Record<string, DeviceReachability | undefined>>({});
51
49
 
@@ -57,7 +55,7 @@ export const YaverMachinePickerScreen: React.FC<YaverMachinePickerProps> = ({
57
55
  setList(result);
58
56
  setReachability({});
59
57
  void (async () => {
60
- const devices = [...result.owned, ...result.shared];
58
+ const devices = result.owned;
61
59
  const settled = await Promise.allSettled(
62
60
  devices.map(async (device) => ({
63
61
  deviceId: device.deviceId,
@@ -74,10 +72,8 @@ export const YaverMachinePickerScreen: React.FC<YaverMachinePickerProps> = ({
74
72
  return next;
75
73
  });
76
74
  })();
77
- if (result.owned.length === 0 && result.shared.length === 0) {
78
- setError(
79
- 'No machines found yet. If you do not have your own computer, redeem a host invite code first. Otherwise run `yaver auth` + `yaver serve` on your machine.',
80
- );
75
+ if (result.owned.length === 0) {
76
+ setError('No machines found yet. Run `yaver auth` + `yaver serve` on your machine.');
81
77
  }
82
78
  } catch (err) {
83
79
  setError(err instanceof Error ? err.message : String(err));
@@ -158,13 +154,8 @@ export const YaverMachinePickerScreen: React.FC<YaverMachinePickerProps> = ({
158
154
  } else if (device.runnerDown) {
159
155
  statusLine = 'Runner down — restart the coding agent on the Mac';
160
156
  } else {
161
- // Happy-path subtitle: platform + optional host/share hint.
157
+ // Happy-path subtitle.
162
158
  statusLine = device.platform;
163
- if (device.isGuest && device.hostEmail) {
164
- statusLine = `${statusLine} • ${device.hostEmail}`;
165
- } else if (device.accessScope === 'shared-scoped') {
166
- statusLine = `${statusLine} • paylaşılan`;
167
- }
168
159
  }
169
160
  return (
170
161
  <TouchableOpacity
@@ -216,12 +207,6 @@ export const YaverMachinePickerScreen: React.FC<YaverMachinePickerProps> = ({
216
207
  {list.owned.map(renderDevice)}
217
208
  </View>
218
209
  )}
219
- {list.shared.length > 0 && (
220
- <View style={styles.section}>
221
- <Text style={styles.sectionTitle}>Paylaşılan (guest)</Text>
222
- {list.shared.map(renderDevice)}
223
- </View>
224
- )}
225
210
  {error && <Text style={styles.error}>{error}</Text>}
226
211
  </>
227
212
  )}