sindresorhus / caprine

Elegant Facebook Messenger desktop app
MIT License
7.03k stars 553 forks source link

Block chat seen option no longer working with new Messenger.com #1503

Open kevin-fang opened 3 years ago

kevin-fang commented 3 years ago

Issuehunt badges

The block chat seen option no longer works -- my guess is that the change_read_status.php endpoint has been changed with the new Messenger.com update, but I can't confirm.

To reproduce: enable "Block Seen Indicator" in the Caprine File menu, then open a chat, while looking on another Messenger.com instance, and see that the message will be marked as read.


Caprine 2.51.2 Electron 10.1.5 darwin 20.2.0 Locale: en-US


IssueHunt Summary ### Backers (Total: $2.00) - [aggelosm aggelosm](https://issuehunt.io/u/aggelosm) ($2.00) #### [Become a backer now!](https://issuehunt.io/r/sindresorhus/caprine/issues/1503) #### [Or submit a pull request to get the deposits!](https://issuehunt.io/r/sindresorhus/caprine/issues/1503) ### Tips - Checkout the [Issuehunt explorer](https://issuehunt.io/r/sindresorhus/caprine/) to discover more funded issues. - Need some help from other developers? [Add your repositories](https://issuehunt.io/r/new) on IssueHunt to raise funds.
tomeczeka commented 3 years ago

yeah everything's broken after the messenger.com update

ammanley commented 3 years ago

@kevin-fang I've been trolling the threads a bit to see if anyone has a decent idea of the magnitude of refactoring that would be necessary to re-enable the mass of functionality broken by the FB Messenger update, I'm wondering if you've got any inkling on how big a change this particular feature might be? I'm considering attempting to push a PR for this, but wading through what little we know so far has been mind-blowing.

kevin-fang commented 3 years ago

@ammanley I think I've located where the hide read feature is implemented in the source code. I've tried to look into the network requests made when you read a message on the web client but can't find any requests made to a link with change_read_status, so it looks like they changed something about their API. I don't know what the requests looked like before the update, though, so I'm not sure it's relevant.

Theoretically a few tweaks to this function might work, but would require a bit of investigation on the Messenger website.

dusansimic commented 3 years ago

Hi everyone and thanks for taking interest in this issue. So far, as you might assume, we've been overflown with issue reports about same issues over and over again with little to no investigation or details about how Messenger handles everything now. If anyone is interested in helping out or at least researching a bit more in depth this issue and how Messenger might be handling those "privacy" features (sending seen reports, typing reports and block delivery receipts), we'll be very thankful. Right now because of the scale of the update of Messenger, we are basically building every feature from scratch and it might take some time until we get back on our feet.

ammanley commented 3 years ago

Would love to help, never worked with Electron before so reading up on that first. Looks like they might be using the graphql API rather than PHP endpoints for the Messenger stuff now, which...might be unfortunate if there is no way to access the Message GQL entity without it activating the read receipts on their backend :-\

AggelosM commented 3 years ago

That's terrible news. I really hope it's fixable because this is the only reason I use Caprine now that there's an official desktop app with dark mode.

issuehunt-oss[bot] commented 3 years ago

@aggelosm has funded $2.00 to this issue.


Nytelife26 commented 3 years ago

I can in fact confirm that the Message events are now handled via GraphQL and webhooks. There is no longer a way to manually retrieve a message without Facebook marking it as read.

However, a workaround may be possible - if you are to cache incoming messages from the delivery webhooks, it may very well be possible to open the cached messages without needing to fetch and thus trigger the read event.

I hope this helps.

Amandaville commented 3 years ago

I'm not sure why my issue was closed since my issue is specifically for the entirely new version built for the new messenger, and this thread is an old issue from the old Caprine.

Regardless, Block Seen Indicator is not working on the newly updated and released version 2.52.0. It is the reason that I use Caprine.

dusansimic commented 3 years ago

@Amandaville your issue was closed because it's a duplicate of this one. The new Caprine version that was released did not fix any of the privacy related features so it doesn't matter if its targeted for a new version or a previous one. Here is the pull request that has a list of issues that are fixed/not fixed. The main reason we created a new release is to push out the dark mode fix and some other features. This one is harder to fix and will take some time.

Sorry for the lack of explanation while closing your issue. We are overflow by the issues being reported and a lot of features are broken due to new design. It's not easy to fix them all at the same time but we'll try our best.

Amandaville commented 3 years ago

@dusansimic Thank you for the explanation. My apologies for not understanding that there were unfinished issues in the new release. Thanks for all your hard work.

ChaimGoldstein commented 3 years ago

@dusansimic I wonder if its okay to post this link here. But some developers have successfully made a new extension allowing the blocking of seen and typing receipts on the new Facebook. I'm linking it here, maybe it will help.

https://chrome.google.com/webstore/detail/facebook-block-read-recei/llbdoljkknpjgfcnbnoiehjcgancpjmd

AggelosM commented 3 years ago

@dusansimic I wonder if its okay to post this link here. But some developers have successfully made a new extension allowing the blocking of seen and typing receipts on the new Facebook. I'm linking it here, maybe it will help.

https://chrome.google.com/webstore/detail/facebook-block-read-recei/llbdoljkknpjgfcnbnoiehjcgancpjmd

That's good news, it seems to be working!

ChaimGoldstein commented 3 years ago

@dusansimic I wonder if its okay to post this link here. But some developers have successfully made a new extension allowing the blocking of seen and typing receipts on the new Facebook. I'm linking it here, maybe it will help. https://chrome.google.com/webstore/detail/facebook-block-read-recei/llbdoljkknpjgfcnbnoiehjcgancpjmd

That's good news, it seems to be working!

I still want it on Caprine though because I can trust the developers of this software.

AggelosM commented 3 years ago

@ChaimGoldstein of course, now it should be easier for developers to figure it out, that's what I meant with good news :)

AggelosM commented 3 years ago

Here's how alexstackdev did it

https://alexstack.dev/tag/facebook/

AggelosM commented 3 years ago

Is it fair to list the "Privacy" feature on README if it's broken since December?

rollingmoai commented 3 years ago

Is it fair to list the "Privacy" feature on README if it's broken since December?

Yep, along with the code blocks feature which has been broken since forever (https://github.com/sindresorhus/caprine/issues/1338). I see that caprine at this state is simply a simple wrapper over the messenger website now.

dusansimic commented 3 years ago

For those interested, I've made a pr for fixing this issue. Those who can, please test this out. If there are enough positive responses it's possible that the fix will be available in the next release.

ChaimGoldstein commented 3 years ago

For those interested, I've made a pr for fixing this issue. Those who can, please test this out. If there are enough positive responses it's possible that the fix will be available in the next release.

Hello, how do I test this out? Is there a beta version?

szymon-polaczy commented 2 years ago

It still not working - Tested with the release 2.55.2 on Linux

Shnxxx commented 1 year ago

I have an extension that blocks the "seen" and "delivered" status of messages. I can verify its effectiveness by viewing messages from a browser with the extension enabled. If the bold or highlighted state of the chat or group chat disappears on my phone, it indicates that I have seen it. However, I noticed that even after viewing the messages in my browser with the extension enabled, the bold or highlighted state remains on my phone. Additionally, refreshing the browser with the extension does not remove the bold or highlighted state, indicating that I have not seen the message despite viewing it.

I'm using alexstackdev extension, even it is not being updated, it still works even on Instagram.