Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DBAL Exception: Invalid parameter number: mixed named and positional parameters #1200

Closed
3 tasks done
anoymouserver opened this issue Feb 23, 2021 · 0 comments · Fixed by #1201
Closed
3 tasks done
Labels

Comments

@anoymouserver
Copy link
Contributor

IMPORTANT

Read and tick the following checkbox after you have created the issue or place an x inside the brackets ;)

  • I have read the CONTRIBUTING.md and followed the provided tips
  • I accept that the issue will be closed without comment if I do not check here
  • I accept that the issue will be closed without comment if I do not fill out all items in the issue template.

Explain the Problem

What problem did you encounter?

Internal server error!

Somehow the query is switched by the QueryBuilder from
SELECT `items`.* FROM `oc_news_items` `items` INNER JOIN `oc_news_feeds` `feeds` ON items.feed_id = feeds.id WHERE (feeds.user_id = :userId) AND (`items`.`id` > `:offset`) ORDER BY `items`.`last_modified` DESC, `items`.`id` DESC LIMIT 40
to
SELECT `items`.* FROM `oc_news_items` `items` INNER JOIN `oc_news_feeds` `feeds` ON items.feed_id = feeds.id WHERE (feeds.user_id = ?) AND (`items`.`id` > `:offset`) ORDER BY `items`.`last_modified` DESC, `items`.`id` DESC LIMIT 40
in executeQuery (note the : userId -> ?)

Steps to Reproduce

Explain what you did to encounter the issue

  1. Open the news app

System Information

  • News app version: 15.4.0-beta1
  • Nextcloud version: 20.0.7.1
  • Cron type: system cron
  • PHP version: 7.3.25
  • Database and version:
  • Browser and version:
  • OS and version:
