Refreshing the settings page cache #663 ⚙
This commit is contained in:
@@ -1051,15 +1051,9 @@ var completedCalls_final = ['cacheSettings', 'cacheStrings', 'cacheDevices'];
|
|||||||
// Clearing all the caches
|
// Clearing all the caches
|
||||||
function clearCache() {
|
function clearCache() {
|
||||||
showSpinner();
|
showSpinner();
|
||||||
resetInitializedFlag();
|
|
||||||
window.location.reload();
|
|
||||||
}
|
|
||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
|
||||||
function resetInitializedFlag() {
|
|
||||||
// Clear both sessionStorage and localStorage
|
|
||||||
sessionStorage.clear();
|
sessionStorage.clear();
|
||||||
localStorage.clear();
|
localStorage.clear();
|
||||||
|
window.location.reload();
|
||||||
}
|
}
|
||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
@@ -1072,8 +1066,7 @@ function checkSettingChanges() {
|
|||||||
if (importedMilliseconds > lastReloaded) {
|
if (importedMilliseconds > lastReloaded) {
|
||||||
console.log("Cache needs to be refreshed because of setting changes");
|
console.log("Cache needs to be refreshed because of setting changes");
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
resetInitializedFlag();
|
clearCache();
|
||||||
location.reload();
|
|
||||||
}, 500);
|
}, 500);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -1161,9 +1154,20 @@ const areAllStringsInitialized = () => {
|
|||||||
// Call the function to execute the code
|
// Call the function to execute the code
|
||||||
executeOnce();
|
executeOnce();
|
||||||
|
|
||||||
|
// Set timer for regular checks
|
||||||
|
setTimeout(() => {
|
||||||
|
|
||||||
|
// page refresh if configured
|
||||||
|
const refreshTime = getSetting("UI_REFRESH");
|
||||||
|
if (refreshTime && refreshTime !== "0" && refreshTime !== "") {
|
||||||
|
newTimerRefreshData(clearCache, parseInt(refreshTime)*1000);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check if page needs to refresh due to setting changes
|
||||||
|
checkSettingChanges()
|
||||||
|
|
||||||
|
}, 10000);
|
||||||
|
|
||||||
// Set timer for page refresh if configured
|
|
||||||
setTimeout(checkSettingChanges, 10000);
|
|
||||||
|
|
||||||
console.log("init common.js");
|
console.log("init common.js");
|
||||||
|
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ A plugin allowing for importing devices from DHCP.leases files.
|
|||||||
|
|
||||||
- Specify full paths of all `dhcp.leases` files you want to import and watch in the `DHCPLSS_paths_to_check`setting.
|
- Specify full paths of all `dhcp.leases` files you want to import and watch in the `DHCPLSS_paths_to_check`setting.
|
||||||
- Map the paths specified in the `DHCPLSS_paths_to_check`setting in your `docker-compose.yml` file.
|
- Map the paths specified in the `DHCPLSS_paths_to_check`setting in your `docker-compose.yml` file.
|
||||||
|
- If you are using pihole or dnsmasq dhcp.leases, include `pihole` or `dnsmasq` into the mapping path respectively, check the below example for details
|
||||||
|
|
||||||
|
|
||||||
#### Example:
|
#### Example:
|
||||||
|
|
||||||
@@ -18,20 +20,47 @@ A plugin allowing for importing devices from DHCP.leases files.
|
|||||||
# mapping different dhcp.leases files
|
# mapping different dhcp.leases files
|
||||||
- /first/location/dhcp.leases:/mnt/dhcp1.leases
|
- /first/location/dhcp.leases:/mnt/dhcp1.leases
|
||||||
- /second/location/dhcp.leases:/mnt/dhcp2.leases
|
- /second/location/dhcp.leases:/mnt/dhcp2.leases
|
||||||
|
- /third/location/dhcp.leases:/etc/pihole/dhcp.leases # a pihole specific dhcp.leases file
|
||||||
|
- /fourth/location/dhcp.leases:/etc/dnsmasq/dhcp.leases # a dnsmasq specific dhcp.leases file
|
||||||
...
|
...
|
||||||
```
|
```
|
||||||
|
|
||||||
`DHCPLSS_paths_to_check` Setting:
|
The `DHCPLSS_paths_to_check` setting should then contain the following:
|
||||||
|
|
||||||
```python
|
```python
|
||||||
DHCPLSS_paths_to_check = ['/mnt/dhcp1.leases','/mnt/dhcp2.leases']
|
DHCPLSS_paths_to_check = ['/mnt/dhcp1.leases','/mnt/dhcp2.leases','/etc/pihole/dhcp.leases','/etc/dnsmasq/dhcp.leases']
|
||||||
```
|
```
|
||||||
|
|
||||||
### Notes
|
### Notes
|
||||||
|
|
||||||
- No specific configuration needed.
|
No specific configuration is needed. This plugin supports `dhcp.leases` file(s) in the following formats:
|
||||||
|
|
||||||
|
1. PiHole
|
||||||
|
2. Dnsmasq
|
||||||
|
3. Generic format
|
||||||
|
|
||||||
|
#### pihole format
|
||||||
|
|
||||||
|
Example File Format: _(not all lines are required)_
|
||||||
|
|
||||||
|
```
|
||||||
|
TBC
|
||||||
|
```
|
||||||
|
|
||||||
|
#### dnsmasq format
|
||||||
|
|
||||||
|
`[Lease expiry time] [mac address] [ip address] [hostname] [client id, if known]`
|
||||||
|
|
||||||
|
Example File Format: _(not all lines are required)_
|
||||||
|
|
||||||
|
```
|
||||||
|
1715932537 01:5c:5c:5c:5c:5c:5c 192.168.1.115 ryans-laptop 01:5c:5c:5c:5c:5c:5c
|
||||||
|
```
|
||||||
|
|
||||||
|
> Note, only `[mac address] [ip address] [hostname]` are captured
|
||||||
|
|
||||||
|
#### Generic format
|
||||||
|
|
||||||
- This plugin expects the dhcp.leases file(s) to be in the format of **dhcpd.leases** that is different to the format that PiHole uses.
|
|
||||||
[dhcpd.leases(5) - Linux man page]( https://linux.die.net/man/5/dhcpd.leases#:~:text=This%20database%20is%20a%20free,file%20is%20the%20current%20one.)
|
[dhcpd.leases(5) - Linux man page]( https://linux.die.net/man/5/dhcpd.leases#:~:text=This%20database%20is%20a%20free,file%20is%20the%20current%20one.)
|
||||||
|
|
||||||
Example File Format: _(not all lines are required)_
|
Example File Format: _(not all lines are required)_
|
||||||
|
|||||||
@@ -782,7 +782,7 @@ while ($row = $result -> fetchArray (SQLITE3_ASSOC)) {
|
|||||||
window.onbeforeunload = null;
|
window.onbeforeunload = null;
|
||||||
|
|
||||||
// Reloads the current page
|
// Reloads the current page
|
||||||
setTimeout("window.location.reload()", 3000);
|
setTimeout("clearCache()", 5000);
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user