The dev was responsible to test their software before they push their commit - QA's job was not to find bugs from lazy developers.
Our time estimations for tickets included additional time for writing tests.
All PR had to be reviewed for bugs, security, performance etc.. the author ws responsible for getting someone to review it if they wanted it released.
The dev was required to communicate to with QA and explain if any other systems or functionalities were be affected by a change.
Everything was be tested on staging before going to prod - absolutely everything with no exceptions.
Regression tests were never skipped.
If something couldn't be tested then we had to logically deduce why it could not cause an error.
After a release we ran smoke tests and would immediately roll back if any issues.
IIRC the solution steps should be Step 1: make it work, Step 2: refactor, Step 3: optimize. I think you did Step 1: unoptimize, Step 2: undo