⬇️ refactor: Improve Conversation JSON Export (#10726)
Updated the export logic in the useExportConversation hook to use JSON.stringify without indentation, reducing file size for deeply nested exports. Additionally, ensured safe access to text content by providing a fallback for undefined values.
This commit is contained in:
@@ -103,7 +103,7 @@ export default function useExportConversation({
|
||||
if (content.type === ContentTypes.TEXT) {
|
||||
// TEXT
|
||||
const textPart = content[ContentTypes.TEXT];
|
||||
const text = typeof textPart === 'string' ? textPart : textPart.value;
|
||||
const text = typeof textPart === 'string' ? textPart : (textPart?.value ?? '');
|
||||
return [sender, text];
|
||||
}
|
||||
|
||||
@@ -365,12 +365,8 @@ export default function useExportConversation({
|
||||
data['messages'] = messages;
|
||||
}
|
||||
|
||||
exportFromJSON({
|
||||
data: data,
|
||||
fileName: filename,
|
||||
extension: 'json',
|
||||
exportType: exportFromJSON.types.json,
|
||||
});
|
||||
/** Use JSON.stringify without indentation to minimize file size for deeply nested recursive exports */
|
||||
download(JSON.stringify(data), `${filename}.json`, 'application/json');
|
||||
};
|
||||
|
||||
const exportConversation = () => {
|
||||
|
||||
Reference in New Issue
Block a user