Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Calendar Spam addressees turn up in "Recently contacted" #38390

Open
dschuessler opened this issue Apr 30, 2023 · 10 comments · May be fixed by #38542
Open

Calendar Spam addressees turn up in "Recently contacted" #38390

dschuessler opened this issue Apr 30, 2023 · 10 comments · May be fixed by #38542
Assignees

Comments

@dschuessler
Copy link

dschuessler commented Apr 30, 2023

Describe the bug

If you are an addressee of calendar spam and import a calendar with such spam into Nextcloud, the other adressees turn up in the contacts app under "Recently contacted" although they have not been recently contacted.

Steps to reproduce

  1. Have an iCloud account with calendar data containing old calendar spam.

Bildschirmfoto 2023-04-30 um 16 33 24

  1. Export this calendar data to .ics files via macOS calendar.

  2. Connect macOS calendar to Nextcloud as described here.

  3. Import the .ics files into the Nextcloud calendar via macOS calendar.

  4. Open the contacts app.

Expected behavior

The addressees of the calendar spam do not appear under "Recently contacted" because they have not been recently contacted.

Actual behavior

The addressees of the calendar spam do appear under "Recently contacted".

Bildschirmfoto 2023-04-29 um 21 03 44

Contact version

6.2.0

Operating system

Raspberry Pi OS Lite (64-bit, Debian Bullseye)

PHP engine version

PHP 7.4

Web server

Other

Database

PostgreSQL

Additional info

I thought my account had been breached and spent an evening on figuring out how someone could have contacted these people through my Nextcloud account. Only once I dumped my database to find where the addresses have been persisted could I draw the connection to the calendar data.

If someone gets here via Google because mysterious email addresses allegedly have been recently contacted by you, check your calendar data for calendar spam.

@dschuessler dschuessler added 0. Needs triage Pending check for reproducibility or if it fits our roadmap bug feature: contacts labels Apr 30, 2023
@ChristophWurst
Copy link
Member

https://github.com/nextcloud/server/blob/master/apps/dav/lib/Listener/CalendarContactInteractionListener.php handles the interactions. Events created or updated cause interactions to be tracked for recently contacted.

Import the .ics files into the Nextcloud calendar via macOS calendar

This is why it happens.

What would you suggest Nextcloud to do differently to handle this scenario?

@ChristophWurst ChristophWurst transferred this issue from nextcloud/contacts May 22, 2023
@ChristophWurst ChristophWurst added 1. to develop Accepted and waiting to be taken care of feature: dav feature: carddav Related to CardDAV internals labels May 22, 2023
@ChristophWurst
Copy link
Member

cc @kesselb

@szaimen szaimen removed the 1. to develop Accepted and waiting to be taken care of label May 22, 2023
@szaimen
Copy link
Contributor

szaimen commented May 22, 2023

Hi, which NC version?

@dschuessler
Copy link
Author

@szaimen 25.0.6

@dschuessler
Copy link
Author

@ChristophWurst I think Nextcloud should not assume that the mere appearance of an email address in a calendar means that the user has recently contacted this person. I can think of several cases where this assumption does not hold.

  • You have been legitimately invited to an event/meeting, but have not contacted other addressees or the organizer.
  • You import legitimate invites that are way in the past and are thus not recent contacts.
  • You have been spammed like me.

I don't know the use case for the "Recently contacted" section. If you briefly explain it, I might be able to give more constructive feedback.

@ChristophWurst
Copy link
Member

We could restructure the event parser so that only attendees of events are added when the user is the organizer. Then they did interact with that person.

But if you are just invited you didn't necessarily interact with the other person. That's true.

The idea of the feature is that any interaction is tracked and can then be imported into a user's person address book.

@dschuessler
Copy link
Author

Your proposal sounds like a proper fix to me.

However, if the use case of the feature is to track any interaction of the user with other people, regardless of recency, maybe the feature should not be called "Recently contacted" in the UI but rather something along the lines of "Contacted by you". (Normally, I'd offer a PR, in case you agree, but I'm not sure about your localization workflow.)

@ChristophWurst
Copy link
Member

@jancborchardt @marcoambrosini @nimishavijay what do you think about the refined name for Recently contacted?

@jancborchardt
Copy link
Member

@ChristophWurst I prefer your proposal for adjusting the functionality as per #38390 (comment)

The idea of "recently contacted" is also that eventually you either add these people to your proper contacts, or they are only relevant for a short time.

@ChristophWurst ChristophWurst added 1. to develop Accepted and waiting to be taken care of and removed 0. Needs triage Pending check for reproducibility or if it fits our roadmap labels May 31, 2023
@ChristophWurst ChristophWurst self-assigned this May 31, 2023
@ChristophWurst ChristophWurst added 3. to review Waiting for reviews and removed 1. to develop Accepted and waiting to be taken care of labels May 31, 2023
@ChristophWurst ChristophWurst added this to the Nextcloud 28 milestone May 31, 2023
@ChristophWurst ChristophWurst linked a pull request May 31, 2023 that will close this issue
5 tasks
@ChristophWurst
Copy link
Member

#38542

@blizzz blizzz modified the milestones: Nextcloud 28, Nextcloud 29 Nov 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: 🏗️ In progress
Development

Successfully merging a pull request may close this issue.

7 participants