This change pre-loads the hold data with holds that expired less than today, not less than datetime today in order to match what the actual clear hold shelf function does. This will prevent holds from showing that won't actually clear.
It looks like this issue first showed up in 3.1.11 so it can be backported to anything above that release.
Fix is here,
https:/ /git.evergreen- ils.org/ ?p=working/ Evergreen. git;a=shortlog; h=refs/ heads/collab/ Callender/ hold_clear_ list_shelf_ expire_ date
This change pre-loads the hold data with holds that expired less than today, not less than datetime today in order to match what the actual clear hold shelf function does. This will prevent holds from showing that won't actually clear.
It looks like this issue first showed up in 3.1.11 so it can be backported to anything above that release.