Page MenuHomePhabricator

Hide "declined" wishes from wish index
Closed, ResolvedPublic

Assigned To
Authored By
MusikAnimal
Aug 25 2025, 4:56 PM
Referenced Files
F66751410: Screenshot from 2025-10-14 23-00-35.png
Wed, Oct 15, 3:02 AM
F66717408: 2025-10-01_11-33-19.mp4.gif
Wed, Oct 1, 6:59 PM
F66717406: 2025-10-01_11-32-03.mp4.gif
Wed, Oct 1, 6:59 PM
F66711338: 2025-09-29_14-54-56.mp4
Tue, Sep 30, 2:46 PM
F66711332: 2025-09-29_14-34-48.png
Tue, Sep 30, 2:46 PM
F66711330: 2025-09-29_14-53-01.png
Tue, Sep 30, 2:46 PM

Description

Steps to replicate the issue (include links if applicable):

What happens?:

  • The declined wish is shown

What should have happened instead?:

  • It should not be shown

Other information (browser name/version, screenshots, etc.):

There are no filters at the moment, so we may want to refrain from hiding Declined wishes for the time being. Either way once we have filters, hiding "Declined" wishes would be the default.


Derived Requirement

Update the wish index behavior to exclude declined wishes from being displayed:

  • Wishes with the status "Declined" should not appear on the wish index page.
  • If filters are implemented in the future, "Declined" wishes should be hidden by default but may be included under an explicit filter option.
  • No impact on active, under review, or approved wishes.
  • Ensure that declined wishes remain accessible via their direct page URL, but not listed in the index.

Test Result - Beta|Prod

Status: ✅ PASS / ❓Need More Info / ❌ FAIL
Environment: beta/Toolforge (Community Wishlist)
OS: macOS Tahoe 26.0
Browser: Chrome 140
Device: MBA
Emulated Device: NA

Test Artifact(s):

Test Steps

Test Case 1: Visibility of Declined Wish in Index

  1. Navigate to Wish Index.
  2. Search for a known declined wish (e.g., "Example declined wish").
  3. ✅❓❌ AC1: The declined wish is not listed in the wish index.

Test Case 2: Visibility of Active Wishes

  1. On the wish index, check for a known active wish.
  2. ✅❓❌⬜ AC2: Active wishes continue to display normally.

Test Case 3: Direct Access to Declined Wish Page

  1. Open the direct URL of a declined wish (e.g., /Community_Wishlist/W123).
  2. ✅❓❌⬜ AC3: The page loads, and the wish is accessible directly and the wish status correctly shows as Declined.

QA Results - Meta Beta

ACStatusDetails
1T402834#11234739
2T402834#11229696
3T402834#11229696

Event Timeline

I guess we need the same for focus areas, too?

This task assumes we want how the old Wishlist behaves. However, that had a separate page dedicated to declined wishes. In the new system, these would need to be surfaced using a status filter. Regardless, by default I think the wish-index (and focus-area-index) pages should not show "Declined" entities by default. There might be some rather unsavory wishes we don't want showing up.

JWheeler-WMF lowered the priority of this task from Medium to Low.Aug 28 2025, 3:15 PM

The wish filters UI is being done in T400945 it looks like, and I can't see a task for updating the API to support filters. Should this task be stalled until those two parts are done?

