@parlr/react-native 0.1.1 → 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,13 +6,13 @@
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">
13
13
  <a href="https://www.npmjs.com/package/@parlr/react-native"><img src="https://img.shields.io/npm/v/@parlr/react-native.svg?style=flat-square&color=6366f1" alt="npm version" /></a>
14
14
  <a href="https://www.npmjs.com/package/@parlr/react-native"><img src="https://img.shields.io/npm/dm/@parlr/react-native.svg?style=flat-square&color=6366f1" alt="npm downloads" /></a>
15
- <a href="https://github.com/parlr/parlr/blob/main/parlr-react-native/LICENSE"><img src="https://img.shields.io/npm/l/@parlr/react-native.svg?style=flat-square" alt="license" /></a>
15
+ <a href="https://www.npmjs.com/package/@parlr/react-native"><img src="https://img.shields.io/npm/l/@parlr/react-native.svg?style=flat-square" alt="license" /></a>
16
16
  <a href="https://parlr.chat/docs/sdk/react-native"><img src="https://img.shields.io/badge/docs-parlr.chat-6366f1?style=flat-square" alt="docs" /></a>
17
17
  </p>
18
18
 
@@ -20,31 +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
- - **HMAC identity verification** for secure user identification
45
- - **Dark mode** with automatic system detection
46
- - **TypeScript-first** with complete type definitions
47
- - **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.
48
54
 
49
55
  ---
50
56
 
@@ -52,13 +58,11 @@ Parlr is a modern B2B live chat platform. This SDK gives your React Native app:
52
58
 
53
59
  ```bash
54
60
  npm install @parlr/react-native
55
- ```
56
-
57
- ```bash
61
+ # or
58
62
  yarn add @parlr/react-native
59
63
  ```
60
64
 
61
- ### Peer dependencies
65
+ ### Required peer dependency
62
66
 
63
67
  ```bash
64
68
  npm install react-native-reanimated
@@ -67,27 +71,25 @@ npm install react-native-reanimated
67
71
  ### Optional dependencies
68
72
 
69
73
  ```bash
70
- # Recommended: secure session persistence
74
+ # Secure session persistence (recommended)
71
75
  npm install expo-secure-store
72
76
 
73
- # For file/image attachments
77
+ # File & image attachments
74
78
  npm install expo-image-picker expo-document-picker
75
79
  ```
76
80
 
77
- > Without `expo-secure-store`, sessions are stored in memory only and won't survive app restarts.
78
-
79
- ### 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.
80
82
 
81
- | Dependency | Minimum version |
82
- |---|---|
83
- | `react` | 18.0.0 |
84
- | `react-native` | 0.72.0 |
85
- | `react-native-reanimated` | 3.0.0 |
86
- | `expo-secure-store` | 13.0.0 *(optional)* |
87
- | `expo-image-picker` | 15.0.0 *(optional)* |
88
- | `expo-document-picker` | 12.0.0 *(optional)* |
83
+ ### Compatibility matrix
89
84
 
90
- 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 |
91
93
 
92
94
  ---
93
95
 
@@ -107,7 +109,7 @@ export default function App() {
107
109
  }
108
110
  ```
109
111
 
110
- ### 2. Drop in the chat screen
112
+ ### 2. Add the chat screen
111
113
 
112
114
  ```tsx
113
115
  import { ParlrChat } from '@parlr/react-native';
@@ -115,7 +117,11 @@ import { ParlrChat } from '@parlr/react-native';
115
117
  function SupportScreen({ navigation }) {
116
118
  return (
117
119
  <ParlrChat
118
- user={{ email: 'alice@acme.com', name: 'Alice' }}
120
+ user={{
121
+ email: 'alice@acme.com',
122
+ firstName: 'Alice',
123
+ lastName: 'Martin',
124
+ }}
119
125
  onBack={() => navigation.goBack()}
120
126
  />
121
127
  );
@@ -147,7 +153,7 @@ function SupportButton() {
147
153
 
148
154
  ### `<ParlrProvider>`
149
155
 
150
- 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).
151
157
 
152
158
  ```tsx
153
159
  <ParlrProvider
@@ -163,27 +169,31 @@ Root wrapper that initializes the SDK. Place it near the top of your component t
163
169
 
