@diffsome/react 1.2.6 → 1.2.7

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/dist/index.js CHANGED
@@ -2839,7 +2839,12 @@ var ChatBubble = ({
2839
2839
  const existingMessages = await conn.getMessages();
2840
2840
  setMessages(existingMessages);
2841
2841
  conn.onMessage((msg) => {
2842
- setMessages((prev) => [...prev, msg]);
2842
+ setMessages((prev) => {
2843
+ if (prev.some((m) => m.id === msg.id)) {
2844
+ return prev;
2845
+ }
2846
+ return [...prev, msg];
2847
+ });
2843
2848
  if (!isOpen && msg.sender_type !== "visitor") {
2844
2849
  setUnreadCount((c) => c + 1);
2845
2850
  }
@@ -2870,15 +2875,16 @@ var ChatBubble = ({
2870
2875
  };
2871
2876
  const handleSend = async (content) => {
2872
2877
  if (!connection) return;
2873
- const tempMessage = {
2874
- id: Date.now(),
2875
- content,
2876
- sender_type: "visitor",
2877
- created_at: (/* @__PURE__ */ new Date()).toISOString()
2878
- };
2879
- setMessages((prev) => [...prev, tempMessage]);
2880
2878
  try {
2881
- await connection.send(content);
2879
+ const sentMessage = await connection.send(content);
2880
+ if (sentMessage) {
2881
+ setMessages((prev) => {
2882
+ if (prev.some((m) => m.id === sentMessage.id)) {
2883
+ return prev;
2884
+ }
2885
+ return [...prev, sentMessage];
2886
+ });
2887
+ }
2882
2888
  } catch (error) {
2883
2889
  console.error("Failed to send message:", error);
2884
2890
  }
package/dist/index.mjs CHANGED
@@ -2747,7 +2747,12 @@ var ChatBubble = ({
2747
2747
  const existingMessages = await conn.getMessages();
2748
2748
  setMessages(existingMessages);
2749
2749
  conn.onMessage((msg) => {
2750
- setMessages((prev) => [...prev, msg]);
2750
+ setMessages((prev) => {
2751
+ if (prev.some((m) => m.id === msg.id)) {
2752
+ return prev;
2753
+ }
2754
+ return [...prev, msg];
2755
+ });
2751
2756
  if (!isOpen && msg.sender_type !== "visitor") {
2752
2757
  setUnreadCount((c) => c + 1);
2753
2758
  }
@@ -2778,15 +2783,16 @@ var ChatBubble = ({
2778
2783
  };
2779
2784
  const handleSend = async (content) => {
2780
2785
  if (!connection) return;
2781
- const tempMessage = {
2782
- id: Date.now(),
2783
- content,
2784
- sender_type: "visitor",
2785
- created_at: (/* @__PURE__ */ new Date()).toISOString()
2786
- };
2787
- setMessages((prev) => [...prev, tempMessage]);
2788
2786
  try {
2789
- await connection.send(content);
2787
+ const sentMessage = await connection.send(content);
2788
+ if (sentMessage) {
2789
+ setMessages((prev) => {
2790
+ if (prev.some((m) => m.id === sentMessage.id)) {
2791
+ return prev;
2792
+ }
2793
+ return [...prev, sentMessage];
2794
+ });
2795
+ }
2790
2796
  } catch (error) {
2791
2797
  console.error("Failed to send message:", error);
2792
2798
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@diffsome/react",
3
- "version": "1.2.6",
3
+ "version": "1.2.7",
4
4
  "description": "React hooks and providers for Diffsome SDK - Headless e-commerce & CMS",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",