Skip to content

Doesn't seem to work with multiple accounts #48

@deepbluev7

Description

@deepbluev7

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions