Cannot set a bug private is the bug supervisor is not set

Bug #967115 reported by Daniel Manrique
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Launchpad itself
Fix Released
Critical
j.c.sackett

Bug Description

We want to set all public bugs in this project to private (and I already configured the project so all future bugs are private). However I get an error when I try to change them.

Steps to reproduce:
- Go to https://bugs.launchpad.net/hw-labs/+bug/838332
- Click on the pencil next to "this bug is public"
- Click on the "private" checkbox
- Click on the check mark to apply changes

Expected result:
- Bug goes private

Actual result:
- Bug does NOT go private
- A window with trace in red appears, only the last part is visible:

WORK AROUND
- Set the project's bug supervisor.

The project bug supervisor as-private-access-control is obsolete. No code should require it as a few months ago. Some call paths appear to need it. The correct resolution rules at this moment are use bug supervisor, then fall back the the maintainer (the default). The default rule is broken. In a few weeks, the information type sharing policies will make subscriptions obsolete.

Related branches

Changed in launchpad:
status: New → Triaged
importance: Undecided → Critical
tags: added: bugs privacy
Curtis Hovey (sinzui)
tags: added: disclosure
visibility: public → private
visibility: private → public
Changed in launchpad:
status: Triaged → Incomplete
Revision history for this message
Curtis Hovey (sinzui) wrote :

I cannot reproduce this with the projects I maintain. The underlying issue is that you are not being subscribed to the bug /before/ the bug is made private so you loose access during the change and it fails.

I see that you are a member of the hw-labs maintain team, but it does not have a structural subscription to get bug mail: https://bugs.launchpad.net/~canonical-hw-cert/+structural-subscriptions ? Can you set a bug private after you subscribe the canonical-hw-cert team to all hw-lab bugs?

Revision history for this message
Ara Pulido (ara) wrote :
Download full text (4.9 KiB)

I tried what you suggested (the canonical-hw-cert team is now subscribed to all bugs), but I get the error:

The following errors were encountered:
Forbidden var LP = { cache: {}, links: {} }; YUI.GlobalConfig = { debug: false, fetchCSS: false, timeout: 50, ignore: [ 'yui2-yahoo', 'yui2-event', 'yui2-dom', 'yui2-calendar','yui2-dom-event' ] } var cookie_scope = '; Path=/; Secure; Domain=.launchpad.net'; // we need this to create a single YUI instance all events and code // talks across. All instances of YUI().use should be based off of // LPJS instead. LPJS = new YUI(); LPJS.use('base', 'node', 'console', 'event', 'oop', 'lp', 'lp.app.privacy', 'lp.app.beta_features', 'lp.app.foldables','lp.app.sorttable', 'lp.app.inlinehelp', 'lp.app.links', 'lp.app.longpoll', 'lp.bugs.bugtask_index', 'lp.bugs.subscribers', 'lp.code.branchmergeproposal.diff', 'lp.comments.hide', function(Y) { Y.on("domready", function () { if (Y.one(document.body).hasClass('private')) { Y.lp.app.privacy.setup_privacy_notification(); Y.lp.app.privacy.display_privacy_notification(); } Y.lp.app.beta_features.display_beta_notification(); Y.lp.app.sorttable.SortTable.init(); Y.lp.app.inlinehelp.init_help(); Y.lp.activate_collapsibles(); Y.lp.app.foldables.activate(); Y.lp.app.links.check_valid_lp_links(); // Longpolling will only start if // LP.cache.longpoll is populated. // We use Y.later to work around a Safari/Chrome 'feature': // The mouse cursor stays 'busy' until all the requests started during // page load are finished. Hence we want the long poll request to start // right *after* the page has loaded. Y.later(0, Y.lp.app.longpoll, Y.lp.app.longpoll.setupLongPollManager); }); Y.on('lp:context:web_link:changed', function(e) { window.location = e.new_value; }); }); //): ' + e); }); } break; } } } function popup_window(url, name, width, height) { var iframe = document.getElementById('popup_iframe_' + name); if (!iframe.src || iframe.src === VOID_URL) { // The first time this handler runs the window may not have been // set up yet; sort that out. iframe.style.width = width + 'px'; iframe.style.height = height + 'px'; iframe.style.position = 'absolute'; iframe.style.background = 'white'; iframe.src = url; } iframe.style.display = 'inline'; // I haven't found a way of making the search form focus again when // the popup window is redisplayed. I tried doing an // iframe.contentDocument.searchform.search.focus() // but nothing happens.. -- kiko, 2007-03-12 } function selectWidget(widget_name, event) { if (event && (event.keyCode === 9 || event.keyCode === 13)) { // Avoid firing if user is tabbing through or simply pressing // enter to submit the form. return; } document.getElementById(widget_name).checked = true; } function switchBugBranchFormAndWhiteboard(id) { var div = document.getElementById('bugbranch' + id); var wb = document.getElementById('bugbranch' + id + '-wb'); if (div.style.display === "none") { /* Expanding the form */ if (wb !== null) { wb.style.display = "none"; } div.style.display = "block"; /* Use two focus calls to get the browser to scroll to the end of the * form first, then focus back to the first field of the form. */ document.getElementById('field'+id+'...

Read more...

Changed in launchpad:
status: Incomplete → Confirmed
Curtis Hovey (sinzui)
Changed in launchpad:
status: Confirmed → Triaged
summary: - Unable to set bug 838332 to private
+ Unable to set bug to private; forbidden
tags: added: regression
Revision history for this message
Curtis Hovey (sinzui) wrote : Re: Unable to set bug to private; forbidden

I can reproduce this error with this project on qastaging, qastaging does not have the commercial subscription yet. I do not yet know why I can make the bugs for my project's private. Configure the bug tracker; set the bug supervisor to the canonical-hw-cert team. Then try to set a bug private. Maybe the old rule to require a bug supervisor was restored.

The correct rule is subscribe the user making the change then subscribe the maintainer or bug supervisor if set.

Revision history for this message
Ara Pulido (ara) wrote :

That seemed to worked as workaround. Thanks!

Curtis Hovey (sinzui)
summary: - Unable to set bug to private; forbidden
+ Cannot set a bug private is the bgu supervisor is not set
description: updated
summary: - Cannot set a bug private is the bgu supervisor is not set
+ Cannot set a bug private is the bug supervisor is not set
j.c.sackett (jcsackett)
Changed in launchpad:
status: Triaged → In Progress
assignee: nobody → j.c.sackett (jcsackett)
Revision history for this message
Launchpad QA Bot (lpqabot) wrote :
tags: added: qa-needstesting
Changed in launchpad:
status: In Progress → Fix Committed
j.c.sackett (jcsackett)
tags: added: qa-ok
removed: qa-needstesting
Revision history for this message
William Grant (wgrant) wrote :

I've reverted it due to intermittent test failures in lib/lp/bugs/stories/bug-privacy/xx-bug-privacy.txt and lib/lp/bugs/doc/initial-bug-contacts.txt.

tags: added: bad-commit-15113 qa-bad
removed: qa-ok
William Grant (wgrant)
Changed in launchpad:
status: Fix Committed → In Progress
William Grant (wgrant)
Changed in launchpad:
status: In Progress → Fix Committed
William Grant (wgrant)
Changed in launchpad:
status: Fix Committed → Fix Released
Revision history for this message
Leo Arias (elopio) wrote :

Thanks for the fix, I could mark the report as private.
(hug)

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.