Item11131: SubscribePlugin fails to unsubscribe a user when prior subscription is for a group.

pencil
Priority: Normal
Current State: Closed
Released In: 2.0.0
Target Release: major
Applies To: Extension
Component: MailerContrib, SubscribePlugin
Branches:
Reported By: LynnwoodBrown
Waiting For:
Last Change By: GeorgeClark
To duplicate bug:
  1. Create a WebNotify subscription for a group to particular topic, such as:
       * AdminGroup: TargetTopic
  2. Now add a %SUBSCRIBE{}% tag to TargetTopic
  3. Click on the rendered "Unsubscribe" link.
  4. Look at the entry in the WebNotify topic.

Note that:
  • SubscribePlugin correctly determined that the user is subscribed to the topic via their membership in AdminGroup.
  • SubscribePlugin incorrectly created an empty subscription for the user which 1) doesn't unsubscribe them from the target topic, but 2) does subscribe them to all topics.

This is clearly related to Item5949 but represents a slightly different use case due to the group subscription. To address this use case, SubscribePlugin would need to enter a explicit unsubscribe entry in WebNotify, such as:
   * SomeUser: - TargetTopic 

-- LynnwoodBrown - 14 Sep 2011

Confirmed, and added a unit test. Set to expect failure. The issue is in the changeSubscription of MailerContrib. It doesn't detect that it has to add a negative subscription to unsubscribe a user that is subscribed due to a group membership.

-- GeorgeClark - 14 Sep 2011

Discussed this with Crawford on IRC. The API that maintains the subscriptions does not make any attempt to deal with group subscriptions, so the Group subscription persists regardless of the setting for the specific user. This would have to be an enhancement / rewrite of the subscription API.

-- GeorgeClark - 19 Sep 2011

Fixing this by documenting the restriction in the SubscribePlugin topic.

-- GeorgeClark - 19 Sep 2011
 
Topic revision: r10 - 05 Jul 2015, GeorgeClark
The copyright of the content on this website is held by the contributing authors, except where stated elsewhere. See Copyright Statement. Creative Commons License    Legal Imprint    Privacy Policy