164
170
  | Prop | Type | Default | Description |
165
171
  |---|---|---|---|
166
- | `workspaceId` | `string` | *required* | Your Parlr workspace ID |
172
+ | `workspaceId` | `string` | *required* | Your Parlr workspace ID (find it in **Settings > Channels > Mobile SDK**) |
167
173
  | `apiBaseUrl` | `string` | `https://api.parlr.chat/api/v1/widget` | REST API base URL |
168
174
  | `wsUrl` | `string` | `wss://ws.parlr.chat/ws` | WebSocket endpoint |
169
- | `locale` | `string` | `"fr"` | BCP-47 locale (`"fr"` or `"en"`) |
170
- | `debug` | `boolean` | `false` | Enable verbose console logging |
171
- | `theme` | `Partial<ParlrTheme>` | auto | Theme overrides (see [Theming](#theming)) |
172
- | `identityToken` | `string` | &mdash; | HMAC token for identity verification |
173
- | `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 |
174
180
 
175
181
  ---
176
182
 
177
183
  ### `<ParlrChat>`
178
184
 
179
- 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.
180
186
 
181
187
  ```tsx
182
188
  <ParlrChat
183
- user={{ email: 'alice@acme.com', name: 'Alice' }}
184
- 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
+ }}
185
195
  onBack={() => navigation.goBack()}
186
- headerTitle="Support"
196
+ headerTitle="Help & Support"
187
197
  showPreChatForm={true}
188
198
  preChatFields={['name', 'email']}
189
199
  showSatisfactionSurvey={true}
@@ -192,25 +202,25 @@ Full-featured chat screen. Handles everything: session, WebSocket, messages, inp
192
202
 
193
203
  | Prop | Type | Default | Description |
194
204
  |---|---|---|---|
195
- | `user` | `ParlrUser` | &mdash; | Identify the user on mount |
196
- | `conversationId` | `string` | &mdash; | Resume an existing conversation |
197
- | `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) |
198
208
  | `headerTitle` | `string` | `"Support"` | Header bar title |
199
- | `placeholder` | `string` | `"Write a message..."` | Input placeholder |
209
+ | `placeholder` | `string` | `"Write a message..."` | Input placeholder text |
200
210
  | `accentColor` | `string` | `theme.colors.primary` | Accent color override |
201
- | `showHeader` | `boolean` | `true` | Show/hide header bar |
202
- | `showPreChatForm` | `boolean` | `false` | Collect user info before first message |
203
- | `preChatFields` | `Array<'name' \| 'email' \| 'phone'>` | `['name', 'email']` | Pre-chat form fields |
204
- | `showSatisfactionSurvey` | `boolean` | `true` | Show CSAT after conversation closes |
205
- | `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 |
206
216
 
207
- **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.
208
218
 
209
219
  ---
210
220
 
211
221
  ### `<ParlrConversationList>`
212
222
 
213
- 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.
214
224
 
215
225
  ```tsx
216
226
  <ParlrConversationList
@@ -222,10 +232,10 @@ Displays a list of conversations with last message preview, unread badges, and s
222
232
 
223
233
  | Prop | Type | Default | Description |
224
234
  |---|---|---|---|
225
- | `onSelectConversation` | `(id: string) => void` | *required* | Tap on a conversation |
235
+ | `onSelectConversation` | `(id: string) => void` | *required* | Callback when tapping a conversation |
226
236
  | `onNewConversation` | `() => void` | &mdash; | "New conversation" button handler |
227
237
  | `headerTitle` | `string` | `"Conversations"` | Header title |
228
- | `statusFilter` | `'open' \| 'closed' \| 'pending'` | &mdash; | Filter by status |
238
+ | `statusFilter` | `'open' \| 'closed' \| 'pending'` | &mdash; | Filter conversations by status |
229
239
  | `showHeader` | `boolean` | `true` | Show/hide header |
230
240
  | `accentColor` | `string` | `"#6366f1"` | Accent color |
231
241
 
@@ -233,21 +243,19 @@ Displays a list of conversations with last message preview, unread badges, and s
233
243
 
234
244
  ### Lower-level components
235
245
 
236
- 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:
237
247
 
238
248
  | Component | Description |
239
249
  |---|---|
240
250
  | `<ChatBubble message={msg} />` | Single message bubble (agent left, contact right) |
241
251
  | `<TypingIndicator />` | Animated three-dot typing indicator |
242
- | `<EmptyState />` | Welcome screen when no messages exist |
243
- | `<PreChatForm onSubmit={fn} />` | Pre-chat information form |
244
- | `<SatisfactionSurvey onSubmit={fn} />` | CSAT 1-5 star survey |
245
- | `<AttachmentPicker onFilePicked={fn} />` | Photo/camera/file picker |
246
- | `<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 |
247
257
  | `<RichMessage content={rich} />` | Cards, carousels, quick replies |
