I tested the auto-close feature and found that it is working correctly in my dev environment.
The criteria for closing a ticket is pretty simple, but you should double-check these settings:
The ticket belongs to a support department that has the setting Automatically Close Tickets set to a value other than "-- Never --". The ticket should have no replies to it since at least that many days. The last reply to the ticket should be by a staff member. The ticket should be set to a status that is neither "In Progress" nor "Closed".
You can try running the following query to see if you get any results. It will tell you the ID of the tickets that should be closed. You may need to adjust the department ID and the date of the support replies to match your settings.
SELECT `support_tickets`.`id`
FROM `support_replies`
INNER JOIN `support_tickets` ON `support_replies`.`ticket_id` = `support_tickets`.`id`
WHERE `support_replies`.`id` IN
(
SELECT MAX(`support_replies`.`id`)
FROM `support_replies`
WHERE `support_replies`.`ticket_id` = `support_tickets`.`id`
AND `support_replies`.`type` = 'reply'
)
AND `support_tickets`.`department_id` = 1
AND `support_tickets`.`status` != 'in_progress'
AND `support_tickets`.`status` != 'closed'
AND `support_replies`.`type` = 'reply'
AND `support_replies`.`staff_id` IS NOT NULL
AND `support_replies`.`date_added` <= '2016-04-16 00:00:00';
If you receive results from this query, but the cron still does not close the tickets, there may be an error validating the ticket on edit in SupportManagerTickets::edit. You may have to temporarily update that file to write all Input errors to a file so you can determine what may have failed to process.