fixed notifying volatile connections (used for askUser password scenarios)
Some checks are pending
Run tests / test-runner (push) Waiting to run

This commit is contained in:
Jan Prochazka 2024-08-02 10:01:02 +02:00
parent 6beecd157f
commit cf39fd59f9
3 changed files with 20 additions and 4 deletions

View File

@ -25,6 +25,7 @@
import ErrorMessageModal from './ErrorMessageModal.svelte';
import ModalBase from './ModalBase.svelte';
import { closeCurrentModal, showModal } from './modalTools';
import { callServerPing } from '../utility/connectionsPinger';
export let conid;
export let passwordMode;
@ -83,6 +84,7 @@
isTesting = false;
if (resp.msgtype == 'connected') {
setVolatileConnectionRemapping(conid, resp._id);
await callServerPing();
dispatchCacheChange({ key: `server-status-changed` });
batchDispatchCacheTriggers(x => x.conid == conid);
closeCurrentModal();

View File

@ -209,6 +209,10 @@ export function useApiCall(route, args, defaultValue) {
return result;
}
export function getVolatileConnections() {
return Object.values(volatileConnectionMap);
}
function enableApiLog() {
apiLogging = true;
console.log('API loggin enabled');

View File

@ -1,6 +1,6 @@
import _ from 'lodash';
import { openedConnections, currentDatabase, openedConnectionsWithTemporary, getCurrentConfig } from '../stores';
import { apiCall, strmid } from './api';
import { openedConnections, currentDatabase, openedConnectionsWithTemporary, getCurrentConfig, getOpenedConnections } from '../stores';
import { apiCall, getVolatileConnections, strmid } from './api';
import { getConnectionList } from './metadataLoaders';
import hasPermission from '../utility/hasPermission';
@ -11,9 +11,14 @@ import hasPermission from '../utility/hasPermission';
// };
const doServerPing = value => {
const conidArray = [...value];
if (getCurrentConfig().storageDatabase && hasPermission('internal-storage')) {
conidArray.push('__storage');
}
conidArray.push(...getVolatileConnections());
apiCall('server-connections/ping', {
conidArray:
getCurrentConfig().storageDatabase && hasPermission('internal-storage') ? ['__storage', ...value] : value,
conidArray,
strmid,
});
};
@ -43,3 +48,8 @@ export function subscribeConnectionPingers() {
currentDatabaseHandle = window.setInterval(() => doDatabasePing(value), 20 * 1000);
});
}
export function callServerPing() {
const connections = getOpenedConnections();
doServerPing(connections);
}