EionRobb
Repos
107
Followers
177
Following
9

Events

issue comment
Timer + callback to set status every 5 minutes, hopefully fixes #32

This is awesome. Thank you again for the PR, and thanks for coming back to fix the crashes :)

Created at 5 days ago
closed issue
Shown as offline, even when online

I can get online, and both send and receive messages. But other people see me as offline all the time. Using Pidgin for Windows, v2.14.10 and libteams.dll from https://eion.robbmob.com/libteams.dll. Running Windows 10.

Thanks for all the work you have put into this project!

Created at 5 days ago

Add timer + callback to set status at least once every 5 minutes as described here: https://learn.microsoft.com/en-us/graph/api/presence-setpresence?view=graph-rest-1.0&tabs=http

? A presence session can time out if the availability is Available and the timeout is 5 minutes. When it times out, the presence state fades in stages. For example, if an application sets the presence session as Available/Available, the state would change to Available/AvailableInactive in 5 minutes with the first timeout, then Away/Away in another 5 minutes with the second timeout.

This callback sets the current active status at least every 5 minutes to make sure it is never expiring. A future fix would be to support the MS Graph API and set the status timeout.

Add removal of callback on exit, otherwise segfault when disconnecting. Add correct return type for callback (gboolean).

Merge pull request #37 from RaymiiOrg/online_status

Timer + callback to set status every 5 minutes, hopefully fixes #32

Created at 5 days ago
pull request closed
Timer + callback to set status every 5 minutes, hopefully fixes #32

Add timer + callback to set status at least once every 5 minutes as described here: https://learn.microsoft.com/en-us/graph/api/presence-setpresence?view=graph-rest-1.0&tabs=http

A presence session can time out if the availability is Available and the timeout is 5 minutes. When it times out, the presence state fades in stages. For example, if an application sets the presence session as Available/Available, the state would change to Available/AvailableInactive in 5 minutes with the first timeout, then Away/Away in another 5 minutes with the second timeout.

This callback sets the current active status at least every 5 minutes to make sure it is never expiring. A future fix would be to support the MS Graph API and set the status timeout.

Please note that I have never done pidgin or glib related work before and most of my day to day work is in C++.

I've tested this with two different teams accounts in the same tenant. The desktop client shows the Pidgin account still online after 15 minutes (instead of away / offline).

Created at 5 days ago
issue comment
Timer + callback to set status every 5 minutes, hopefully fixes #32

I'll try to fix the mentioned points, mostly me being unfamiliar with glib.

Yeah, no worries. I went through the same thing 🙂

Created at 6 days ago
issue comment
Timer + callback to set status every 5 minutes, hopefully fixes #32

This is an awesome start on this! Thank you for taking the time to make a PR with great explanation and links to the docs 👍

Just a couple of things that need to change so it doesn't crash when the account disconnects.

The teams_set_status_timeout_cb function needs to return a gboolean of either TRUE (should repeat the timeout) or FALSE (cancel the timer and don't call again). The cast you've done to (GSourceFunc) in the g-timeout-add-seconds unfortunately masks this error at compile time

Other bit is that during the teams_close() it needs to cancel the timer, so that it doesn't get called again after all the memory is freed for the account. There's a few other examples of stopping the timer.

(sorry, writing this on my phone so not able to give better examples)

Created at 6 days ago
issue comment
Can this read Exchange PDLs and/or Dynamic Groups as contact groups?

Oh interesting! I hadn't thought of using the AD groups as contact groups - that makes a lot of sense! I guess for my org there hasn't been enough people that that's an issue for me right now.

I'll see if there's any APIs available through the teams 'api' that would expose that info without having to delve in to AD apis :)

please point us to documentation

ah yeah, i'm pretty bad with making docs... I've not got anything more than the readme at this stage.

Created at 3 weeks ago
issue comment
Automatically getting tenant name (TENANTNAME.onmicrosoft.com)

Thanks for the helpful info! That SOAP info is super interesting for looking up all the domains.

I'm trying to make it so that the setting can take either the UUID, or a domain, or the .onmicrosoft.com fallback. I probably need to make the readme clearer about that it should work with any of the three.

I was also looking to see if there's a client-side API or SOAP request that can be used to detect what tenants are available to a currently logged in user too, eg just plug in username + refresh token and get back a list of tenants and their friendly names to pick from. Kinda tricky that the info is needed before logging in with Pidgin, but wouldn't be able to be configured until after logging in once. Maybe a separate website akin to the whatsmytenantid.com one? Hmmmmmm :)

