mirror of
https://github.com/keepassxreboot/keepassxc-browser.git
synced 2026-03-11 08:54:43 +00:00
Replaced database unlock/lock polling
This commit is contained in:
parent
484863691c
commit
7d7926c9dc
4 changed files with 20 additions and 20 deletions
|
|
@ -1,3 +1,7 @@
|
|||
0.3.5 (??-??-2017)
|
||||
=========================
|
||||
- Removed database locked/unlocked status polling and replaced it with message handling from KeePassXC signals
|
||||
|
||||
0.3.4 (14-10-2017)
|
||||
=========================
|
||||
- Added support for Lock Database button
|
||||
|
|
|
|||
|
|
@ -3,8 +3,6 @@ var browserAction = {};
|
|||
const BLINK_TIMEOUT_DEFAULT = 7500;
|
||||
const BLINK_TIMEOUT_REDIRECT_THRESHOLD_TIME_DEFAULT = -1;
|
||||
const BLINK_TIMEOUT_REDIRECT_COUNT_DEFAULT = 1;
|
||||
const MAXIMUM_POLL_COUNT = 8; // _interval (250 ms) * 8 = 2 sec
|
||||
let databasePollCount = 0;
|
||||
|
||||
browserAction.show = function(callback, tab) {
|
||||
let data = {};
|
||||
|
|
@ -36,21 +34,6 @@ browserAction.update = function(interval) {
|
|||
|
||||
let data = page.tabs[page.currentTabId].stack[page.tabs[page.currentTabId].stack.length - 1];
|
||||
|
||||
// Poll the database if it's open or closed
|
||||
if (databasePollCount >= MAXIMUM_POLL_COUNT) {
|
||||
if (keepass.isKeePassXCAvailable) {
|
||||
keepass.testAssociation((response) => {
|
||||
keepass.isConfigured((configured) => {
|
||||
data.iconType = configured ? 'normal' : 'cross';
|
||||
browserAction.show(null, {'id': page.currentTabId});
|
||||
});
|
||||
}, null);
|
||||
}
|
||||
databasePollCount = 0;
|
||||
} else {
|
||||
databasePollCount += 1;
|
||||
}
|
||||
|
||||
if (typeof data.visibleForMilliSeconds !== 'undefined') {
|
||||
if (data.visibleForMilliSeconds <= 0) {
|
||||
browserAction.stackPop(page.currentTabId);
|
||||
|
|
@ -279,4 +262,4 @@ browserAction.generateIconName = function(iconType, icon) {
|
|||
name += '_19x19.png';
|
||||
|
||||
return name;
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -30,7 +30,9 @@ const kpActions = {
|
|||
TEST_ASSOCIATE: 'test-associate',
|
||||
GET_DATABASE_HASH: 'get-databasehash',
|
||||
CHANGE_PUBLIC_KEYS: 'change-public-keys',
|
||||
LOCK_DATABASE: 'lock-database'
|
||||
LOCK_DATABASE: 'lock-database',
|
||||
DATABASE_LOCKED: 'database-locked',
|
||||
DATABASE_UNLOCKED: 'database-unlocked'
|
||||
};
|
||||
|
||||
const kpErrors = {
|
||||
|
|
@ -742,6 +744,17 @@ keepass.connectToNative = function() {
|
|||
|
||||
keepass.onNativeMessage = function(response) {
|
||||
//console.log('Received message: ' + JSON.stringify(response));
|
||||
|
||||
// Handle database lock/unlock status
|
||||
if (response.action === kpActions.DATABASE_LOCKED || response.action === kpActions.DATABASE_UNLOCKED) {
|
||||
keepass.testAssociation((response) => {
|
||||
keepass.isConfigured((configured) => {
|
||||
let data = page.tabs[page.currentTabId].stack[page.tabs[page.currentTabId].stack.length - 1];
|
||||
data.iconType = configured ? 'normal' : 'cross';
|
||||
browserAction.show(null, {'id': page.currentTabId});
|
||||
});
|
||||
}, null);
|
||||
}
|
||||
};
|
||||
|
||||
function onDisconnected() {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"manifest_version": 2,
|
||||
"name": "keepassxc-browser",
|
||||
"version": "0.3.4",
|
||||
"version": "0.3.5",
|
||||
"description": "KeePassXC integration for modern web browsers",
|
||||
"author": "Sami Vänttinen",
|
||||
"icons": {
|
||||
|
|
|
|||
Loading…
Reference in a new issue