This is a weird question , in the sense I recovered from the boot loop but don't know why and how and hoping I get some pointers from the possibly incomplete information.
I recently applied monthly update on my OnePlus 7. For those who aren't aware , OnePlus downloads the complete ROM instead of update if it detects root or unlocked bootloader (good thing). This is applied as local update. Before applying the update, one needs to uninstall those Magisk modules which aren't a part of the Magisk repo to prevent bootloop and switch slots in Magisk as per the OTA upgrade notes.
I had done this several times and this time it went fine and it booted up normally. Yesterday, I needed to reboot for a totally different reason and on doing so entered into a bootloop. Long press power didn't shut down the device and none of the usual key combination tricks worked. Fortunately, after a struggle, I managed to get into recovery mode of device using power + vol down. My first suspect for the bootloop was that I had was that I was careless by not uninstalling non-Magisk repo module , so here's what I did after fast booting into TWRP
Cleared cache and rebooted with same result.
Flashed this zip to enable Magisk core only and rebooted. No luck
Switched slots hoping that the pre-update slot would boot up but again no luck.
I was resigned by this stage to doing a factory-reset since I couldn't think of any other solution. Since the full ROM was already there on the device , I tried installing it through TWRP ( I know it won't work, since it is not a fastboot ROM, but then I was ready for factory-reset). It showed installation in two stages , stage 1 was successful but stage 2 stopped mid way with a warning
fstab not created(IIRC) . This flashed twice. Again tried to reboot , no luck.
Booted into TWRP and again disabled all Magisk modules and rebooted, Bingo, it worked ! (I may have switched slots, don't recollect as I was reckless enough to try anything)
I am sure trying to flash full ROM had something to do with revival because on booting I had a stock kernel, instead of custom kernel. Of course, I had to flash Magisk and modules to get back to business but luckily data was intact.
Long story to make sure no facts are missed. Now my question in two parts:
What else could I have tried?
How did flashing the ROM (unsuccessfully) help?