@robono/messaging-react-native 0.11.1 → 0.12.0

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/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## 0.12.0 — unpublished candidate
2
+
3
+ Keep Android recording alive through microphone permission dialogs; process two bounded thumbnails concurrently with permission-safe reuse. Add authenticated host downloads and host-controlled links/addresses. Keep Expo 55 audio handling compatible. Add self-chat and consumer integration hooks, stable forwarded-message delivery states and group-invitation eligibility.
4
+
1
5
  ## 0.10.0 — release candidate
2
6
 
3
7
  ## 0.11.1
package/README.md CHANGED
@@ -168,7 +168,21 @@ Install native dependencies with your Expo project's installer so their versions
168
168
  npx expo install expo-audio expo-image-picker expo-document-picker expo-file-system expo-sharing expo-video expo-crypto react-native-safe-area-context react-native-svg
169
169
  ```
170
170
 
171
- This entry targets Expo SDK 55–56; the core components do not require Expo. Configure the `expo-audio` plugin's `microphonePermission` with your app's explanation (for example, “Allow microphone access to record voice messages”). Keep background recording disabled. Native dependency or permission changes need a new development/store build; screen changes do not. The standard system photo picker does not require full photo-library access. Documents use the platform's file picker, without broad storage access.
171
+ This entry targets Expo SDK 55–56; the core components do not require Expo.
172
+
173
+ | Project | Supplied integration |
174
+ | --- | --- |
175
+ | Expo 55 or 56 | Use the `/expo` entry and `npx expo install` for matching native packages. |
176
+ | Expo 54 or earlier | The supplied Expo adapter is not supported. Upgrade Expo before running setup; do not force incompatible peer dependencies. |
177
+ | React Native without Expo | Use the core UI and documented device/storage adapters. The Expo version range does not apply to these components. |
178
+
179
+ The installer checks the Expo version before changing files. Pin the Robono version
180
+ in your lockfile and update through the setup command so required native changes
181
+ are reported. Optional calling and background movement require a rebuilt native
182
+ app; Expo Go does not include those modules. A successful package installation is
183
+ not a guarantee that unsupported Expo versions will work.
184
+
185
+ Configure the `expo-audio` plugin's `microphonePermission` with your app's explanation (for example, “Allow microphone access to record voice messages”). Keep background recording disabled. Native dependency or permission changes need a new development/store build; screen changes do not. The standard system photo picker does not require full photo-library access. Documents use the platform's file picker, without broad storage access.
172
186
 
173
187
  ```tsx
174
188
  import {
@@ -419,8 +433,9 @@ sender. Times are stored in UTC and displayed in the device's current time zone.
419
433
  Scheduling uploads selected attachments before confirming the queue; closing the
420
434
  app does not prevent server delivery afterward. The selected time is approximate
421
435
  to the minute. Current access, screening and spending rules still apply at send
422
- time. In-app voice recording and poll creation retain their existing immediate-send
423
- flows; custom composers can schedule their finalized content through the same API.
436
+ time. Stop a voice recording to stage it, then hold Send to schedule it just like
437
+ a photo, video or file. Poll creation sends immediately; custom composers can
438
+ schedule finalized content through the same API.
424
439
 
425
440
  ### Screen sharing in the complete messenger
426
441
 
@@ -457,3 +472,22 @@ Robono hosts optional call recording and transcription. Enable recording once in
457
472
  The supplied adapters also offer camera/microphone/speaker checks and camera background blur. Screen sharing is separate. Phone blur requires rebuilding the native app; browser blur downloads its model only when selected and needs the documented content-security policy. Background processing stays on the device.
458
473
 
459
474
  See the [recording and call tools guide](https://robono.com/guides/call-recording.html) for prices, retention, short-lived downloads, deletion, platform requirements and label customization. Captions arrive in short batches with several seconds of delay and can be inaccurate; incomplete transcripts are marked.
475
+
476
+ ### Customer-controlled links, downloads and account actions
477
+
478
+ `linkHandling` can disable URLs/addresses independently or route their taps through
479
+ `openUrl(url, message)` / `openAddress(address, message)`. A disabled link renders
480
+ as ordinary text. Host overrides also suppress social/tracking shortcuts that
481
+ would otherwise bypass the host's navigation policy.
482
+
483
+ `onDownloadAttachment({file,message,signal})` changes the standard viewer's Download
484
+ action to a host-owned destination. Enable `appearance.showDownloadButton`. The
485
+ SDK rechecks access, supplies a private temporary file, and cleans it up afterward;
486
+ copy it to your destination before resolving the callback. Do not retain its URI
487
+ as a permanent saved file. Cancellation and permission changes still apply.
488
+
489
+ `ExpoMessenger` offers `onNewConversation` and `inboxOverlay` for a host-owned
490
+ contact picker using the exported `MessagingPopup`. Account callbacks include
491
+ `onEditProfile`, `onDeleteAccount`, and `onSignOut`; the host supplies its own
492
+ confirmation and account service. These optional callbacks do not grant service
493
+ permissions or delete an account by themselves.