Ensure you reorder apps.txt after running bench setup requirements or bench update because bench will overwrite your ordering to the order specified by the code below from bench/bench.py.
You might think: so what? But the order matters because it specifies the order that modules are loaded and hence overridden.
So the order you should do things:
bench setup requirements- manually reorder apps.txt (and take a copy for next time)
bench restartbench --site <site> clear-cachebench --site <site> clear-website-cache
def initialize_apps(self):
try:
self.apps = [
x
for x in os.listdir(os.path.join(self.bench.name, "apps"))
if is_frappe_app(os.path.join(self.bench.name, "apps", x))
]
self.apps.remove("frappe")
self.apps.insert(0, "frappe")
True up to v14/15 at least