Kim Alvefur <zash@zash.se> [Mon, 09 Oct 2023 20:31:35 +0200] rev 13278
mod_tokenauth: Periodically clear out expired tokens and grants
This should ensure expired grants eventually disappear.
Kim Alvefur <zash@zash.se> [Mon, 16 Oct 2023 23:51:52 +0200] rev 13277
mod_tokenauth: Delete grants without tokens after period
Generally it is expected that a grant would have at least one token as
long as the grant is in active use.
Refresh tokens issued by mod_http_oauth2 have a lifetime of one week by
default, so the idea here is that if that refresh token expired and
another week goes by without the grant being used, then the whole grant
can be removed.
Kim Alvefur <zash@zash.se> [Mon, 09 Oct 2023 20:28:37 +0200] rev 13276
mod_tokenauth: Clear expired tokens on grant retrieval
Kim Alvefur <zash@zash.se> [Mon, 09 Oct 2023 20:26:30 +0200] rev 13275
mod_tokenauth: Delete grants in the wrong formats on retrieval
Kim Alvefur <zash@zash.se> [Sun, 15 Oct 2023 16:43:14 +0200] rev 13274
lint: Teach luacheck about module:once
Silence warning for using this introduced in 9c62ffbdf2ae
Kim Alvefur <zash@zash.se> [Sun, 15 Oct 2023 16:41:25 +0200] rev 13273
mod_cron: Remove unused import [luacheck]
Use of datetime was removed in 6ac5ad578565
Kim Alvefur <zash@zash.se> [Sun, 15 Oct 2023 14:57:24 +0200] rev 13272
Merge 0.12->trunk
Kim Alvefur <zash@zash.se> [Sun, 15 Oct 2023 14:43:11 +0200] rev 13271
mod_muc_mam: Improve wording of enable setting
Suggested by jstein in the chat
This option label is used by XMPP clients to explain what the option does.
a) The user should know where the data is archived.
b) The user needs a statement that can be enabled/disabled by the variable. A question would have the wrong logic here.
Kim Alvefur <zash@zash.se> [Sat, 14 Oct 2023 22:43:39 +0200] rev 13270
mod_http_file_share: Retrieve stored total in async-friendly way
Does this run in a thread?
Kim Alvefur <zash@zash.se> [Sat, 14 Oct 2023 22:32:33 +0200] rev 13269
mod_cron: Load last task run time inside task runner to fix async
This ensures that all interactions with storage happen inside an async
thread, allowing async waiting to be performed in storage drivers.