Problem: legacy plugins overwrite window.chat functions, but the new code uses the COMM API and these plugin changes are not called. Also, before this PR, a lot of window.chat functions were removed, which could cause errors in the legacy plugins.
Solution: I created a proxy that calls the alternatives in the COMM API when calling the removed window.chat functions. It also overwrites COMM API methods when they are overwritten in window.chat by a legacy plugin.
I tested this solution with plugins from Commutity plugins and it looks like a working solution.
[x] Analyze what causes plugins to overwrite functions and if necessary, extend API capabilities to make those capabilities available through API
On top of https://github.com/IITC-CE/ingress-intel-total-conversion/pull/447
Problem: legacy plugins overwrite window.chat functions, but the new code uses the COMM API and these plugin changes are not called. Also, before this PR, a lot of window.chat functions were removed, which could cause errors in the legacy plugins.
Solution: I created a proxy that calls the alternatives in the COMM API when calling the removed window.chat functions. It also overwrites COMM API methods when they are overwritten in window.chat by a legacy plugin.
I tested this solution with plugins from Commutity plugins and it looks like a working solution.