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

Doesn't seem to work with multiple accounts #48

Open
deepbluev7 opened this issue Jun 23, 2021 · 2 comments
Open

Doesn't seem to work with multiple accounts #48

deepbluev7 opened this issue Jun 23, 2021 · 2 comments

Comments

@deepbluev7
Copy link
Contributor

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] [ERROR@maubot.client.@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] [ERROR@maubot.client.@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

@rissson
Copy link

rissson commented Jul 29, 2021

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.

@jaywink
Copy link

jaywink commented Apr 2, 2022

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants