Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 19:28
    bparbhu commented #1881
  • 02:18
    bparbhu synchronize #1883
  • 02:17
    bparbhu synchronize #1883
  • 02:17
    bparbhu synchronize #1883
  • 02:16
    bparbhu synchronize #1883
  • Jan 19 14:27
    bparbhu commented #1881
  • Jan 18 15:41
    bparbhu commented #1881
  • Jan 18 15:39
    github-actions[bot] labeled #1883
  • Jan 18 15:39
    github-actions[bot] labeled #1883
  • Jan 18 15:39
    bparbhu edited #1883
  • Jan 18 15:39
    bparbhu opened #1883
  • Jan 18 15:37
    bparbhu commented #1881
  • Jan 18 10:09
    jacobtomlinson commented #1881
  • Jan 15 00:57
    bparbhu commented #1881
  • Jan 15 00:55
    bparbhu commented #1881
  • Jan 13 10:00
    jacobtomlinson commented #1882
  • Jan 13 09:58

    jacobtomlinson on pip

    (compare)

  • Jan 13 09:58

    jacobtomlinson on master

    Bump pillow from 8.3.2 to 9.0.0… (compare)

  • Jan 13 09:58
    jacobtomlinson closed #1882
  • Jan 13 01:00
    codecov[bot] commented #1882
Ajit D'Sa
@ajitdsa:matrix.org
[m]
and while we're at it... another small one: opsdroid/opsdroid#1812
Jacob Tomlinson (Slack)
@_slack_opsdroid_U5MK1BW83:matrix.org
[m]
Awesome thanks so much! Merging the first has made conflicts in the second. Once you've addressed those I'll have a look.
1 reply
Ajit D'Sa
@ajitdsa:matrix.org
[m]
Jacob Tomlinson: I think since you merged opsdroid/opsdroid#1820 we can just close opsdroid/opsdroid#1794
Jacob Tomlinson (Slack)
@_slack_opsdroid_U5MK1BW83:matrix.org
[m]
👍
Ajit D'Sa
@ajitdsa:matrix.org
[m]

I have a question about the Github connector. I'm trying to make some modifications to it just to test some stuff out. I make my modifications and run opsdroid with a Github skill set up for the PRClosed event.

I close a PR in my repo which runs the skill. I can tell the skill is initially triggered because I see this message in my opsdroid log: 2021-08-22 23:41:33,955 INFO aiohttp.access: 127.0.0.1 [23/Aug/2021:04:41:33 +0000] "POST /connector/github HTTP/1.1" 201 191 "-" "GitHub-Hookshot/59a1e9d". That implies to me that this line was executed: https://github.com/opsdroid/opsdroid/blob/master/opsdroid/connector/github/__init__.py#L346

However, the code in my skill itself is never run. My guess is that due to the changes I made, there is an error somewhere up the chain in opsdroid itself before my actual skill is run. Something is failing, but there appears to be some sort of rescue in place so that the entire opsdroid itself doesn't die. If that's the case, there is no message being logged, so I can't tell where control goes after the line I pasted above.

Can anyone tell me if they think I'm even on the right path?

3 replies
Documentation Bot
@documentation-bot:cadair.com
[m]
Whoops there has been an error.
Check the log for details.
Ajit D'Sa
@ajitdsa:matrix.org
[m]
Jacob Tomlinson: Are you kidding me? Yes, that was the problem. There was an error in what I was importing in the skill. FIxed that and now back to good. Thank you so much.
Jacob Tomlinson (Slack)
@_slack_opsdroid_U5MK1BW83:matrix.org
[m]
Do you see any opportunities to add some more logging anywhere to help others avoid this in the future?
1 reply
Ajit D'Sa
@ajitdsa:matrix.org
[m]

Hehe I’m looking into that exact thing :) Going to finish my current train of thought, and then recreate the issue and either get some logging going or suggest what might have helped.

Thanks again.

