perf(plugins): sync task plugins from hashes and load source only for changed rows
Every node polls the active override set every 30 seconds, and the snapshot query selected whole rows, so each poll pulled every plugin's full source and icon from the database only to compare source_hash and discard them. With sources allowed up to 8 MiB that is real traffic. Skip the source and icon columns in the sync snapshot and fetch source by row id only for plugins whose hash changed. A row never changes source in place, so the id from the snapshot identifies exactly the text its hash describes. A failed source load is handled like a compile failure: the running plugin stays and the next poll retries.
C
CaIon committed
2c175190c44a95c6af4877e901dc5211ef706979
Parent: c0cff23