248
258
 
249
- See the [API Reference](#api-reference) for full prop tables.
250
-
251
259
  ---
252
260
 
253
261
  ## Hooks
@@ -258,20 +266,24 @@ Access SDK state from any component inside `<ParlrProvider>`.
258
266
 
259
267
  ```tsx
260
268
  const {
261
- isReady, // SDK initialized
262
- isConnected, // WebSocket connected
263
- session, // Current JWT session
264
- conversations, // All conversations
265
- unreadCount, // Total unread messages
266
- identify, // Identify or update user
267
- refreshConversations, // Force refresh
268
- 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)
269
277
  } = useParlr();
278
+ ```
279
+
280
+ **Identifying a user:**
270
281
 
271
- // Identify a user
282
+ ```tsx
272
283
  await identify({
273
284
  email: 'alice@acme.com',
274
- name: 'Alice Martin',
285
+ firstName: 'Alice',
286
+ lastName: 'Martin',
275
287
  company: 'Acme Inc',
276
288
  customAttributes: { plan: 'pro', mrr: 299 },
277
289
  });
@@ -285,41 +297,142 @@ Manage a single conversation with real-time updates.
285
297
 
286
298
  ```tsx
287
299
  const {
288
- messages, // Messages (oldest first)
289
- isLoading, // Initial load in progress
290
- hasError, // Error occurred
291
- conversation, // Active conversation
292
- agentTyping, // Agent is typing (auto-clears after 5s)
293
- sendMessage, // Send a text message (optimistic)
294
- retryMessage, // Retry a failed message
295
- notifyTyping, // Send typing indicator (debounced 3s)
296
- loadMore, // Load older messages
297
- 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
298
310
  closeConversation, // Close the conversation
299
311
  reopenConversation, // Reopen a closed conversation
300
312
  } = useChat(conversationId);
313
+ ```
314
+
315
+ **Sending messages:**
301
316
 
302
- // Send a message (appears instantly, syncs in background)
317
+ ```tsx
318
+ // Appears instantly with status "sending", then updates to "sent" on server confirmation
303
319
  await sendMessage('Hello, I need help with my order');
304
320
 
305
321
  // Retry a failed message
306
322
  const failed = messages.find(m => m.status === 'failed');
307
- 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
+ });
308
410
  ```
309
411
 
310
- **Automatic behaviors:**
311
- - Messages appear instantly with `sending` status, then update to `sent` on server confirmation
312
- - Duplicate messages from WebSocket are merged with optimistic messages via `clientId`
313
- - Failed messages can be retried up to 3 times with exponential backoff (1s, 2s, 4s)
314
- - 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.
315
428
 
316
429
  ---
317
430
 
318
431
  ## Theming
319
432
 
320
- 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.
321
434
 
322
- ### Just your brand color (most common)
435
+ ### Brand color only (most common)
323
436
 
324
437
  ```tsx
325
438
  <ParlrProvider
@@ -359,12 +472,12 @@ The SDK automatically detects your system's dark/light mode. You can override an
359
472
  >
360
473
  ```
361
474
 
362
- ### Programmatic access
475
+ ### Programmatic theme access
363
476
 
364
477
  ```tsx
365
478
  import { useParlr, defaultLightTheme, defaultDarkTheme, mergeTheme } from '@parlr/react-native';
366
479
 
367
- // Access resolved theme in components
480
+ // Access resolved theme in any component
368
481
  const { theme } = useParlr();
369
482
  <View style={{ backgroundColor: theme.colors.background }} />
370
483
 
