@ethora/chat-component-rn 26.5.15 → 26.5.16

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.
@@ -99,6 +99,10 @@ const FilePreviewModal = ({
99
99
  const {
100
100
  showToast
101
101
  } = (0, _ToastContext.useToast)();
102
+
103
+ // Cache the SAF directory the user granted so saving several documents
104
+ // in a row doesn't re-prompt for a folder every time (Android only).
105
+ const safDirUriRef = (0, _react.useRef)(null);
102
106
  const {
103
107
  activeFile
104
108
  } = (0, _reactRedux.useSelector)(state => state.chatSettingStore);
@@ -143,29 +147,41 @@ const FilePreviewModal = ({
143
147
  };
144
148
  const saveFileToDownloads = async () => {
145
149
  try {
146
- // Always include a valid extension on the cache filename. expo-media-
147
- // library's createAssetAsync inspects the URI's extension and throws
148
- // "Could not get the file's extension" when missing — see bug #9 in
149
- // sdk-bug-tracker.md.
150
150
  const fileName = (0, _mimeToExtension.ensureFilenameHasExtension)(activeFile.fileName, activeFile.mimetype);
151
151
  const filePath = FileSystem.cacheDirectory + fileName;
152
152
  const download = await FileSystem.downloadAsync(activeFile.fileURL, filePath);
153
- if (download.status === 200) {
154
- if (_reactNative.Platform.OS === 'android') {
155
- const hasPermission = await requestStoragePermission();
156
- if (hasPermission) {
157
- await MediaLibrary.createAssetAsync(download.uri);
153
+ if (download.status !== 200) {
154
+ _reactNative.Alert.alert('Error', 'Failed to save the file.');
155
+ return;
156
+ }
157
+ if (_reactNative.Platform.OS === 'android') {
158
+ const saf = FileSystem.StorageAccessFramework;
159
+ let dirUri = safDirUriRef.current;
160
+ if (!dirUri) {
161
+ const perm = await saf.requestDirectoryPermissionsAsync();
162
+ if (!perm.granted) {
163
+ _reactNative.Alert.alert('Permission Denied', 'Storage permission is required to save the file.');
164
+ return;
158
165
  }
166
+ dirUri = perm.directoryUri;
167
+ safDirUriRef.current = dirUri;
159
168
  }
160
- showToast({
161
- id: Date.now().toString(),
162
- title: 'Success',
163
- message: 'Save successful',
164
- type: 'success'
169
+ const baseName = fileName.replace(/\.[^/.]+$/, '');
170
+ const mime = activeFile.mimetype || 'application/octet-stream';
171
+ const base64 = await FileSystem.readAsStringAsync(download.uri, {
172
+ encoding: FileSystem.EncodingType.Base64
173
+ });
174
+ const destUri = await saf.createFileAsync(dirUri, baseName, mime);
175
+ await FileSystem.writeAsStringAsync(destUri, base64, {
176
+ encoding: FileSystem.EncodingType.Base64
165
177
  });
166
- } else {
167
- _reactNative.Alert.alert('Error', 'Failed to save the file.');
168
178
  }
179
+ showToast({
180
+ id: Date.now().toString(),
181
+ title: 'Success',
182
+ message: 'Save successful',
183
+ type: 'success'
184
+ });
169
185
  } catch (err) {
170
186
  console.error('Error saving file:', err);
171
187
  _reactNative.Alert.alert('Error', 'Failed to save the file.');
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_styledModalComponents","_icons","_ModalHeaderComponent","_interopRequireDefault","_reactRedux","_Button","_MediaComponents","_chatSettingsSlice","_reactNative","_expoVideo","FileSystem","MediaLibrary","_ToastContext","_PdfView","_DocumentViewer","_AudioMessage","_mimeToExtension","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","GVIEW_PREVIEWABLE","Set","isGviewPreviewable","mime","toLowerCase","split","trim","ModalVideo","uri","showPlay","setShowPlay","useState","player","useVideoPlayer","p","muted","useEffect","sub","addListener","isPlaying","remove","handlePlay","play","jsxs","View","style","flex","width","children","jsx","VideoView","backgroundColor","contentFit","nativeControls","surfaceType","allowsFullscreen","TouchableOpacity","activeOpacity","onPress","StyleSheet","absoluteFillObject","styles","playOverlay","playButton","PlayIcon","height","FilePreviewModal","handleCloseModal","dispatch","useDispatch","showToast","useToast","activeFile","useSelector","state","chatSettingStore","requestStoragePermission","status","requestPermissionsAsync","error","console","saveToGallery","hasPermission","Alert","alert","fileName","ensureFilenameHasExtension","mimetype","filePath","cacheDirectory","download","downloadAsync","fileURL","saveToLibraryAsync","id","Date","now","toString","title","message","type","err","saveFileToDownloads","Platform","OS","createAssetAsync","saveClick","startsWith","closeModal","setActiveFile","getMediaComponent","FullScreenImage","source","resizeMode","accessibilityLabel","includes","padding","gap","borderRadius","Text","fontSize","fontWeight","src","mimeType","originalName","duration","waveForm","isLikelyAudio","pdfUrl","displayName","url","color","marginTop","ModalContainerFullScreen","headerTitle","rightMenu","Fragment","SaveIcon","CenterContainer","display","justifyContent","overflow","paddingBottom","create","alignItems","_default","exports"],"sourceRoot":"../../../../../src","sources":["components/Modals/FilePreviewModal/FilePreviewModal.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_styledModalComponents","_icons","_ModalHeaderComponent","_interopRequireDefault","_reactRedux","_Button","_MediaComponents","_chatSettingsSlice","_reactNative","_expoVideo","FileSystem","MediaLibrary","_ToastContext","_PdfView","_DocumentViewer","_AudioMessage","_mimeToExtension","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","GVIEW_PREVIEWABLE","Set","isGviewPreviewable","mime","toLowerCase","split","trim","ModalVideo","uri","showPlay","setShowPlay","useState","player","useVideoPlayer","p","muted","useEffect","sub","addListener","isPlaying","remove","handlePlay","play","jsxs","View","style","flex","width","children","jsx","VideoView","backgroundColor","contentFit","nativeControls","surfaceType","allowsFullscreen","TouchableOpacity","activeOpacity","onPress","StyleSheet","absoluteFillObject","styles","playOverlay","playButton","PlayIcon","height","FilePreviewModal","handleCloseModal","dispatch","useDispatch","showToast","useToast","safDirUriRef","useRef","activeFile","useSelector","state","chatSettingStore","requestStoragePermission","status","requestPermissionsAsync","error","console","saveToGallery","hasPermission","Alert","alert","fileName","ensureFilenameHasExtension","mimetype","filePath","cacheDirectory","download","downloadAsync","fileURL","saveToLibraryAsync","id","Date","now","toString","title","message","type","err","saveFileToDownloads","Platform","OS","saf","StorageAccessFramework","dirUri","current","perm","requestDirectoryPermissionsAsync","granted","directoryUri","baseName","replace","base64","readAsStringAsync","encoding","EncodingType","Base64","destUri","createFileAsync","writeAsStringAsync","saveClick","startsWith","closeModal","setActiveFile","getMediaComponent","FullScreenImage","source","resizeMode","accessibilityLabel","includes","padding","gap","borderRadius","Text","fontSize","fontWeight","src","mimeType","originalName","duration","waveForm","isLikelyAudio","pdfUrl","displayName","url","color","marginTop","ModalContainerFullScreen","headerTitle","rightMenu","Fragment","SaveIcon","CenterContainer","display","justifyContent","overflow","paddingBottom","create","alignItems","_default","exports"],"sourceRoot":"../../../../../src","sources":["components/Modals/FilePreviewModal/FilePreviewModal.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- import React, { useEffect, useState } from 'react';
3
+ import React, { useEffect, useRef, useState } from 'react';
4
4
  import { CenterContainer, ModalContainerFullScreen } from '../styledModalComponents';
5
5
  import { SaveIcon } from '../../../assets/icons';
6
6
  import ModalHeaderComponent from '../ModalHeaderComponent';
@@ -95,6 +95,10 @@ const FilePreviewModal = ({
95
95
  const {
96
96
  showToast
97
97
  } = useToast();
98
+
99
+ // Cache the SAF directory the user granted so saving several documents
100
+ // in a row doesn't re-prompt for a folder every time (Android only).
101
+ const safDirUriRef = useRef(null);
98
102
  const {
99
103
  activeFile
100
104
  } = useSelector(state => state.chatSettingStore);
@@ -139,29 +143,41 @@ const FilePreviewModal = ({
139
143
  };
140
144
  const saveFileToDownloads = async () => {
141
145
  try {
142
- // Always include a valid extension on the cache filename. expo-media-
143
- // library's createAssetAsync inspects the URI's extension and throws
144
- // "Could not get the file's extension" when missing — see bug #9 in
145
- // sdk-bug-tracker.md.
146
146
  const fileName = ensureFilenameHasExtension(activeFile.fileName, activeFile.mimetype);
147
147
  const filePath = FileSystem.cacheDirectory + fileName;
148
148
  const download = await FileSystem.downloadAsync(activeFile.fileURL, filePath);
149
- if (download.status === 200) {
150
- if (Platform.OS === 'android') {
151
- const hasPermission = await requestStoragePermission();
152
- if (hasPermission) {
153
- await MediaLibrary.createAssetAsync(download.uri);
149
+ if (download.status !== 200) {
150
+ Alert.alert('Error', 'Failed to save the file.');
151
+ return;
152
+ }
153
+ if (Platform.OS === 'android') {
154
+ const saf = FileSystem.StorageAccessFramework;
155
+ let dirUri = safDirUriRef.current;
156
+ if (!dirUri) {
157
+ const perm = await saf.requestDirectoryPermissionsAsync();
158
+ if (!perm.granted) {
159
+ Alert.alert('Permission Denied', 'Storage permission is required to save the file.');
160
+ return;
154
161
  }
162
+ dirUri = perm.directoryUri;
163
+ safDirUriRef.current = dirUri;
155
164
  }
156
- showToast({
157
- id: Date.now().toString(),
158
- title: 'Success',
159
- message: 'Save successful',
160
- type: 'success'
165
+ const baseName = fileName.replace(/\.[^/.]+$/, '');
166
+ const mime = activeFile.mimetype || 'application/octet-stream';
167
+ const base64 = await FileSystem.readAsStringAsync(download.uri, {
168
+ encoding: FileSystem.EncodingType.Base64
169
+ });
170
+ const destUri = await saf.createFileAsync(dirUri, baseName, mime);
171
+ await FileSystem.writeAsStringAsync(destUri, base64, {
172
+ encoding: FileSystem.EncodingType.Base64
161
173
  });
162
- } else {
163
- Alert.alert('Error', 'Failed to save the file.');
164
174
  }
175
+ showToast({
176
+ id: Date.now().toString(),
177
+ title: 'Success',
178
+ message: 'Save successful',
179
+ type: 'success'
180
+ });
165
181
  } catch (err) {
166
182
  console.error('Error saving file:', err);
167
183
  Alert.alert('Error', 'Failed to save the file.');
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useState","CenterContainer","ModalContainerFullScreen","SaveIcon","ModalHeaderComponent","useDispatch","useSelector","Button","FullScreenImage","setActiveFile","Alert","Text","View","Platform","TouchableOpacity","StyleSheet","useVideoPlayer","VideoView","PlayIcon","FileSystem","MediaLibrary","useToast","PdfViewer","DocumentViewer","AudioMessage","ensureFilenameHasExtension","isLikelyAudio","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","GVIEW_PREVIEWABLE","Set","isGviewPreviewable","mime","has","toLowerCase","split","trim","ModalVideo","uri","showPlay","setShowPlay","player","p","muted","sub","addListener","isPlaying","remove","handlePlay","play","style","flex","width","children","backgroundColor","contentFit","nativeControls","surfaceType","allowsFullscreen","activeOpacity","onPress","absoluteFillObject","styles","playOverlay","playButton","height","FilePreviewModal","handleCloseModal","dispatch","showToast","activeFile","state","chatSettingStore","requestStoragePermission","status","requestPermissionsAsync","error","console","saveToGallery","hasPermission","alert","fileName","mimetype","filePath","cacheDirectory","download","downloadAsync","fileURL","saveToLibraryAsync","id","Date","now","toString","title","message","type","err","saveFileToDownloads","OS","createAssetAsync","saveClick","startsWith","closeModal","getMediaComponent","source","resizeMode","accessibilityLabel","includes","padding","gap","borderRadius","fontSize","fontWeight","src","mimeType","originalName","duration","waveForm","pdfUrl","displayName","url","color","marginTop","headerTitle","rightMenu","display","justifyContent","overflow","paddingBottom","create","alignItems"],"sourceRoot":"../../../../../src","sources":["components/Modals/FilePreviewModal/FilePreviewModal.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useRef","useState","CenterContainer","ModalContainerFullScreen","SaveIcon","ModalHeaderComponent","useDispatch","useSelector","Button","FullScreenImage","setActiveFile","Alert","Text","View","Platform","TouchableOpacity","StyleSheet","useVideoPlayer","VideoView","PlayIcon","FileSystem","MediaLibrary","useToast","PdfViewer","DocumentViewer","AudioMessage","ensureFilenameHasExtension","isLikelyAudio","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","GVIEW_PREVIEWABLE","Set","isGviewPreviewable","mime","has","toLowerCase","split","trim","ModalVideo","uri","showPlay","setShowPlay","player","p","muted","sub","addListener","isPlaying","remove","handlePlay","play","style","flex","width","children","backgroundColor","contentFit","nativeControls","surfaceType","allowsFullscreen","activeOpacity","onPress","absoluteFillObject","styles","playOverlay","playButton","height","FilePreviewModal","handleCloseModal","dispatch","showToast","safDirUriRef","activeFile","state","chatSettingStore","requestStoragePermission","status","requestPermissionsAsync","error","console","saveToGallery","hasPermission","alert","fileName","mimetype","filePath","cacheDirectory","download","downloadAsync","fileURL","saveToLibraryAsync","id","Date","now","toString","title","message","type","err","saveFileToDownloads","OS","saf","StorageAccessFramework","dirUri","current","perm","requestDirectoryPermissionsAsync","granted","directoryUri","baseName","replace","base64","readAsStringAsync","encoding","EncodingType","Base64","destUri","createFileAsync","writeAsStringAsync","saveClick","startsWith","closeModal","getMediaComponent","source","resizeMode","accessibilityLabel","includes","padding","gap","borderRadius","fontSize","fontWeight","src","mimeType","originalName","duration","waveForm","pdfUrl","displayName","url","color","marginTop","headerTitle","rightMenu","display","justifyContent","overflow","paddingBottom","create","alignItems"],"sourceRoot":"../../../../../src","sources":["components/Modals/FilePreviewModal/FilePreviewModal.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"FilePreviewModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/Modals/FilePreviewModal/FilePreviewModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAsGnD,UAAU,qBAAqB;IAC7B,gBAAgB,EAAE,GAAG,CAAC;CACvB;AAED,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAuRrD,CAAC;AAkBF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"FilePreviewModal.d.ts","sourceRoot":"","sources":["../../../../../src/components/Modals/FilePreviewModal/FilePreviewModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAsG3D,UAAU,qBAAqB;IAC7B,gBAAgB,EAAE,GAAG,CAAC;CACvB;AAED,QAAA,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA6SrD,CAAC;AAkBF,eAAe,gBAAgB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ethora/chat-component-rn",
3
- "version": "26.5.15",
3
+ "version": "26.5.16",
4
4
  "description": "Drop-in XMPP chat component for React Native / Expo. <Chat config={...}/> and you're done.",
5
5
  "main": "index.js",
6
6
  "module": "lib/module/main.js",
@@ -1,4 +1,4 @@
1
- import React, { useEffect, useState } from 'react';
1
+ import React, { useEffect, useRef, useState } from 'react';
2
2
  import styled from 'styled-components/native';
3
3
  import {
4
4
  CenterContainer,
@@ -110,6 +110,10 @@ const FilePreviewModal: React.FC<FilePreviewModalProps> = ({
110
110
  const dispatch = useDispatch();
111
111
  const { showToast } = useToast();
112
112
 
113
+ // Cache the SAF directory the user granted so saving several documents
114
+ // in a row doesn't re-prompt for a folder every time (Android only).
115
+ const safDirUriRef = useRef<string | null>(null);
116
+
113
117
  const { activeFile } = useSelector(
114
118
  (state: RootState) => state.chatSettingStore
115
119
  );
@@ -163,10 +167,6 @@ const FilePreviewModal: React.FC<FilePreviewModalProps> = ({
163
167
 
164
168
  const saveFileToDownloads = async () => {
165
169
  try {
166
- // Always include a valid extension on the cache filename. expo-media-
167
- // library's createAssetAsync inspects the URI's extension and throws
168
- // "Could not get the file's extension" when missing — see bug #9 in
169
- // sdk-bug-tracker.md.
170
170
  const fileName = ensureFilenameHasExtension(
171
171
  activeFile.fileName,
172
172
  activeFile.mimetype
@@ -174,22 +174,44 @@ const FilePreviewModal: React.FC<FilePreviewModalProps> = ({
174
174
  const filePath = FileSystem.cacheDirectory + fileName;
175
175
  const download = await FileSystem.downloadAsync(activeFile.fileURL, filePath);
176
176
 
177
- if (download.status === 200) {
178
- if (Platform.OS === 'android') {
179
- const hasPermission = await requestStoragePermission();
180
- if (hasPermission) {
181
- await MediaLibrary.createAssetAsync(download.uri);
177
+ if (download.status !== 200) {
178
+ Alert.alert('Error', 'Failed to save the file.');
179
+ return;
180
+ }
181
+
182
+ if (Platform.OS === 'android') {
183
+ const saf = (FileSystem as any).StorageAccessFramework;
184
+ let dirUri = safDirUriRef.current;
185
+ if (!dirUri) {
186
+ const perm = await saf.requestDirectoryPermissionsAsync();
187
+ if (!perm.granted) {
188
+ Alert.alert(
189
+ 'Permission Denied',
190
+ 'Storage permission is required to save the file.'
191
+ );
192
+ return;
182
193
  }
194
+ dirUri = perm.directoryUri;
195
+ safDirUriRef.current = dirUri;
183
196
  }
184
- showToast({
185
- id: Date.now().toString(),
186
- title: 'Success',
187
- message: 'Save successful',
188
- type: 'success',
197
+
198
+ const baseName = fileName.replace(/\.[^/.]+$/, '');
199
+ const mime = activeFile.mimetype || 'application/octet-stream';
200
+ const base64 = await FileSystem.readAsStringAsync(download.uri, {
201
+ encoding: FileSystem.EncodingType.Base64,
202
+ });
203
+ const destUri = await saf.createFileAsync(dirUri, baseName, mime);
204
+ await FileSystem.writeAsStringAsync(destUri, base64, {
205
+ encoding: FileSystem.EncodingType.Base64,
189
206
  });
190
- } else {
191
- Alert.alert('Error', 'Failed to save the file.');
192
207
  }
208
+
209
+ showToast({
210
+ id: Date.now().toString(),
211
+ title: 'Success',
212
+ message: 'Save successful',
213
+ type: 'success',
214
+ });
193
215
  } catch (err) {
194
216
  console.error('Error saving file:', err);
195
217
  Alert.alert('Error', 'Failed to save the file.');