stream-chat-react-native-core 5.15.0-beta.6 → 5.15.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/lib/commonjs/components/Channel/Channel.js +72 -61
- package/lib/commonjs/components/Channel/Channel.js.map +1 -1
- package/lib/commonjs/store/apis/index.js +4 -4
- package/lib/commonjs/store/apis/index.js.map +1 -1
- package/lib/commonjs/store/apis/{upsertLastSyncedAt.js → upsertUserSyncStatus.js} +4 -4
- package/lib/commonjs/store/apis/upsertUserSyncStatus.js.map +1 -0
- package/lib/commonjs/utils/DBSyncManager.js +18 -12
- package/lib/commonjs/utils/DBSyncManager.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Channel/Channel.js +72 -61
- package/lib/module/components/Channel/Channel.js.map +1 -1
- package/lib/module/store/apis/index.js +4 -4
- package/lib/module/store/apis/index.js.map +1 -1
- package/lib/module/store/apis/{upsertLastSyncedAt.js → upsertUserSyncStatus.js} +4 -4
- package/lib/module/store/apis/upsertUserSyncStatus.js.map +1 -0
- package/lib/module/utils/DBSyncManager.js +18 -12
- package/lib/module/utils/DBSyncManager.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/store/apis/index.d.ts +1 -1
- package/lib/typescript/store/apis/upsertUserSyncStatus.d.ts +4 -0
- package/package.json +1 -1
- package/src/components/Channel/Channel.tsx +74 -57
- package/src/store/apis/index.ts +1 -1
- package/src/store/apis/{upsertLastSyncedAt.ts → upsertUserSyncStatus.ts} +1 -1
- package/src/utils/DBSyncManager.ts +5 -2
- package/src/version.json +1 -1
- package/lib/commonjs/store/apis/upsertLastSyncedAt.js.map +0 -1
- package/lib/module/store/apis/upsertLastSyncedAt.js.map +0 -1
- package/lib/typescript/store/apis/upsertLastSyncedAt.d.ts +0 -4
|
@@ -210,14 +210,14 @@ Object.keys(_upsertCidsForQuery).forEach(function (key) {
|
|
|
210
210
|
}
|
|
211
211
|
});
|
|
212
212
|
});
|
|
213
|
-
var
|
|
214
|
-
Object.keys(
|
|
213
|
+
var _upsertUserSyncStatus = require("./upsertUserSyncStatus");
|
|
214
|
+
Object.keys(_upsertUserSyncStatus).forEach(function (key) {
|
|
215
215
|
if (key === "default" || key === "__esModule") return;
|
|
216
|
-
if (key in exports && exports[key] ===
|
|
216
|
+
if (key in exports && exports[key] === _upsertUserSyncStatus[key]) return;
|
|
217
217
|
Object.defineProperty(exports, key, {
|
|
218
218
|
enumerable: true,
|
|
219
219
|
get: function get() {
|
|
220
|
-
return
|
|
220
|
+
return _upsertUserSyncStatus[key];
|
|
221
221
|
}
|
|
222
222
|
});
|
|
223
223
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_deleteChannel","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_deleteMember","_deleteMessage","_deleteMessagesForChannel","_deleteReactions","_getAllChannelIds","_getAppSettings","_getChannelMessages","_getChannels","_getChannelsForFilterSort","_getLastSyncedAt","_getMembers","_getReads","_updateMessage","_updateReaction","_upsertAppSettings","_upsertChannelData","_upsertChannels","_upsertCidsForQuery","
|
|
1
|
+
{"version":3,"names":["_deleteChannel","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_deleteMember","_deleteMessage","_deleteMessagesForChannel","_deleteReactions","_getAllChannelIds","_getAppSettings","_getChannelMessages","_getChannels","_getChannelsForFilterSort","_getLastSyncedAt","_getMembers","_getReads","_updateMessage","_updateReaction","_upsertAppSettings","_upsertChannelData","_upsertChannels","_upsertCidsForQuery","_upsertUserSyncStatus","_upsertMembers","_upsertMessages","_upsertReads"],"sources":["index.ts"],"sourcesContent":["export * from './deleteChannel';\nexport * from './deleteMember';\nexport * from './deleteMessage';\nexport * from './deleteMessagesForChannel';\nexport * from './deleteReactions';\nexport * from './getAllChannelIds';\nexport * from './getAppSettings';\nexport * from './getChannelMessages';\nexport * from './getChannels';\nexport * from './getChannelsForFilterSort';\nexport * from './getLastSyncedAt';\nexport * from './getMembers';\nexport * from './getReads';\nexport * from './updateMessage';\nexport * from './updateReaction';\nexport * from './upsertAppSettings';\nexport * from './upsertChannelData';\nexport * from './upsertChannels';\nexport * from './upsertCidsForQuery';\nexport * from './upsertUserSyncStatus';\nexport * from './upsertMembers';\nexport * from './upsertMessages';\nexport * from './upsertReads';\n"],"mappings":";;;AAAA,IAAAA,cAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,cAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,cAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAT,cAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,aAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,aAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,aAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAC,aAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,cAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,cAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,cAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAE,cAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,yBAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,yBAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,yBAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAG,yBAAA,CAAAP,GAAA;IAAA;EAAA;AAAA;AACA,IAAAQ,gBAAA,GAAAZ,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAU,gBAAA,EAAAT,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAQ,gBAAA,CAAAR,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAI,gBAAA,CAAAR,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,iBAAA,GAAAb,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAW,iBAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAS,iBAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAK,iBAAA,CAAAT,GAAA;IAAA;EAAA;AAAA;AACA,IAAAU,eAAA,GAAAd,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAY,eAAA,EAAAX,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAU,eAAA,CAAAV,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAM,eAAA,CAAAV,GAAA;IAAA;EAAA;AAAA;AACA,IAAAW,mBAAA,GAAAf,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAa,mBAAA,EAAAZ,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAW,mBAAA,CAAAX,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAO,mBAAA,CAAAX,GAAA;IAAA;EAAA;AAAA;AACA,IAAAY,YAAA,GAAAhB,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAc,YAAA,EAAAb,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAY,YAAA,CAAAZ,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAQ,YAAA,CAAAZ,GAAA;IAAA;EAAA;AAAA;AACA,IAAAa,yBAAA,GAAAjB,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAe,yBAAA,EAAAd,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAa,yBAAA,CAAAb,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAS,yBAAA,CAAAb,GAAA;IAAA;EAAA;AAAA;AACA,IAAAc,gBAAA,GAAAlB,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAgB,gBAAA,EAAAf,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAc,gBAAA,CAAAd,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAU,gBAAA,CAAAd,GAAA;IAAA;EAAA;AAAA;AACA,IAAAe,WAAA,GAAAnB,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAiB,WAAA,EAAAhB,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAe,WAAA,CAAAf,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAW,WAAA,CAAAf,GAAA;IAAA;EAAA;AAAA;AACA,IAAAgB,SAAA,GAAApB,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAkB,SAAA,EAAAjB,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAgB,SAAA,CAAAhB,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAY,SAAA,CAAAhB,GAAA;IAAA;EAAA;AAAA;AACA,IAAAiB,cAAA,GAAArB,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAmB,cAAA,EAAAlB,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAiB,cAAA,CAAAjB,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAa,cAAA,CAAAjB,GAAA;IAAA;EAAA;AAAA;AACA,IAAAkB,eAAA,GAAAtB,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAoB,eAAA,EAAAnB,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAkB,eAAA,CAAAlB,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAc,eAAA,CAAAlB,GAAA;IAAA;EAAA;AAAA;AACA,IAAAmB,kBAAA,GAAAvB,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAqB,kBAAA,EAAApB,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAmB,kBAAA,CAAAnB,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAe,kBAAA,CAAAnB,GAAA;IAAA;EAAA;AAAA;AACA,IAAAoB,kBAAA,GAAAxB,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAsB,kBAAA,EAAArB,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAoB,kBAAA,CAAApB,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAgB,kBAAA,CAAApB,GAAA;IAAA;EAAA;AAAA;AACA,IAAAqB,eAAA,GAAAzB,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAuB,eAAA,EAAAtB,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAqB,eAAA,CAAArB,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAiB,eAAA,CAAArB,GAAA;IAAA;EAAA;AAAA;AACA,IAAAsB,mBAAA,GAAA1B,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAwB,mBAAA,EAAAvB,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAsB,mBAAA,CAAAtB,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAkB,mBAAA,CAAAtB,GAAA;IAAA;EAAA;AAAA;AACA,IAAAuB,qBAAA,GAAA3B,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAyB,qBAAA,EAAAxB,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAuB,qBAAA,CAAAvB,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAmB,qBAAA,CAAAvB,GAAA;IAAA;EAAA;AAAA;AACA,IAAAwB,cAAA,GAAA5B,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAA0B,cAAA,EAAAzB,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAwB,cAAA,CAAAxB,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAoB,cAAA,CAAAxB,GAAA;IAAA;EAAA;AAAA;AACA,IAAAyB,eAAA,GAAA7B,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAA2B,eAAA,EAAA1B,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAyB,eAAA,CAAAzB,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAqB,eAAA,CAAAzB,GAAA;IAAA;EAAA;AAAA;AACA,IAAA0B,YAAA,GAAA9B,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAA4B,YAAA,EAAA3B,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAA0B,YAAA,CAAA1B,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAsB,YAAA,CAAA1B,GAAA;IAAA;EAAA;AAAA"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
Object.defineProperty(exports, "__esModule", {
|
|
2
2
|
value: true
|
|
3
3
|
});
|
|
4
|
-
exports.
|
|
4
|
+
exports.upsertUserSyncStatus = void 0;
|
|
5
5
|
var _QuickSqliteClient = require("../QuickSqliteClient");
|
|
6
6
|
var _createUpsertQuery = require("../sqlite-utils/createUpsertQuery");
|
|
7
|
-
var
|
|
7
|
+
var upsertUserSyncStatus = function upsertUserSyncStatus(_ref) {
|
|
8
8
|
var currentUserId = _ref.currentUserId,
|
|
9
9
|
lastSyncedAt = _ref.lastSyncedAt;
|
|
10
10
|
var query = (0, _createUpsertQuery.createUpsertQuery)('userSyncStatus', {
|
|
@@ -13,5 +13,5 @@ var upsertLastSyncedAt = function upsertLastSyncedAt(_ref) {
|
|
|
13
13
|
});
|
|
14
14
|
_QuickSqliteClient.QuickSqliteClient.executeSql.apply(null, query);
|
|
15
15
|
};
|
|
16
|
-
exports.
|
|
17
|
-
//# sourceMappingURL=
|
|
16
|
+
exports.upsertUserSyncStatus = upsertUserSyncStatus;
|
|
17
|
+
//# sourceMappingURL=upsertUserSyncStatus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_QuickSqliteClient","require","_createUpsertQuery","upsertUserSyncStatus","_ref","currentUserId","lastSyncedAt","query","createUpsertQuery","userId","QuickSqliteClient","executeSql","apply","exports"],"sources":["upsertUserSyncStatus.ts"],"sourcesContent":["import { QuickSqliteClient } from '../QuickSqliteClient';\nimport { createUpsertQuery } from '../sqlite-utils/createUpsertQuery';\n\nexport const upsertUserSyncStatus = ({\n currentUserId,\n lastSyncedAt,\n}: {\n currentUserId: string;\n lastSyncedAt: string;\n}) => {\n const query = createUpsertQuery('userSyncStatus', {\n lastSyncedAt,\n userId: currentUserId,\n });\n\n QuickSqliteClient.executeSql.apply(null, query);\n};\n"],"mappings":";;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAD,OAAA;AAEO,IAAME,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAAC,IAAA,EAM3B;EAAA,IALJC,aAAa,GAAAD,IAAA,CAAbC,aAAa;IACbC,YAAY,GAAAF,IAAA,CAAZE,YAAY;EAKZ,IAAMC,KAAK,GAAG,IAAAC,oCAAiB,EAAC,gBAAgB,EAAE;IAChDF,YAAY,EAAZA,YAAY;IACZG,MAAM,EAAEJ;EACV,CAAC,CAAC;EAEFK,oCAAiB,CAACC,UAAU,CAACC,KAAK,CAAC,IAAI,EAAEL,KAAK,CAAC;AACjD,CAAC;AAACM,OAAA,CAAAV,oBAAA,GAAAA,oBAAA"}
|
|
@@ -120,14 +120,20 @@ DBSyncManager.sync = (0, _asyncToGenerator2["default"])(_regenerator["default"].
|
|
|
120
120
|
currentUserId: DBSyncManager.client.user.id
|
|
121
121
|
});
|
|
122
122
|
cids = (0, _apis.getAllChannelIds)();
|
|
123
|
+
if (!(cids.length === 0)) {
|
|
124
|
+
_context3.next = 6;
|
|
125
|
+
break;
|
|
126
|
+
}
|
|
127
|
+
return _context3.abrupt("return");
|
|
128
|
+
case 6:
|
|
123
129
|
if (!lastSyncedAt) {
|
|
124
|
-
_context3.next =
|
|
130
|
+
_context3.next = 18;
|
|
125
131
|
break;
|
|
126
132
|
}
|
|
127
|
-
_context3.prev =
|
|
128
|
-
_context3.next =
|
|
133
|
+
_context3.prev = 7;
|
|
134
|
+
_context3.next = 10;
|
|
129
135
|
return DBSyncManager.client.sync(cids, new Date(lastSyncedAt).toISOString());
|
|
130
|
-
case
|
|
136
|
+
case 10:
|
|
131
137
|
result = _context3.sent;
|
|
132
138
|
queries = result.events.reduce(function (queries, event) {
|
|
133
139
|
queries = queries.concat((0, _handleEventToSyncDB.handleEventToSyncDB)(event, false));
|
|
@@ -136,22 +142,22 @@ DBSyncManager.sync = (0, _asyncToGenerator2["default"])(_regenerator["default"].
|
|
|
136
142
|
if (queries.length) {
|
|
137
143
|
_QuickSqliteClient.QuickSqliteClient.executeSqlBatch(queries);
|
|
138
144
|
}
|
|
139
|
-
_context3.next =
|
|
145
|
+
_context3.next = 18;
|
|
140
146
|
break;
|
|
141
|
-
case
|
|
142
|
-
_context3.prev =
|
|
143
|
-
_context3.t0 = _context3["catch"](
|
|
147
|
+
case 15:
|
|
148
|
+
_context3.prev = 15;
|
|
149
|
+
_context3.t0 = _context3["catch"](7);
|
|
144
150
|
_QuickSqliteClient.QuickSqliteClient.resetDB();
|
|
145
|
-
case
|
|
146
|
-
(0, _apis.
|
|
151
|
+
case 18:
|
|
152
|
+
(0, _apis.upsertUserSyncStatus)({
|
|
147
153
|
currentUserId: DBSyncManager.client.user.id,
|
|
148
154
|
lastSyncedAt: new Date().toString()
|
|
149
155
|
});
|
|
150
|
-
case
|
|
156
|
+
case 19:
|
|
151
157
|
case "end":
|
|
152
158
|
return _context3.stop();
|
|
153
159
|
}
|
|
154
|
-
}, _callee3, null, [[
|
|
160
|
+
}, _callee3, null, [[7, 15]]);
|
|
155
161
|
}));
|
|
156
162
|
DBSyncManager.syncAndExecutePendingTasks = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee4() {
|
|
157
163
|
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_handleEventToSyncDB","require","_apis","_addPendingTask","_deletePendingTask","_getPendingTasks","_QuickSqliteClient","_createForOfIteratorHelperLoose","o","allowArrayLike","it","Symbol","iterator","call","next","bind","Array","isArray","_unsupportedIterableToArray","length","i","done","value","TypeError","minLen","_arrayLikeToArray","n","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","restBeforeNextTask","Promise","resolve","setTimeout","DBSyncManager","_createClass2","_classCallCheck2","exports","syncStatus","listeners","client","getSyncStatus","init","_ref","_asyncToGenerator2","_regenerator","mark","_callee2","_client$user","_client$wsConnection","wrap","_callee2$","_context2","prev","user","id","wsConnection","isHealthy","syncAndExecutePendingTasks","forEach","l","on","_ref2","_callee","event","_callee$","_context","online","stop","_x2","apply","arguments","_x","onSyncStatusChange","listener","push","unsubscribe","filter","el","sync","_callee3","_DBSyncManager$client","lastSyncedAt","cids","result","queries","_callee3$","_context3","abrupt","getLastSyncedAt","currentUserId","getAllChannelIds","Date","toISOString","sent","events","reduce","concat","handleEventToSyncDB","QuickSqliteClient","executeSqlBatch","t0","resetDB","upsertLastSyncedAt","_callee4","_callee4$","_context4","executePendingTasks","queueTask","_ref6","_callee5","_ref5","task","removeFromApi","response","_response","_response$data","_callee5$","_context5","addPendingTask","executeTask","data","code","_x3","_ref8","_callee6","_ref7","channel","_callee6$","_context6","channelType","channelId","type","sendReaction","_toConsumableArray2","payload","deleteReaction","deleteMessage","Error","_x4","_ref9","_callee7","queue","_iterator","_step","_response2","_response2$data","_callee7$","_context7","getPendingTasks","deletePendingTask","_x5","dropPendingTasks","conditions","tasks","_iterator2","_step2"],"sources":["DBSyncManager.ts"],"sourcesContent":["import type { AxiosError } from 'axios';\nimport type { APIErrorResponse, StreamChat } from 'stream-chat';\n\nimport { handleEventToSyncDB } from '../components/Chat/hooks/handleEventToSyncDB';\nimport { getAllChannelIds, getLastSyncedAt, upsertLastSyncedAt } from '../store/apis';\n\nimport { addPendingTask } from '../store/apis/addPendingTask';\n\nimport { deletePendingTask } from '../store/apis/deletePendingTask';\nimport { getPendingTasks } from '../store/apis/getPendingTasks';\nimport { QuickSqliteClient } from '../store/QuickSqliteClient';\nimport type { PendingTask, PreparedQueries } from '../store/types';\nimport type { DefaultStreamChatGenerics } from '../types/types';\n/**\n * DBSyncManager has the responsibility to sync the channel states\n * within local database whenever possible.\n *\n * Components can get the current sync status using DBSyncManager.getCurrentStatus().\n * Or components can attach a listener for status change as following:\n *\n * ```tsx\n * useEffect(() => {\n * const unsubscribe = DBSyncManager.onSyncStatusChange((syncStatus) => {\n * if (syncStatus) {\n * doSomething();\n * }\n * })\n *\n * return () => unsubscribe();\n * })\n * ```\n */\nconst restBeforeNextTask = () => new Promise((resolve) => setTimeout(resolve, 500));\n\nexport class DBSyncManager {\n static syncStatus = false;\n static listeners: Array<(status: boolean) => void> = [];\n static client: StreamChat | null = null;\n\n /**\n * Returns weather channel states in local DB are synced with backend or not.\n * @returns boolean\n */\n static getSyncStatus = () => this.syncStatus;\n\n /**\n * Initializes the DBSyncManager. This function should be called only once\n * throughout the lifetime of SDK.\n *\n * @param client\n */\n static init = async (client: StreamChat) => {\n this.client = client;\n // If the websocket connection is already active, then straightaway\n // call the sync api and also execute pending api calls.\n // Otherwise wait for `connection.changed` event.\n if (client.user?.id && client.wsConnection?.isHealthy) {\n await this.syncAndExecutePendingTasks();\n this.syncStatus = true;\n this.listeners.forEach((l) => l(true));\n }\n\n this.client.on('connection.changed', async (event) => {\n if (event.online) {\n await this.syncAndExecutePendingTasks();\n this.syncStatus = true;\n this.listeners.forEach((l) => l(true));\n } else {\n this.syncStatus = false;\n this.listeners.forEach((l) => l(false));\n }\n });\n };\n\n /**\n * Subscribes a listener for sync status change.\n *\n * @param listener {function}\n * @returns {function} to unsubscribe the listener.\n */\n static onSyncStatusChange = (listener: (status: boolean) => void) => {\n this.listeners.push(listener);\n\n return {\n unsubscribe: () => {\n this.listeners = this.listeners.filter((el) => el !== listener);\n },\n };\n };\n\n static sync = async () => {\n if (!this.client?.user) return;\n\n const lastSyncedAt = getLastSyncedAt({\n currentUserId: this.client.user.id,\n });\n const cids = getAllChannelIds();\n\n if (lastSyncedAt) {\n try {\n const result = await this.client.sync(cids, new Date(lastSyncedAt).toISOString());\n const queries = result.events.reduce<PreparedQueries[]>((queries, event) => {\n queries = queries.concat(handleEventToSyncDB(event, false));\n return queries;\n }, []);\n\n if (queries.length) {\n QuickSqliteClient.executeSqlBatch(queries);\n }\n } catch (e) {\n // Error will be raised by the sync API if there are too many events.\n // In that case reset the entire DB and start fresh.\n QuickSqliteClient.resetDB();\n }\n }\n upsertLastSyncedAt({\n currentUserId: this.client.user.id,\n lastSyncedAt: new Date().toString(),\n });\n };\n\n static syncAndExecutePendingTasks = async () => {\n if (!this.client) return;\n\n await this.executePendingTasks(this.client);\n await this.sync();\n };\n\n static queueTask = async <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n >({\n client,\n task,\n }: {\n client: StreamChat<StreamChatGenerics>;\n task: PendingTask;\n }) => {\n const removeFromApi = addPendingTask(task);\n\n let response;\n try {\n response = await this.executeTask<StreamChatGenerics>({ client, task });\n } catch (e) {\n if ((e as AxiosError<APIErrorResponse>)?.response?.data?.code === 4) {\n // Error code 16 - message already exists\n // ignore\n } else {\n throw e;\n }\n }\n\n removeFromApi();\n\n return response;\n };\n\n static executeTask = async <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n >({\n client,\n task,\n }: {\n client: StreamChat<StreamChatGenerics>;\n task: PendingTask;\n }) => {\n const channel = client.channel(task.channelType, task.channelId);\n\n if (task.type === 'send-reaction') {\n return await channel.sendReaction(...task.payload);\n }\n\n if (task.type === 'delete-reaction') {\n return await channel.deleteReaction(...task.payload);\n }\n\n if (task.type === 'delete-message') {\n return await client.deleteMessage(...task.payload);\n }\n\n throw new Error('Invalid task type');\n };\n\n static executePendingTasks = async <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n >(\n client: StreamChat<StreamChatGenerics>,\n ) => {\n const queue = getPendingTasks();\n for (const task of queue) {\n if (!task.id) continue;\n\n try {\n await this.executeTask<StreamChatGenerics>({\n client,\n task,\n });\n } catch (e) {\n if ((e as AxiosError<APIErrorResponse>)?.response?.data?.code === 4) {\n // Error code 16 - message already exists\n // ignore\n } else {\n throw e;\n }\n }\n\n deletePendingTask({\n id: task.id,\n });\n await restBeforeNextTask();\n }\n };\n\n static dropPendingTasks = (conditions: { messageId: string }) => {\n const tasks = getPendingTasks(conditions);\n\n for (const task of tasks) {\n if (!task.id) continue;\n\n deletePendingTask({\n id: task.id,\n });\n }\n };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_handleEventToSyncDB","require","_apis","_addPendingTask","_deletePendingTask","_getPendingTasks","_QuickSqliteClient","_createForOfIteratorHelperLoose","o","allowArrayLike","it","Symbol","iterator","call","next","bind","Array","isArray","_unsupportedIterableToArray","length","i","done","value","TypeError","minLen","_arrayLikeToArray","n","Object","prototype","toString","slice","constructor","name","from","test","arr","len","arr2","restBeforeNextTask","Promise","resolve","setTimeout","DBSyncManager","_createClass2","_classCallCheck2","exports","syncStatus","listeners","client","getSyncStatus","init","_ref","_asyncToGenerator2","_regenerator","mark","_callee2","_client$user","_client$wsConnection","wrap","_callee2$","_context2","prev","user","id","wsConnection","isHealthy","syncAndExecutePendingTasks","forEach","l","on","_ref2","_callee","event","_callee$","_context","online","stop","_x2","apply","arguments","_x","onSyncStatusChange","listener","push","unsubscribe","filter","el","sync","_callee3","_DBSyncManager$client","lastSyncedAt","cids","result","queries","_callee3$","_context3","abrupt","getLastSyncedAt","currentUserId","getAllChannelIds","Date","toISOString","sent","events","reduce","concat","handleEventToSyncDB","QuickSqliteClient","executeSqlBatch","t0","resetDB","upsertUserSyncStatus","_callee4","_callee4$","_context4","executePendingTasks","queueTask","_ref6","_callee5","_ref5","task","removeFromApi","response","_response","_response$data","_callee5$","_context5","addPendingTask","executeTask","data","code","_x3","_ref8","_callee6","_ref7","channel","_callee6$","_context6","channelType","channelId","type","sendReaction","_toConsumableArray2","payload","deleteReaction","deleteMessage","Error","_x4","_ref9","_callee7","queue","_iterator","_step","_response2","_response2$data","_callee7$","_context7","getPendingTasks","deletePendingTask","_x5","dropPendingTasks","conditions","tasks","_iterator2","_step2"],"sources":["DBSyncManager.ts"],"sourcesContent":["import type { AxiosError } from 'axios';\nimport type { APIErrorResponse, StreamChat } from 'stream-chat';\n\nimport { handleEventToSyncDB } from '../components/Chat/hooks/handleEventToSyncDB';\nimport { getAllChannelIds, getLastSyncedAt, upsertUserSyncStatus } from '../store/apis';\n\nimport { addPendingTask } from '../store/apis/addPendingTask';\n\nimport { deletePendingTask } from '../store/apis/deletePendingTask';\nimport { getPendingTasks } from '../store/apis/getPendingTasks';\nimport { QuickSqliteClient } from '../store/QuickSqliteClient';\nimport type { PendingTask, PreparedQueries } from '../store/types';\nimport type { DefaultStreamChatGenerics } from '../types/types';\n\n/**\n * DBSyncManager has the responsibility to sync the channel states\n * within local database whenever possible.\n *\n * Components can get the current sync status using DBSyncManager.getCurrentStatus().\n * Or components can attach a listener for status change as following:\n *\n * ```tsx\n * useEffect(() => {\n * const unsubscribe = DBSyncManager.onSyncStatusChange((syncStatus) => {\n * if (syncStatus) {\n * doSomething();\n * }\n * })\n *\n * return () => unsubscribe();\n * })\n * ```\n */\nconst restBeforeNextTask = () => new Promise((resolve) => setTimeout(resolve, 500));\n\nexport class DBSyncManager {\n static syncStatus = false;\n static listeners: Array<(status: boolean) => void> = [];\n static client: StreamChat | null = null;\n\n /**\n * Returns weather channel states in local DB are synced with backend or not.\n * @returns boolean\n */\n static getSyncStatus = () => this.syncStatus;\n\n /**\n * Initializes the DBSyncManager. This function should be called only once\n * throughout the lifetime of SDK.\n *\n * @param client\n */\n static init = async (client: StreamChat) => {\n this.client = client;\n // If the websocket connection is already active, then straightaway\n // call the sync api and also execute pending api calls.\n // Otherwise wait for `connection.changed` event.\n if (client.user?.id && client.wsConnection?.isHealthy) {\n await this.syncAndExecutePendingTasks();\n this.syncStatus = true;\n this.listeners.forEach((l) => l(true));\n }\n\n this.client.on('connection.changed', async (event) => {\n if (event.online) {\n await this.syncAndExecutePendingTasks();\n this.syncStatus = true;\n this.listeners.forEach((l) => l(true));\n } else {\n this.syncStatus = false;\n this.listeners.forEach((l) => l(false));\n }\n });\n };\n\n /**\n * Subscribes a listener for sync status change.\n *\n * @param listener {function}\n * @returns {function} to unsubscribe the listener.\n */\n static onSyncStatusChange = (listener: (status: boolean) => void) => {\n this.listeners.push(listener);\n\n return {\n unsubscribe: () => {\n this.listeners = this.listeners.filter((el) => el !== listener);\n },\n };\n };\n\n static sync = async () => {\n if (!this.client?.user) return;\n\n const lastSyncedAt = getLastSyncedAt({\n currentUserId: this.client.user.id,\n });\n const cids = getAllChannelIds();\n // If there are no channels, then there is no need to sync.\n if (cids.length === 0) return;\n\n if (lastSyncedAt) {\n try {\n const result = await this.client.sync(cids, new Date(lastSyncedAt).toISOString());\n const queries = result.events.reduce<PreparedQueries[]>((queries, event) => {\n queries = queries.concat(handleEventToSyncDB(event, false));\n return queries;\n }, []);\n\n if (queries.length) {\n QuickSqliteClient.executeSqlBatch(queries);\n }\n } catch (e) {\n // Error will be raised by the sync API if there are too many events.\n // In that case reset the entire DB and start fresh.\n QuickSqliteClient.resetDB();\n }\n }\n upsertUserSyncStatus({\n currentUserId: this.client.user.id,\n lastSyncedAt: new Date().toString(),\n });\n };\n\n static syncAndExecutePendingTasks = async () => {\n if (!this.client) return;\n\n await this.executePendingTasks(this.client);\n await this.sync();\n };\n\n static queueTask = async <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n >({\n client,\n task,\n }: {\n client: StreamChat<StreamChatGenerics>;\n task: PendingTask;\n }) => {\n const removeFromApi = addPendingTask(task);\n\n let response;\n try {\n response = await this.executeTask<StreamChatGenerics>({ client, task });\n } catch (e) {\n if ((e as AxiosError<APIErrorResponse>)?.response?.data?.code === 4) {\n // Error code 16 - message already exists\n // ignore\n } else {\n throw e;\n }\n }\n\n removeFromApi();\n\n return response;\n };\n\n static executeTask = async <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n >({\n client,\n task,\n }: {\n client: StreamChat<StreamChatGenerics>;\n task: PendingTask;\n }) => {\n const channel = client.channel(task.channelType, task.channelId);\n\n if (task.type === 'send-reaction') {\n return await channel.sendReaction(...task.payload);\n }\n\n if (task.type === 'delete-reaction') {\n return await channel.deleteReaction(...task.payload);\n }\n\n if (task.type === 'delete-message') {\n return await client.deleteMessage(...task.payload);\n }\n\n throw new Error('Invalid task type');\n };\n\n static executePendingTasks = async <\n StreamChatGenerics extends DefaultStreamChatGenerics = DefaultStreamChatGenerics,\n >(\n client: StreamChat<StreamChatGenerics>,\n ) => {\n const queue = getPendingTasks();\n for (const task of queue) {\n if (!task.id) continue;\n\n try {\n await this.executeTask<StreamChatGenerics>({\n client,\n task,\n });\n } catch (e) {\n if ((e as AxiosError<APIErrorResponse>)?.response?.data?.code === 4) {\n // Error code 16 - message already exists\n // ignore\n } else {\n throw e;\n }\n }\n\n deletePendingTask({\n id: task.id,\n });\n await restBeforeNextTask();\n }\n };\n\n static dropPendingTasks = (conditions: { messageId: string }) => {\n const tasks = getPendingTasks(conditions);\n\n for (const task of tasks) {\n if (!task.id) continue;\n\n deletePendingTask({\n id: task.id,\n });\n }\n };\n}\n"],"mappings":"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"}
|
|
@@ -482,7 +482,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
482
482
|
} else {
|
|
483
483
|
setThread(null);
|
|
484
484
|
}
|
|
485
|
-
}, [threadPropsExists]);
|
|
485
|
+
}, [threadPropsExists, shouldSyncChannel]);
|
|
486
486
|
var handleAppBackground = (0, _react.useCallback)(function () {
|
|
487
487
|
var _channelData$own_capa;
|
|
488
488
|
var channelData = channel.data;
|
|
@@ -533,61 +533,50 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
533
533
|
setWatchers((0, _extends2["default"])({}, channel.state.watchers));
|
|
534
534
|
}
|
|
535
535
|
}, stateUpdateThrottleInterval, throttleOptions)).current;
|
|
536
|
-
var connectionChangedHandler = function connectionChangedHandler() {
|
|
537
|
-
if (shouldSyncChannel) {
|
|
538
|
-
resyncChannel();
|
|
539
|
-
}
|
|
540
|
-
};
|
|
541
|
-
var handleEvent = function handleEvent(event) {
|
|
542
|
-
if (shouldSyncChannel) {
|
|
543
|
-
var _event$message;
|
|
544
|
-
if (thread) {
|
|
545
|
-
var updatedThreadMessages = thread.id && channel && channel.state.threads[thread.id] || threadMessages;
|
|
546
|
-
setThreadMessages(updatedThreadMessages);
|
|
547
|
-
}
|
|
548
|
-
if (channel && thread && ((_event$message = event.message) == null ? void 0 : _event$message.id) === thread.id) {
|
|
549
|
-
var updatedThread = channel.state.formatMessage(event.message);
|
|
550
|
-
setThread(updatedThread);
|
|
551
|
-
}
|
|
552
|
-
if (event.type === 'typing.start' || event.type === 'typing.stop') {
|
|
553
|
-
copyTypingState();
|
|
554
|
-
} else if (event.type === 'message.read') {
|
|
555
|
-
copyReadState();
|
|
556
|
-
} else if (event.type === 'message.new') {
|
|
557
|
-
copyMessagesState();
|
|
558
|
-
} else if (channel) {
|
|
559
|
-
copyChannelState();
|
|
560
|
-
}
|
|
561
|
-
}
|
|
562
|
-
};
|
|
563
536
|
(0, _react.useEffect)(function () {
|
|
564
537
|
var channelSubscriptions = [];
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
}
|
|
571
|
-
}));
|
|
572
|
-
if (enableOfflineSupport) {
|
|
573
|
-
clientSubscriptions.push(_DBSyncManager.DBSyncManager.onSyncStatusChange(connectionChangedHandler));
|
|
574
|
-
} else {
|
|
575
|
-
clientSubscriptions.push(client.on('connection.changed', function (event) {
|
|
576
|
-
if (event.online) {
|
|
577
|
-
connectionChangedHandler();
|
|
578
|
-
}
|
|
579
|
-
}));
|
|
538
|
+
if (channel && shouldSyncChannel) {
|
|
539
|
+
channelSubscriptions.push(channel.on('message.new', copyMessagesState));
|
|
540
|
+
channelSubscriptions.push(channel.on('message.read', copyReadState));
|
|
541
|
+
channelSubscriptions.push(channel.on('typing.start', copyTypingState));
|
|
542
|
+
channelSubscriptions.push(channel.on('typing.stop', copyTypingState));
|
|
580
543
|
}
|
|
581
|
-
channelSubscriptions.push(channel.on(handleEvent));
|
|
582
544
|
return function () {
|
|
583
|
-
clientSubscriptions.forEach(function (s) {
|
|
584
|
-
return s.unsubscribe();
|
|
585
|
-
});
|
|
586
545
|
channelSubscriptions.forEach(function (s) {
|
|
587
546
|
return s.unsubscribe();
|
|
588
547
|
});
|
|
589
548
|
};
|
|
590
|
-
}, [channelId,
|
|
549
|
+
}, [channelId, shouldSyncChannel]);
|
|
550
|
+
(0, _react.useEffect)(function () {
|
|
551
|
+
var handleEvent = function handleEvent(event) {
|
|
552
|
+
if (shouldSyncChannel) {
|
|
553
|
+
var _event$message;
|
|
554
|
+
if (thread) {
|
|
555
|
+
var updatedThreadMessages = thread.id && channel && channel.state.threads[thread.id] || threadMessages;
|
|
556
|
+
setThreadMessages(updatedThreadMessages);
|
|
557
|
+
}
|
|
558
|
+
if (channel && thread && ((_event$message = event.message) == null ? void 0 : _event$message.id) === thread.id) {
|
|
559
|
+
var updatedThread = channel.state.formatMessage(event.message);
|
|
560
|
+
setThread(updatedThread);
|
|
561
|
+
}
|
|
562
|
+
if (channel && event.type !== 'message.new' && event.type !== 'message.read' && event.type !== 'typing.start' && event.type !== 'typing.stop') {
|
|
563
|
+
copyChannelState();
|
|
564
|
+
}
|
|
565
|
+
}
|
|
566
|
+
};
|
|
567
|
+
var _channel$on = channel.on(handleEvent),
|
|
568
|
+
unsubscribe = _channel$on.unsubscribe;
|
|
569
|
+
return unsubscribe;
|
|
570
|
+
}, [channelId, thread == null ? void 0 : thread.id, shouldSyncChannel]);
|
|
571
|
+
(0, _react.useEffect)(function () {
|
|
572
|
+
var _client$on = client.on('channel.deleted', function (event) {
|
|
573
|
+
if (event.cid === (channel == null ? void 0 : channel.cid)) {
|
|
574
|
+
setDeleted(true);
|
|
575
|
+
}
|
|
576
|
+
}),
|
|
577
|
+
unsubscribe = _client$on.unsubscribe;
|
|
578
|
+
return unsubscribe;
|
|
579
|
+
}, [channelId]);
|
|
591
580
|
var channelQueryCallRef = (0, _react.useRef)(function () {
|
|
592
581
|
var _ref = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(queryCall) {
|
|
593
582
|
var onAfterQueryCall,
|
|
@@ -927,6 +916,28 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
927
916
|
return _ref9.apply(this, arguments);
|
|
928
917
|
};
|
|
929
918
|
}();
|
|
919
|
+
var resyncChannelRef = (0, _react.useRef)(resyncChannel);
|
|
920
|
+
resyncChannelRef.current = resyncChannel;
|
|
921
|
+
(0, _react.useEffect)(function () {
|
|
922
|
+
var connectionChangedHandler = function connectionChangedHandler() {
|
|
923
|
+
if (shouldSyncChannel) {
|
|
924
|
+
resyncChannelRef.current();
|
|
925
|
+
}
|
|
926
|
+
};
|
|
927
|
+
var connectionChangedSubscription;
|
|
928
|
+
if (enableOfflineSupport) {
|
|
929
|
+
connectionChangedSubscription = _DBSyncManager.DBSyncManager.onSyncStatusChange(connectionChangedHandler);
|
|
930
|
+
} else {
|
|
931
|
+
connectionChangedSubscription = client.on('connection.changed', function (event) {
|
|
932
|
+
if (event.online) {
|
|
933
|
+
connectionChangedHandler();
|
|
934
|
+
}
|
|
935
|
+
});
|
|
936
|
+
}
|
|
937
|
+
return function () {
|
|
938
|
+
connectionChangedSubscription.unsubscribe();
|
|
939
|
+
};
|
|
940
|
+
}, [enableOfflineSupport, shouldSyncChannel]);
|
|
930
941
|
var reloadChannel = function reloadChannel() {
|
|
931
942
|
return channelQueryCallRef.current((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee8() {
|
|
932
943
|
return _regenerator["default"].wrap(function _callee8$(_context8) {
|
|
@@ -2015,7 +2026,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2015
2026
|
__self: _this,
|
|
2016
2027
|
__source: {
|
|
2017
2028
|
fileName: _jsxFileName,
|
|
2018
|
-
lineNumber:
|
|
2029
|
+
lineNumber: 2018,
|
|
2019
2030
|
columnNumber: 12
|
|
2020
2031
|
}
|
|
2021
2032
|
});
|
|
@@ -2029,7 +2040,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2029
2040
|
__self: _this,
|
|
2030
2041
|
__source: {
|
|
2031
2042
|
fileName: _jsxFileName,
|
|
2032
|
-
lineNumber:
|
|
2043
|
+
lineNumber: 2023,
|
|
2033
2044
|
columnNumber: 7
|
|
2034
2045
|
}
|
|
2035
2046
|
}, t('Please select a channel first'));
|
|
@@ -2042,7 +2053,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2042
2053
|
__self: _this,
|
|
2043
2054
|
__source: {
|
|
2044
2055
|
fileName: _jsxFileName,
|
|
2045
|
-
lineNumber:
|
|
2056
|
+
lineNumber: 2030,
|
|
2046
2057
|
columnNumber: 5
|
|
2047
2058
|
}
|
|
2048
2059
|
}), _react["default"].createElement(_ChannelContext.ChannelProvider, {
|
|
@@ -2050,7 +2061,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2050
2061
|
__self: _this,
|
|
2051
2062
|
__source: {
|
|
2052
2063
|
fileName: _jsxFileName,
|
|
2053
|
-
lineNumber:
|
|
2064
|
+
lineNumber: 2036,
|
|
2054
2065
|
columnNumber: 7
|
|
2055
2066
|
}
|
|
2056
2067
|
}, _react["default"].createElement(_OwnCapabilitiesContext.OwnCapabilitiesProvider, {
|
|
@@ -2058,7 +2069,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2058
2069
|
__self: _this,
|
|
2059
2070
|
__source: {
|
|
2060
2071
|
fileName: _jsxFileName,
|
|
2061
|
-
lineNumber:
|
|
2072
|
+
lineNumber: 2037,
|
|
2062
2073
|
columnNumber: 9
|
|
2063
2074
|
}
|
|
2064
2075
|
}, _react["default"].createElement(_TypingContext.TypingProvider, {
|
|
@@ -2066,7 +2077,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2066
2077
|
__self: _this,
|
|
2067
2078
|
__source: {
|
|
2068
2079
|
fileName: _jsxFileName,
|
|
2069
|
-
lineNumber:
|
|
2080
|
+
lineNumber: 2038,
|
|
2070
2081
|
columnNumber: 11
|
|
2071
2082
|
}
|
|
2072
2083
|
}, _react["default"].createElement(_PaginatedMessageListContext.PaginatedMessageListProvider, {
|
|
@@ -2074,7 +2085,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2074
2085
|
__self: _this,
|
|
2075
2086
|
__source: {
|
|
2076
2087
|
fileName: _jsxFileName,
|
|
2077
|
-
lineNumber:
|
|
2088
|
+
lineNumber: 2039,
|
|
2078
2089
|
columnNumber: 13
|
|
2079
2090
|
}
|
|
2080
2091
|
}, _react["default"].createElement(_MessagesContext.MessagesProvider, {
|
|
@@ -2082,7 +2093,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2082
2093
|
__self: _this,
|
|
2083
2094
|
__source: {
|
|
2084
2095
|
fileName: _jsxFileName,
|
|
2085
|
-
lineNumber:
|
|
2096
|
+
lineNumber: 2040,
|
|
2086
2097
|
columnNumber: 15
|
|
2087
2098
|
}
|
|
2088
2099
|
}, _react["default"].createElement(_ThreadContext.ThreadProvider, {
|
|
@@ -2090,7 +2101,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2090
2101
|
__self: _this,
|
|
2091
2102
|
__source: {
|
|
2092
2103
|
fileName: _jsxFileName,
|
|
2093
|
-
lineNumber:
|
|
2104
|
+
lineNumber: 2041,
|
|
2094
2105
|
columnNumber: 17
|
|
2095
2106
|
}
|
|
2096
2107
|
}, _react["default"].createElement(_SuggestionsContext.SuggestionsProvider, {
|
|
@@ -2098,7 +2109,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2098
2109
|
__self: _this,
|
|
2099
2110
|
__source: {
|
|
2100
2111
|
fileName: _jsxFileName,
|
|
2101
|
-
lineNumber:
|
|
2112
|
+
lineNumber: 2042,
|
|
2102
2113
|
columnNumber: 19
|
|
2103
2114
|
}
|
|
2104
2115
|
}, _react["default"].createElement(_MessageInputContext.MessageInputProvider, {
|
|
@@ -2106,7 +2117,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2106
2117
|
__self: _this,
|
|
2107
2118
|
__source: {
|
|
2108
2119
|
fileName: _jsxFileName,
|
|
2109
|
-
lineNumber:
|
|
2120
|
+
lineNumber: 2043,
|
|
2110
2121
|
columnNumber: 21
|
|
2111
2122
|
}
|
|
2112
2123
|
}, _react["default"].createElement(_reactNative.View, {
|
|
@@ -2116,7 +2127,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2116
2127
|
__self: _this,
|
|
2117
2128
|
__source: {
|
|
2118
2129
|
fileName: _jsxFileName,
|
|
2119
|
-
lineNumber:
|
|
2130
|
+
lineNumber: 2044,
|
|
2120
2131
|
columnNumber: 23
|
|
2121
2132
|
}
|
|
2122
2133
|
}, children))))))))));
|
|
@@ -2167,7 +2178,7 @@ var Channel = function Channel(props) {
|
|
|
2167
2178
|
__self: _this,
|
|
2168
2179
|
__source: {
|
|
2169
2180
|
fileName: _jsxFileName,
|
|
2170
|
-
lineNumber:
|
|
2181
|
+
lineNumber: 2101,
|
|
2171
2182
|
columnNumber: 5
|
|
2172
2183
|
}
|
|
2173
2184
|
}));
|