mirror of
https://codeberg.org/timelimit/timelimit-server.git
synced 2026-08-31 19:03:45 +02:00
Make websocket pushes more targeted
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* server component for the TimeLimit App
|
||||
* Copyright (C) 2019 - 2020 Jonas Lochmann
|
||||
* Copyright (C) 2019 - 2022 Jonas Lochmann
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
@@ -59,4 +59,5 @@ export async function dispatchAddInstalledApps ({ deviceId, action, cache }: {
|
||||
)
|
||||
|
||||
cache.devicesWithModifiedInstalledApps.add(deviceId)
|
||||
cache.incrementTriggeredSyncLevel(1)
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* server component for the TimeLimit App
|
||||
* Copyright (C) 2019 - 2021 Jonas Lochmann
|
||||
* Copyright (C) 2019 - 2022 Jonas Lochmann
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
@@ -156,4 +156,6 @@ export async function dispatchAddUsedTime ({ action, cache }: {
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
cache.incrementTriggeredSyncLevel(1)
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* server component for the TimeLimit App
|
||||
* Copyright (C) 2019 - 2021 Jonas Lochmann
|
||||
* Copyright (C) 2019 - 2022 Jonas Lochmann
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
@@ -72,7 +72,7 @@ export async function dispatchAddUsedTimeVersion2 ({ deviceId, action, cache, ev
|
||||
// verify that the category exists
|
||||
if (!categoryEntryUnsafe) {
|
||||
eventHandler.countEvent('add used time category to add time for not found')
|
||||
cache.requireFullSync()
|
||||
cache.requireSenderFullSync()
|
||||
|
||||
continue
|
||||
}
|
||||
@@ -247,9 +247,11 @@ export async function dispatchAddUsedTimeVersion2 ({ deviceId, action, cache, ev
|
||||
// As it should occur not too often, a full sync should be no problem.
|
||||
// To keep an eye on it, it is counted.
|
||||
|
||||
cache.areChangesImportant = true
|
||||
cache.incrementTriggeredSyncLevel(2)
|
||||
|
||||
eventHandler.countEvent('add used time for a different user than the current user of the device')
|
||||
}
|
||||
}
|
||||
|
||||
cache.incrementTriggeredSyncLevel(1)
|
||||
}
|
||||
|
||||
@@ -31,4 +31,6 @@ export async function dispatchFinishKeyRequestAction ({ action, cache, deviceId
|
||||
},
|
||||
transaction: cache.transaction
|
||||
})
|
||||
|
||||
// no sync triggered
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* server component for the TimeLimit App
|
||||
* Copyright (C) 2019 - 2020 Jonas Lochmann
|
||||
* Copyright (C) 2019 - 2022 Jonas Lochmann
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
@@ -23,5 +23,5 @@ export async function dispatchForceSyncAction ({ cache }: {
|
||||
action: ForceSyncAction
|
||||
cache: Cache
|
||||
}) {
|
||||
cache.areChangesImportant = true
|
||||
cache.incrementTriggeredSyncLevel(2)
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* server component for the TimeLimit App
|
||||
* Copyright (C) 2019 - 2020 Jonas Lochmann
|
||||
* Copyright (C) 2019 - 2022 Jonas Lochmann
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
@@ -99,6 +99,7 @@ export async function dispatchMarkTaskPendingAction ({ action, cache, deviceId }
|
||||
})
|
||||
|
||||
cache.categoriesWithModifiedTasks.add(taskInfo.categoryId)
|
||||
cache.incrementTriggeredSyncLevel(1) // parents are not faster reachable
|
||||
|
||||
await sendTaskDoneMails({
|
||||
database: cache.database,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* server component for the TimeLimit App
|
||||
* Copyright (C) 2019 Jonas Lochmann
|
||||
* Copyright (C) 2019 - 2022 Jonas Lochmann
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
@@ -36,4 +36,5 @@ export async function dispatchRemoveInstalledApps ({ deviceId, action, cache }:
|
||||
})
|
||||
|
||||
cache.devicesWithModifiedInstalledApps.add(deviceId)
|
||||
cache.incrementTriggeredSyncLevel(1)
|
||||
}
|
||||
|
||||
@@ -105,6 +105,5 @@ export async function dispatchReplyToKeyRequestAction ({ deviceId, action, cache
|
||||
transaction: cache.transaction
|
||||
})
|
||||
|
||||
// there is no way (yet) to inform the specific device only
|
||||
cache.areChangesImportant = true
|
||||
cache.incrementTargetedTriggeredSyncLevel(request.senderDeviceId, 2)
|
||||
}
|
||||
|
||||
@@ -72,5 +72,5 @@ export async function dispatchSendKeyRequestAction ({ action, cache, deviceId }:
|
||||
transaction: cache.transaction
|
||||
})
|
||||
|
||||
cache.areChangesImportant = true
|
||||
cache.incrementTriggeredSyncLevel(2)
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* server component for the TimeLimit App
|
||||
* Copyright (C) 2019 - 2020 Jonas Lochmann
|
||||
* Copyright (C) 2019 - 2022 Jonas Lochmann
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
@@ -57,4 +57,6 @@ export async function dispatchSignOutAtDevice ({ deviceId, cache }: {
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
cache.incrementTriggeredSyncLevel(1)
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* server component for the TimeLimit App
|
||||
* Copyright (C) 2019 - 2020 Jonas Lochmann
|
||||
* Copyright (C) 2019 - 2022 Jonas Lochmann
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
@@ -46,7 +46,7 @@ export async function dispatchTriedDisablingDeviceAdmin ({ deviceId, cache }: {
|
||||
await deviceEntry.save({ transaction: cache.transaction })
|
||||
|
||||
cache.invalidiateDeviceList = true
|
||||
cache.areChangesImportant = true
|
||||
cache.incrementTriggeredSyncLevel(1)
|
||||
}
|
||||
|
||||
if (!hadManipulationBefore) {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* server component for the TimeLimit App
|
||||
* Copyright (C) 2019 - 2020 Jonas Lochmann
|
||||
* Copyright (C) 2019 - 2022 Jonas Lochmann
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
@@ -95,4 +95,5 @@ export async function dispatchUpdateAppActivities ({ deviceId, action, cache }:
|
||||
}
|
||||
|
||||
cache.devicesWithModifiedInstalledApps.add(deviceId)
|
||||
cache.incrementTriggeredSyncLevel(1)
|
||||
}
|
||||
|
||||
@@ -177,5 +177,5 @@ export async function dispatchUpdateDeviceStatus ({ deviceId, action, cache }: {
|
||||
}
|
||||
|
||||
cache.invalidiateDeviceList = true
|
||||
cache.areChangesImportant = true
|
||||
cache.incrementTriggeredSyncLevel(1)
|
||||
}
|
||||
|
||||
@@ -54,4 +54,6 @@ export async function dispatchUpdateInstalledApps ({ deviceId, action, cache }:
|
||||
|
||||
cache.devicesWithModifiedInstalledApps.add(deviceId)
|
||||
}
|
||||
|
||||
cache.incrementTriggeredSyncLevel(1)
|
||||
}
|
||||
|
||||
@@ -42,6 +42,7 @@ export async function dispatchUploadDevicePublicKeyAction ({ deviceId, action, c
|
||||
await deviceEntry.save({ transaction: cache.transaction })
|
||||
|
||||
cache.invalidiateDeviceList = true
|
||||
cache.incrementTriggeredSyncLevel(2)
|
||||
} else if (deviceEntry.publicKey.equals(action.key)) {
|
||||
eventHandler.countEvent('dispatchUploadDevicePublicKeyAction:duplicate action')
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user