Contents of nextcloud/data/nextcloud.log
{
    "reqId": "ZPQ9Nv1CXJCiDONCsvCX",
    "level": 3,
    "time": "2021-02-23T17:02:31+00:00",
    "remoteAddr": "127.0.0.1",
    "user": "anoymouserver",
    "app": "index",
    "method": "GET",
    "url": "/apps/news/items?limit=40&oldestFirst=false&search=&showAll=true&type=3",
    "message": {
        "Exception": "Doctrine\\DBAL\\Exception\\DriverException",
        "Message": "An exception occurred while executing 'SELECT `items`.* FROM `oc_news_items` `items` INNER JOIN `oc_news_feeds` `feeds` ON items.feed_id = feeds.id WHERE (feeds.user_id = ?) AND (`items`.`id` > `:offset`) ORDER BY `items`.`last_modified` DESC, `items`.`id` DESC LIMIT 40' with params [\"anoymouserver\"]:\n\nSQLSTATE[HY093]: Invalid parameter number: mixed named and positional parameters",
        "Code": 0,
        "Trace": [{
                "file": "/var/www/cloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php",
                "line": 169,
                "function": "convertException",
                "class": "Doctrine\\DBAL\\Driver\\AbstractMySQLDriver",
                "type": "->",
                "args": ["An exception occurred while executing 'SELECT `items`.* FROM `oc_news_items` `items` INNER JOIN `oc_news_feeds` `feeds` ON items.feed_id = feeds.id WHERE (feeds.user_id = ?) AND (`items`.`id` > `:offset`) ORDER BY `items`.`last_modified` DESC, `items`.`id` DESC LIMIT 40' with params [\"anoymouserver\"]:\n\nSQLSTATE[HY093]: Invalid parameter number: mixed named and positional parameters", {
                        "errorInfo": ["HY093", 0],
                        "__class__": "Doctrine\\DBAL\\Driver\\PDOException"
                    }
                ]
            }, {
                "file": "/var/www/cloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php",
                "line": 149,
                "function": "wrapException",
                "class": "Doctrine\\DBAL\\DBALException",
                "type": "::",
                "args": [{
                        "__class__": "Doctrine\\DBAL\\Driver\\PDOMySql\\Driver"
                    }, {
                        "errorInfo": ["HY093", 0],
                        "__class__": "Doctrine\\DBAL\\Driver\\PDOException"
                    }, "An exception occurred while executing 'SELECT `items`.* FROM `oc_news_items` `items` INNER JOIN `oc_news_feeds` `feeds` ON items.feed_id = feeds.id WHERE (feeds.user_id = ?) AND (`items`.`id` > `:offset`) ORDER BY `items`.`last_modified` DESC, `items`.`id` DESC LIMIT 40' with params [\"anoymouserver\"]:\n\nSQLSTATE[HY093]: Invalid parameter number: mixed named and positional parameters"]
            }, {
                "file": "/var/www/cloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php",
                "line": 914,
                "function": "driverExceptionDuringQuery",
                "class": "Doctrine\\DBAL\\DBALException",
                "type": "::",
                "args": [{
                        "__class__": "Doctrine\\DBAL\\Driver\\PDOMySql\\Driver"
                    }, {
                        "errorInfo": ["HY093", 0],
                        "__class__": "Doctrine\\DBAL\\Driver\\PDOException"
                    }, "SELECT `items`.* FROM `oc_news_items` `items` INNER JOIN `oc_news_feeds` `feeds` ON items.feed_id = feeds.id WHERE (feeds.user_id = ?) AND (`items`.`id` > `:offset`) ORDER BY `items`.`last_modified` DESC, `items`.`id` DESC LIMIT 40", {
                        "1": "anoymouserver"
                    }
                ]
            }, {
                "file": "/var/www/cloud/lib/private/DB/Connection.php",
                "line": 202,
                "function": "executeQuery",
                "class": "Doctrine\\DBAL\\Connection",
                "type": "->",
                "args": ["SELECT `items`.* FROM `oc_news_items` `items` INNER JOIN `oc_news_feeds` `feeds` ON items.feed_id = feeds.id WHERE (feeds.user_id = ?) AND (`items`.`id` > `:offset`) ORDER BY `items`.`last_modified` DESC, `items`.`id` DESC LIMIT 40", ["anoymouserver"], [2], null]
            }, {
                "file": "/var/www/cloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Query/QueryBuilder.php",
                "line": 206,
                "function": "executeQuery",
                "class": "OC\\DB\\Connection",
                "type": "->",
                "args": ["SELECT `items`.* FROM `oc_news_items` `items` INNER JOIN `oc_news_feeds` `feeds` ON items.feed_id = feeds.id WHERE (feeds.user_id = :userId) AND (`items`.`id` > `:offset`) ORDER BY `items`.`last_modified` DESC, `items`.`id` DESC LIMIT 40", {
                        "userId": "anoymouserver",
                        "offset": 0
                    }, []]
            }, {
                "file": "/var/www/cloud/lib/private/DB/QueryBuilder/QueryBuilder.php",
                "line": 217,
                "function": "execute",
                "class": "Doctrine\\DBAL\\Query\\QueryBuilder",
                "type": "->",
                "args": []
            }, {
                "file": "/var/www/cloud/lib/public/AppFramework/Db/QBMapper.php",
                "line": 320,
                "function": "execute",
                "class": "OC\\DB\\QueryBuilder\\QueryBuilder",
                "type": "->",
                "args": []
            }, {
                "file": "/var/www/cloud/apps/news/lib/Db/ItemMapperV2.php",
                "line": 581,
                "function": "findEntities",
                "class": "OCP\\AppFramework\\Db\\QBMapper",
                "type": "->",
                "args": [{
                        "__class__": "OC\\DB\\QueryBuilder\\QueryBuilder"
                    }
                ]
            }, {
                "file": "/var/www/cloud/apps/news/lib/Service/ItemServiceV2.php",
                "line": 392,
                "function": "findAllItems",
                "class": "OCA\\News\\Db\\ItemMapperV2",
                "type": "->",
                "args": ["anoymouserver", 3, 40, 0, false, []]
            }, {
                "file": "/var/www/cloud/apps/news/lib/Controller/ItemController.php",
                "line": 163,
                "function": "findAllWithFilters",
                "class": "OCA\\News\\Service\\ItemServiceV2",
                "type": "->",
                "args": ["anoymouserver", 3, 40, 0, false, []]
            }, {
                "file": "/var/www/cloud/lib/private/AppFramework/Http/Dispatcher.php",
                "line": 169,
                "function": "index",
                "class": "OCA\\News\\Controller\\ItemController",
                "type": "->",
                "args": [3, 0, 40, 0, true, false, ""]
            }, {
                "file": "/var/www/cloud/lib/private/AppFramework/Http/Dispatcher.php",
                "line": 100,
                "function": "executeController",
                "class": "OC\\AppFramework\\Http\\Dispatcher",
                "type": "->",
                "args": [{
                        "__class__": "OCA\\News\\Controller\\ItemController"
                    }, "index"]
            }, {
                "file": "/var/www/cloud/lib/private/AppFramework/App.php",
                "line": 152,
                "function": "dispatch",
                "class": "OC\\AppFramework\\Http\\Dispatcher",
                "type": "->",
                "args": [{
                        "__class__": "OCA\\News\\Controller\\ItemController"
                    }, "index"]
            }, {
                "file": "/var/www/cloud/lib/private/Route/Router.php",
                "line": 309,
                "function": "main",
                "class": "OC\\AppFramework\\App",
                "type": "::",
                "args": ["OCA\\News\\Controller\\ItemController", "index", {
                        "__class__": "OC\\AppFramework\\DependencyInjection\\DIContainer"
                    }, {
                        "_route": "news.item.index"
                    }
                ]
            }, {
                "file": "/var/www/cloud/lib/base.php",
                "line": 1008,
                "function": "match",
                "class": "OC\\Route\\Router",
                "type": "->",
                "args": ["/apps/news/items"]
            }, {
                "file": "/var/www/cloud/index.php",
                "line": 37,
                "function": "handleRequest",
                "class": "OC",
                "type": "::",
                "args": []
            }
        ],
        "File": "/var/www/cloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php",
        "Line": 106,
        "Previous": {
            "Exception": "Doctrine\\DBAL\\Driver\\PDOException",
            "Message": "SQLSTATE[HY093]: Invalid parameter number: mixed named and positional parameters",
            "Code": "HY093",
            "Trace": [{
                    "file": "/var/www/cloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php",
                    "line": 906,
                    "function": "execute",
                    "class": "Doctrine\\DBAL\\Driver\\PDOStatement",
                    "type": "->",
                    "args": []
                }, {
                    "file": "/var/www/cloud/lib/private/DB/Connection.php",
                    "line": 202,
                    "function": "executeQuery",
                    "class": "Doctrine\\DBAL\\Connection",
                    "type": "->",
                    "args": ["SELECT `items`.* FROM `oc_news_items` `items` INNER JOIN `oc_news_feeds` `feeds` ON items.feed_id = feeds.id WHERE (feeds.user_id = ?) AND (`items`.`id` > `:offset`) ORDER BY `items`.`last_modified` DESC, `items`.`id` DESC LIMIT 40", ["anoymouserver"], [2], null]
                }, {
                    "file": "/var/www/cloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Query/QueryBuilder.php",
                    "line": 206,
                    "function": "executeQuery",
                    "class": "OC\\DB\\Connection",
                    "type": "->",
                    "args": ["SELECT `items`.* FROM `oc_news_items` `items` INNER JOIN `oc_news_feeds` `feeds` ON items.feed_id = feeds.id WHERE (feeds.user_id = :userId) AND (`items`.`id` > `:offset`) ORDER BY `items`.`last_modified` DESC, `items`.`id` DESC LIMIT 40", {
                            "userId": "anoymouserver",
                            "offset": 0
                        }, []]
                }, {
                    "file": "/var/www/cloud/lib/private/DB/QueryBuilder/QueryBuilder.php",
                    "line": 217,
                    "function": "execute",
                    "class": "Doctrine\\DBAL\\Query\\QueryBuilder",
                    "type": "->",
                    "args": []
                }, {
                    "file": "/var/www/cloud/lib/public/AppFramework/Db/QBMapper.php",
                    "line": 320,
                    "function": "execute",
                    "class": "OC\\DB\\QueryBuilder\\QueryBuilder",
                    "type": "->",
                    "args": []
                }, {
                    "file": "/var/www/cloud/apps/news/lib/Db/ItemMapperV2.php",
                    "line": 581,
                    "function": "findEntities",
                    "class": "OCP\\AppFramework\\Db\\QBMapper",
                    "type": "->",
                    "args": [{
                            "__class__": "OC\\DB\\QueryBuilder\\QueryBuilder"
                        }
                    ]
                }, {
                    "file": "/var/www/cloud/apps/news/lib/Service/ItemServiceV2.php",
                    "line": 392,
                    "function": "findAllItems",
                    "class": "OCA\\News\\Db\\ItemMapperV2",
                    "type": "->",
                    "args": ["anoymouserver", 3, 40, 0, false, []]
                }, {
                    "file": "/var/www/cloud/apps/news/lib/Controller/ItemController.php",
                    "line": 163,
                    "function": "findAllWithFilters",
                    "class": "OCA\\News\\Service\\ItemServiceV2",
                    "type": "->",
                    "args": ["anoymouserver", 3, 40, 0, false, []]
                }, {
                    "file": "/var/www/cloud/lib/private/AppFramework/Http/Dispatcher.php",
                    "line": 169,
                    "function": "index",
                    "class": "OCA\\News\\Controller\\ItemController",
                    "type": "->",
                    "args": [3, 0, 40, 0, true, false, ""]
                }, {
                    "file": "/var/www/cloud/lib/private/AppFramework/Http/Dispatcher.php",
                    "line": 100,
                    "function": "executeController",
                    "class": "OC\\AppFramework\\Http\\Dispatcher",
                    "type": "->",
                    "args": [{
                            "__class__": "OCA\\News\\Controller\\ItemController"
                        }, "index"]
                }, {
                    "file": "/var/www/cloud/lib/private/AppFramework/App.php",
                    "line": 152,
                    "function": "dispatch",
                    "class": "OC\\AppFramework\\Http\\Dispatcher",
                    "type": "->",
                    "args": [{
                            "__class__": "OCA\\News\\Controller\\ItemController"
                        }, "index"]
                }, {
                    "file": "/var/www/cloud/lib/private/Route/Router.php",
                    "line": 309,
                    "function": "main",
                    "class": "OC\\AppFramework\\App",
                    "type": "::",
                    "args": ["OCA\\News\\Controller\\ItemController", "index", {
                            "__class__": "OC\\AppFramework\\DependencyInjection\\DIContainer"
                        }, {
                            "_route": "news.item.index"
                        }
                    ]
                }, {
                    "file": "/var/www/cloud/lib/base.php",
                    "line": 1008,
                    "function": "match",
                    "class": "OC\\Route\\Router",
                    "type": "->",
                    "args": ["/apps/news/items"]
                }, {
                    "file": "/var/www/cloud/index.php",
                    "line": 37,
                    "function": "handleRequest",
                    "class": "OC",
                    "type": "::",
                    "args": []
                }
            ],
            "File": "/var/www/cloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php",
            "Line": 129,
            "Previous": {
                "Exception": "PDOException",
                "Message": "SQLSTATE[HY093]: Invalid parameter number: mixed named and positional parameters",
                "Code": "HY093",
                "Trace": [{
                        "file": "/var/www/cloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php",
                        "line": 127,
                        "function": "execute",
                        "class": "PDOStatement",
                        "type": "->",
                        "args": [null]
                    }, {
                        "file": "/var/www/cloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php",
                        "line": 906,
                        "function": "execute",
                        "class": "Doctrine\\DBAL\\Driver\\PDOStatement",
                        "type": "->",
                        "args": []
                    }, {
                        "file": "/var/www/cloud/lib/private/DB/Connection.php",
                        "line": 202,
                        "function": "executeQuery",
                        "class": "Doctrine\\DBAL\\Connection",
                        "type": "->",
                        "args": ["SELECT `items`.* FROM `oc_news_items` `items` INNER JOIN `oc_news_feeds` `feeds` ON items.feed_id = feeds.id WHERE (feeds.user_id = ?) AND (`items`.`id` > `:offset`) ORDER BY `items`.`last_modified` DESC, `items`.`id` DESC LIMIT 40", ["anoymouserver"], [2], null]
                    }, {
                        "file": "/var/www/cloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Query/QueryBuilder.php",
                        "line": 206,
                        "function": "executeQuery",
                        "class": "OC\\DB\\Connection",
                        "type": "->",
                        "args": ["SELECT `items`.* FROM `oc_news_items` `items` INNER JOIN `oc_news_feeds` `feeds` ON items.feed_id = feeds.id WHERE (feeds.user_id = :userId) AND (`items`.`id` > `:offset`) ORDER BY `items`.`last_modified` DESC, `items`.`id` DESC LIMIT 40", {
                                "userId": "anoymouserver",
                                "offset": 0
                            }, []]
                    }, {
                        "file": "/var/www/cloud/lib/private/DB/QueryBuilder/QueryBuilder.php",
                        "line": 217,
                        "function": "execute",
                        "class": "Doctrine\\DBAL\\Query\\QueryBuilder",
                        "type": "->",
                        "args": []
                    }, {
                        "file": "/var/www/cloud/lib/public/AppFramework/Db/QBMapper.php",
                        "line": 320,
                        "function": "execute",
                        "class": "OC\\DB\\QueryBuilder\\QueryBuilder",
                        "type": "->",
                        "args": []
                    }, {
                        "file": "/var/www/cloud/apps/news/lib/Db/ItemMapperV2.php",
                        "line": 581,
                        "function": "findEntities",
                        "class": "OCP\\AppFramework\\Db\\QBMapper",
                        "type": "->",
                        "args": [{
                                "__class__": "OC\\DB\\QueryBuilder\\QueryBuilder"
                            }
                        ]
                    }, {
                        "file": "/var/www/cloud/apps/news/lib/Service/ItemServiceV2.php",
                        "line": 392,
                        "function": "findAllItems",
                        "class": "OCA\\News\\Db\\ItemMapperV2",
                        "type": "->",
                        "args": ["anoymouserver", 3, 40, 0, false, []]
                    }, {
                        "file": "/var/www/cloud/apps/news/lib/Controller/ItemController.php",
                        "line": 163,
                        "function": "findAllWithFilters",
                        "class": "OCA\\News\\Service\\ItemServiceV2",
                        "type": "->",
                        "args": ["anoymouserver", 3, 40, 0, false, []]
                    }, {
                        "file": "/var/www/cloud/lib/private/AppFramework/Http/Dispatcher.php",
                        "line": 169,
                        "function": "index",
                        "class": "OCA\\News\\Controller\\ItemController",
                        "type": "->",
                        "args": [3, 0, 40, 0, true, false, ""]
                    }, {
                        "file": "/var/www/cloud/lib/private/AppFramework/Http/Dispatcher.php",
                        "line": 100,
                        "function": "executeController",
                        "class": "OC\\AppFramework\\Http\\Dispatcher",
                        "type": "->",
                        "args": [{
                                "__class__": "OCA\\News\\Controller\\ItemController"
                            }, "index"]
                    }, {
                        "file": "/var/www/cloud/lib/private/AppFramework/App.php",
                        "line": 152,
                        "function": "dispatch",
                        "class": "OC\\AppFramework\\Http\\Dispatcher",
                        "type": "->",
                        "args": [{
                                "__class__": "OCA\\News\\Controller\\ItemController"
                            }, "index"]
                    }, {
                        "file": "/var/www/cloud/lib/private/Route/Router.php",
                        "line": 309,
                        "function": "main",
                        "class": "OC\\AppFramework\\App",
                        "type": "::",
                        "args": ["OCA\\News\\Controller\\ItemController", "index", {
                                "__class__": "OC\\AppFramework\\DependencyInjection\\DIContainer"
                            }, {
                                "_route": "news.item.index"
                            }
                        ]
                    }, {
                        "file": "/var/www/cloud/lib/base.php",
                        "line": 1008,
                        "function": "match",
                        "class": "OC\\Route\\Router",
                        "type": "->",
                        "args": ["/apps/news/items"]
                    }, {
                        "file": "/var/www/cloud/index.php",
                        "line": 37,
                        "function": "handleRequest",
                        "class": "OC",
                        "type": "::",
                        "args": []
                    }
                ],
                "File": "/var/www/cloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php",
                "Line": 127
            }
        },
        "CustomMessage": "--"
    },
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:85.0) Gecko/20100101 Firefox/85.0",
    "version": "20.0.7.1",
    "id": "60353535120cf"
}
SMillerDev added a commit that referenced this issue Feb 23, 2021
SMillerDev added a commit that referenced this issue Feb 23, 2021
Issue GH-1200

