This may or may not fix the issue with type. The code is untested but adds a catch for type and forces it to be image if it comes through empty or null which seems to be the cause of approval failure. I'd feel better testing this in a dev environment instead of pushing it live.
After some discussion, we are going to try it out in prod to see if the issue persists. This will probably fix future submissions but not the current pending ones.
This may or may not fix the issue with type. The code is untested but adds a catch for type and forces it to be image if it comes through empty or null which seems to be the cause of approval failure. I'd feel better testing this in a dev environment instead of pushing it live.