adding indexedDB persistent cache
This commit is contained in:
+1
-1
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "tinode-webapp",
|
||||
"description": "Tinode messenger for the web",
|
||||
"version": "0.16.10",
|
||||
"version": "0.17.0",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/tinode/example-react-js.git"
|
||||
|
||||
+1
-1
@@ -1,3 +1,3 @@
|
||||
// This is a generated file. Don't edit.
|
||||
|
||||
export const PACKAGE_VERSION = "0.16.10";
|
||||
export const PACKAGE_VERSION = "0.17.0";
|
||||
|
||||
@@ -212,8 +212,10 @@ class TinodeWeb extends React.Component {
|
||||
viewportHeight: document.documentElement.clientHeight
|
||||
});
|
||||
|
||||
const keepLoggedIn = LocalStorageUtil.getObject('keep-logged-in');
|
||||
|
||||
const {formatMessage, locale} = this.props.intl;
|
||||
this.tinode = TinodeWeb.tnSetup(this.state.serverAddress, this.state.transport, locale);
|
||||
this.tinode = TinodeWeb.tnSetup(this.state.serverAddress, this.state.transport, locale, keepLoggedIn);
|
||||
this.tinode.onConnect = this.handleConnected;
|
||||
this.tinode.onDisconnect = this.handleDisconnect;
|
||||
this.tinode.onAutoreconnectIteration = this.handleAutoreconnectIteration;
|
||||
@@ -246,8 +248,7 @@ class TinodeWeb extends React.Component {
|
||||
}
|
||||
}
|
||||
|
||||
const token = LocalStorageUtil.getObject('keep-logged-in') ?
|
||||
LocalStorageUtil.getObject('auth-token') : undefined;
|
||||
const token = keepLoggedIn ? LocalStorageUtil.getObject('auth-token') : undefined;
|
||||
|
||||
const parsedNav = HashNavigation.parseUrlHash(window.location.hash);
|
||||
if (token) {
|
||||
@@ -281,8 +282,9 @@ class TinodeWeb extends React.Component {
|
||||
}
|
||||
|
||||
// Setup transport (usually websocket) and server address. This will terminate connection with the server.
|
||||
static tnSetup(serverAddress, transport, locale) {
|
||||
const tinode = new Tinode(APP_NAME, serverAddress, API_KEY, transport, isSecureConnection());
|
||||
static tnSetup(serverAddress, transport, locale, persist) {
|
||||
const tinode = new Tinode({appName: APP_NAME, host: serverAddress, apiKey: API_KEY, transport: transport,
|
||||
secure: isSecureConnection(), persist: persist});
|
||||
tinode.setHumanLanguage(locale);
|
||||
tinode.enableLogging(LOGGING_ENABLED, true);
|
||||
return tinode;
|
||||
@@ -1156,11 +1158,14 @@ class TinodeWeb extends React.Component {
|
||||
}
|
||||
|
||||
if (this.tinode) {
|
||||
this.tinode.clearStorage();
|
||||
this.tinode.onDisconnect = undefined;
|
||||
this.tinode.disconnect();
|
||||
}
|
||||
this.setState(this.getBlankState());
|
||||
this.tinode = TinodeWeb.tnSetup(this.state.serverAddress, this.state.transport, this.props.intl.locale);
|
||||
|
||||
this.tinode = TinodeWeb.tnSetup(this.state.serverAddress,
|
||||
this.state.transport, this.props.intl.locale, LocalStorageUtil.getObject('keep-logged-in'));
|
||||
this.tinode.onConnect = this.handleConnected;
|
||||
this.tinode.onDisconnect = this.handleDisconnect;
|
||||
HashNavigation.navigateTo('');
|
||||
|
||||
+15
-6
@@ -738,7 +738,7 @@ __webpack_require__.r(__webpack_exports__);
|
||||
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
||||
/* harmony export */ "PACKAGE_VERSION": function() { return /* binding */ PACKAGE_VERSION; }
|
||||
/* harmony export */ });
|
||||
const PACKAGE_VERSION = "0.16.10";
|
||||
const PACKAGE_VERSION = "0.17.0";
|
||||
|
||||
/***/ }),
|
||||
|
||||
@@ -4711,11 +4711,12 @@ class TinodeWeb extends (react__WEBPACK_IMPORTED_MODULE_0___default().Component)
|
||||
viewportWidth: document.documentElement.clientWidth,
|
||||
viewportHeight: document.documentElement.clientHeight
|
||||
});
|
||||
const keepLoggedIn = _lib_local_storage_js__WEBPACK_IMPORTED_MODULE_14__.default.getObject('keep-logged-in');
|
||||
const {
|
||||
formatMessage,
|
||||
locale
|
||||
} = this.props.intl;
|
||||
this.tinode = TinodeWeb.tnSetup(this.state.serverAddress, this.state.transport, locale);
|
||||
this.tinode = TinodeWeb.tnSetup(this.state.serverAddress, this.state.transport, locale, keepLoggedIn);
|
||||
this.tinode.onConnect = this.handleConnected;
|
||||
this.tinode.onDisconnect = this.handleDisconnect;
|
||||
this.tinode.onAutoreconnectIteration = this.handleAutoreconnectIteration;
|
||||
@@ -4753,7 +4754,7 @@ class TinodeWeb extends (react__WEBPACK_IMPORTED_MODULE_0___default().Component)
|
||||
}
|
||||
}
|
||||
|
||||
const token = _lib_local_storage_js__WEBPACK_IMPORTED_MODULE_14__.default.getObject('keep-logged-in') ? _lib_local_storage_js__WEBPACK_IMPORTED_MODULE_14__.default.getObject('auth-token') : undefined;
|
||||
const token = keepLoggedIn ? _lib_local_storage_js__WEBPACK_IMPORTED_MODULE_14__.default.getObject('auth-token') : undefined;
|
||||
const parsedNav = _lib_navigation_js__WEBPACK_IMPORTED_MODULE_15__.default.parseUrlHash(window.location.hash);
|
||||
|
||||
if (token) {
|
||||
@@ -4784,8 +4785,15 @@ class TinodeWeb extends (react__WEBPACK_IMPORTED_MODULE_0___default().Component)
|
||||
document.removeEventListener('visibilitychange', this.handleVisibilityEvent);
|
||||
}
|
||||
|
||||
static tnSetup(serverAddress, transport, locale) {
|
||||
const tinode = new (tinode_sdk__WEBPACK_IMPORTED_MODULE_5___default())(_config_js__WEBPACK_IMPORTED_MODULE_11__.APP_NAME, serverAddress, _config_js__WEBPACK_IMPORTED_MODULE_11__.API_KEY, transport, (0,_lib_host_name_js__WEBPACK_IMPORTED_MODULE_13__.isSecureConnection)());
|
||||
static tnSetup(serverAddress, transport, locale, persist) {
|
||||
const tinode = new (tinode_sdk__WEBPACK_IMPORTED_MODULE_5___default())({
|
||||
appName: _config_js__WEBPACK_IMPORTED_MODULE_11__.APP_NAME,
|
||||
host: serverAddress,
|
||||
apiKey: _config_js__WEBPACK_IMPORTED_MODULE_11__.API_KEY,
|
||||
transport: transport,
|
||||
secure: (0,_lib_host_name_js__WEBPACK_IMPORTED_MODULE_13__.isSecureConnection)(),
|
||||
persist: persist
|
||||
});
|
||||
tinode.setHumanLanguage(locale);
|
||||
tinode.enableLogging(_config_js__WEBPACK_IMPORTED_MODULE_11__.LOGGING_ENABLED, true);
|
||||
return tinode;
|
||||
@@ -5728,12 +5736,13 @@ class TinodeWeb extends (react__WEBPACK_IMPORTED_MODULE_0___default().Component)
|
||||
}
|
||||
|
||||
if (this.tinode) {
|
||||
this.tinode.clearStorage();
|
||||
this.tinode.onDisconnect = undefined;
|
||||
this.tinode.disconnect();
|
||||
}
|
||||
|
||||
this.setState(this.getBlankState());
|
||||
this.tinode = TinodeWeb.tnSetup(this.state.serverAddress, this.state.transport, this.props.intl.locale);
|
||||
this.tinode = TinodeWeb.tnSetup(this.state.serverAddress, this.state.transport, this.props.intl.locale, _lib_local_storage_js__WEBPACK_IMPORTED_MODULE_14__.default.getObject('keep-logged-in'));
|
||||
this.tinode.onConnect = this.handleConnected;
|
||||
this.tinode.onDisconnect = this.handleDisconnect;
|
||||
_lib_navigation_js__WEBPACK_IMPORTED_MODULE_15__.default.navigateTo('');
|
||||
|
||||
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+140
-23
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user