@@ -378,22 +491,22 @@ const custom = mergeTheme(defaultDarkTheme, { colors: { primary: '#FF6B00' } });
378
491
  ```typescript
379
492
  interface ParlrTheme {
380
493
  colors: {
381
- primary: string; // Accent color
382
- primaryText: string; // Text on primary
494
+ primary: string; // Accent / brand color
495
+ primaryText: string; // Text on primary color
383
496
  background: string; // Screen background
384
- surface: string; // Card/input background
385
- surfaceDark: string; // Darker surface (avatars)
386
- text: string; // Primary text
497
+ surface: string; // Card / input background
498
+ surfaceDark: string; // Darker surface (avatars, headers)
499
+ text: string; // Primary text color
387
500
  textSecondary: string; // Secondary text, timestamps
388
501
  border: string; // Borders, dividers
389
- success: string; // Online indicator
390
- error: string; // Error states
391
- 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
392
505
  agentBubbleDark: string; // Reserved
393
- agentText: string; // Agent bubble text
506
+ agentText: string; // Agent message text color
394
507
  agentTextDark: string; // Reserved
395
- contactBubble: string; // Contact bubble background
396
- contactText: string; // Contact bubble text
508
+ contactBubble: string; // Contact message bubble background
509
+ contactText: string; // Contact message text color
397
510
  };
398
511
  borderRadius: {
399
512
  bubble: number; // Message bubbles (default: 16)
@@ -426,23 +539,28 @@ The SDK exports a typed error hierarchy for precise error handling:
426
539
 
427
540
  ```tsx
428
541
  import {
429
- ParlrError, // Base class
430
- ParlrNetworkError, // HTTP errors (has statusCode)
431
- ParlrAuthError, // Expired or invalid session
432
- ParlrValidationError, // Invalid data (has field)
433
- 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)
434
547
  } from '@parlr/react-native';
548
+ ```
549
+
550
+ **Example: global error monitoring**
435
551
 
552
+ ```tsx
436
553
  <ParlrProvider
437
554
  workspaceId="your-workspace-id"
438
555
  onError={(error) => {
439
556
  if (error instanceof ParlrAuthError) {
440
- // Session expired — SDK auto-refreshes it
557
+ // Session expired — the SDK auto-refreshes, no action needed
441
558
  } else if (error instanceof ParlrNetworkError) {
442
- console.warn(`HTTP ${error.statusCode}`);
559
+ console.warn(`HTTP error: ${error.statusCode}`);
443
560
  } else if (error instanceof ParlrConnectionError) {
444
- console.warn(`WebSocket closed: ${error.reason}`);
561
+ console.warn(`WebSocket closed: ${error.code} ${error.reason}`);
445
562
  }
563
+ // Send to your error tracking service
446
564
  Sentry.captureException(error);
447
565
  }}
448
566
  >
