@parlr/react-native 0.1.2 → 0.1.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.
package/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  <p align="center">
8
8
  <strong>The official Parlr live chat SDK for React Native.</strong><br />
9
- Add real-time customer messaging to your mobile app in under 5 minutes.
9
+ Add real-time customer messaging to your iOS &amp; Android app in minutes.
10
10
  </p>
11
11
 
12
12
  <p align="center">
@@ -20,32 +20,37 @@
20
20
  <a href="#quick-start">Quick Start</a> &bull;
21
21
  <a href="#components">Components</a> &bull;
22
22
  <a href="#hooks">Hooks</a> &bull;
23
+ <a href="#user-identification">User Identification</a> &bull;
23
24
  <a href="#theming">Theming</a> &bull;
24
25
  <a href="#api-reference">API Reference</a> &bull;
25
- <a href="https://parlr.chat/docs/sdk/react-native">Full Docs</a>
26
+ <a href="#changelog">Changelog</a>
26
27
  </p>
27
28
 
28
29
  ---
29
30
 
30
- ## Why Parlr?
31
-
32
- Parlr is a modern B2B live chat platform. This SDK gives your React Native app:
33
-
34
- - **Real-time messaging** via WebSocket with automatic reconnection
35
- - **Optimistic UI** &mdash; messages appear instantly, sync in the background
36
- - **Typing indicators**, read receipts, and delivery status
37
- - **Pre-built UI components** that match your app's theme
38
- - **Pre-chat forms** to collect visitor info before the first message
39
- - **CSAT surveys** after conversation resolution
40
- - **File attachments** (images, documents)
41
- - **Rich messages** (cards, carousels, quick replies)
42
- - **Offline queue** with automatic retry when connectivity returns
43
- - **Push notifications** (FCM / APNs)
44
- - **Automatic device metadata** &mdash; platform, OS version, screen resolution, locale, timezone collected and sent to your dashboard
45
- - **HMAC identity verification** for secure user identification
46
- - **Dark mode** with automatic system detection
47
- - **TypeScript-first** with complete type definitions
48
- - **Tiny footprint** &mdash; ~160 KB published, 1 runtime dependency
31
+ ## Features
32
+
33
+ | Feature | Description |
34
+ |---|---|
35
+ | **Real-time messaging** | WebSocket with automatic reconnection and exponential backoff |
36
+ | **Optimistic UI** | Messages appear instantly, sync in the background |
37
+ | **Typing indicators** | Show when agents are typing, send visitor typing events |
38
+ | **Read receipts** | Delivery status tracking (`sending` &rarr; `sent` &rarr; `read`) |
39
+ | **Pre-built UI components** | Drop-in `<ParlrChat>` and `<ParlrConversationList>` |
40
+ | **Pre-chat forms** | Collect visitor info (name, email, phone) before the first message |
41
+ | **CSAT surveys** | Satisfaction rating after conversation resolution |
42
+ | **File attachments** | Images and documents via `expo-image-picker` / `expo-document-picker` |
43
+ | **Rich messages** | Cards, carousels, quick replies rendered natively |
44
+ | **Offline queue** | Messages are queued and retried when connectivity returns |
45
+ | **Push notifications** | FCM (Android) and APNs (iOS) support |
46
+ | **Device metadata** | Platform, OS, screen size, locale, timezone &mdash; sent automatically |
47
+ | **User identification** | Flexible: `name`, `firstName`/`lastName`, `email`, `externalId` |
48
+ | **HMAC verification** | Prevent contact impersonation with server-side tokens |
49
+ | **Dark mode** | Automatic system detection + full theme customization |
50
+ | **TypeScript-first** | Complete type definitions for all APIs, hooks, and components |
51
+ | **Tiny footprint** | ~160 KB published size, 1 runtime dependency (`axios`) |
52
+
53
+ Works with **Expo** (managed & bare) and **bare React Native** projects.
49
54
 
50
55
  ---
51
56
 
@@ -53,13 +58,11 @@ Parlr is a modern B2B live chat platform. This SDK gives your React Native app:
53
58
 
54
59
  ```bash
55
60
  npm install @parlr/react-native
56
- ```
57
-
58
- ```bash
61
+ # or
59
62
  yarn add @parlr/react-native
60
63
  ```
61
64
 
62
- ### Peer dependencies
65
+ ### Required peer dependency
63
66
 
64
67
  ```bash
65
68
  npm install react-native-reanimated
@@ -68,27 +71,25 @@ npm install react-native-reanimated
68
71
  ### Optional dependencies
69
72
 
70
73
  ```bash
71
- # Recommended: secure session persistence
74
+ # Secure session persistence (recommended)
72
75
  npm install expo-secure-store
73
76
 
74
- # For file/image attachments
77
+ # File & image attachments
75
78
  npm install expo-image-picker expo-document-picker
76
79
  ```
77
80
 
78
- > Without `expo-secure-store`, sessions are stored in memory only and won't survive app restarts.
79
-
80
- ### Compatibility
81
+ > **Note:** Without `expo-secure-store`, sessions are stored in memory and won't persist across app restarts. Users will get a new session each time.
81
82
 
82
- | Dependency | Minimum version |
83
- |---|---|
84
- | `react` | 18.0.0 |
85
- | `react-native` | 0.72.0 |
86
- | `react-native-reanimated` | 3.0.0 |
87
- | `expo-secure-store` | 13.0.0 *(optional)* |
88
- | `expo-image-picker` | 15.0.0 *(optional)* |
89
- | `expo-document-picker` | 12.0.0 *(optional)* |
83
+ ### Compatibility matrix
90
84
 
91
- Works with **Expo** and **bare React Native** projects.
85
+ | Package | Minimum version | Required |
86
+ |---|---|---|
87
+ | `react` | 18.0.0 | Yes |
88
+ | `react-native` | 0.72.0 | Yes |
89
+ | `react-native-reanimated` | 3.0.0 | Yes |
90
+ | `expo-secure-store` | 13.0.0 | No |
91
+ | `expo-image-picker` | 15.0.0 | No |
92
+ | `expo-document-picker` | 12.0.0 | No |
92
93
 
93
94
  ---
94
95
 
@@ -108,7 +109,7 @@ export default function App() {
108
109
  }
109
110
  ```
110
111
 
111
- ### 2. Drop in the chat screen
112
+ ### 2. Add the chat screen
112
113
 
113
114
  ```tsx
114
115
  import { ParlrChat } from '@parlr/react-native';
@@ -116,7 +117,11 @@ import { ParlrChat } from '@parlr/react-native';
116
117
  function SupportScreen({ navigation }) {
117
118
  return (
118
119
  <ParlrChat
119
- user={{ email: 'alice@acme.com', name: 'Alice' }}
120
+ user={{
121
+ email: 'alice@acme.com',
122
+ firstName: 'Alice',
123
+ lastName: 'Martin',
124
+ }}
120
125
  onBack={() => navigation.goBack()}
121
126
  />
122
127
  );
@@ -148,7 +153,7 @@ function SupportButton() {
148
153
 
149
154
  ### `<ParlrProvider>`
150
155
 
151
- Root wrapper that initializes the SDK. Place it near the top of your component tree.
156
+ Root wrapper that initializes the SDK, manages the session, and opens the WebSocket connection. Place it near the top of your component tree (above any screen that uses Parlr hooks or components).
152
157
 
153
158
  ```tsx
154
159
  <ParlrProvider