Signed-off-by: Sean Molenaar <sean@seanmolenaar.eu>
SMillerDev added a commit that referenced this issue Feb 27, 2021
Issue GH-1200

Signed-off-by: Sean Molenaar <sean@seanmolenaar.eu>
Grotax pushed a commit that referenced this issue Feb 27, 2021
Issue GH-1200

Signed-off-by: Sean Molenaar <sean@seanmolenaar.eu>
Grotax added a commit that referenced this issue Feb 27, 2021
Fixed
- Item list not using ID for offset 2 (#1200)
Grotax added a commit that referenced this issue Feb 27, 2021
Fixed
- Item list not using ID for offset 2 (#1200)

Signed-off-by: Benjamin Brahmer <info@b-brahmer.de>
Grotax added a commit that referenced this issue Feb 27, 2021
Fixed
- Item list not using ID for offset 2 (#1200)

Signed-off-by: Benjamin Brahmer <info@b-brahmer.de>
mnassabain pushed a commit to Team-Forward/news that referenced this issue Mar 1, 2021
Issue nextcloudGH-1200

Signed-off-by: Sean Molenaar <sean@seanmolenaar.eu>
Signed-off-by: Marco Nassabain <marco.nassabain@hotmail.com>
mnassabain pushed a commit to Team-Forward/news that referenced this issue Mar 1, 2021
Fixed
- Item list not using ID for offset 2 (nextcloud#1200)

Signed-off-by: Benjamin Brahmer <info@b-brahmer.de>
Signed-off-by: Marco Nassabain <marco.nassabain@hotmail.com>
mnassabain pushed a commit to Team-Forward/news that referenced this issue Mar 1, 2021
Issue nextcloudGH-1200

Signed-off-by: Sean Molenaar <sean@seanmolenaar.eu>
Signed-off-by: Marco Nassabain <marco.nassabain@hotmail.com>
mnassabain pushed a commit to Team-Forward/news that referenced this issue Mar 1, 2021
Fixed
- Item list not using ID for offset 2 (nextcloud#1200)

Signed-off-by: Benjamin Brahmer <info@b-brahmer.de>
Signed-off-by: Marco Nassabain <marco.nassabain@hotmail.com>
mnassabain pushed a commit to Team-Forward/news that referenced this issue Mar 1, 2021
Issue nextcloudGH-1200

Signed-off-by: Sean Molenaar <sean@seanmolenaar.eu>
Signed-off-by: Marco Nassabain <marco.nassabain@hotmail.com>
mnassabain pushed a commit to Team-Forward/news that referenced this issue Mar 1, 2021
Fixed
- Item list not using ID for offset 2 (nextcloud#1200)

Signed-off-by: Benjamin Brahmer <info@b-brahmer.de>
Signed-off-by: Marco Nassabain <marco.nassabain@hotmail.com>
Neo11 pushed a commit to Neo11/news that referenced this issue May 28, 2022
Issue nextcloudGH-1200

Signed-off-by: Sean Molenaar <sean@seanmolenaar.eu>
Neo11 pushed a commit to Neo11/news that referenced this issue May 28, 2022
Fixed
- Item list not using ID for offset 2 (nextcloud#1200)

Signed-off-by: Benjamin Brahmer <info@b-brahmer.de>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant