gitlab
gitlab copied to clipboard
Doesn't seem to work with multiple accounts
When I try to close an issue, while I am connected to 2 accounts (nheko.im and gitlab.com), the command throws various exceptions in my logs and gives me neither feedback nor does it do anything:
If I don't provide an account I get the following exception:
[2021-06-23 18:32:15,505] [[email protected].@gitlab:nheko.im] Failed to run handler
Traceback (most recent call last):
File "/usr/lib/python3.8/site-packages/sqlalchemy/orm/query.py", line 3490, in one
ret = self.one_or_none()
File "/usr/lib/python3.8/site-packages/sqlalchemy/orm/query.py", line 3467, in one_or_none
raise orm_exc.MultipleResultsFound(
sqlalchemy.orm.exc.MultipleResultsFound: Multiple rows were found for one_or_none()
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/lib/python3.8/site-packages/mautrix/client/syncer.py", line 200, in _catch_errors
await handler(data)
File "/usr/lib/python3.8/site-packages/maubot/handlers/command.py", line 108, in __call__
ok, res = await self.__call_subcommand__(evt, call_args, remaining_val)
File "/usr/lib/python3.8/site-packages/maubot/handlers/command.py", line 128, in __call_subcommand__
return True, await subcommand(evt, _existing_args=call_args,
File "/usr/lib/python3.8/site-packages/maubot/handlers/command.py", line 108, in __call__
ok, res = await self.__call_subcommand__(evt, call_args, remaining_val)
File "/usr/lib/python3.8/site-packages/maubot/handlers/command.py", line 128, in __call_subcommand__
return True, await subcommand(evt, _existing_args=call_args,
File "/usr/lib/python3.8/site-packages/maubot/handlers/command.py", line 104, in __call__
ok, remaining_val = await self.__parse_args__(evt, call_args, remaining_val)
File "/usr/lib/python3.8/site-packages/maubot/handlers/command.py", line 136, in __parse_args__
remaining_val, call_args[arg.name] = arg.match(remaining_val.strip(), evt=evt,
File "/var/lib/maubot/plugins/xyz.maubot.gitlab-v0.1.1.mbp/gitlab_matrix/util/arguments.py", line 41, in match
return val, instance.bot.db.get_login(evt.sender)
File "/var/lib/maubot/plugins/xyz.maubot.gitlab-v0.1.1.mbp/gitlab_matrix/db.py", line 160, in get_login
row = (s.query(Token)
File "/usr/lib/python3.8/site-packages/sqlalchemy/orm/query.py", line 3492, in one
util.raise_(
File "/usr/lib/python3.8/site-packages/sqlalchemy/util/compat.py", line 182, in raise_
raise exception
sqlalchemy.orm.exc.MultipleResultsFound: Multiple rows were found for one()
If I provide the server in the command, I get the following error:
[2021-06-23 18:41:22,210] [[email protected].@gitlab:nheko.im] Failed to run handler
Traceback (most recent call last):
File "/usr/lib/python3.8/site-packages/mautrix/client/syncer.py", line 200, in _catch_errors
await handler(data)
File "/usr/lib/python3.8/site-packages/maubot/handlers/command.py", line 108, in __call__
ok, res = await self.__call_subcommand__(evt, call_args, remaining_val)
File "/usr/lib/python3.8/site-packages/maubot/handlers/command.py", line 128, in __call_subcommand__
return True, await subcommand(evt, _existing_args=call_args,
File "/usr/lib/python3.8/site-packages/maubot/handlers/command.py", line 108, in __call__
ok, res = await self.__call_subcommand__(evt, call_args, remaining_val)
File "/usr/lib/python3.8/site-packages/maubot/handlers/command.py", line 128, in __call_subcommand__
return True, await subcommand(evt, _existing_args=call_args,
File "/usr/lib/python3.8/site-packages/maubot/handlers/command.py", line 104, in __call__
ok, remaining_val = await self.__parse_args__(evt, call_args, remaining_val)
File "/usr/lib/python3.8/site-packages/maubot/handlers/command.py", line 136, in __parse_args__
remaining_val, call_args[arg.name] = arg.match(remaining_val.strip(), evt=evt,
File "/var/lib/maubot/plugins/xyz.maubot.gitlab-v0.1.1.mbp/gitlab_matrix/util/arguments.py", line 40, in match return " ".join(vals[1:]), instance.bot.db.get_login(evt.sender, url_alias=val[0])
File "/var/lib/maubot/plugins/xyz.maubot.gitlab-v0.1.1.mbp/gitlab_matrix/db.py", line 154, in get_login
row = (s.query(Token)
File "/usr/lib/python3.8/site-packages/sqlalchemy/orm/query.py", line 3500, in one
raise orm_exc.NoResultFound("No row was found for one()")
sqlalchemy.orm.exc.NoResultFound: No row was found for one()
I would like one of the command versions to work and best case even set a default instance per room :3
I get the same error as the second one you pasted with one account on gitlab.com, without aliases, with and without a default_server, with and without specifying it in the command.
Yep adding "gitlab.com" as the only server on v0.2.1, then doing a !gitlab webhook add https://gitlab.com/ user/repository fails with this error. When removing the https://gitlab.com from the command, no error and the command works.