@@ -452,7 +570,7 @@ import {
452
570
 
453
571
  ## Offline Support
454
572
 
455
- 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.
456
574
 
457
575
  ```tsx
458
576
  import {
@@ -462,15 +580,23 @@ import {
462
580
  flushQueue,
463
581
  } from '@parlr/react-native';
464
582
 
465
- // Queue a message
466
- 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
+ });
467
590
 
468
- // Retrieve and flush the queue
591
+ // Inspect the queue
469
592
  const queued = await getQueuedMessages();
593
+ console.log(`${queued.length} messages pending`);
594
+
595
+ // Flush (send all queued messages)
470
596
  await flushQueue(api);
471
597
  ```
472
598
 
473
- Uses AsyncStorage when available, falls back to in-memory storage.
599
+ Uses `AsyncStorage` when available, falls back to in-memory storage.
474
600
 
475
601
  ---
476
602
 
@@ -481,10 +607,10 @@ Register device tokens for FCM (Android) or APNs (iOS) push notifications:
481
607
  ```tsx
482
608
  import { registerPushToken, unregisterPushToken } from '@parlr/react-native';
483
609
 
484
- // After obtaining the device token from expo-notifications or react-native-push-notification
485
- 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'
486
612
 
487
- // On logout
613
+ // On logout or when the user disables notifications
488
614
  await unregisterPushToken(api, deviceToken);
489
615
  ```
490
616
 
@@ -492,16 +618,28 @@ await unregisterPushToken(api, deviceToken);
492
618
 
493
619
  ## Identity Verification (HMAC)
494
620
 
495
- 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:**
496
634
 
497
635
  ```tsx
498
636
  <ParlrProvider
499
637
  workspaceId="your-workspace-id"
500
- identityToken={hmacTokenFromYourBackend}
638
+ identityToken={identityTokenFromYourBackend}
501
639
  >
502
640
  ```
503
641
 
504
- 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.
505
643
 
506
644
  ---
507
645
 
@@ -514,17 +652,22 @@ The token is sent as `X-Identity-Token` on every identification request.
514
652
 
515
653
  ```typescript
516
654
  interface ParlrUser {
517
- email?: string;
518
- name?: string;
519
- firstName?: string;
520
- lastName?: string;
521
- externalId?: string;
522
- phone?: string;
523
- company?: string;
524
- 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
525
663
  }
526
664
  ```
527
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
+
528
671
  </details>
529
672
 
530
673
  <details>
@@ -532,10 +675,10 @@ interface ParlrUser {
532
675
 
533
676
  ```typescript
534
677
  interface Session {
535
- token: string; // JWT token
536
- contactId: string; // Contact ID
678
+ token: string; // JWT session token
679
+ contactId: string; // Unique contact ID
537
680
  workspaceId: string; // Workspace ID
538
- expiresAt: string; // ISO 8601 expiration
681
+ expiresAt: string; // ISO 8601 expiration timestamp
539
682
  }
540
683
  ```
541
684
 
@@ -549,9 +692,13 @@ interface Conversation {
549
692
  id: string;
550
693
  status: 'open' | 'resolved' | 'pending' | 'closed';
551
694
  subject: string | null;
552
- lastMessageAt: string | null;
695
+ lastMessageAt: string | null; // ISO 8601
553
696
  unreadCount: number;
554
- assignee?: { id: string; name: string; avatarUrl?: string } | null;
697
+ assignee?: {
698
+ id: string;
699
+ name: string;
700
+ avatarUrl?: string;
701
+ } | null;
555
702
  }
556
703
  ```
557
704
 
@@ -568,8 +715,8 @@ interface Message {
568
715
  senderName?: string;
569
716
  senderAvatarUrl?: string;
570
717
  content: string;
571
- createdAt: string;
572
- clientId?: string; // For optimistic deduplication
718
+ createdAt: string; // ISO 8601
719
+ clientId?: string; // For optimistic deduplication
573
720
  status?: 'sending' | 'sent' | 'failed' | 'read';
574
721
  attachments?: Attachment[];
575
722
  contentType?: 'text' | 'image' | 'file' | 'rich';
@@ -585,10 +732,10 @@ interface Message {
585
732
  ```typescript
586
733
  interface Attachment {
587
734
  id: string;
588
- name: string;
589
- url: string;
590
- contentType: string;
591
- 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
592
739
  }
593
740
  ```
594
741
 
@@ -623,7 +770,7 @@ interface RichAction {
623
770
  </details>
624
771
 
625
772
  <details>
626
- <summary><strong>WebSocket Events</strong></summary>
773
+ <summary><strong>WebSocket events</strong></summary>
627
774
 
628
775
  ```typescript
629
776
  interface WsEventMap {
@@ -640,14 +787,14 @@ interface WsEventMap {
640
787
  }
641
788
  ```
642
789
 
643
- **WebSocket behavior:**
790
+ **Connection behavior:**
644
791
  - Auto-reconnect with exponential backoff (1s &rarr; 30s max)
645
- - Keep-alive ping every 25s, timeout at 50s
646
- - Clean listener teardown on unmount
792
+ - Keep-alive ping every 25s, server timeout at 50s
793
+ - Clean listener teardown on component unmount
647
794
 
648
795
  </details>
649
796
 
650
- ### All Exports
797
+ ### All exports
651
798
 
652
799
  ```typescript
653
800
  // Components
@@ -753,7 +900,11 @@ import { ParlrChat } from '@parlr/react-native';
753
900
  function SupportScreen({ navigation }) {
754
901
  return (
755
902
  <ParlrChat
756
- user={{ email: 'alice@acme.com', name: 'Alice' }}
903
+ user={{
904
+ email: 'alice@acme.com',
905
+ firstName: 'Alice',
906
+ lastName: 'Martin',
907
+ }}
757
908
  onBack={() => navigation.goBack()}
758
909
  headerTitle="Help & Support"
759
910
  showPreChatForm={true}
@@ -762,7 +913,41 @@ function SupportScreen({ navigation }) {
762
913
  }
763
914
  ```
764
915
 
765
- ### 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
766
951
 
767
952
  ```tsx
768
953
  import { ParlrConversationList, ParlrChat } from '@parlr/react-native';
@@ -793,6 +978,7 @@ function ChatScreen({ route, navigation }) {
793
978
  ```tsx
794
979
  import { useChat, ChatBubble, TypingIndicator } from '@parlr/react-native';
795
980
  import { FlatList, TextInput, TouchableOpacity, View, Text } from 'react-native';
981
+ import { useState } from 'react';
796
982
 
797
983
  function CustomChat({ conversationId }) {
798
984
  const [text, setText] = useState('');
@@ -820,10 +1006,10 @@ function CustomChat({ conversationId }) {
820
1006
  <TextInput
821
1007
  value={text}
822
1008
  onChangeText={(t) => { setText(t); notifyTyping(true); }}
823
- style={{ flex: 1 }}
1009
+ style={{ flex: 1, borderWidth: 1, borderRadius: 8, padding: 8 }}
824
1010
  placeholder="Type a message..."
825
1011
  />
826
- <TouchableOpacity onPress={handleSend}>
1012
+ <TouchableOpacity onPress={handleSend} style={{ padding: 8 }}>
827
1013
  <Text>Send</Text>
828
1014
  </TouchableOpacity>
829
1015
  </View>
@@ -843,8 +1029,8 @@ Point the SDK to your own Parlr instance:
843
1029
  ```tsx
844
1030
  <ParlrProvider
845
1031
  workspaceId="your-workspace-id"
846
- apiBaseUrl="https://your-api.example.com/api/v1/widget"
847
- 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"
848
1034
  >
849
1035
  ```
850
1036
 
@@ -854,7 +1040,11 @@ Point the SDK to your own Parlr instance:
854
1040
  <ParlrProvider workspaceId="your-workspace-id" debug={true}>
855
1041
  ```
856
1042
 
857
- 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
858
1048
 
859
1049
  ---
860
1050
 
@@ -870,46 +1060,65 @@ Sign up at [app.parlr.chat](https://app.parlr.chat), create a workspace, and fin
870
1060
  <details>
871
1061
  <summary><strong>Does the SDK work with Expo?</strong></summary>
872
1062
 
873
- 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.
874
1064
 
875
1065
  </details>
876
1066
 
877
1067
  <details>
878
1068
  <summary><strong>What happens when the device goes offline?</strong></summary>
879
1069
 
880
- 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.
881
1071
 
882
1072
  </details>
883
1073
 
884
1074
  <details>
885
1075
  <summary><strong>Can I use the SDK without any UI components?</strong></summary>
886
1076
 
887
- 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.
888
1078
 
889
1079
  </details>
890
1080
 
891
1081
  <details>
892
1082
  <summary><strong>How does identity verification work?</strong></summary>
893
1083
 
894
- 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`).
895
1092
 
896
1093
  </details>
897
1094
 
898
1095
  ---
899
1096
 
900
- ## Contributing
1097
+ ## Changelog
901
1098
 
902
- We welcome contributions! Please see our [Contributing Guide](https://github.com/parlr/parlr/blob/main/CONTRIBUTING.md) for details.
1099
+ ### 0.1.3
903
1100
 
904
- ```bash
905
- git clone https://github.com/parlr/parlr.git
906
- cd parlr/parlr-react-native
907
- npm install
908
- npm run typecheck # Type checking
909
- npm run test # Run tests
910
- npm run build # Build (CJS + ESM + d.ts)
911
- npm run lint # Lint
912
- ```
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
+
1107
+ ### 0.1.1
1108
+
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.
1110
+ - Internal improvements to session creation payload.
1111
+
1112
+ ### 0.1.0
1113
+
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.
1115
+
1116
+ ---
1117
+
1118
+ ## Support
1119
+
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)
913
1122
 
914
1123
  ---
915
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.1",
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(