When the maintenance task runs to empty old items from
the trash,
it saves (and thus updates the last-modified time of)
each item that
it doesn't delete. This save is necessary to update a
category in the
trash if some but not all of the items within that
category have just
been deleted. However, it also saves non-category
items (ordinary
answers) that have been passed over for deletion
because they
haven't been in the trash long enough. If the interval
between
invocations of the maintenance script is shorter than
the expiration
period for trashed items, nothing will ever be deleted
from the
trash.
I've applied this change to
lib/FAQ/OMatic/maintenance.pm.orig
to keep the modification times of trashed items from
being updated
automatically when the maintenance task passes over
them. It
allows non-category items to be deleted from the trash
successfully.
(With a bit more work, it could be improved further to
fix deletion
of categories.)
977c977
< if (!$blasted) {
---
> if (!$blasted && $item->isCategory()) {