If we need to ship without the filters UI, my suggestion is to just manually create a Community Wishlist/Wishes/Declined page with {{#CommuntiyRequests:wish-index|status=declined}}, and we can hard-code the default wish-index to not show declined unless it's added as a filter.

dmaza changed the task status from Open to In Progress.Sep 22 2025, 4:29 PM
dmaza claimed this task.
dmaza changed the subtype of this task from "Bug Report" to "Task".Thu, Sep 25, 10:55 AM

If we need to ship without the filters UI, my suggestion is to just manually create a Community Wishlist/Wishes/Declined page with {{#CommuntiyRequests:wish-index|status=declined}}, and we can hard-code the default wish-index to not show declined unless it's added as a filter.

The argument is statuses, and it works just fine so codewise we don't need to do anything here. We can do as @MusikAnimal says and have a {{#CommuntiyRequests:wish-index|statuses=declined}} on a Community Wishlist/Wishes/Declined page and then {{#CommuntiyRequests:wish-index|statuses=under-review, unsupported, community-opportunity, long-term-opportunity, near-term-opportunity, prioritized, in-progress, done}} until the filters are finished.

I'm changing the subtype of this task from Bug Report to Task so we don't forget after deployment, but this is technically invalid(?)

@dmaza Please review AC1, thanks!

Test Result - Meta Beta

Status: ✅ PASS ❌ FAIL
Environment: Meta Beta
OS: macOS Tahoe 26.0
Browser: Chrome 140
Device: MBA
Emulated Device: NA

Test Artifact(s):
https://meta.wikimedia.beta.wmcloud.org/wiki/Community_Wishlist
https://meta.wikimedia.beta.wmcloud.org/wiki/Community_Wishlist/Wishes
https://meta.wikimedia.beta.wmcloud.org/wiki/Community_Wishlist/W6

Test Steps

Test Case 1: Visibility of Declined Wish in Index

  1. Navigate to Wish Index.
  2. Search for a known declined wish (e.g., "Example declined wish").
  3. ✅❓❌ AC1: The declined wish is not listed in the wish index.

Decline shows up on Community_Wishlist/Wishes but not just Community_Wishlist

❌ Community_Wishlist/Wishes✅ Community_Wishlist
2025-09-29_14-53-01.png (904×834 px, 170 KB)
2025-09-29_14-34-48.png (796×815 px, 117 KB)

Test Case 2: Visibility of Active Wishes

  1. On the wish index, check for a known active wish.
  2. AC2: Active wishes continue to display normally.

See AC1

Test Case 3: Direct Access to Declined Wish Page

  1. Open the direct URL of a declined wish (e.g., /Community_Wishlist/W123).
  2. AC3: The page loads, and the wish is accessible directly and the wish status correctly shows as Declined.

@dmaza Please review AC1, thanks!

It seems that you are looking at two different calls to {{#CommunityRequests:wish-index in those screenshots.
The one in https://meta.wikimedia.beta.wmcloud.org/wiki/Community_Wishlist has the filter for status set to |statuses=under-review, unsupported, community-opportunity, long-term-opportunity, near-term-opportunity, prioritized, in-progress, done which excludes declined and so you don't see declined wishes.
The one in https://meta.wikimedia.beta.wmcloud.org/wiki/Community_Wishlist/Wishes does not include any |statuses so you see all wishes.

In other words, {{#CommunityRequests:wish-index should only list wishes with statuses in |statuses. The default when the argument is not present is all.

@dmaza I remember musikanimal updating the code in our meeting yesterday so it doesn't show it anymore, as seen below. I will now mark this as Resolved. Thanks for all your work!

Test Case 1: Visibility of Declined Wish in Index

  1. Navigate to Wish Index.
  2. Search for a known declined wish (e.g., "Example declined wish").
  3. AC1: The declined wish is not listed in the wish index.

Decline now does not show up on Community_Wishlist/Wishes and Community_Wishlist per update

Wish changed to DeclineWish changed to In Progress
2025-10-01_11-32-03.mp4.gif (1×832 px, 2 MB)
2025-10-01_11-33-19.mp4.gif (1×822 px, 2 MB)
GMikesell-WMF updated Other Assignee, removed: GMikesell-WMF.
GMikesell-WMF updated the task description. (Show Details)

With filters we now have to deal with this:

Screenshot from 2025-10-14 23-00-35.png (626×1 px, 82 KB)

That's not super elegant is it! Because we're treating 'not declined' as being just 'everything else'? I don't see how else to do it without introducing some sort of filter negation, which is going to get trickier. And does that happen when linking to the index page via a tag? Because if so, perhaps if we're linking to a tag it makes sense to list all, including declined.

We need something better than having to manually update the statuses= of every wish-index invocation when statuses are changed, which has happened once already.

I've filed T407309: Automatically hide declined wishes from the wish-index, let's discuss there :)