Created at 3 weeks ago
issue comment
Display images attached to message

Hello, thanks for the plugin. On my end, when someone sends an image I just get a link that says "Click here to view full version". Is that expected?

@jebej Could you open a new issue for that? Also, can you check that you're not using the "Conversation colors" plugin, as that's known to eat inline images in Pidgin

Created at 3 weeks ago
EionRobb create tag 1.0.0.25
Created at 1 month ago

Sales Header Extension : Fix for wrong ID field being used, give feedback to releasing/reopening

IN-1022

Created at 1 month ago
issue comment
fix some memory leaks

Nice find! Thanks!

Out of interest, were you using a tool to find the leaks?

Created at 1 month ago

fix some memory leaks

Merge pull request #440 from iv4nhoe/fix-mem-leaks

fix some memory leaks

Created at 1 month ago
pull request closed
fix some memory leaks
Created at 1 month ago

Attempt to add support to write to Your Reference and Posting Description for a sale

Add options for setting status by releasing/reopening sales

Created at 1 month ago
issue comment
update to version 2 of remote auth api

Sorry for the delay. I thought I had posted a review comment but doesn't look like it went through

(it just asked if there should have been a connection error instead of just a debug log error)

Created at 1 month ago

update to version 2 of remote auth api

Merge pull request #431 from iv4nhoe/master

update to version 2 of remote auth api

Created at 1 month ago
pull request closed
update to version 2 of remote auth api

Didn't get a QR code with Remote Auth v1 anymore, so I updated to v2. Tested creating a new account, got QR code and logged in successfully.

Resources used: https://luna.gitlab.io/discord-unofficial-docs/desktop_remote_auth.html (v1) https://luna.gitlab.io/discord-unofficial-docs/desktop_remote_auth_v2.html

Created at 1 month ago
sending message from mobile not replicated (spectrum2 & Gajim)

Is there an opportunity to auto-retry on a failed send? Can the error message have a portion of the message text in the "could not send message 'xyzabc...'" ?

Created at 2 months ago
sending message from mobile not replicated (spectrum2 & Gajim)
  1. Appending to the buffer is a success (return 1 immediately). I think this is dangerous since users think the message has been sent when in fact it is not.
  2. Hide the message (return 0), wait for the server receipt and then write it back into the conversation. This seems to be the most reasonable choice hence I picked this one as the default. Since it is possible to receive messages sent by oneself, I just use the same function (messages written on other devices and message written on this device). It works really nice in Pidgin.
  3. Hide the message (return 0) and never write it back to the conversation. Allegedly, some people prefer it this way. Apparently, some clients do not consider 0 as a special case and always perform a local echo.

Just to throw another idea into the ring: what about displaying the sent message immediately, but then showing a "this message could not be sent" error message in the IM later?

Created at 2 months ago
no sound on message recieved (group only)

If it helps, in other prpls I've just done a g_str_hash() (from the GHashTable set of functions) to convert chat names into chat id's. Works pretty well.

Created at 2 months ago
issue comment
Repository Not Found

Have another read of the "Compiling" step at https://github.com/EionRobb/skype4pidgin/blob/master/skypeweb/README.md#Compiling - you've got the wrong url in your clone

Created at 2 months ago
issue comment
purple-discord not compatible with Pidgin 2.13 (libpurple 2.10.3) on Linux

Does Linux Pidgin ship with the NSS Prefs plugin, or is that only in Windows Pidgin?

There might be another way to configure libnss system-wide to allow TLS 1.2, but you could also try compile the https://keep.imfreedom.org/pidgin/pidgin/file/120bbac9523183a09f03a119184433bed5c5d55e/libpurple/plugins/ssl/nss-prefs.c plugin if you want to set it up just in Pidgin

Created at 2 months ago
issue comment
purple-discord not compatible with Pidgin 2.13 (libpurple 2.10.3) on Linux

From the looks of the debug log, you shouldn't need to recompile the plugin, just updating the libnss libs and then restarting Pidgin should be enough for the plugin to pick up that function and being able to use it :)

Created at 2 months ago
issue comment
purple-discord not compatible with Pidgin 2.13 (libpurple 2.10.3) on Linux

Looks like the PK11_PrivDecrypt function was added to libnss in 3.16.2 https://firefox-source-docs.mozilla.org/security/nss/legacy/nss_releases/nss_3.16.2_release_notes/index.html

Can you check what version of libnss you've got installed?

Created at 2 months ago