@ethora/chat-component-rn 26.6.12 → 26.6.13
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 +5 -0
- package/README.md +2 -2
- package/lib/commonjs/components/AuthForms/Login.js +2 -1
- package/lib/commonjs/components/AuthForms/Login.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatHeader.js +4 -1
- package/lib/commonjs/components/MainComponents/ChatHeader.js.map +1 -1
- package/lib/commonjs/components/MainComponents/ChatWrapper.js +14 -13
- package/lib/commonjs/components/MainComponents/ChatWrapper.js.map +1 -1
- package/lib/commonjs/components/MainComponents/LoginWrapper.js +2 -1
- package/lib/commonjs/components/MainComponents/LoginWrapper.js.map +1 -1
- package/lib/commonjs/components/MainComponents/MediaMessage.js +17 -6
- package/lib/commonjs/components/MainComponents/MediaMessage.js.map +1 -1
- package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js +4 -1
- package/lib/commonjs/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
- package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js +8 -7
- package/lib/commonjs/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
- package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js +2 -1
- package/lib/commonjs/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/ChatRoomItem.js +5 -1
- package/lib/commonjs/components/RoomComponents/ChatRoomItem.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/styled/LastMessageFile.js +10 -2
- package/lib/commonjs/components/RoomComponents/styled/LastMessageFile.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/styled/LastMessagePhoto.js +4 -1
- package/lib/commonjs/components/RoomComponents/styled/LastMessagePhoto.js.map +1 -1
- package/lib/commonjs/components/RoomComponents/styled/LastMessageVideo.js +4 -1
- package/lib/commonjs/components/RoomComponents/styled/LastMessageVideo.js.map +1 -1
- package/lib/commonjs/components/styled/AudioMessage.js +2 -1
- package/lib/commonjs/components/styled/AudioMessage.js.map +1 -1
- package/lib/commonjs/components/styled/MessageImage.js +34 -8
- package/lib/commonjs/components/styled/MessageImage.js.map +1 -1
- package/lib/commonjs/components/styled/VideoMessage.js +7 -1
- package/lib/commonjs/components/styled/VideoMessage.js.map +1 -1
- package/lib/commonjs/context/xmppProvider.js +44 -18
- package/lib/commonjs/context/xmppProvider.js.map +1 -1
- package/lib/commonjs/helpers/initXmppRooms.js +5 -1
- package/lib/commonjs/helpers/initXmppRooms.js.map +1 -1
- package/lib/commonjs/helpers/resolveInitBeforeLoadUser.js +126 -12
- package/lib/commonjs/helpers/resolveInitBeforeLoadUser.js.map +1 -1
- package/lib/commonjs/helpers/secureFileUrl.js +101 -0
- package/lib/commonjs/helpers/secureFileUrl.js.map +1 -0
- package/lib/commonjs/hooks/useChatWrapperInit.js +3 -3
- package/lib/commonjs/hooks/useChatWrapperInit.js.map +1 -1
- package/lib/commonjs/hooks/useFileToken.js +10 -0
- package/lib/commonjs/hooks/useFileToken.js.map +1 -0
- package/lib/commonjs/hooks/useSendMessage.js +23 -13
- package/lib/commonjs/hooks/useSendMessage.js.map +1 -1
- package/lib/commonjs/main.js +25 -0
- package/lib/commonjs/main.js.map +1 -1
- package/lib/commonjs/networking/api-requests/auth.api.js +99 -54
- package/lib/commonjs/networking/api-requests/auth.api.js.map +1 -1
- package/lib/commonjs/networking/api-requests/roomMembers.api.js +1 -1
- package/lib/commonjs/networking/api-requests/roomMembers.api.js.map +1 -1
- package/lib/commonjs/networking/api-requests/rooms.api.js +9 -9
- package/lib/commonjs/networking/api-requests/rooms.api.js.map +1 -1
- package/lib/commonjs/networking/api-requests/user.api.js +9 -9
- package/lib/commonjs/networking/api-requests/user.api.js.map +1 -1
- package/lib/commonjs/networking/apiClient.js +62 -112
- package/lib/commonjs/networking/apiClient.js.map +1 -1
- package/lib/commonjs/networking/authRefresh.js +323 -0
- package/lib/commonjs/networking/authRefresh.js.map +1 -0
- package/lib/commonjs/networking/xmppClient.js +33 -5
- package/lib/commonjs/networking/xmppClient.js.map +1 -1
- package/lib/commonjs/roomStore/chatSettingsSlice.js +20 -2
- package/lib/commonjs/roomStore/chatSettingsSlice.js.map +1 -1
- package/lib/module/components/AuthForms/Login.js +2 -1
- package/lib/module/components/AuthForms/Login.js.map +1 -1
- package/lib/module/components/MainComponents/ChatHeader.js +4 -1
- package/lib/module/components/MainComponents/ChatHeader.js.map +1 -1
- package/lib/module/components/MainComponents/ChatWrapper.js +14 -13
- package/lib/module/components/MainComponents/ChatWrapper.js.map +1 -1
- package/lib/module/components/MainComponents/LoginWrapper.js +2 -1
- package/lib/module/components/MainComponents/LoginWrapper.js.map +1 -1
- package/lib/module/components/MainComponents/MediaMessage.js +17 -6
- package/lib/module/components/MainComponents/MediaMessage.js.map +1 -1
- package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js +4 -1
- package/lib/module/components/Modals/ChatProfileModal/ChatProfileModal.js.map +1 -1
- package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js +8 -7
- package/lib/module/components/Modals/FilePreviewModal/FilePreviewModal.js.map +1 -1
- package/lib/module/components/Modals/FilePreviewModal/PdfView.js +2 -1
- package/lib/module/components/Modals/FilePreviewModal/PdfView.js.map +1 -1
- package/lib/module/components/RoomComponents/ChatRoomItem.js +5 -1
- package/lib/module/components/RoomComponents/ChatRoomItem.js.map +1 -1
- package/lib/module/components/RoomComponents/styled/LastMessageFile.js +10 -2
- package/lib/module/components/RoomComponents/styled/LastMessageFile.js.map +1 -1
- package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js +4 -1
- package/lib/module/components/RoomComponents/styled/LastMessagePhoto.js.map +1 -1
- package/lib/module/components/RoomComponents/styled/LastMessageVideo.js +4 -1
- package/lib/module/components/RoomComponents/styled/LastMessageVideo.js.map +1 -1
- package/lib/module/components/styled/AudioMessage.js +2 -1
- package/lib/module/components/styled/AudioMessage.js.map +1 -1
- package/lib/module/components/styled/MessageImage.js +34 -8
- package/lib/module/components/styled/MessageImage.js.map +1 -1
- package/lib/module/components/styled/VideoMessage.js +7 -1
- package/lib/module/components/styled/VideoMessage.js.map +1 -1
- package/lib/module/context/xmppProvider.js +43 -18
- package/lib/module/context/xmppProvider.js.map +1 -1
- package/lib/module/helpers/initXmppRooms.js +5 -1
- package/lib/module/helpers/initXmppRooms.js.map +1 -1
- package/lib/module/helpers/resolveInitBeforeLoadUser.js +126 -11
- package/lib/module/helpers/resolveInitBeforeLoadUser.js.map +1 -1
- package/lib/module/helpers/secureFileUrl.js +91 -0
- package/lib/module/helpers/secureFileUrl.js.map +1 -0
- package/lib/module/hooks/useChatWrapperInit.js +3 -3
- package/lib/module/hooks/useChatWrapperInit.js.map +1 -1
- package/lib/module/hooks/useFileToken.js +5 -0
- package/lib/module/hooks/useFileToken.js.map +1 -0
- package/lib/module/hooks/useSendMessage.js +24 -14
- package/lib/module/hooks/useSendMessage.js.map +1 -1
- package/lib/module/main.js +12 -1
- package/lib/module/main.js.map +1 -1
- package/lib/module/networking/api-requests/auth.api.js +96 -53
- package/lib/module/networking/api-requests/auth.api.js.map +1 -1
- package/lib/module/networking/api-requests/roomMembers.api.js +1 -1
- package/lib/module/networking/api-requests/roomMembers.api.js.map +1 -1
- package/lib/module/networking/api-requests/rooms.api.js +9 -9
- package/lib/module/networking/api-requests/rooms.api.js.map +1 -1
- package/lib/module/networking/api-requests/user.api.js +8 -7
- package/lib/module/networking/api-requests/user.api.js.map +1 -1
- package/lib/module/networking/apiClient.js +61 -113
- package/lib/module/networking/apiClient.js.map +1 -1
- package/lib/module/networking/authRefresh.js +312 -0
- package/lib/module/networking/authRefresh.js.map +1 -0
- package/lib/module/networking/xmppClient.js +33 -5
- package/lib/module/networking/xmppClient.js.map +1 -1
- package/lib/module/roomStore/chatSettingsSlice.js +20 -2
- package/lib/module/roomStore/chatSettingsSlice.js.map +1 -1
- package/lib/typescript/components/AuthForms/Login.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/ChatHeader.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/ChatWrapper.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/LoginWrapper.d.ts.map +1 -1
- package/lib/typescript/components/MainComponents/MediaMessage.d.ts.map +1 -1
- package/lib/typescript/components/Modals/ChatProfileModal/ChatProfileModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/FilePreviewModal/FilePreviewModal.d.ts.map +1 -1
- package/lib/typescript/components/Modals/FilePreviewModal/PdfView.d.ts.map +1 -1
- package/lib/typescript/components/RoomComponents/ChatRoomItem.d.ts.map +1 -1
- package/lib/typescript/components/RoomComponents/styled/LastMessageFile.d.ts.map +1 -1
- package/lib/typescript/components/RoomComponents/styled/LastMessagePhoto.d.ts.map +1 -1
- package/lib/typescript/components/RoomComponents/styled/LastMessageVideo.d.ts.map +1 -1
- package/lib/typescript/components/styled/AudioMessage.d.ts.map +1 -1
- package/lib/typescript/components/styled/MessageImage.d.ts +8 -0
- package/lib/typescript/components/styled/MessageImage.d.ts.map +1 -1
- package/lib/typescript/components/styled/VideoMessage.d.ts.map +1 -1
- package/lib/typescript/context/xmppProvider.d.ts.map +1 -1
- package/lib/typescript/helpers/initXmppRooms.d.ts.map +1 -1
- package/lib/typescript/helpers/resolveInitBeforeLoadUser.d.ts.map +1 -1
- package/lib/typescript/helpers/secureFileUrl.d.ts +7 -0
- package/lib/typescript/helpers/secureFileUrl.d.ts.map +1 -0
- package/lib/typescript/hooks/useFileToken.d.ts +2 -0
- package/lib/typescript/hooks/useFileToken.d.ts.map +1 -0
- package/lib/typescript/hooks/useSendMessage.d.ts.map +1 -1
- package/lib/typescript/main.d.ts +6 -1
- package/lib/typescript/main.d.ts.map +1 -1
- package/lib/typescript/networking/api-requests/auth.api.d.ts +3 -27
- package/lib/typescript/networking/api-requests/auth.api.d.ts.map +1 -1
- package/lib/typescript/networking/api-requests/user.api.d.ts.map +1 -1
- package/lib/typescript/networking/apiClient.d.ts +12 -6
- package/lib/typescript/networking/apiClient.d.ts.map +1 -1
- package/lib/typescript/networking/authRefresh.d.ts +92 -0
- package/lib/typescript/networking/authRefresh.d.ts.map +1 -0
- package/lib/typescript/networking/xmppClient.d.ts +6 -0
- package/lib/typescript/networking/xmppClient.d.ts.map +1 -1
- package/lib/typescript/roomStore/chatSettingsSlice.d.ts +16 -0
- package/lib/typescript/roomStore/chatSettingsSlice.d.ts.map +1 -1
- package/lib/typescript/types/types.d.ts +17 -0
- package/lib/typescript/types/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/AuthForms/Login.tsx +1 -0
- package/src/components/MainComponents/ChatHeader.tsx +4 -1
- package/src/components/MainComponents/ChatWrapper.tsx +14 -19
- package/src/components/MainComponents/LoginWrapper.tsx +1 -0
- package/src/components/MainComponents/MediaMessage.tsx +14 -4
- package/src/components/Modals/ChatProfileModal/ChatProfileModal.tsx +4 -1
- package/src/components/Modals/FilePreviewModal/FilePreviewModal.tsx +8 -7
- package/src/components/Modals/FilePreviewModal/PdfView.tsx +2 -1
- package/src/components/RoomComponents/ChatRoomItem.tsx +9 -1
- package/src/components/RoomComponents/styled/LastMessageFile.tsx +14 -2
- package/src/components/RoomComponents/styled/LastMessagePhoto.tsx +4 -1
- package/src/components/RoomComponents/styled/LastMessageVideo.tsx +4 -1
- package/src/components/styled/AudioMessage.tsx +2 -1
- package/src/components/styled/MessageImage.tsx +45 -6
- package/src/components/styled/VideoMessage.tsx +10 -1
- package/src/context/xmppProvider.tsx +45 -20
- package/src/helpers/initXmppRooms.tsx +5 -1
- package/src/helpers/resolveInitBeforeLoadUser.ts +123 -11
- package/src/helpers/secureFileUrl.ts +103 -0
- package/src/hooks/useChatWrapperInit.ts +3 -3
- package/src/hooks/useFileToken.ts +7 -0
- package/src/hooks/useSendMessage.tsx +28 -13
- package/src/main.ts +22 -1
- package/src/networking/api-requests/auth.api.ts +125 -52
- package/src/networking/api-requests/roomMembers.api.ts +1 -1
- package/src/networking/api-requests/rooms.api.ts +9 -9
- package/src/networking/api-requests/user.api.ts +8 -7
- package/src/networking/apiClient.ts +68 -123
- package/src/networking/authRefresh.ts +435 -0
- package/src/networking/xmppClient.ts +37 -5
- package/src/roomStore/chatSettingsSlice.ts +28 -3
- package/src/types/types.ts +17 -0
|
@@ -4,7 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.resolveInitBeforeLoadUser = exports.refreshUserCredentialsForXmpp = exports.default = exports.applyResolvedUserToStore = void 0;
|
|
7
|
-
var _apiClient =
|
|
7
|
+
var _apiClient = require("../networking/apiClient");
|
|
8
|
+
var _authRefresh = require("../networking/authRefresh");
|
|
8
9
|
var _auth = require("../networking/api-requests/auth.api");
|
|
9
10
|
var _user = require("../networking/api-requests/user.api");
|
|
10
11
|
var _roomStore = require("../roomStore");
|
|
@@ -12,7 +13,6 @@ var _chatSettingsSlice = require("../roomStore/chatSettingsSlice");
|
|
|
12
13
|
var _walletUsername = require("./walletUsername");
|
|
13
14
|
var _useLocalStorage = require("../hooks/useLocalStorage");
|
|
14
15
|
var _LOCAL_STORAGE = require("./constants/LOCAL_STORAGE");
|
|
15
|
-
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
16
16
|
const getStatusCode = error => {
|
|
17
17
|
const status = error?.response?.status;
|
|
18
18
|
return typeof status === 'number' ? status : null;
|
|
@@ -36,15 +36,112 @@ const normalizeUserForXmpp = user => {
|
|
|
36
36
|
xmppUsername: normalizedXmppUsername
|
|
37
37
|
};
|
|
38
38
|
};
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
|
|
40
|
+
// Hermes has no atob/Buffer; hand-decode just enough base64url to read a
|
|
41
|
+
// JWT's `iat`. Claims are ASCII so the byte-per-char string is fine.
|
|
42
|
+
const B64_ALPHABET = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
|
|
43
|
+
const readJwtIat = token => {
|
|
44
|
+
if (!token || typeof token !== 'string') {
|
|
45
|
+
return 0;
|
|
46
|
+
}
|
|
47
|
+
const part = token.split('.')[1];
|
|
48
|
+
if (!part) {
|
|
49
|
+
return 0;
|
|
50
|
+
}
|
|
51
|
+
try {
|
|
52
|
+
const clean = part.replace(/-/g, '+').replace(/_/g, '/');
|
|
53
|
+
let out = '';
|
|
54
|
+
let buffer = 0;
|
|
55
|
+
let bits = 0;
|
|
56
|
+
for (let i = 0; i < clean.length; i++) {
|
|
57
|
+
const idx = B64_ALPHABET.indexOf(clean[i]);
|
|
58
|
+
if (idx === -1) {
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
buffer = buffer << 6 | idx;
|
|
62
|
+
bits += 6;
|
|
63
|
+
if (bits >= 8) {
|
|
64
|
+
bits -= 8;
|
|
65
|
+
out += String.fromCharCode(buffer >> bits & 0xff);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
const iat = JSON.parse(out)?.iat;
|
|
69
|
+
return typeof iat === 'number' ? iat : 0;
|
|
70
|
+
} catch {
|
|
71
|
+
return 0;
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* A `userLogin.user` is typically a snapshot the host captured at ITS
|
|
77
|
+
* login time and re-presents verbatim on every mount, while this SDK
|
|
78
|
+
* keeps rotating the session and persisting the newest pair to
|
|
79
|
+
* `ETHORA_USER`. Taking the snapshot as-is therefore discards the live
|
|
80
|
+
* session in favour of an ever-aging copy: media goes blank the moment
|
|
81
|
+
* the snapshot has no `fileToken` (secure-files URLs 401 without it),
|
|
82
|
+
* and once the snapshot's refresh token ages out entirely the account
|
|
83
|
+
* looks dead even though the SDK held a working session all along.
|
|
84
|
+
*
|
|
85
|
+
* So, for the SAME account only, prefer whichever refresh pair was
|
|
86
|
+
* minted later (JWT `iat` decides — a host that genuinely re-logged-in
|
|
87
|
+
* hands us newer tokens and wins), and fill in a missing `fileToken`
|
|
88
|
+
* from the persisted copy either way.
|
|
89
|
+
*/
|
|
90
|
+
const adoptFresherPersistedSession = async candidate => {
|
|
91
|
+
try {
|
|
92
|
+
const stored = await (0, _useLocalStorage.asyncLocalStorage)(_LOCAL_STORAGE.localStorageConstants.ETHORA_USER).get();
|
|
93
|
+
if (!stored) {
|
|
94
|
+
return candidate;
|
|
43
95
|
}
|
|
96
|
+
const sameUser = candidate._id && stored._id && candidate._id === stored._id || candidate.xmppUsername && stored.xmppUsername && candidate.xmppUsername === stored.xmppUsername;
|
|
97
|
+
if (!sameUser) {
|
|
98
|
+
return candidate;
|
|
99
|
+
}
|
|
100
|
+
const merged = {
|
|
101
|
+
...candidate
|
|
102
|
+
};
|
|
103
|
+
if (stored.refreshToken && readJwtIat(stored.refreshToken) > readJwtIat(candidate.refreshToken)) {
|
|
104
|
+
merged.refreshToken = stored.refreshToken;
|
|
105
|
+
if (stored.token) {
|
|
106
|
+
merged.token = stored.token;
|
|
107
|
+
}
|
|
108
|
+
if (stored.fileToken) {
|
|
109
|
+
merged.fileToken = stored.fileToken;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
if (!merged.fileToken && stored.fileToken) {
|
|
113
|
+
merged.fileToken = stored.fileToken;
|
|
114
|
+
}
|
|
115
|
+
return merged;
|
|
116
|
+
} catch {
|
|
117
|
+
return candidate;
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Bootstrap rotation.
|
|
123
|
+
*
|
|
124
|
+
* Was a second, independent `/users/login/refresh` caller that bypassed
|
|
125
|
+
* every lock in the SDK — and, worse, only wrote the rotated token to
|
|
126
|
+
* the store on the happy path, so several of the early-return branches
|
|
127
|
+
* below used to drop it. Under the backend's reuse detection a dropped
|
|
128
|
+
* rotation means the next launch presents a burned token and the
|
|
129
|
+
* session is killed.
|
|
130
|
+
*
|
|
131
|
+
* `refreshAuthTokens` persists the new pair before it resolves, so by
|
|
132
|
+
* the time this returns the rotation is safe no matter which branch the
|
|
133
|
+
* caller takes afterwards. The explicit token is required here: during
|
|
134
|
+
* bootstrap the candidate session isn't in the store yet.
|
|
135
|
+
*/
|
|
136
|
+
const refreshWithToken = async refreshToken => {
|
|
137
|
+
const result = await (0, _authRefresh.refreshAuthTokens)({
|
|
138
|
+
refreshToken
|
|
44
139
|
});
|
|
45
140
|
return {
|
|
46
|
-
token:
|
|
47
|
-
refreshToken:
|
|
141
|
+
token: result.token,
|
|
142
|
+
refreshToken: result.refreshToken || refreshToken,
|
|
143
|
+
xmppPassword: result.xmppPassword || '',
|
|
144
|
+
fileToken: result.fileToken || ''
|
|
48
145
|
};
|
|
49
146
|
};
|
|
50
147
|
const mergeUsers = (base, patch) => {
|
|
@@ -69,10 +166,14 @@ const tryHydrateViaMy = async (candidate, myEndpoint, signal) => {
|
|
|
69
166
|
}
|
|
70
167
|
let workingToken = candidate?.token || '';
|
|
71
168
|
let workingRefresh = candidate?.refreshToken || '';
|
|
169
|
+
let rotatedXmppPassword = '';
|
|
170
|
+
let workingFileToken = candidate?.fileToken || '';
|
|
72
171
|
const candidateWithCurrentTokens = () => ({
|
|
73
172
|
...candidate,
|
|
74
173
|
token: workingToken || candidate.token,
|
|
75
|
-
refreshToken: workingRefresh || candidate.refreshToken
|
|
174
|
+
refreshToken: workingRefresh || candidate.refreshToken,
|
|
175
|
+
xmppPassword: rotatedXmppPassword || candidate.xmppPassword,
|
|
176
|
+
fileToken: workingFileToken || candidate.fileToken
|
|
76
177
|
});
|
|
77
178
|
const fallbackWithCreds = () => {
|
|
78
179
|
const normalized = normalizeUserForXmpp(candidateWithCurrentTokens());
|
|
@@ -91,6 +192,8 @@ const tryHydrateViaMy = async (candidate, myEndpoint, signal) => {
|
|
|
91
192
|
if (merged) {
|
|
92
193
|
merged.token = workingToken || merged.token;
|
|
93
194
|
merged.refreshToken = workingRefresh || merged.refreshToken;
|
|
195
|
+
merged.xmppPassword = rotatedXmppPassword || merged.xmppPassword;
|
|
196
|
+
merged.fileToken = workingFileToken || merged.fileToken;
|
|
94
197
|
}
|
|
95
198
|
return merged;
|
|
96
199
|
} catch (error) {
|
|
@@ -115,6 +218,8 @@ const tryHydrateViaMy = async (candidate, myEndpoint, signal) => {
|
|
|
115
218
|
const refreshed = await refreshWithToken(workingRefresh);
|
|
116
219
|
workingToken = refreshed.token;
|
|
117
220
|
workingRefresh = refreshed.refreshToken;
|
|
221
|
+
rotatedXmppPassword = refreshed.xmppPassword || rotatedXmppPassword;
|
|
222
|
+
workingFileToken = refreshed.fileToken || workingFileToken;
|
|
118
223
|
try {
|
|
119
224
|
const myUser = await (0, _user.getMyUser)({
|
|
120
225
|
token: workingToken,
|
|
@@ -124,6 +229,8 @@ const tryHydrateViaMy = async (candidate, myEndpoint, signal) => {
|
|
|
124
229
|
if (merged) {
|
|
125
230
|
merged.token = workingToken || merged.token;
|
|
126
231
|
merged.refreshToken = workingRefresh || merged.refreshToken;
|
|
232
|
+
merged.xmppPassword = rotatedXmppPassword || merged.xmppPassword;
|
|
233
|
+
merged.fileToken = workingFileToken || merged.fileToken;
|
|
127
234
|
}
|
|
128
235
|
return merged;
|
|
129
236
|
} catch (myError) {
|
|
@@ -143,6 +250,13 @@ const tryHydrateViaMy = async (candidate, myEndpoint, signal) => {
|
|
|
143
250
|
if (signal?.aborted || isAbortError(error)) {
|
|
144
251
|
return null;
|
|
145
252
|
}
|
|
253
|
+
// A fatal refresh verdict (reuse detected / token not found / stale
|
|
254
|
+
// with nothing newer around) carries no HTTP response, so it would
|
|
255
|
+
// otherwise fall through to `throw` — the session is simply dead,
|
|
256
|
+
// which for bootstrap means "nothing to restore".
|
|
257
|
+
if ((0, _authRefresh.isRefreshFatalError)(error)) {
|
|
258
|
+
return null;
|
|
259
|
+
}
|
|
146
260
|
if (isAuthError(error)) {
|
|
147
261
|
return null;
|
|
148
262
|
}
|
|
@@ -160,14 +274,14 @@ const resolveInitBeforeLoadUser = async options => {
|
|
|
160
274
|
if (config?.baseUrl) {
|
|
161
275
|
(0, _apiClient.setBaseURL)(config.baseUrl, config.customAppToken);
|
|
162
276
|
}
|
|
163
|
-
const myEndpoint = config?.initBeforeLoadAuth?.myEndpoint || '/users/my';
|
|
277
|
+
const myEndpoint = config?.initBeforeLoadAuth?.myEndpoint || '/v1/users/my';
|
|
164
278
|
|
|
165
279
|
// Priority 1: explicit userLogin
|
|
166
280
|
const explicitUser = config?.userLogin?.enabled ? config?.userLogin?.user : null;
|
|
167
281
|
if (explicitUser) {
|
|
168
282
|
const candidate = normalizeUserForXmpp(explicitUser);
|
|
169
283
|
if (candidate && hasXmppCredentials(candidate)) {
|
|
170
|
-
return candidate;
|
|
284
|
+
return await adoptFresherPersistedSession(candidate);
|
|
171
285
|
}
|
|
172
286
|
const hydrated = await tryHydrateViaMy(explicitUser, myEndpoint, signal).catch(() => null);
|
|
173
287
|
if (hydrated && hasXmppCredentials(hydrated)) {
|
|
@@ -286,7 +400,7 @@ const refreshUserCredentialsForXmpp = async (config, signal) => {
|
|
|
286
400
|
// fall through to /users/my path
|
|
287
401
|
}
|
|
288
402
|
}
|
|
289
|
-
const myEndpoint = config?.initBeforeLoadAuth?.myEndpoint || '/users/my';
|
|
403
|
+
const myEndpoint = config?.initBeforeLoadAuth?.myEndpoint || '/v1/users/my';
|
|
290
404
|
|
|
291
405
|
// Priority 2: redux store user (covers userLogin + customLogin +
|
|
292
406
|
// anything previously persisted into chatSettingStore.user). The
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_apiClient","_interopRequireWildcard","require","_auth","_user","_roomStore","_chatSettingsSlice","_walletUsername","_useLocalStorage","_LOCAL_STORAGE","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","getStatusCode","error","status","response","isAuthError","code","isAbortError","message","toLowerCase","includes","hasXmppCredentials","user","Boolean","xmppPassword","xmppUsername","defaultWallet","walletAddress","normalizeUserForXmpp","normalizedXmppUsername","walletToUsername","refreshWithToken","refreshToken","http","post","headers","Authorization","token","data","mergeUsers","base","patch","tryHydrateViaMy","candidate","myEndpoint","signal","aborted","mergedCandidate","workingToken","workingRefresh","candidateWithCurrentTokens","fallbackWithCreds","normalized","myUser","getMyUser","endpoint","merged","fallback","refreshed","myError","resolveInitBeforeLoadUser","options","config","baseUrl","setBaseURL","customAppToken","initBeforeLoadAuth","explicitUser","userLogin","enabled","hydrated","catch","customLogin","loginFunction","customUser","jwtLogin","jwtUser","loginViaJwt","currentUser","store","getState","chatSettingStore","storedUser","asyncLocalStorage","localStorageConstants","ETHORA_USER","remove","exports","applyResolvedUserToStore","dispatch","setUser","refreshUserCredentialsForXmpp","fresh","_default"],"sourceRoot":"../../../src","sources":["helpers/resolveInitBeforeLoadUser.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_apiClient","require","_authRefresh","_auth","_user","_roomStore","_chatSettingsSlice","_walletUsername","_useLocalStorage","_LOCAL_STORAGE","getStatusCode","error","status","response","isAuthError","code","isAbortError","message","toLowerCase","includes","hasXmppCredentials","user","Boolean","xmppPassword","xmppUsername","defaultWallet","walletAddress","normalizeUserForXmpp","normalizedXmppUsername","walletToUsername","B64_ALPHABET","readJwtIat","token","part","split","clean","replace","out","buffer","bits","i","length","idx","indexOf","String","fromCharCode","iat","JSON","parse","adoptFresherPersistedSession","candidate","stored","asyncLocalStorage","localStorageConstants","ETHORA_USER","get","sameUser","_id","merged","refreshToken","fileToken","refreshWithToken","result","refreshAuthTokens","mergeUsers","base","patch","tryHydrateViaMy","myEndpoint","signal","aborted","mergedCandidate","workingToken","workingRefresh","rotatedXmppPassword","workingFileToken","candidateWithCurrentTokens","fallbackWithCreds","normalized","myUser","getMyUser","endpoint","fallback","refreshed","myError","isRefreshFatalError","resolveInitBeforeLoadUser","options","config","baseUrl","setBaseURL","customAppToken","initBeforeLoadAuth","explicitUser","userLogin","enabled","hydrated","catch","customLogin","loginFunction","customUser","jwtLogin","jwtUser","loginViaJwt","currentUser","store","getState","chatSettingStore","storedUser","remove","exports","applyResolvedUserToStore","dispatch","setUser","refreshUserCredentialsForXmpp","fresh","_default","default"],"sourceRoot":"../../../src","sources":["helpers/resolveInitBeforeLoadUser.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.withFileToken = exports.resolveFileUrl = exports.requestFileTokenRecovery = exports.isSecureFileUrl = exports.appendFileToken = exports.__resetFileTokenRecoveryForTests = void 0;
|
|
7
|
+
var _roomStore = require("../roomStore");
|
|
8
|
+
var _apiClient = require("../networking/apiClient");
|
|
9
|
+
var _authRefresh = require("../networking/authRefresh");
|
|
10
|
+
const SECURE_FILES_HOST_PREFIX = 'secure-files.';
|
|
11
|
+
const SECURE_MEDIA_PATH_PREFIX = '/secure-media/';
|
|
12
|
+
const FILE_TOKEN_PARAM = 'ft';
|
|
13
|
+
const resolveFileUrl = url => {
|
|
14
|
+
if (!url) {
|
|
15
|
+
return '';
|
|
16
|
+
}
|
|
17
|
+
// Any scheme at all — http(s), data, file, content, blob.
|
|
18
|
+
if (/^[a-z][a-z0-9+.-]*:/i.test(url)) {
|
|
19
|
+
return url;
|
|
20
|
+
}
|
|
21
|
+
if (!url.startsWith('/')) {
|
|
22
|
+
return url;
|
|
23
|
+
}
|
|
24
|
+
const base = (0, _apiClient.getCurrentBaseURL)().replace(/\/+$/, '');
|
|
25
|
+
return base ? `${base}${url}` : url;
|
|
26
|
+
};
|
|
27
|
+
exports.resolveFileUrl = resolveFileUrl;
|
|
28
|
+
const isSecureFileUrl = url => {
|
|
29
|
+
if (!url) {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
const path = url.replace(/^[a-z][a-z0-9+.-]*:\/\/[^/]*/i, '');
|
|
33
|
+
if (path.startsWith(SECURE_MEDIA_PATH_PREFIX)) {
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
const match = /^https?:\/\/(?:[^@/]+@)?([^:/?#]+)/i.exec(url);
|
|
37
|
+
if (!match) {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
return match[1].toLowerCase().startsWith(SECURE_FILES_HOST_PREFIX);
|
|
41
|
+
};
|
|
42
|
+
exports.isSecureFileUrl = isSecureFileUrl;
|
|
43
|
+
const appendFileToken = (url, fileToken) => {
|
|
44
|
+
if (!url) {
|
|
45
|
+
return '';
|
|
46
|
+
}
|
|
47
|
+
const resolved = resolveFileUrl(url);
|
|
48
|
+
if (!fileToken || !isSecureFileUrl(resolved)) {
|
|
49
|
+
return resolved;
|
|
50
|
+
}
|
|
51
|
+
url = resolved;
|
|
52
|
+
const hashIndex = url.indexOf('#');
|
|
53
|
+
const hash = hashIndex === -1 ? '' : url.slice(hashIndex);
|
|
54
|
+
const withoutHash = hashIndex === -1 ? url : url.slice(0, hashIndex);
|
|
55
|
+
const queryIndex = withoutHash.indexOf('?');
|
|
56
|
+
const base = queryIndex === -1 ? withoutHash : withoutHash.slice(0, queryIndex);
|
|
57
|
+
const query = queryIndex === -1 ? '' : withoutHash.slice(queryIndex + 1);
|
|
58
|
+
const params = query.split('&').filter(Boolean).filter(pair => pair.split('=')[0] !== FILE_TOKEN_PARAM);
|
|
59
|
+
params.push(`${FILE_TOKEN_PARAM}=${encodeURIComponent(fileToken)}`);
|
|
60
|
+
return `${base}?${params.join('&')}${hash}`;
|
|
61
|
+
};
|
|
62
|
+
exports.appendFileToken = appendFileToken;
|
|
63
|
+
const withFileToken = url => appendFileToken(url, _roomStore.store.getState().chatSettingStore?.user?.fileToken || '');
|
|
64
|
+
exports.withFileToken = withFileToken;
|
|
65
|
+
const RECOVERY_COOLDOWN_MS = 30_000;
|
|
66
|
+
let recoveryInFlight = null;
|
|
67
|
+
let lastRecoveryAt = 0;
|
|
68
|
+
const requestFileTokenRecovery = () => {
|
|
69
|
+
if (recoveryInFlight) {
|
|
70
|
+
return recoveryInFlight;
|
|
71
|
+
}
|
|
72
|
+
const now = Date.now();
|
|
73
|
+
if (now - lastRecoveryAt < RECOVERY_COOLDOWN_MS) {
|
|
74
|
+
return Promise.resolve(false);
|
|
75
|
+
}
|
|
76
|
+
lastRecoveryAt = now;
|
|
77
|
+
const state = _roomStore.store.getState();
|
|
78
|
+
const refreshConfig = state.chatSettingStore?.config?.refreshTokens;
|
|
79
|
+
const user = state.chatSettingStore?.user;
|
|
80
|
+
if (!refreshConfig?.enabled) {
|
|
81
|
+
return Promise.resolve(false);
|
|
82
|
+
}
|
|
83
|
+
const run = async () => {
|
|
84
|
+
if (!refreshConfig.refreshFunction && !user?.refreshToken) {
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
const tokens = await (0, _authRefresh.refreshAuthTokens)();
|
|
88
|
+
return Boolean(tokens.fileToken);
|
|
89
|
+
};
|
|
90
|
+
recoveryInFlight = run().catch(() => false).finally(() => {
|
|
91
|
+
recoveryInFlight = null;
|
|
92
|
+
});
|
|
93
|
+
return recoveryInFlight;
|
|
94
|
+
};
|
|
95
|
+
exports.requestFileTokenRecovery = requestFileTokenRecovery;
|
|
96
|
+
const __resetFileTokenRecoveryForTests = () => {
|
|
97
|
+
recoveryInFlight = null;
|
|
98
|
+
lastRecoveryAt = 0;
|
|
99
|
+
};
|
|
100
|
+
exports.__resetFileTokenRecoveryForTests = __resetFileTokenRecoveryForTests;
|
|
101
|
+
//# sourceMappingURL=secureFileUrl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_roomStore","require","_apiClient","_authRefresh","SECURE_FILES_HOST_PREFIX","SECURE_MEDIA_PATH_PREFIX","FILE_TOKEN_PARAM","resolveFileUrl","url","test","startsWith","base","getCurrentBaseURL","replace","exports","isSecureFileUrl","path","match","exec","toLowerCase","appendFileToken","fileToken","resolved","hashIndex","indexOf","hash","slice","withoutHash","queryIndex","query","params","split","filter","Boolean","pair","push","encodeURIComponent","join","withFileToken","store","getState","chatSettingStore","user","RECOVERY_COOLDOWN_MS","recoveryInFlight","lastRecoveryAt","requestFileTokenRecovery","now","Date","Promise","resolve","state","refreshConfig","config","refreshTokens","enabled","run","refreshFunction","refreshToken","tokens","refreshAuthTokens","catch","finally","__resetFileTokenRecoveryForTests"],"sourceRoot":"../../../src","sources":["helpers/secureFileUrl.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -11,7 +11,7 @@ var _chatAutoEnterer = require("../helpers/chatAutoEnterer");
|
|
|
11
11
|
var _initRoomsPresence = require("../helpers/initRoomsPresence");
|
|
12
12
|
var _updatedChatLastTimestamps = require("../helpers/updatedChatLastTimestamps");
|
|
13
13
|
var _updateMessagesTillLast = require("../helpers/updateMessagesTillLast");
|
|
14
|
-
var
|
|
14
|
+
var _authRefresh = require("../networking/authRefresh");
|
|
15
15
|
var _chatSettingsSlice = require("../roomStore/chatSettingsSlice");
|
|
16
16
|
var _roomsSlice = require("../roomStore/roomsSlice");
|
|
17
17
|
var _useRoomState = require("./useRoomState");
|
|
@@ -145,7 +145,7 @@ const useChatWrapperInit = ({
|
|
|
145
145
|
setConnectionLost(false);
|
|
146
146
|
}
|
|
147
147
|
{
|
|
148
|
-
config?.refreshTokens?.enabled && (0,
|
|
148
|
+
config?.refreshTokens?.enabled && (0, _authRefresh.refreshAuthTokensQuietly)();
|
|
149
149
|
}
|
|
150
150
|
} catch (error) {
|
|
151
151
|
console.error(' Error during initialization', error);
|
|
@@ -184,7 +184,7 @@ const useChatWrapperInit = ({
|
|
|
184
184
|
setConnectionLost(false);
|
|
185
185
|
}
|
|
186
186
|
{
|
|
187
|
-
config?.refreshTokens?.enabled && (0,
|
|
187
|
+
config?.refreshTokens?.enabled && (0, _authRefresh.refreshAuthTokensQuietly)();
|
|
188
188
|
}
|
|
189
189
|
}
|
|
190
190
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactRedux","_xmppProvider","_chatAutoEnterer","_initRoomsPresence","_updatedChatLastTimestamps","_updateMessagesTillLast","
|
|
1
|
+
{"version":3,"names":["_react","require","_reactRedux","_xmppProvider","_chatAutoEnterer","_initRoomsPresence","_updatedChatLastTimestamps","_updateMessagesTillLast","_authRefresh","_chatSettingsSlice","_roomsSlice","_useRoomState","_useChatSettingState","_isChatIdPresentInArray","_useGetNewArchRoom","_interopRequireDefault","_getRoomsWithRetry","e","__esModule","default","useChatWrapperInit","roomJID","wasAutoSelected","config","dispatch","useDispatch","inited","setInited","useState","showModal","setShowModal","isConnectionLost","setConnectionLost","isRetrying","setIsRetrying","hasSyncedHistoryRef","useRef","client","initializeClient","setClient","useXmppClient","syncRooms","useGetNewArchRoom","rooms","useSelector","state","roomsList","useRoomState","user","useChatSettingState","useEffect","xmppPassword","console","log","close","getRoomsWithRertyRequest","retryRooms","getRoomsWithRetry","loadRooms","disableLoad","setIsLoading","loading","loadingText","undefined","retryTimeout","initXmmpClient","translates","enabled","translations","setLangSource","setConfig","xmppUsername","error","chatAutoEnterer","newClient","defaultWallet","walletAddress","xmppSettings","status","Object","keys","length","initRoomsPresence","newArch","loadedRooms","enableRoomsRetry","isSelectedRoomPresent","isChatIdPresentInArray","getRoomsStanza","roomTimestampObject","getChatsPrivateStoreRequestStanza","updatedChatLastTimestamps","current","updateMessagesTillLast","err","warn","refreshTokens","refreshAuthTokensQuietly","setTimeout","clearTimeout","_default","exports"],"sourceRoot":"../../../src","sources":["hooks/useChatWrapperInit.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useFileToken = void 0;
|
|
7
|
+
var _reactRedux = require("react-redux");
|
|
8
|
+
const useFileToken = () => (0, _reactRedux.useSelector)(state => state.chatSettingStore.user?.fileToken || '');
|
|
9
|
+
exports.useFileToken = useFileToken;
|
|
10
|
+
//# sourceMappingURL=useFileToken.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactRedux","require","useFileToken","useSelector","state","chatSettingStore","user","fileToken","exports"],"sourceRoot":"../../../src","sources":["hooks/useFileToken.ts"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAGO,MAAMC,YAAY,GAAGA,CAAA,KAC1B,IAAAC,uBAAW,EACRC,KAAgB,IAAKA,KAAK,CAACC,gBAAgB,CAACC,IAAI,EAAEC,SAAS,IAAI,EAClE,CAAC;AAACC,OAAA,CAAAN,YAAA,GAAAA,YAAA","ignoreList":[]}
|
|
@@ -157,11 +157,29 @@ const useSendMessage = _configOverride => {
|
|
|
157
157
|
// PENDING_WATCHDOG_MS, flip the bubble to "failed → tap to
|
|
158
158
|
// retry". We check at fire-time whether the message is still
|
|
159
159
|
// pending and not already marked failed by the catch path.
|
|
160
|
-
|
|
160
|
+
// One-shot extension for the case below. Declared outside the
|
|
161
|
+
// timer so the rescheduled run can't extend again.
|
|
162
|
+
let watchdogExtended = false;
|
|
163
|
+
const runWatchdog = () => {
|
|
161
164
|
const state = reduxStore.getState();
|
|
162
165
|
const roomMsgs = state.rooms?.rooms?.[activeRoomJID]?.messages || [];
|
|
163
166
|
const stillPending = roomMsgs.find(m => m.id === optimisticId && m.pending);
|
|
164
167
|
const alreadyFailed = state.roomHeapSlice?.failedMessages?.[optimisticId];
|
|
168
|
+
|
|
169
|
+
// Don't call it a failure while the stream is still coming back.
|
|
170
|
+
// A reconnect tears the old client down and builds a new one, and
|
|
171
|
+
// any echo in flight during that window is simply lost — the
|
|
172
|
+
// message may well have been delivered (it has been observed
|
|
173
|
+
// arriving twice on the receiving side). Failing it here shows a
|
|
174
|
+
// red "tap to retry" under a message that actually went through.
|
|
175
|
+
// Give the reconnect one more window to produce an echo, once.
|
|
176
|
+
const streamOnline = (0, _clientRegistry.getGlobalXmppClient)()?.status === 'online';
|
|
177
|
+
if (stillPending && !alreadyFailed && !streamOnline && !watchdogExtended) {
|
|
178
|
+
watchdogExtended = true;
|
|
179
|
+
console.warn(`Send watchdog — ${optimisticId} still pending but the stream is not online; extending one window`);
|
|
180
|
+
watchdogTimer = setTimeout(runWatchdog, PENDING_WATCHDOG_MS);
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
165
183
|
if (stillPending && !alreadyFailed) {
|
|
166
184
|
console.warn(`Send watchdog fired — message ${optimisticId} stuck pending > ${PENDING_WATCHDOG_MS}ms; marking failed`);
|
|
167
185
|
dispatch((0, _roomHeapSlice.markMessageFailed)({
|
|
@@ -180,7 +198,8 @@ const useSendMessage = _configOverride => {
|
|
|
180
198
|
messageType: 'text'
|
|
181
199
|
});
|
|
182
200
|
}
|
|
183
|
-
}
|
|
201
|
+
};
|
|
202
|
+
let watchdogTimer = setTimeout(runWatchdog, PENDING_WATCHDOG_MS);
|
|
184
203
|
try {
|
|
185
204
|
// The single send closure, used both for the immediate send and for
|
|
186
205
|
// the buffered replay. Passing the optimistic id as the stanza id
|
|
@@ -373,20 +392,11 @@ const useSendMessage = _configOverride => {
|
|
|
373
392
|
type: data?.type || data?.mimeType || type || 'application/octet-stream',
|
|
374
393
|
name: data?.name || data?.fileName || `media_${Date.now()}`
|
|
375
394
|
};
|
|
376
|
-
|
|
377
|
-
// Mirror the web client: a single multipart POST to /files/ with
|
|
378
|
-
// the file under the plural "files" field. We send it via fetch
|
|
379
|
-
// (not axios) because RN's fetch sets the multipart boundary on the
|
|
380
|
-
// Content-Type header correctly. The previous axios fallback omitted
|
|
381
|
-
// a valid boundary, so the server mis-parsed one file as many and
|
|
382
|
-
// rejected the request with HTTP 413 "TOO_MANY_FILES". The only
|
|
383
|
-
// retry is the documented singular-"file" fallback for deployments
|
|
384
|
-
// that 500 on the plural field (bug #10).
|
|
385
395
|
const tryUpload = async () => {
|
|
386
396
|
const fd = new FormData();
|
|
387
397
|
fd.append('files', fileBlob);
|
|
388
398
|
try {
|
|
389
|
-
return await (0, _auth.
|
|
399
|
+
return await (0, _auth.uploadFileV2)(fd, activeRoomJID);
|
|
390
400
|
} catch (err) {
|
|
391
401
|
if (err?.response?.status === 500) {
|
|
392
402
|
console.warn('upload "files" field returned 500 — retrying with "file" (singular)', {
|
|
@@ -395,7 +405,7 @@ const useSendMessage = _configOverride => {
|
|
|
395
405
|
});
|
|
396
406
|
const fd2 = new FormData();
|
|
397
407
|
fd2.append('file', fileBlob);
|
|
398
|
-
return await (0, _auth.
|
|
408
|
+
return await (0, _auth.uploadFileV2)(fd2, activeRoomJID);
|
|
399
409
|
}
|
|
400
410
|
throw err;
|
|
401
411
|
}
|