Various patches for mm3 stable 3.3.1
Folks,
For my own purposes I have created some patches which apply to the current mailman pip package.
The first of them is for my purposes necessary, and has been discussed here before: being able to specify the address used to listen for tcp connections independently of the address the server considers it to be accessible at. A possible change to this patch would be to check whether this address was undefined but the old hostname was defined, and use that if so. For me this is not needed, and in any case it is a trivial change to make.
The second patch adds a bunch of additional logging calls to various network-related parts of the package. I wrote these into the package because I was seeking the cause of template expansion causing messages to be silently dropped. I eventually found the cause was that I had an incorrect setting of the template root URL, but I regard the lack of anything in the logs as just as much of a bug. One important part of those changes was that I added a try/catch around two parts of the 'decorate' code, which is where the silent dropping occurred. If you only take one part of this patch, I encourage you to take this part.
For the third patch, I discovered that the task runner was at one point busy-waiting to the tune of 100% cpu, and the cause was the way that the runner checked to see if there was work left in the queue. I am not quite sure what was the exact problem, but I think it was that there was something to do, but it was not achievable at that time, and the result was continual retry. The third patch changes the logic slightly so that this no longer occurs - retry will happen, but somewhat more gracefully.
I hope you find some use in these three.
Finally, I am currently experiencing problems with templates and would appreciate any thoughts:
If I do not set up 'individual' or 'full' personalisation, all is well and the default footer templates are expanded as expected. However setting up personalisation causes template expansion to fail completely, and messages get sent with a blank expansion.
I would find the postorius UI much easier to cope with if the default template was 'populated' into the UI wherever it was non-blank, rather than the UI starting off as if no templates were defined at all.
Regards,
Ruth
On 9/30/20 6:57 AM, Ruth Ivimey-Cook wrote:
Folks,
For my own purposes I have created some patches which apply to the current mailman pip package.
I'm only responding here to the issue of how to suggest patches. If you hope that they could be incorporated into the distribution, posting them to this list is not very effective. It is too easy for list posts to get lost, buried or forgotten.
The best thing to do is to create an issue or issues at <https://gitlab.com/mailman/mailman/-/issues> (each issue should address only one thing). Then you can either attach the suggested patch to the issue or better, create a merge request with the patch to fix the issue. Ideally, the merge request would also contain relevant additions to unit tests.
The first advantage is open issues do not get lost. They are always there in the tracker.
The second is that all of the above is work that needs to be done in order to actually get the patch into the master branch, and the more of it you do, the less of it needs to be done by someone else who may not be as motivated as you are.
Granted, this may seem like a burden for you. After all, you fixed your problem so why bother, but open source works best if we all contribute what we can to improve the product.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
On 9/30/20 6:57 AM, Ruth Ivimey-Cook wrote:
- If I do not set up 'individual' or 'full' personalisation, all is well and the default footer templates are expanded as expected. However setting up personalisation causes template expansion to fail completely, and messages get sent with a blank expansion.
Your mailman-debug.patch makes changes to mailman/handlers/decorate.py including wrapping all the relevant code in a try:/except: that logs any exception. If you set the level for logging.error to debug, what do you get in the log?
This issue doesn't occur in the unpatched code on my servers - personalized footers work fine - so I think the problem must be something in your patch.
- I would find the postorius UI much easier to cope with if the default template was 'populated' into the UI wherever it was non-blank, rather than the UI starting off as if no templates were defined at all.
This is <https://gitlab.com/mailman/postorius/-/issues/366>.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
On 9/30/20 11:52 AM, Mark Sapiro wrote:
2. I would find the postorius UI much easier to cope with if the default template was 'populated' into the UI wherever it was non-blank, rather than the UI starting off as if no templates were defined at all.
Our Affinity admin interface does that:
Affinity Template
-- Brian Carpenter Harmonylists.com Emwd.com
participants (3)
-
Brian Carpenter
-
Mark Sapiro
-
Ruth Ivimey-Cook