If you get into a recovery boot loop (where the phone keeps booting into the recovery, and not the OS), this will fix it without losing any data. (NO FACTORY RESET NEEDED)
Go to TWRP recovery terminal commands, and enter the following:
dd if=/dev/zero of=/dev/block/platform/msm_sdcc.1/by-name/fota
PRESS ENTER
THEN TYPE
dd if=/dev/zero of=/dev/block/platform/msm_sdcc.1/by-name/misc
THEN PRESS ENTER
REBOOT
This should boot up your phone without any changes.
Go to TWRP recovery terminal commands, and enter the following:
dd if=/dev/zero of=/dev/block/platform/msm_sdcc.1/by-name/fota
PRESS ENTER
THEN TYPE
dd if=/dev/zero of=/dev/block/platform/msm_sdcc.1/by-name/misc
THEN PRESS ENTER
REBOOT
This should boot up your phone without any changes.