@@ -660,6 +660,17 @@ public function provideDefaultApps(): array {
660660 true ,
661661 'settings ' ,
662662 ],
663+ // system default app and user apporder
664+ [
665+ // system default is settings
666+ 'unexist,settings ' ,
667+ '' ,
668+ // apporder says default app is files (order is lower)
669+ '{"files_id":{"app":"files","order":1},"settings_id":{"app":"settings","order":2}} ' ,
670+ true ,
671+ // system default should override apporder
672+ 'settings '
673+ ],
663674 // user-customized defaultapp
664675 [
665676 '' ,
@@ -680,18 +691,26 @@ public function provideDefaultApps(): array {
680691 [
681692 'unexist,settings ' ,
682693 'files ' ,
683- '{"settings ":{"app":"settings","order":1},"files ":{"app":"files","order":2}} ' ,
694+ '{"settings_id ":{"app":"settings","order":1},"files_id ":{"app":"files","order":2}} ' ,
684695 true ,
685696 'files ' ,
686697 ],
687698 // user-customized apporder fallback
688699 [
689700 '' ,
690701 '' ,
691- '{"settings ":{"app":"settings","order":1},"files":{"app":"files","order":2}} ' ,
702+ '{"settings_id ":{"app":"settings","order":1},"files":{"app":"files","order":2}} ' ,
692703 true ,
693704 'settings ' ,
694705 ],
706+ // user-customized apporder fallback with missing app key (entries added by closures does not always have an app key set (Nextcloud 27 spreed app for example))
707+ [
708+ '' ,
709+ '' ,
710+ '{"spreed":{"order":1},"files":{"app":"files","order":2}} ' ,
711+ true ,
712+ 'files ' ,
713+ ],
695714 // user-customized apporder, but called without fallback
696715 [
697716 '' ,
@@ -700,6 +719,14 @@ public function provideDefaultApps(): array {
700719 false ,
701720 '' ,
702721 ],
722+ // user-customized apporder with an app that has multiple routes
723+ [
724+ '' ,
725+ '' ,
726+ '{"settings_id":{"app":"settings","order":1},"settings_id_2":{"app":"settings","order":3},"id_files":{"app":"files","order":2}} ' ,
727+ true ,
728+ 'settings ' ,
729+ ],
703730 ];
704731 }
705732
0 commit comments