I used osTicket 1.14, today i upgraded to 1.15 still with same issue. I had issue with Ticket Thread showing blank place on new ticket, I believe I found out why.
When you delete ticket from portal, it keeps record about it, it will not remove all neccessary records about it. When you create new ticket sometime it mess up the records for table ost_thread_entry_email I think it is something like authentification if I am not wrong or assigning correct email access to ticket.

The way how to solve this is by removing at minimum these nonexisting old point records in ost_thread_entry_email by removing duplicates.
if you want to solve this for the future I think whenever is email deleted it should also remove the record in this table
otherwise we will need to do this manually all the time.

--Clean up duplicates

DELETE t1 FROM ost_thread_entry_email t1
INNER JOIN ost_thread_entry_email t2 
WHERE 
    t1.id < t2.id AND 
    t1.thread_entry_id = t2.thread_entry_id;
-- Remote all records what do not exist in Threads: Deleted	
select * FROM ost_thread_entry_email WHERE thread_entry_id NOT IN (SELECT f.id FROM ost_thread_entry f);

I also used this, to remove the records for Removed emails, as I find it usseless, when we remove only spam emails

-- Remove records for Deleted tickets from website
DELETE FROM `ost_thread_event` WHERE event_id = 14;

For Developers!
Can you add this feature automatically to remove this record in ost_thread_entry_email on ticket deletion? or add a function to settings for clean up of the table when this error happens

@nahaku

This is actually by design. The actual problem is with MySQL versions less than 8.0. You can read other similar posts where I describe the issue in detail.

Cheers.

6 days later

unfortunately I am not sure that i can install newer version on our webserver, what is running CentOS 7. as we are hosting other people websites, I do not want to break their sites by changing mysql.

Write a Reply...