[Magisk] pndwal:
But its not a means to preserve Magisk thru delta OTA updates... I confirmed that above... And need for external means to flash is not the issue it addresses... Such means are fine as long as there is a standard Android/OEM method available...

Magisk generally tries to eliminate the need for 3rd party (non-commercial) solutions, eg custom recoveries, as these may be flawed, unreliable, and out of the scope of Magisk to fix or improve...

Rather than rely on 3rd party apps, python support etc to dump from a payload.bin archive (which Google has now made standard fare) to do initial root, Magisk has simply added in-app support for this archive format just as it already handles img, tar (tarball), gzip (standard zip), lz4, lz4_legacy (only for LG), lzma, xz, bzip2 etc... In-app support for all these package formats means various OEM/Android implementations are supported without the need for 3rd party extraction/packing mods/solutions like @Ius/@vmo3's...

Problem is there are two basic OTA types available for Pixels. For Xiaomi (and many other OEMs), only true 'Over The Air' delta (incremental/differential) OTAs are available (both to build a 'downloaded' image for A-only devices, and to stream data to Inactive slot for A/B devices) AFAIK... Full ROMs supplied are always Fastboot (.tgz) or Recovery (.zip) types, generally not full OTAs...

... I only learned recently that Pixel/Google supplies both full Factory image ROMs (distributed as .zip, but apparently user needs to extract so I guess it contains .tgz package) as well as Full OTA .zip packages... A full OTA package "has the same effect as flashing the corresponding factory image, but without the need to wipe the device or unlock the bootloader"... This applies to users with stock/locked B/L devices of course.

https://developers.google.com/android/ota

And then there's the the truely Over The Air (OTA) updates that must be pushed to opposite slot on A/B devices. These are "delta" as opposed to "full" OTA packages, meaning that there's no need for downloading, and a network stream (containing incremental/differential data only for blocks in files that have actually changed) is simply combined with another data stream from the current slot to create the images being written (streamed) 'seamlessly' to the inactive slot... Of course in order for Streaming A/B OTAs to work (ie. differential data to go to correct addresses etc), the active slot must contain the expected bit-perfect previous OS factory images relied on when creating the OTA, hence the need to 'Restore images' before OTA...

@V0latyle,

Either type of OTA file applied by OS update engine should work with the 'Install Magisk to Inactive slot' Magisk survival method (for A/B devices) outlined here:

https://github.com/topjohnwu/Magisk/blob/master/docs/ota.md#devices-with-ab-partitions

but clearly that was designed for OEM pushed delta incremental OTAs (otherwise restoring images in active slot would really be superfluous).

Further, since the device already has root, that method does NOT need the new native payload.bin extraction support (which only works for full OTA image or Factory image ROMs anyway) because with root an image can simply be dumped from an already installed (inactive slot) /boot or /init_boot partition, then patched and flashed to inactive partition directly just like Direct install Magisk updates for current slot/OS...

Hopefully explained above now... (It's an in-app solution, not dependant on unofficial utilities for use by those wishing to use full ROM packages using payload.bin for boot.img, init_boot.img extraction for Magisk installation purposes.)

I wondered about your understanding that "26.2 natively supports OTA patching(?)" initially because it's clearly not for Delta OTAs, rather it's "native support for extracting a boot image from any ROM using payload.bin for binaries"...

Difficult issues, especially if @vvb2060 is correct about new ROMs/updates enforcing partition digest checks after booting to updated slot... (This means it's broken by Android changes rather than any Magisk issue/regression, and the new check to verify good partitions needs a practical bypass.)

She has suggested other Devs submit PRs for ways to implement a partition digest calculation that overwrites the original value, but meanwhile the issue is marked as WontFix...

https://github.com/topjohnwu/Magisk/issues/5959#issuecomment-1152868270

It gets Magisk installed initially, and if Install to inactive slot (After OTA) still works (per device/OTA) you can preserve Magisk and update on-device without in-app payload.bin support anyway...

... To be quite clear, It was not added to fix Install to inactive slot (After OTA) issues... That's a different animal...

👀 PW