@@ -164,27 +169,31 @@ Root wrapper that initializes the SDK. Place it near the top of your component t
164
169
 
165
170
  | Prop | Type | Default | Description |
166
171
  |---|---|---|---|
167
- | `workspaceId` | `string` | *required* | Your Parlr workspace ID |
172
+ | `workspaceId` | `string` | *required* | Your Parlr workspace ID (find it in **Settings > Channels > Mobile SDK**) |
168
173
  | `apiBaseUrl` | `string` | `https://api.parlr.chat/api/v1/widget` | REST API base URL |
169
174
  | `wsUrl` | `string` | `wss://ws.parlr.chat/ws` | WebSocket endpoint |
170
- | `locale` | `string` | `"fr"` | BCP-47 locale (`"fr"` or `"en"`) |
171
- | `debug` | `boolean` | `false` | Enable verbose console logging |
172
- | `theme` | `Partial<ParlrTheme>` | auto | Theme overrides (see [Theming](#theming)) |
173
- | `identityToken` | `string` | &mdash; | HMAC token for identity verification |
174
- | `onError` | `(error: ParlrError) => void` | &mdash; | Global error callback |
175
+ | `locale` | `string` | `"fr"` | BCP-47 locale code (`"fr"`, `"en"`, `"es"`, `"de"`, `"ar"`) |
176
+ | `debug` | `boolean` | `false` | Enable verbose console logging (API calls, WS events, session lifecycle) |
177
+ | `theme` | `Partial<ParlrTheme>` | auto | Theme overrides merged with system light/dark theme (see [Theming](#theming)) |
178
+ | `identityToken` | `string` | &mdash; | HMAC token for secure identity verification (see [HMAC Verification](#identity-verification-hmac)) |
179
+ | `onError` | `(error: ParlrError) => void` | &mdash; | Global error callback for monitoring |
175
180
 
176
181
  ---
177
182
 
178
183
  ### `<ParlrChat>`
179
184
 
180
- Full-featured chat screen. Handles everything: session, WebSocket, messages, input, typing indicators, attachments, CSAT.
185
+ Full-featured chat screen. Handles session initialization, WebSocket, message sending/receiving, typing indicators, attachments, and CSAT surveys &mdash; all in one component.
181
186
 
182
187
  ```tsx
183
188
  <ParlrChat
184
- user={{ email: 'alice@acme.com', name: 'Alice' }}
185
- conversationId="conv_123" // optional: resume existing conversation
189
+ user={{
190
+ email: 'alice@acme.com',
191
+ firstName: 'Alice',
192
+ lastName: 'Martin',
193
+ company: 'Acme Inc',
194
+ }}
186
195
  onBack={() => navigation.goBack()}
187
- headerTitle="Support"
196
+ headerTitle="Help & Support"
188
197
  showPreChatForm={true}
189
198
  preChatFields={['name', 'email']}
190
199
  showSatisfactionSurvey={true}
@@ -193,25 +202,25 @@ Full-featured chat screen. Handles everything: session, WebSocket, messages, inp
193
202
 
194
203
  | Prop | Type | Default | Description |
195
204
  |---|---|---|---|
196
- | `user` | `ParlrUser` | &mdash; | Identify the user on mount |
197
- | `conversationId` | `string` | &mdash; | Resume an existing conversation |
198
- | `onBack` | `() => void` | &mdash; | Back button handler (shows arrow if provided) |
205
+ | `user` | [`ParlrUser`](#parlruser) | &mdash; | Identify the user on mount (see [User Identification](#user-identification)) |
206
+ | `conversationId` | `string` | &mdash; | Resume an existing conversation (omit to start fresh) |
207
+ | `onBack` | `() => void` | &mdash; | Back button handler (shows back arrow when provided) |
199
208
  | `headerTitle` | `string` | `"Support"` | Header bar title |
200
- | `placeholder` | `string` | `"Write a message..."` | Input placeholder |
209
+ | `placeholder` | `string` | `"Write a message..."` | Input placeholder text |
201
210
  | `accentColor` | `string` | `theme.colors.primary` | Accent color override |
202
- | `showHeader` | `boolean` | `true` | Show/hide header bar |
203
- | `showPreChatForm` | `boolean` | `false` | Collect user info before first message |
204
- | `preChatFields` | `Array<'name' \| 'email' \| 'phone'>` | `['name', 'email']` | Pre-chat form fields |
205
- | `showSatisfactionSurvey` | `boolean` | `true` | Show CSAT after conversation closes |
206
- | `onConversationClosed` | `() => void` | &mdash; | Callback when conversation is closed |
211
+ | `showHeader` | `boolean` | `true` | Show/hide the header bar |
212
+ | `showPreChatForm` | `boolean` | `false` | Collect user info before the first message |
213
+ | `preChatFields` | `Array<'name' \| 'email' \| 'phone'>` | `['name', 'email']` | Which fields to show in the pre-chat form |
214
+ | `showSatisfactionSurvey` | `boolean` | `true` | Show CSAT survey after conversation closes |
215
+ | `onConversationClosed` | `() => void` | &mdash; | Callback fired when a conversation is closed |
207
216
 
208
- **Built-in features:** online/offline status, three-dot menu (close/reopen), optimistic send, agent typing indicator, attachment picker with preview, pagination (load older messages), auto-scroll, closed conversation banner, CSAT survey.
217
+ **Built-in features:** online/offline status indicator, three-dot menu (close/reopen), optimistic message sending, agent typing animation, attachment picker with preview, message pagination (infinite scroll), auto-scroll to latest, closed conversation banner, CSAT star rating.
209
218
 
210
219
  ---
211
220
 
212
221
  ### `<ParlrConversationList>`
213
222
 
214
- Displays a list of conversations with last message preview, unread badges, and status.
223
+ Displays a list of conversations with last message preview, unread badges, assignee avatar, and status indicator.
215
224
 
216
225
  ```tsx
217
226
  <ParlrConversationList
@@ -223,10 +232,10 @@ Displays a list of conversations with last message preview, unread badges, and s
223
232
 
224
233
  | Prop | Type | Default | Description |
225
234
  |---|---|---|---|
226
- | `onSelectConversation` | `(id: string) => void` | *required* | Tap on a conversation |
235
+ | `onSelectConversation` | `(id: string) => void` | *required* | Callback when tapping a conversation |
227
236
  | `onNewConversation` | `() => void` | &mdash; | "New conversation" button handler |
228
237
  | `headerTitle` | `string` | `"Conversations"` | Header title |
229
- | `statusFilter` | `'open' \| 'closed' \| 'pending'` | &mdash; | Filter by status |
238
+ | `statusFilter` | `'open' \| 'closed' \| 'pending'` | &mdash; | Filter conversations by status |
230
239
  | `showHeader` | `boolean` | `true` | Show/hide header |
231
240
  | `accentColor` | `string` | `"#6366f1"` | Accent color |
232
241
 
@@ -234,21 +243,19 @@ Displays a list of conversations with last message preview, unread badges, and s
234
243
 
235
244
  ### Lower-level components
236
245
 
237
- These are used internally by `ParlrChat` but are exported for custom UIs:
246
+ These are used internally by `ParlrChat` but are exported for building custom UIs:
238
247
 
239
248
  | Component | Description |
240
249
  |---|---|
241
250
  | `<ChatBubble message={msg} />` | Single message bubble (agent left, contact right) |
242
251
  | `<TypingIndicator />` | Animated three-dot typing indicator |
243
- | `<EmptyState />` | Welcome screen when no messages exist |
244
- | `<PreChatForm onSubmit={fn} />` | Pre-chat information form |
245
- | `<SatisfactionSurvey onSubmit={fn} />` | CSAT 1-5 star survey |
246
- | `<AttachmentPicker onFilePicked={fn} />` | Photo/camera/file picker |
247
- | `<AttachmentPreview file={f} onSend={fn} />` | Preview before sending |
252
+ | `<EmptyState />` | Welcome screen shown when no messages exist |
253
+ | `<PreChatForm onSubmit={fn} />` | Pre-chat information collection form |
254
+ | `<SatisfactionSurvey onSubmit={fn} />` | CSAT 1&ndash;5 star rating survey |
255
+ | `<AttachmentPicker onFilePicked={fn} />` | Photo / camera / document file picker |
256
+ | `<AttachmentPreview file={f} onSend={fn} />` | Attachment preview before sending |
248
257
  | `<RichMessage content={rich} />` | Cards, carousels, quick replies |
249
258
 
250
- See the [API Reference](#api-reference) for full prop tables.
251
-
252
259
  ---
253
260
 
254
261
  ## Hooks
@@ -259,20 +266,24 @@ Access SDK state from any component inside `<ParlrProvider>`.
259
266
 
260
267
  ```tsx
261
268
  const {
262
- isReady, // SDK initialized
263
- isConnected, // WebSocket connected
264
- session, // Current JWT session
265
- conversations, // All conversations
266
- unreadCount, // Total unread messages
267
- identify, // Identify or update user
268
- refreshConversations, // Force refresh
269
- theme, // Resolved theme
269
+ isReady, // true when SDK is initialized and session is active
270
+ isConnected, // true when WebSocket is connected
271
+ session, // Current session (token, contactId, workspaceId)
272
+ conversations, // All conversations for this contact
273
+ unreadCount, // Total unread messages across all conversations
274
+ identify, // Identify or update the current user
275
+ refreshConversations, // Force-refresh the conversation list
276
+ theme, // Resolved theme (light/dark + user overrides)
270
277
  } = useParlr();
278
+ ```
271
279
 
272
- // Identify a user
280
+ **Identifying a user:**
281
+
282
+ ```tsx
273
283
  await identify({
274
284
  email: 'alice@acme.com',
275
- name: 'Alice Martin',
285
+ firstName: 'Alice',
286
+ lastName: 'Martin',
276
287
  company: 'Acme Inc',
277
288
  customAttributes: { plan: 'pro', mrr: 299 },
278
289
  });
@@ -286,41 +297,142 @@ Manage a single conversation with real-time updates.
286
297
 
287
298
  ```tsx
288
299
  const {
289
- messages, // Messages (oldest first)
290
- isLoading, // Initial load in progress
291
- hasError, // Error occurred
292
- conversation, // Active conversation
293
- agentTyping, // Agent is typing (auto-clears after 5s)
294
- sendMessage, // Send a text message (optimistic)
295
- retryMessage, // Retry a failed message
296
- notifyTyping, // Send typing indicator (debounced 3s)
297
- loadMore, // Load older messages
298
- hasMore, // More pages available
300
+ messages, // Message array (oldest first)
301
+ isLoading, // true during initial load
302
+ hasError, // true if an error occurred
303
+ conversation, // Active conversation metadata
304
+ agentTyping, // true when an agent is typing (auto-clears after 5s)
305
+ sendMessage, // Send a text message (appears instantly via optimistic UI)
306
+ retryMessage, // Retry a failed message by clientId
307
+ notifyTyping, // Send typing indicator to the server (debounced 3s)
308
+ loadMore, // Load older messages (pagination)
309
+ hasMore, // true if more pages are available
299
310
  closeConversation, // Close the conversation
300
311
  reopenConversation, // Reopen a closed conversation
301
312
  } = useChat(conversationId);
313
+ ```
302
314
 
303
- // Send a message (appears instantly, syncs in background)
315
+ **Sending messages:**
316
+
317
+ ```tsx
318
+ // Appears instantly with status "sending", then updates to "sent" on server confirmation
304
319
  await sendMessage('Hello, I need help with my order');
305
320
 
306
321
  // Retry a failed message
307
322
  const failed = messages.find(m => m.status === 'failed');
308
- if (failed?.clientId) await retryMessage(failed.clientId);
323
+ if (failed?.clientId) {
324
+ await retryMessage(failed.clientId);
325
+ }
326
+ ```
327
+
328
+ **How optimistic sending works:**
329
+
330
+ 1. `sendMessage()` inserts the message locally with status `sending`
331
+ 2. The REST API is called in the background
332
+ 3. On success &rarr; status updates to `sent`
333
+ 4. On failure &rarr; status updates to `failed` (retryable up to 3 times with exponential backoff: 1s, 2s, 4s)
334
+ 5. When the same message arrives via WebSocket, it's deduplicated by `clientId`
335
+ 6. If no `conversationId` is provided, a new conversation is created automatically on the first `sendMessage()`
336
+
337
+ ---
338
+
339
+ ## User Identification
340
+
341
+ The SDK supports flexible user identification through the `ParlrUser` interface. You can identify users in two ways:
342
+
343
+ ### Option 1: Using `name` (simple)
344
+
345
+ Pass a single `name` field. The SDK automatically splits it into `firstName` and `lastName` before sending to the server.
346
+
347
+ ```tsx
348
+ <ParlrChat
349
+ user={{
350
+ email: 'alice.martin@acme.com',
351
+ name: 'Alice Martin', // Automatically split: firstName="Alice", lastName="Martin"
352
+ }}
353
+ />
354
+ ```
355
+
356
+ **Splitting rules:**
357
+ - `"Alice Martin"` &rarr; `firstName: "Alice"`, `lastName: "Martin"`
358
+ - `"Alice"` &rarr; `firstName: "Alice"` (no lastName)
359
+ - `"Alice Marie Martin"` &rarr; `firstName: "Alice"`, `lastName: "Marie Martin"`
360
+ - `" Alice Martin "` &rarr; `firstName: "Alice"`, `lastName: "Martin"` (trimmed)
361
+
362
+ ### Option 2: Using `firstName` / `lastName` (explicit)
363
+
364
+ For precise control, pass `firstName` and `lastName` directly. These take priority over `name`.
365
+
366
+ ```tsx
367
+ <ParlrChat
368
+ user={{
369
+ email: 'alice.martin@acme.com',
370
+ firstName: 'Alice',
371
+ lastName: 'Martin',
372
+ }}
373
+ />
374
+ ```
375
+
376
+ > **Important:** If neither `name`, `firstName`, nor `lastName` are provided, the contact name in your Parlr dashboard will fall back to the email prefix (e.g., `alice.martin@acme.com` &rarr; `alice.martin`).
377
+
378
+ ### Full `ParlrUser` interface
379
+
380
+ ```typescript
381
+ interface ParlrUser {
382
+ email?: string; // Contact email
383
+ name?: string; // Full name (auto-split into firstName/lastName)
384
+ firstName?: string; // First name (takes priority over name)
385
+ lastName?: string; // Last name (takes priority over name)
386
+ externalId?: string; // Your internal user ID
387
+ phone?: string; // Phone number (E.164 format recommended)
388
+ company?: string; // Company name
389
+ customAttributes?: Record<string, unknown>; // Custom key-value pairs visible in the dashboard
390
+ }
391
+ ```
392
+
393
+ ### Custom attributes
394
+
395
+ Custom attributes appear in the **Contact Details** panel of your Parlr dashboard:
396
+
397
+ ```tsx
398
+ await identify({
399
+ email: 'alice@acme.com',
400
+ firstName: 'Alice',
401
+ lastName: 'Martin',
402
+ company: 'Acme Inc',
403
+ customAttributes: {
404
+ plan: 'enterprise',
405
+ mrr: 2990,
406
+ signupDate: '2025-06-15',
407
+ accountManager: 'Bob',
408
+ },
409
+ });
309
410
  ```
310
411
 
311
- **Automatic behaviors:**
312
- - Messages appear instantly with `sending` status, then update to `sent` on server confirmation
313
- - Duplicate messages from WebSocket are merged with optimistic messages via `clientId`
314
- - Failed messages can be retried up to 3 times with exponential backoff (1s, 2s, 4s)
315
- - If no `conversationId` is provided, a new conversation is created on first `sendMessage()`
412
+ ---
413
+
414
+ ## Device Metadata
415
+
416
+ The SDK automatically collects and sends device metadata when a session is created. No configuration needed.
417
+
418
+ | Data | Example | Dashboard panel |
419
+ |---|---|---|
420
+ | Platform | `iOS`, `Android` | Visitor Device |
421
+ | OS version | `18.2`, `35` (Android API) | Visitor Device |
422
+ | Screen resolution | `430x932` | Visitor Device |
423
+ | Locale | `fr-FR` | Location |
424
+ | Timezone | `Europe/Paris` | Location |
425
+ | SDK version | `ParlrSDK/1.0` | User-Agent |
426
+
427
+ This data appears in the **Visitor Device** and **Location** sections of each contact's profile in the Parlr dashboard.
316
428
 
317
429
  ---
318
430
 
319
431
  ## Theming
320
432
 
321
- The SDK automatically detects your system's dark/light mode. You can override any value:
433
+ The SDK automatically detects your system's dark/light mode preference. You can override any theme value.
322
434
 
323
- ### Just your brand color (most common)
435
+ ### Brand color only (most common)
324
436
 
325
437
  ```tsx
326
438
  <ParlrProvider
@@ -360,12 +472,12 @@ The SDK automatically detects your system's dark/light mode. You can override an
360
472
  >
361
473
  ```
362
474
 
363
- ### Programmatic access
475
+ ### Programmatic theme access
364
476
 
365
477
  ```tsx
366
478
  import { useParlr, defaultLightTheme, defaultDarkTheme, mergeTheme } from '@parlr/react-native';
367
479
 
368
- // Access resolved theme in components
480
+ // Access resolved theme in any component
369
481
  const { theme } = useParlr();
370
482
  <View style={{ backgroundColor: theme.colors.background }} />
371
483
 
@@ -379,22 +491,22 @@ const custom = mergeTheme(defaultDarkTheme, { colors: { primary: '#FF6B00' } });
379
491
  ```typescript
380
492
  interface ParlrTheme {
381
493
  colors: {
382
- primary: string; // Accent color
383
- primaryText: string; // Text on primary
494
+ primary: string; // Accent / brand color
495
+ primaryText: string; // Text on primary color
384
496
  background: string; // Screen background
385
- surface: string; // Card/input background
386
- surfaceDark: string; // Darker surface (avatars)
387
- text: string; // Primary text
497
+ surface: string; // Card / input background
498
+ surfaceDark: string; // Darker surface (avatars, headers)
499
+ text: string; // Primary text color
388
500
  textSecondary: string; // Secondary text, timestamps
389
501
  border: string; // Borders, dividers
390
- success: string; // Online indicator
391
- error: string; // Error states
392
- agentBubble: string; // Agent bubble background
502
+ success: string; // Online indicator, success states
503
+ error: string; // Error states, failed messages
504
+ agentBubble: string; // Agent message bubble background
393
505
  agentBubbleDark: string; // Reserved
394
- agentText: string; // Agent bubble text
506
+ agentText: string; // Agent message text color
395
507
  agentTextDark: string; // Reserved
396
- contactBubble: string; // Contact bubble background
397
- contactText: string; // Contact bubble text
508
+ contactBubble: string; // Contact message bubble background
509
+ contactText: string; // Contact message text color
398
510
  };
399
511
  borderRadius: {
400
512
  bubble: number; // Message bubbles (default: 16)
@@ -427,23 +539,28 @@ The SDK exports a typed error hierarchy for precise error handling:
427
539
 
428
540
  ```tsx
429
541
  import {
430
- ParlrError, // Base class
431
- ParlrNetworkError, // HTTP errors (has statusCode)
432
- ParlrAuthError, // Expired or invalid session
433
- ParlrValidationError, // Invalid data (has field)
434
- ParlrConnectionError, // WebSocket errors (has code, reason)
542
+ ParlrError, // Base class for all SDK errors
543
+ ParlrNetworkError, // HTTP errors (includes statusCode property)
544
+ ParlrAuthError, // 401/403 — expired or invalid session
545
+ ParlrValidationError, // Malformed server response (includes field property)
546
+ ParlrConnectionError, // WebSocket errors (includes code, reason properties)
435
547
  } from '@parlr/react-native';
548
+ ```
549
+
550
+ **Example: global error monitoring**
436
551
 
552
+ ```tsx
437
553
  <ParlrProvider
438
554
  workspaceId="your-workspace-id"
439
555
  onError={(error) => {
440
556
  if (error instanceof ParlrAuthError) {
441
- // Session expired — SDK auto-refreshes it
557
+ // Session expired — the SDK auto-refreshes, no action needed
442
558
  } else if (error instanceof ParlrNetworkError) {
443
- console.warn(`HTTP ${error.statusCode}`);
559
+ console.warn(`HTTP error: ${error.statusCode}`);
444
560
  } else if (error instanceof ParlrConnectionError) {
445
- console.warn(`WebSocket closed: ${error.reason}`);
561
+ console.warn(`WebSocket closed: ${error.code} ${error.reason}`);
446
562
  }
563
+ // Send to your error tracking service
447
564
  Sentry.captureException(error);
448
565
  }}
449
566
  >
@@ -453,7 +570,7 @@ import {
453
570
 
454
571
  ## Offline Support
455
572
 
456
- Queue messages when the device is offline. They are automatically sent when connectivity returns.
573
+ Messages sent while offline are queued locally and automatically retried when connectivity returns.
457
574
 
458
575
  ```tsx
459
576
  import {
@@ -463,15 +580,23 @@ import {
463
580
  flushQueue,
464
581
  } from '@parlr/react-native';
465
582
 
466
- // Queue a message
467
- queueMessage({ conversationId: 'conv_123', content: 'Hello', clientId: 'uuid', timestamp: Date.now() });
583
+ // Manually queue a message
584
+ queueMessage({
585
+ conversationId: 'conv_123',
586
+ content: 'Hello',
587
+ clientId: 'uuid-v4',
588
+ timestamp: Date.now(),
589
+ });
468
590
 
469
- // Retrieve and flush the queue
591
+ // Inspect the queue
470
592
  const queued = await getQueuedMessages();
593
+ console.log(`${queued.length} messages pending`);
594
+
595
+ // Flush (send all queued messages)
471
596
  await flushQueue(api);
472
597
  ```
473
598
 
474
- Uses AsyncStorage when available, falls back to in-memory storage.
599
+ Uses `AsyncStorage` when available, falls back to in-memory storage.
475
600
 
476
601
  ---
477
602
 
@@ -482,10 +607,10 @@ Register device tokens for FCM (Android) or APNs (iOS) push notifications:
482
607
  ```tsx
483
608
  import { registerPushToken, unregisterPushToken } from '@parlr/react-native';
484
609
 
485
- // After obtaining the device token from expo-notifications or react-native-push-notification
486
- await registerPushToken(api, deviceToken, 'ios');
610
+ // After obtaining the device token from expo-notifications or @react-native-firebase/messaging
611
+ await registerPushToken(api, deviceToken, 'ios'); // or 'android'
487
612
 
488
- // On logout
613
+ // On logout or when the user disables notifications
489
614
  await unregisterPushToken(api, deviceToken);
490
615
  ```
491
616
 
@@ -493,16 +618,28 @@ await unregisterPushToken(api, deviceToken);
493
618
 
494
619
  ## Identity Verification (HMAC)
495
620
 
496
- For production apps, use HMAC verification to prevent contact impersonation. Generate the token server-side:
621
+ For production apps, use HMAC verification to prevent contact impersonation.
622
+
623
+ **1. Generate the token server-side** using your workspace secret:
624
+
625
+ ```javascript
626
+ // Node.js example
627
+ const crypto = require('crypto');
628
+ const hmac = crypto.createHmac('sha256', WORKSPACE_SECRET);
629
+ hmac.update(user.email);
630
+ const identityToken = hmac.digest('hex');
631
+ ```
632
+
633
+ **2. Pass it to the provider:**
497
634
 
498
635
  ```tsx
499
636
  <ParlrProvider
500
637
  workspaceId="your-workspace-id"
501
- identityToken={hmacTokenFromYourBackend}
638
+ identityToken={identityTokenFromYourBackend}
502
639
  >
503
640
  ```
504
641
 
505
- The token is sent as `X-Identity-Token` on every identification request.
642
+ The token is sent as `X-Identity-Token` on every request. The Parlr server validates it against your workspace secret before accepting the identification.
506
643
 
507
644
  ---
508
645
 
@@ -515,17 +652,22 @@ The token is sent as `X-Identity-Token` on every identification request.
515
652
 
516
653
  ```typescript
517
654
  interface ParlrUser {
518
- email?: string;
519
- name?: string;
520
- firstName?: string;
521
- lastName?: string;
522
- externalId?: string;
523
- phone?: string;
524
- company?: string;
525
- customAttributes?: Record<string, unknown>;
655
+ email?: string; // Contact email address
656
+ name?: string; // Full name (auto-split into firstName/lastName)
657
+ firstName?: string; // First name (takes priority over name)
658
+ lastName?: string; // Last name (takes priority over name)
659
+ externalId?: string; // Your internal user ID
660
+ phone?: string; // Phone number
661
+ company?: string; // Company name
662
+ customAttributes?: Record<string, unknown>; // Custom key-value pairs
526
663
  }
527
664
  ```
528
665
 
666
+ **Name resolution order:**
667
+ 1. `firstName` / `lastName` if provided &rarr; used directly
668
+ 2. `name` if provided &rarr; auto-split on whitespace (`"Alice Martin"` &rarr; `firstName: "Alice"`, `lastName: "Martin"`)
669
+ 3. Neither &rarr; dashboard shows email prefix as fallback
670
+
529
671
  </details>
530
672
 
531
673
  <details>
@@ -533,10 +675,10 @@ interface ParlrUser {
533
675
 
534
676
  ```typescript
535
677
  interface Session {
536
- token: string; // JWT token
537
- contactId: string; // Contact ID
678
+ token: string; // JWT session token
679
+ contactId: string; // Unique contact ID
538
680
  workspaceId: string; // Workspace ID
539
- expiresAt: string; // ISO 8601 expiration
681
+ expiresAt: string; // ISO 8601 expiration timestamp
540
682
  }
541
683
  ```
542
684
 
@@ -550,9 +692,13 @@ interface Conversation {
550
692
  id: string;
551
693
  status: 'open' | 'resolved' | 'pending' | 'closed';
552
694
  subject: string | null;
553
- lastMessageAt: string | null;
695
+ lastMessageAt: string | null; // ISO 8601
554
696
  unreadCount: number;
555
- assignee?: { id: string; name: string; avatarUrl?: string } | null;
697
+ assignee?: {
698
+ id: string;
699
+ name: string;
700
+ avatarUrl?: string;
701
+ } | null;
556
702
  }
557
703
  ```
558
704
 
@@ -569,8 +715,8 @@ interface Message {
569
715
  senderName?: string;
570
716
  senderAvatarUrl?: string;
571
717
  content: string;
572
- createdAt: string;
573
- clientId?: string; // For optimistic deduplication
718
+ createdAt: string; // ISO 8601
719
+ clientId?: string; // For optimistic deduplication
574
720
  status?: 'sending' | 'sent' | 'failed' | 'read';
575
721
  attachments?: Attachment[];
576
722
  contentType?: 'text' | 'image' | 'file' | 'rich';
@@ -586,10 +732,10 @@ interface Message {
586
732
  ```typescript
587
733
  interface Attachment {
588
734
  id: string;
589
- name: string;
590
- url: string;
591
- contentType: string;
592
- size: number;
735
+ name: string; // Original filename
736
+ url: string; // Download URL
737
+ contentType: string; // MIME type (e.g., "image/png")
738
+ size: number; // Size in bytes
593
739
  }
594
740
  ```
595
741
 
@@ -624,7 +770,7 @@ interface RichAction {
624
770
  </details>
625
771
 
626
772
  <details>
627
- <summary><strong>WebSocket Events</strong></summary>
773
+ <summary><strong>WebSocket events</strong></summary>
628
774
 
629
775
  ```typescript
630
776
  interface WsEventMap {
@@ -641,14 +787,14 @@ interface WsEventMap {
641
787
  }
642
788
  ```
643
789
 
644
- **WebSocket behavior:**
790
+ **Connection behavior:**
645
791
  - Auto-reconnect with exponential backoff (1s &rarr; 30s max)
646
- - Keep-alive ping every 25s, timeout at 50s
647
- - Clean listener teardown on unmount
792
+ - Keep-alive ping every 25s, server timeout at 50s
793
+ - Clean listener teardown on component unmount
648
794
 
649
795
  </details>
650
796
 
651
- ### All Exports
797
+ ### All exports
652
798
 
653
799
  ```typescript
654
800
  // Components
@@ -754,7 +900,11 @@ import { ParlrChat } from '@parlr/react-native';
754
900
  function SupportScreen({ navigation }) {
755
901
  return (
756
902
  <ParlrChat
757
- user={{ email: 'alice@acme.com', name: 'Alice' }}
903
+ user={{
904
+ email: 'alice@acme.com',
905
+ firstName: 'Alice',
906
+ lastName: 'Martin',
907
+ }}
758
908
  onBack={() => navigation.goBack()}
759
909
  headerTitle="Help & Support"
760
910
  showPreChatForm={true}
@@ -763,7 +913,41 @@ function SupportScreen({ navigation }) {
763
913
  }
764
914
  ```
765
915
 
766
- ### Conversation list + chat
916
+ ### With Expo Router
917
+
918
+ ```tsx
919
+ // app/_layout.tsx
920
+ import { ParlrProvider } from '@parlr/react-native';
921
+ import { Stack } from 'expo-router';
922
+
923
+ export default function Layout() {
924
+ return (
925
+ <ParlrProvider workspaceId="your-workspace-id" locale="fr">
926
+ <Stack />
927
+ </ParlrProvider>
928
+ );
929
+ }
930
+
931
+ // app/support.tsx
932
+ import { ParlrChat } from '@parlr/react-native';
933
+ import { useRouter } from 'expo-router';
934
+
935
+ export default function SupportScreen() {
936
+ const router = useRouter();
937
+
938
+ return (
939
+ <ParlrChat
940
+ user={{
941
+ email: 'alice@acme.com',
942
+ name: 'Alice Martin',
943
+ }}
944
+ onBack={() => router.back()}
945
+ />
946
+ );
947
+ }
948
+ ```
949
+
950
+ ### Conversation list + detail
767
951
 
768
952
  ```tsx
769
953
  import { ParlrConversationList, ParlrChat } from '@parlr/react-native';
@@ -794,6 +978,7 @@ function ChatScreen({ route, navigation }) {
794
978
  ```tsx
795
979
  import { useChat, ChatBubble, TypingIndicator } from '@parlr/react-native';
796
980
  import { FlatList, TextInput, TouchableOpacity, View, Text } from 'react-native';
981
+ import { useState } from 'react';
797
982
 
798
983
  function CustomChat({ conversationId }) {
799
984
  const [text, setText] = useState('');
@@ -821,10 +1006,10 @@ function CustomChat({ conversationId }) {
821
1006
  <TextInput
822
1007
  value={text}
823
1008
  onChangeText={(t) => { setText(t); notifyTyping(true); }}
824
- style={{ flex: 1 }}
1009
+ style={{ flex: 1, borderWidth: 1, borderRadius: 8, padding: 8 }}
825
1010
  placeholder="Type a message..."
826
1011
  />
827
- <TouchableOpacity onPress={handleSend}>
1012
+ <TouchableOpacity onPress={handleSend} style={{ padding: 8 }}>
828
1013
  <Text>Send</Text>
829
1014
  </TouchableOpacity>
830
1015
  </View>
@@ -844,8 +1029,8 @@ Point the SDK to your own Parlr instance:
844
1029
  ```tsx
845
1030
  <ParlrProvider
846
1031
  workspaceId="your-workspace-id"
847
- apiBaseUrl="https://your-api.example.com/api/v1/widget"
848
- wsUrl="wss://your-ws.example.com/ws"
1032
+ apiBaseUrl="https://api.your-domain.com/api/v1/widget"
1033
+ wsUrl="wss://ws.your-domain.com/ws"
849
1034
  >
850
1035
  ```
851
1036
 
@@ -855,7 +1040,11 @@ Point the SDK to your own Parlr instance:
855
1040
  <ParlrProvider workspaceId="your-workspace-id" debug={true}>
856
1041
  ```
857
1042
 
858
- Logs WebSocket events, session lifecycle, API calls, and errors to the console.
1043
+ Logs to the console:
1044
+ - REST API calls and responses
1045
+ - WebSocket events (connect, disconnect, messages)
1046
+ - Session lifecycle (create, refresh, expire)
1047
+ - Retry attempts with backoff timing
859
1048
 
860
1049
  ---
861
1050
 
@@ -871,28 +1060,35 @@ Sign up at [app.parlr.chat](https://app.parlr.chat), create a workspace, and fin
871
1060
  <details>
872
1061
  <summary><strong>Does the SDK work with Expo?</strong></summary>
873
1062
 
874
- Yes. The SDK works with both Expo managed and bare workflows. All optional dependencies (`expo-secure-store`, `expo-image-picker`, `expo-document-picker`) are Expo packages.
1063
+ Yes. The SDK works with both Expo managed workflow and bare React Native. All optional dependencies (`expo-secure-store`, `expo-image-picker`, `expo-document-picker`) are standard Expo packages.
875
1064
 
876
1065
  </details>
877
1066
 
878
1067
  <details>
879
1068
  <summary><strong>What happens when the device goes offline?</strong></summary>
880
1069
 
881
- Messages are queued locally and automatically retried when connectivity returns. The WebSocket reconnects with exponential backoff.
1070
+ Messages are queued locally and automatically retried when connectivity returns. The WebSocket reconnects with exponential backoff (1s up to 30s). The UI continues to work normally &mdash; messages show with `sending` status until confirmed.
882
1071
 
883
1072
  </details>
884
1073
 
885
1074
  <details>
886
1075
  <summary><strong>Can I use the SDK without any UI components?</strong></summary>
887
1076
 
888
- Yes. Use `useParlr()` and `useChat()` hooks to build a completely custom UI. The SDK handles all networking, state management, and real-time updates.
1077
+ Yes. Use `useParlr()` and `useChat()` hooks to build a completely custom UI. The SDK handles all networking, state management, and real-time events for you.
889
1078
 
890
1079
  </details>
891
1080
 
892
1081
  <details>
893
1082
  <summary><strong>How does identity verification work?</strong></summary>
894
1083
 
895
- Generate an HMAC token server-side using your workspace secret and the user's email. Pass it as `identityToken` to `ParlrProvider`. This prevents contact impersonation.
1084
+ Generate an HMAC-SHA256 token server-side using your workspace secret and the user's email. Pass it as `identityToken` to `<ParlrProvider>`. The server validates the token before accepting the identification &mdash; this prevents visitors from impersonating other contacts.
1085
+
1086
+ </details>
1087
+
1088
+ <details>
1089
+ <summary><strong>Why does my dashboard show the email prefix instead of the full name?</strong></summary>
1090
+
1091
+ Make sure you're passing `firstName`/`lastName` (or `name`) in the `user` prop. If only `email` is provided, the dashboard falls back to displaying the email prefix (e.g., `alice` from `alice@acme.com`).
896
1092
 
897
1093
  </details>
898
1094
 
@@ -900,6 +1096,14 @@ Generate an HMAC token server-side using your workspace secret and the user's em
900
1096
 
901
1097
  ## Changelog
902
1098
 
1099
+ ### 0.1.3
1100
+
1101
+ - **Name auto-split** &mdash; when passing `name` (e.g., `"Alice Martin"`) without `firstName`/`lastName`, the SDK now automatically splits it into `firstName` and `lastName` before sending to the server. This fixes an issue where the Parlr dashboard would show only the email prefix instead of the full name.
1102
+
1103
+ ### 0.1.2
1104
+
1105
+ - Documentation improvements and updated metadata.
1106
+
903
1107
  ### 0.1.1
904
1108
 
905
1109
  - **Device metadata** &mdash; the SDK now automatically collects and sends device information (platform, OS version, screen resolution, locale, timezone) when creating a session. This data appears in the **Visitor Device** and **Location** panels of your Parlr dashboard.
@@ -907,14 +1111,14 @@ Generate an HMAC token server-side using your workspace secret and the user's em
907
1111
 
908
1112
  ### 0.1.0
909
1113
 
910
- - Initial release with full chat UI, WebSocket support, theming, hooks, offline queue, and push notifications.
1114
+ - Initial release with full chat UI, WebSocket real-time messaging, theming system, hooks API, offline queue, push notifications, pre-chat forms, CSAT surveys, file attachments, rich messages, and TypeScript support.
911
1115
 
912
1116
  ---
913
1117
 
914
1118
  ## Support
915
1119
 
916
- - Documentation: [parlr.chat/docs](https://parlr.chat/docs/sdk/react-native)
917
- - Issues & feature requests: [support@parlr.chat](mailto:support@parlr.chat)
1120
+ - **Documentation:** [parlr.chat/docs/sdk/react-native](https://parlr.chat/docs/sdk/react-native)
1121
+ - **Issues & feature requests:** [support@parlr.chat](mailto:support@parlr.chat)
918
1122
 
919
1123
  ---
920
1124
 
@@ -202,7 +202,24 @@ function createApiClient(config, getToken) {
202
202
  return validateSession(data);
203
203
  },
204
204
  async identify(user) {
205
- await http.post('/identify', user);
205
+ const {
206
+ name,
207
+ ...rest
208
+ } = user;
209
+ const payload = {
210
+ ...rest
211
+ };
212
+
213
+ // Le backend attend firstName/lastName séparément.
214
+ // Si seul "name" est fourni, on le découpe automatiquement.
215
+ if (name && !rest.firstName && !rest.lastName) {
216
+ const parts = name.trim().split(/\s+/);
217
+ payload.firstName = parts[0];
218
+ if (parts.length > 1) {
219
+ payload.lastName = parts.slice(1).join(' ');
220
+ }
221
+ }
222
+ await http.post('/identify', payload);
206
223
  },
207
224
  async listConversations(page = 1) {
208
225
  const {
@@ -1 +1 @@
1
- {"version":3,"names":["_axios","_interopRequireDefault","require","_reactNative","_errors","e","__esModule","default","MAX_RETRIES","BASE_DELAY_MS","RETRYABLE_STATUS","Set","delay","ms","Promise","resolve","setTimeout","isRetryable","error","response","has","status","validateSession","data","ParlrValidationError","d","token","sessionToken","contactId","workspaceId","expiresAt","validateMessage","id","conversationId","senderType","content","contentType","senderName","undefined","senderAvatarUrl","createdAt","Date","toISOString","clientId","attachments","Array","isArray","validateConversation","subject","lastMessageAt","unreadCount","assignee","mapAxiosError","ParlrNetworkError","message","cause","ParlrAuthError","createApiClient","config","getToken","http","axios","create","baseURL","apiBaseUrl","timeout","headers","Accept","interceptors","request","use","req","set","identityToken","requestConfig","_retryCount","jitter","Math","random","backoff","pow","debug","console","log","round","collectDeviceMetadata","screen","Dimensions","get","osVersion","Platform","Version","String","userAgent","OS","browserInfo","deviceType","platform","screenResolution","width","height","locale","Intl","DateTimeFormat","resolvedOptions","timezone","timeZone","createSession","post","identify","user","listConversations","page","params","convs","map","meta","total","length","perPage","hasMore","createConversation","initialMessage","getMessages","encodeURIComponent","messages","sendMessage","sendTypingIndicator","isTyping","closeConversation","reopenConversation","uploadAttachment","formData","subscribePush","unsubscribePush","submitRating","score","comment","searchMessages","query","q"],"sourceRoot":"../../../src","sources":["core/api.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_axios","_interopRequireDefault","require","_reactNative","_errors","e","__esModule","default","MAX_RETRIES","BASE_DELAY_MS","RETRYABLE_STATUS","Set","delay","ms","Promise","resolve","setTimeout","isRetryable","error","response","has","status","validateSession","data","ParlrValidationError","d","token","sessionToken","contactId","workspaceId","expiresAt","validateMessage","id","conversationId","senderType","content","contentType","senderName","undefined","senderAvatarUrl","createdAt","Date","toISOString","clientId","attachments","Array","isArray","validateConversation","subject","lastMessageAt","unreadCount","assignee","mapAxiosError","ParlrNetworkError","message","cause","ParlrAuthError","createApiClient","config","getToken","http","axios","create","baseURL","apiBaseUrl","timeout","headers","Accept","interceptors","request","use","req","set","identityToken","requestConfig","_retryCount","jitter","Math","random","backoff","pow","debug","console","log","round","collectDeviceMetadata","screen","Dimensions","get","osVersion","Platform","Version","String","userAgent","OS","browserInfo","deviceType","platform","screenResolution","width","height","locale","Intl","DateTimeFormat","resolvedOptions","timezone","timeZone","createSession","post","identify","user","name","rest","payload","firstName","lastName","parts","trim","split","length","slice","join","listConversations","page","params","convs","map","meta","total","perPage","hasMore","createConversation","initialMessage","getMessages","encodeURIComponent","messages","sendMessage","sendTypingIndicator","isTyping","closeConversation","reopenConversation","uploadAttachment","formData","subscribePush","unsubscribePush","submitRating","score","comment","searchMessages","query","q"],"sourceRoot":"../../../src","sources":["core/api.ts"],"mappings":"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","ignoreList":[]}
@@ -197,7 +197,24 @@ export function createApiClient(config, getToken) {
197
197
  return validateSession(data);
198
198
  },
199
199
  async identify(user) {
200
- await http.post('/identify', user);
200
+ const {
201
+ name,
202
+ ...rest
203
+ } = user;
204
+ const payload = {
205
+ ...rest
206
+ };
207
+
208
+ // Le backend attend firstName/lastName séparément.
209
+ // Si seul "name" est fourni, on le découpe automatiquement.
210
+ if (name && !rest.firstName && !rest.lastName) {
211
+ const parts = name.trim().split(/\s+/);
212
+ payload.firstName = parts[0];
213
+ if (parts.length > 1) {
214
+ payload.lastName = parts.slice(1).join(' ');
215
+ }
216
+ }
217
+ await http.post('/identify', payload);
201
218
  },
202
219
  async listConversations(page = 1) {
203
220
  const {
@@ -1 +1 @@
1
- {"version":3,"names":["axios","Platform","Dimensions","ParlrAuthError","ParlrNetworkError","ParlrValidationError","MAX_RETRIES","BASE_DELAY_MS","RETRYABLE_STATUS","Set","delay","ms","Promise","resolve","setTimeout","isRetryable","error","response","has","status","validateSession","data","d","token","sessionToken","contactId","workspaceId","expiresAt","validateMessage","id","conversationId","senderType","content","contentType","senderName","undefined","senderAvatarUrl","createdAt","Date","toISOString","clientId","attachments","Array","isArray","validateConversation","subject","lastMessageAt","unreadCount","assignee","mapAxiosError","message","cause","createApiClient","config","getToken","http","create","baseURL","apiBaseUrl","timeout","headers","Accept","interceptors","request","use","req","set","identityToken","requestConfig","_retryCount","jitter","Math","random","backoff","pow","debug","console","log","round","collectDeviceMetadata","screen","get","osVersion","Version","String","userAgent","OS","browserInfo","deviceType","platform","screenResolution","width","height","locale","Intl","DateTimeFormat","resolvedOptions","timezone","timeZone","createSession","post","identify","user","listConversations","page","params","convs","map","meta","total","length","perPage","hasMore","createConversation","initialMessage","getMessages","encodeURIComponent","messages","sendMessage","sendTypingIndicator","isTyping","closeConversation","reopenConversation","uploadAttachment","formData","subscribePush","unsubscribePush","submitRating","score","comment","searchMessages","query","q"],"sourceRoot":"../../../src","sources":["core/api.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["axios","Platform","Dimensions","ParlrAuthError","ParlrNetworkError","ParlrValidationError","MAX_RETRIES","BASE_DELAY_MS","RETRYABLE_STATUS","Set","delay","ms","Promise","resolve","setTimeout","isRetryable","error","response","has","status","validateSession","data","d","token","sessionToken","contactId","workspaceId","expiresAt","validateMessage","id","conversationId","senderType","content","contentType","senderName","undefined","senderAvatarUrl","createdAt","Date","toISOString","clientId","attachments","Array","isArray","validateConversation","subject","lastMessageAt","unreadCount","assignee","mapAxiosError","message","cause","createApiClient","config","getToken","http","create","baseURL","apiBaseUrl","timeout","headers","Accept","interceptors","request","use","req","set","identityToken","requestConfig","_retryCount","jitter","Math","random","backoff","pow","debug","console","log","round","collectDeviceMetadata","screen","get","osVersion","Version","String","userAgent","OS","browserInfo","deviceType","platform","screenResolution","width","height","locale","Intl","DateTimeFormat","resolvedOptions","timezone","timeZone","createSession","post","identify","user","name","rest","payload","firstName","lastName","parts","trim","split","length","slice","join","listConversations","page","params","convs","map","meta","total","perPage","hasMore","createConversation","initialMessage","getMessages","encodeURIComponent","messages","sendMessage","sendTypingIndicator","isTyping","closeConversation","reopenConversation","uploadAttachment","formData","subscribePush","unsubscribePush","submitRating","score","comment","searchMessages","query","q"],"sourceRoot":"../../../src","sources":["core/api.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../src/core/api.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACZ,SAAS,EACT,OAAO,EACP,iBAAiB,EACjB,cAAc,EACd,OAAO,EACR,MAAM,SAAS,CAAC;AA6IjB,MAAM,WAAW,cAAc;IAC7B,sCAAsC;IACtC,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAElC,wEAAwE;IACxE,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzC,kDAAkD;IAClD,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC;IAE3E,mEAAmE;IACnE,kBAAkB,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAEnE,yCAAyC;IACzC,WAAW,CACT,cAAc,EAAE,MAAM,EACtB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;IAEvC,4CAA4C;IAC5C,WAAW,CACT,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB,oDAAoD;IACpD,mBAAmB,CACjB,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,4BAA4B;IAC5B,iBAAiB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAEjE,oCAAoC;IACpC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAElE,8CAA8C;IAC9C,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAElF,uCAAuC;IACvC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzE,2CAA2C;IAC3C,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9C,+CAA+C;IAC/C,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErF,yCAAyC;IACzC,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5F;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,MAAM,MAAM,GAAG,IAAI,GAC5B,cAAc,CAgNhB"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../src/core/api.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACZ,SAAS,EACT,OAAO,EACP,iBAAiB,EACjB,cAAc,EACd,OAAO,EACR,MAAM,SAAS,CAAC;AA6IjB,MAAM,WAAW,cAAc;IAC7B,sCAAsC;IACtC,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAElC,wEAAwE;IACxE,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzC,kDAAkD;IAClD,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC;IAE3E,mEAAmE;IACnE,kBAAkB,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAEnE,yCAAyC;IACzC,WAAW,CACT,cAAc,EAAE,MAAM,EACtB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;IAEvC,4CAA4C;IAC5C,WAAW,CACT,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB,oDAAoD;IACpD,mBAAmB,CACjB,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,4BAA4B;IAC5B,iBAAiB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAEjE,oCAAoC;IACpC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAElE,8CAA8C;IAC9C,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAElF,uCAAuC;IACvC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzE,2CAA2C;IAC3C,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9C,+CAA+C;IAC/C,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErF,yCAAyC;IACzC,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5F;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,MAAM,MAAM,GAAG,IAAI,GAC5B,cAAc,CA6NhB"}
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../src/core/api.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACZ,SAAS,EACT,OAAO,EACP,iBAAiB,EACjB,cAAc,EACd,OAAO,EACR,MAAM,SAAS,CAAC;AA6IjB,MAAM,WAAW,cAAc;IAC7B,sCAAsC;IACtC,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAElC,wEAAwE;IACxE,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzC,kDAAkD;IAClD,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC;IAE3E,mEAAmE;IACnE,kBAAkB,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAEnE,yCAAyC;IACzC,WAAW,CACT,cAAc,EAAE,MAAM,EACtB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;IAEvC,4CAA4C;IAC5C,WAAW,CACT,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB,oDAAoD;IACpD,mBAAmB,CACjB,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,4BAA4B;IAC5B,iBAAiB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAEjE,oCAAoC;IACpC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAElE,8CAA8C;IAC9C,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAElF,uCAAuC;IACvC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzE,2CAA2C;IAC3C,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9C,+CAA+C;IAC/C,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErF,yCAAyC;IACzC,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5F;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,MAAM,MAAM,GAAG,IAAI,GAC5B,cAAc,CAgNhB"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../src/core/api.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EACV,UAAU,EACV,YAAY,EACZ,SAAS,EACT,OAAO,EACP,iBAAiB,EACjB,cAAc,EACd,OAAO,EACR,MAAM,SAAS,CAAC;AA6IjB,MAAM,WAAW,cAAc;IAC7B,sCAAsC;IACtC,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAElC,wEAAwE;IACxE,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzC,kDAAkD;IAClD,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC;IAE3E,mEAAmE;IACnE,kBAAkB,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAEnE,yCAAyC;IACzC,WAAW,CACT,cAAc,EAAE,MAAM,EACtB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;IAEvC,4CAA4C;IAC5C,WAAW,CACT,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB,oDAAoD;IACpD,mBAAmB,CACjB,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,OAAO,GAChB,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,4BAA4B;IAC5B,iBAAiB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAEjE,oCAAoC;IACpC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAElE,8CAA8C;IAC9C,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAElF,uCAAuC;IACvC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzE,2CAA2C;IAC3C,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9C,+CAA+C;IAC/C,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErF,yCAAyC;IACzC,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;CAC5F;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,MAAM,MAAM,GAAG,IAAI,GAC5B,cAAc,CA6NhB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@parlr/react-native",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "Official Parlr live chat SDK for React Native",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -109,11 +109,13 @@
109
109
  "node": ">=18.0.0"
110
110
  },
111
111
  "homepage": "https://parlr.chat/docs/sdk/react-native",
112
- "bugs": "https://github.com/parlr/parlr/issues",
112
+ "bugs": {
113
+ "email": "support@parlr.chat",
114
+ "url": "https://parlr.chat/docs/sdk/react-native"
115
+ },
113
116
  "repository": {
114
117
  "type": "git",
115
- "url": "https://github.com/parlr/parlr",
116
- "directory": "parlr-react-native"
118
+ "url": "https://parlr.chat"
117
119
  },
118
120
  "license": "MIT",
119
121
  "publishConfig": {
package/src/core/api.ts CHANGED
@@ -319,7 +319,20 @@ export function createApiClient(
319
319
  },
320
320
 
321
321
  async identify(user: ParlrUser): Promise<void> {
322
- await http.post('/identify', user);
322
+ const { name, ...rest } = user;
323
+ const payload: Record<string, unknown> = { ...rest };
324
+
325
+ // Le backend attend firstName/lastName séparément.
326
+ // Si seul "name" est fourni, on le découpe automatiquement.
327
+ if (name && !rest.firstName && !rest.lastName) {
328
+ const parts = name.trim().split(/\s+/);
329
+ payload.firstName = parts[0];
330
+ if (parts.length > 1) {
331
+ payload.lastName = parts.slice(1).join(' ');
332
+ }
333
+ }
334
+
335
+ await http.post('/identify', payload);
323
336
  },
324
337
 
325
338
  async listConversations(