Jacob Tomlinson (Slack)
@_slack_opsdroid_U5MK1BW83:matrix.org
[m]
👍
Ajit D'Sa
@ajitdsa:matrix.org
[m]
Maybe there's an opportunity to add something in the docs about this. For me, I think my expectation was that app would have just errored out and stopped working rather than just throw an error but continue on. I didn't realize that might be the case until i was literally typing my original message in this channel. I'll take a look and potentially make a suggestion if I think it would help.
Sleuth
@sloth56:chat.mountainview.theworkpc.com
[m]
Opsdroid doesn't crash out when a skill causes a crash when other skills are running. And sometimes not even then.
Ajit D'Sa
@ajitdsa:matrix.org
[m]
Yes, I get that now. :) And it totally makes sense. I'm just trying to think of what may help other developers who don't realize this when they are working with opsdroid in the future.
Sleuth
@sloth56:chat.mountainview.theworkpc.com
[m]
Yeah, I hear you. Opsdroid is very hard to debug for sure.
Ajit D'Sa
@ajitdsa:matrix.org
[m]
Well now that I get it, I'm having a great time 😀 But I wasn't familiar with opsdroid (or python really) before, so I was just easily confused
Sleuth
@sloth56:chat.mountainview.theworkpc.com
[m]
Yeah, I think everyone has that ah-ha moment. I definitely did.
Jacob Tomlinson (Slack)
@_slack_opsdroid_U5MK1BW83:matrix.org
[m]
I'd love to hear thoughts about how we can improve this, I totally get that it can be a pain. If your skill errors it shows in the log. I'm pretty liberal with breakpoints when I'm debugging. But what would folks like to see?
Ajit D'Sa
@ajitdsa:matrix.org
[m]
No it’s exactly what I would like to see. I just missed it. That’s totally my fault. That’s why I’m advocating for something in the docs for writing/understanding skills that implies that if your skill fails, you will get an error in the logs, but the app won’t necessarily die.
Jacob Tomlinson (Slack)
@_slack_opsdroid_U5MK1BW83:matrix.org
[m]
Sure fair enough. More docs are always good!
Sleuth
@sloth56:chat.mountainview.theworkpc.com
[m]
I think what's needed is a start to finish writing your first skill guide. And a cheat sheet for common use cases.
Ajit D'Sa
@ajitdsa:matrix.org
[m]
I have a request for some testing help for decorators and asyncpg mocking if anyone has any experience or insight that might be helpful: https://github.com/opsdroid/opsdroid/pull/1805#issuecomment-927864969 ... then I feel we would be able to merge this PR (pending feedback from others, which I'm more than happy to receive)
Sleuth
@sloth56:chat.mountainview.theworkpc.com
[m]
Cadair: Is the matrix connector documented somewhere? Functions to create rooms, invite users, etc? If not it would be a good idea to have them.
Cadair
@cadair:cadair.com
[m]
Almost all the events supported are implemented, there is an issue tracking docs in general
Sleuth
@sloth56:chat.mountainview.theworkpc.com
[m]
Cadair: When you have a second can you comment on this? https://github.com/opsdroid/opsdroid/issues/1792#issuecomment-931506914
FabioRosado
@fabiorosado:matrix.org
[m]

Im picking up the slack connector after a long time and seems like the bot is ignoring all the breakpoints 🤔

Anyone has a vscode debug settings file ?

Sleuth
@sloth56:chat.mountainview.theworkpc.com
[m]
_LOGGER.info() 😉 You don't have to use a debugger.
FabioRosado
@fabiorosado:matrix.org
[m]
Yeah that is not helpful if I want to try different things.
Sleuth
@sloth56:chat.mountainview.theworkpc.com
[m]
Try different things?
Wouldn't you just change the code?
FabioRosado
@fabiorosado:matrix.org
[m]
Because I’m developing and debugging at the same time. Using PDB is rather powerful when you try to do those things
Cadair
@cadair:cadair.com
[m]
It shouldn't ignore breakpoints, where you putting them?
FabioRosado
@fabiorosado:matrix.org
[m]
In the slack connector before handling events as soon as the connector gets a payload
Cadair
@cadair:cadair.com
[m]
If you put a print statement in there it hits that?
FabioRosado
@fabiorosado:matrix.org
[m]

It doesn’t and I just realised that I’m dumb. I had to install with pip install . to get it to work. 🤦‍♂️

I’ve been relying on auto installs while developing for too long

Sleuth
@sloth56:chat.mountainview.theworkpc.com
[m]
It happens. Especially to me all the time.
dud1337
@dud1337:138.io
[m]
https://twitter.com/1st1/status/1002230996559949830 I'm making the jankest mock postgres module :P
1 reply
dud1337
@dud1337:138.io
[m]
thanks, FabioRosado
1 reply
I think Ajit D'Sa is giving it another shot with tests, then I'm going back to my mock asyncpg connection method. I agree with most of your comments
I'm half-tempted to put a gitpay bounty on it ^^
I'll move to fstrings. I've zero preference
FabioRosado
@fabiorosado:matrix.org
[m]
Alright thank you!
dud1337
@dud1337:138.io
[m]
these mocked DB unit tests are doing my head in
Sleuth
@sloth56:chat.mountainview.theworkpc.com
[m]
Unit tests are the worst. I'm sure those are very difficult.
dud1337
@dud1337:138.io
[m]
technically it's all mockable relatively easily, but the way the module is defined (e.g. its use of decorators) doesn't lend itself well to codecov. e.g. making unit tests for returned wrapped funcs in decorator wrappers
Sleuth
@sloth56:chat.mountainview.theworkpc.com
[m]
Yep, always hard when the lib isn't written to make tests easy.
dud1337
@dud1337:138.io
[m]
obviously in large part it's my ignorance. I'll give it a few hours
dud1337
@dud1337:138.io
[m]
pytest-psycg needs to be removed, doesn't work with async (hence build errors). going to revert
dud1337
@dud1337:138.io
[m]
I give up. This code works and had a lot of effort behind it.
There's no point mocking the entire postgresql DB, it's wheel spinning that doesn't actually give us real tests