dequis / purple-facebook

Facebook protocol plugin for libpurple (moved from jgeboski/purple-facebook)
GNU General Public License v2.0
954 stars 88 forks source link

Plugin TODO #9

Closed jgeboski closed 9 years ago

jgeboski commented 9 years ago

The TODO has been completed. Please open new issues.

fangfufu commented 9 years ago

It would be nice if the plugin displays incoming notification (not just events). I don't know how hard it is, as it is not implemented in Facebook Messenger.

I am not 100% sure if Facebook messenger notifies you about friend addition and removal. In fact, I don't think Facebook tells you about who removed you as a friend. I suppose you can compare your new buddy list against the previous buddy list, but that's definitely not an "incoming event".

Perhaps you might want to assign some sort of priority on the tasks, personally I think the messaging features are more important, the second priority should be group chat management. Other features are nice to have, but they weren't really implemented when Facebook had its XMPP gateway.

jgeboski commented 9 years ago

I think you might be confusing events and notifications. Events are already sent over the stream, they just need to be implemented in the plugin. Implementing the events is mandatory as if you add someone on the website, they will only show up as an identifier in the client, nothing more.

As for notifications, it might be possible to do. I am fairly sure there is a way to get this information sent over the stream, but it could be a real pain in the ass on the libpurple end of things. This would need to be looked into further before I can say for sure. I mean at the end of the day, this is libpurple, not a libnotify wrapper.

I really do not have any priority order. And I am sure different people would assign the priorities differently. All of it needs to get done aside from the friend management. I kind of just see how I feel and how much time I have at the given moment.

jgeboski commented 9 years ago

So, @EionRobb has pointed out a series of libpurple functions that are used elsewhere, namely for email notifications within other protocols. I am thinking this plugin can take advantage of something similar to display Facebook notifications.

Relevant Functions:

fangfufu commented 9 years ago

@jgeboski, those are the things I was talking about. Pidgin does notify me when my Gmail account has new emails.

fangfufu commented 9 years ago

What does "Use name hash for chat identifier" mean?

jgeboski commented 9 years ago

@fangfufu https://hg.pidgin.im/soc/2015/jgeboski/facebook/rev/ccd151aed9f9

Vismund-Cygnus commented 9 years ago

Is there a plan to enable text formatting? I know this won't show on the Facebook side (it's a solely local text change), but with the old Facebook XMPP I was able to format my message text. It helped to discern my messages from my chat partner's. Is this simple/possible?

jgeboski commented 9 years ago

@TJZAwsum Thanks for the suggestion, but I really do not think its wise to enable HTML mode when the protocol has no support for it. If you are want this for theme purposes, just use the theme plugins which are built into pidgin. Might also be worth looking at the wiki.

Vismund-Cygnus commented 9 years ago

Well I was just asking for local formatting support, which works fine with the other protocols that don't have support for it. It's a bit different than a theme. But alright, your plugin your rules lol.

rrthomas commented 9 years ago

Some media types that are currently unsupported are at least notified, e.g. images. But I noticed that stickers are just ignored, which can make one appear rude! It would be great if the plugin could at least tell me that something is missing, in a way that extends to whatever nightmarish media Facebook may dream up in future. That way I know when to open a proprietary or web client to see what horrors have been sent to me.

jgeboski commented 9 years ago

@rrthomas This is already on the list.

rrthomas commented 9 years ago

I'm sorry, I read the list and didn't see it, only that you planned to support those other media types. Not that you planned support for unknown types.

MattiP451 commented 9 years ago

Not sure if it's possible to do this but one thing I think would be nice is if an image dropped on a user in the buddy list was sent inline as it's done if you drop it in the facebook chat.

jgeboski commented 9 years ago

I have just poked around with implementing get_info(). The only things which might be worth displaying are the birth date, phonetic name, and date added. Aside from that, Facebook is not sending much over the Messenger protocol, at least as far as I can currently see. Even worse, this information would have to be stored locally from the main contact fetch. If a user has several thousand friends, this could chew up quite some memory for such a worthless task. Things would be completely different if there was a good deal of information to display, but that is not the case. As for now, I have no intentions of ever implementing get_info() in the plugin.

jgeboski commented 9 years ago

@sjukfan maybe one day. We need to be able to see them first. :)

MattiP451 commented 9 years ago

@jgeboski Was going to add "far future low priority feature" :-)

dazzzl commented 9 years ago

@jgeboski I think we need get_info() to support avatars at spectrum. If the avatar of a buddy has changed, spectrum requests a vcard. Currently, purple-facebook answers with an empty vcard. Therefore, avatars are not displayed by using spectrum. Would it possible to answer with a vcard including the avatar and, maybe, the name? This would be a great help.

jgeboski commented 9 years ago

@dazzzl File a Spectrum bug.

dazzzl commented 9 years ago

@jgeboski However, this is no spectrum nor libpurple bug. Other protocol plugins support this and working fine with spectrum. The avatars are already fetched, only the composition of the response is missing.

jgeboski commented 9 years ago

@dazzzl so, go tell the Spectrum people to stop expecting it, it's not required.

jaymzh commented 9 years ago

Just wanted to say, the new group chat support is AWESOME. This whole project rocks.

jgeboski commented 9 years ago

Update: I removed all completed items from the list.

@jaymzh :)

christophschw commented 9 years ago

Just registered here to say thank you! Great work, keep on rocking! :+1: Especially the implemented Multi-User-Chat is really nice.

If you would fix the media issue you already mentioned, the plugin would be nearly perfect. Oh, just noticed, you checked it on your To-Do! One (hopefully) little request for the next version: Could you change the string, which is sent, when you use the pidgin-emoticons? So the FB-emoticons could be displayed. Would be great.

Edit: I'm using Version 27833e4fcb1f and can't see messages containing a hyperlink-preview. Pidgin 2.10.11, Linux 4.1.3-2-MANJARO

jgeboski commented 9 years ago

@christophschw Media messages were just finished yesterday. I have yet to pull the changes from upstream into this repository.

Could you change the string, which is sent, when you use the pidgin-emoticons? So the FB-emoticons could be displayed.

I am confused by what you mean.

christophschw commented 9 years ago

Ah, cool! If you send an emoticon with Pidgin, you send a string. E.g. the Smiley with the sunglasses is "8-)". But "8-)" won't be displayed in Facebook as Emoticon. It would have been "B|" to display it as an correspondent emoticon. But yeah, just a very small "issue" (Way too unimportant to call it "issue").

jgeboski commented 9 years ago

Updates:

christophschw commented 9 years ago

Thanks for the update! Unfortunately I'm not able to receive messages containing a preview of a hyperlink. "Stickers" are displayed.

jgeboski commented 9 years ago

@christophschw go ahead and file a new issue for it.

AkselMeola commented 9 years ago

Hey! Great work!

Are there any plans to implement file sending in the future?

jgeboski commented 9 years ago

@AkselMeola maybe, but no time in the near future.

jgeboski commented 9 years ago

Update: I have removed automated builds for RPM based systems. If someone is interested in providing the spec file (and has a good amount of experience with spec files), I'll add the builds to OBS.

Vismund-Cygnus commented 9 years ago

Freaking awesome that sent messages now sync. I type half of my messages from my phone and my Pidgin log just looked like my friends were talking to themselves for 6 hours a day so this feature is really freaking cool.

However, the time stamps for messages (sent in other clients) in the Pidgin window all say (12/31/1969 4:00:00 PM)

jgeboski commented 9 years ago

@TJZAwsum go ahead and file a new issue for that.