[Patchew-devel] [PATCH v2 00/12] Queue, MAINTAINERS and watched query
Paolo Bonzini
pbonzini at redhat.com
Wed Nov 28 16:56:30 UTC 2018
On 28/11/18 15:34, Fam Zheng wrote:
>>> What is missing is the isolation between the existing maintainers role that
>>> takes care of the testings etc, and the new maintainer role that is only
>>> interested in receiving above notifications.
>>
>> Why is there a conflict? I understand that the new functionality is for
>> any logged-in user, including getting email. As long as there Maybe
>> it's just a naming issue?
>
> The email/git/testing config things are visible to maintainers, and are too
> much information and too detailed for people who only want to configure and
> receive such reminder emails.
Got it. Perhaps we should add a per-user setting for "Receive
maintainer notifications" (or even tristate: yes, no, only if not in
recipients) and use it in the reminder email hook.
It shouldn't be hard to add a basic "user settings" form, but it can be
done later. In the DB this can be a UserProperty table with one-to-many
relation to User.
>> Perhaps one possibility is removing merged patches from the special
>> queues (accept/reject/watch), using a MessageMerged event. Also adding
>> an "empty queue" button to the "my queues" page. Otherwise looks great.
>
> What does the "empty queue" button do?
Remove all patches from the queue. For example you could use it to
clear the "acked" queue after sending a pull request.
>>> Every user can have a record in WatchedQuery. The query in this record
>>> is going to be run against every new series, and if matched, the patches
>>> will be added to the 'watched' queue, making this the 3rd specially
>>> purposed queue.
>>
>> Why not one-to-many? (That is a user can have >1 record in
>> WatchedQuery). This can come in handy when people go on vacation...
>
> It makes sense, but for now I want to limit it to 1 query per user for a few
> reasons:
>
> 1) UI is simpler. The added button just overwrites the existing one everytime,
> so there's no watched query list page needed. (Oh yeah, this reminds me we need
> a delete button).
>
> 2) No need to write code to limit the total number of queries allowed per user
> and write documentation or HTML to inform people about the limit (we don't want
> to support unlimited watched queries because of resources).
True, on the other hand we can sort of trust people on this I guess.
But still I am okay with this. It just makes it more important to add
an OR syntax.
>>> +
>>> + <div class="col-lg-10">
>>> + {% for qn, msgs in queues.items %}
>>> + <h3>Queue: {{ qn }} [{{ p }}]</h3>
>>> + <ul class="panel" id="patches">
>>> + {% for patch in msgs %}
>>> + <li><a href="/{{ p }}/{{ patch.get_series_head.message_id }}/">
>>> + <span class="fa fa-lg {% if patch.has_replies %}fa-comment-o{% else %}fa-ellipsis-v{% endif %}"></span>
>>> + {{ patch.subject }}
>>> + </a></li>
>>> + {% endfor %}
>>> + </ul>
>>> + {% endfor %}
>>
>> Since this is actually per series, maybe we want to format it like the
>> series-list page?
>
> Ultimately this feature is not per series, we want it more flexible.
> Maintainers do tweak things after applying a series: dropping individual
> patches that are not mergable, fixing typos in commit messages or doing small
> changes to the diff. Sure they can do it locally, and we can be simplistic on
> patchew.org, but these are also requested by the downstream maintainer tasks in
> Red Hat which is currently possible with patchwork. So I want to make it
> supported on patchew as well. The idea is adding a "drop" and an "edit" button at
> each patch in /my-queues. "Drop" is obvious, for "edit", it may give the user a
> page to edit the patch and a patch-to-patch is generated and saved as
> Queue.maintainer_tweak.
I think this is independent from making the queue display per series,
however. That is, I would rename the Queue model to QueuedSeries, and
then we could add a QueuedPatch model and a new /my-queues/MESSAGE-ID/
detail view to do these "tweaks".
Paolo
More information about the Patchew-devel
mailing list