checkWipe(): Argument #1 ($token) must be of type string, null given

Nextcloud version (eg, 29.0.5): 29.0.3
Operating system and version (eg, Ubuntu 29.04): Debian 12.6
Docker Image: nextcloud:29

Hi
I have this error in my Nextcloud logs after upgrading from nextcloud:28 to the nextcloud:29 image, and I don’t know where to start looking… It looks like it is related to the Nextcloud iOS client though (all up to date).

Full log entry:
{"reqId":"eTOGFjVEmIt6nN4mcTuN","level":3,"time":"2024-06-30T14:24:54+00:00","remoteAddr":"2001:7e8:f270:f501:c87a:b7d5:1531:6d","user":"--","app":"index","method":"POST","url":"/index.php/core/wipe/check","message":"OC\\Core\\Controller\\WipeController::checkWipe(): Argument #1 ($token) must be of type string, null given, called in /var/www/html/lib/private/AppFramework/Http/Dispatcher.php on line 232 in file '/var/www/html/core/Controller/WipeController.php' line 63","userAgent":"Mozilla/5.0 (iOS) Nextcloud-iOS/5.3.2","version":"29.0.3.4","exception":{"Exception":"Exception","Message":"OC\\Core\\Controller\\WipeController::checkWipe(): Argument #1 ($token) must be of type string, null given, called in /var/www/html/lib/private/AppFramework/Http/Dispatcher.php on line 232 in file '/var/www/html/core/Controller/WipeController.php' line 63","Code":0,"Trace":[{"file":"/var/www/html/lib/private/AppFramework/App.php","line":184,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[["OC\\Core\\Controller\\WipeController"],"checkWipe"]},{"file":"/var/www/html/lib/private/Route/Router.php","line":338,"function":"main","class":"OC\\AppFramework\\App","type":"::","args":["OC\\Core\\Controller\\WipeController","checkWipe",["OC\\AppFramework\\DependencyInjection\\DIContainer"],["core.wipe.checkwipe"]]},{"file":"/var/www/html/lib/base.php","line":1050,"function":"match","class":"OC\\Route\\Router","type":"->","args":["/core/wipe/check"]},{"file":"/var/www/html/index.php","line":49,"function":"handleRequest","class":"OC","type":"::","args":[]}],"File":"/var/www/html/lib/private/AppFramework/Http/Dispatcher.php","Line":170,"Previous":{"Exception":"TypeError","Message":"OC\\Core\\Controller\\WipeController::checkWipe(): Argument #1 ($token) must be of type string, null given, called in /var/www/html/lib/private/AppFramework/Http/Dispatcher.php on line 232","Code":0,"Trace":[{"file":"/var/www/html/lib/private/AppFramework/Http/Dispatcher.php","line":232,"function":"checkWipe","class":"OC\\Core\\Controller\\WipeController","type":"->","args":[null]},{"file":"/var/www/html/lib/private/AppFramework/Http/Dispatcher.php","line":138,"function":"executeController","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[["OC\\Core\\Controller\\WipeController"],"checkWipe"]},{"file":"/var/www/html/lib/private/AppFramework/App.php","line":184,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[["OC\\Core\\Controller\\WipeController"],"checkWipe"]},{"file":"/var/www/html/lib/private/Route/Router.php","line":338,"function":"main","class":"OC\\AppFramework\\App","type":"::","args":["OC\\Core\\Controller\\WipeController","checkWipe",["OC\\AppFramework\\DependencyInjection\\DIContainer"],["core.wipe.checkwipe"]]},{"file":"/var/www/html/lib/base.php","line":1050,"function":"match","class":"OC\\Route\\Router","type":"->","args":["/core/wipe/check"]},{"file":"/var/www/html/index.php","line":49,"function":"handleRequest","class":"OC","type":"::","args":[]}],"File":"/var/www/html/core/Controller/WipeController.php","Line":63},"message":"OC\\Core\\Controller\\WipeController::checkWipe(): Argument #1 ($token) must be of type string, null given, called in /var/www/html/lib/private/AppFramework/Http/Dispatcher.php on line 232 in file '/var/www/html/core/Controller/WipeController.php' line 63","exception":[],"CustomMessage":"OC\\Core\\Controller\\WipeController::checkWipe(): Argument #1 ($token) must be of type string, null given, called in /var/www/html/lib/private/AppFramework/Http/Dispatcher.php on line 232 in file '/var/www/html/core/Controller/WipeController.php' line 63"},"id":"668170f3c8f4b"}

Any pointers welcome!

Regards,
-Patrick

Good detective work. The request lacking the requested token is coming from the iOS app, so the core issue will need to be addressed there. However, the Server, could handle the poorly formed request better. I’ll fix the latter now, but I’m afraid I can’t help with the iOS side. That would best be reported here: Issues · nextcloud/ios · GitHub