Invite attendees doesn't expand mailing lists anymore
Categories
(Calendar :: E-mail based Scheduling (iTIP/iMIP), defect)
Tracking
(Not tracked)
People
(Reporter: mkmelin, Assigned: benjamin)
Details
(Keywords: regression)
Attachments
(1 file, 6 obsolete files)
4.81 KB,
patch
|
darktrojan
:
review+
jorgk-bmo
:
feedback+
|
Details | Diff | Splinter Review |
Invite Attendees doesn't expand mailing lists anymore, so it tries to send to the list representation instead, i.e. <testlist>
This broke sometime before start of this year. Forgot to file.
Originally apparently implemented in bug 459021 (for code pointers).
Comment 1•6 years ago
|
||
For which version is this reported? Is this an issue in ESR, too?
Comment 2•6 years ago
|
||
This might be bug 758493 - I need to rebase the patch there to check it.
Reporter | ||
Comment 3•6 years ago
|
||
Not an issue on ESR. I'm seeing it on nightlies, IIRC at least since sometime December.
Reporter | ||
Updated•6 years ago
|
Reporter | ||
Updated•6 years ago
|
Assignee | ||
Comment 4•6 years ago
•
|
||
Looking at it now
Reporter | ||
Comment 5•6 years ago
|
||
As a pointer, resolvePotentialList is likely what you should be checking - or why that doesn't get called.
https://searchfox.org/comm-central/rev/ee05c0d9006626f95dfbb1b6a79bed84e2b90e98/calendar/base/content/dialogs/calendar-event-dialog-attendees-custom-elements.js#950
Maybe the event target is not what it used to be, or something.
anonid is (basically) used only in xbl (anonymous content id).
Assignee | ||
Comment 6•6 years ago
|
||
Awesome, I was going to widen my search to things not included in bug 459021 as nothing has changed in ...attendees.js in a while. However, I did notice the lack of xml files which are referenced in the earlier bug, though adding them back didn't do anything. Just figured I would try the easiest solution first.
Reporter | ||
Comment 7•6 years ago
|
||
In the de-xbl effort we're doing, the xbl (.xml) are usuallyl converted to custom elements (.js)..
Using the developer tools debugger to debug by setting break points can be handy. Or just adding dump statements in the javascript (outputs like printf into the console). E.g. dump("xxxbenamin hehehhey\n");
Assignee | ||
Comment 8•6 years ago
|
||
I have a working fix, will upload patch once I've removed the debug code and add a comment or two.
Assignee | ||
Comment 9•6 years ago
|
||
Let me know if it works, I only removed a few lines and tweaked one or two others.
Comment 10•6 years ago
|
||
The patch is empty. Do a |hg qref| before attaching it.
Updated•6 years ago
|
Assignee | ||
Comment 11•6 years ago
|
||
Well that's irritating, I checked the patch before exporting it. Should I be following the workflow at the bottom of. https://developer.thunderbird.net/contributing/fixing-a-bug/using-mercurial-queues ?
Assignee | ||
Comment 12•6 years ago
|
||
Okay, this one has actual data in it.
Reporter | ||
Comment 13•6 years ago
|
||
Reporter | ||
Updated•6 years ago
|
Assignee | ||
Comment 14•6 years ago
|
||
- Added comments to explain the code changes.
- Changed the description to match the bug.
- Added the check suggested by Magnus Melin
Reporter | ||
Comment 15•6 years ago
|
||
Assignee | ||
Comment 16•6 years ago
|
||
Gotcha, will fix and resubmit.
Assignee | ||
Comment 17•6 years ago
|
||
I've cleaned up the code, but haven't figured out why the first item on the list always returns null when setting roleStatusIcon. I'll keep working on it till I understand whats going on, even if the fix isn't forthcoming.
Assignee | ||
Comment 18•6 years ago
|
||
Code has been cleaned up per your guidance.
roleStatusIcon is still returning null on the first list item (the one that is replaced when the list is expanded). So the code to get around that issue is still in the patch.
I need some guidance on where to look next for the possible culprit. The odd part of the issue is that the first item returns null, but subsequent "cloned" items do not.
I'll keep looking into it.
Assignee | ||
Comment 19•6 years ago
|
||
Jorg informed me that we don't like tabs. I'll reformat and resubmit.
Reporter | ||
Comment 20•6 years ago
|
||
Reporter | ||
Comment 21•6 years ago
|
||
Reporter | ||
Updated•6 years ago
|
Updated•6 years ago
|
Comment 22•6 years ago
|
||
Comment 23•6 years ago
|
||
Magnus, what's happening with that index business here? Also, don't you want a Calendar peer to look at this?
Comment 24•6 years ago
|
||
Comment 25•6 years ago
|
||
Reporter | ||
Comment 26•6 years ago
|
||
(In reply to Geoff Lankow (:darktrojan) from comment #25)
You could do querySelector(".role-icon, .status-icon") which would pick up
either. I don't think there's any state where the image doesn't have one of
those two classes, so the if check is probably unnecessary.
That's a bit of nonsense though, since in the if clause you set the role-icon class...
But like I wrote earlier, there's a bunch of wrongness going on with that.
Assignee | ||
Comment 27•6 years ago
|
||
Sorry for taking so long to get back to this.
I've gotten rid of the offending tabs and added the suggested change by Geoff in comment 25. It fixes the issue with roleStatusIcon returning null so all good there.
I also made the comment more clear per Jorg's request. And changed <= to < in the loop. The loop now looks like this.
for (let i = currentIndex; i < this.mMaxAttendees - 1; i++) {
I believe the - 1 in the loop will make sense with the new comment. It all amounts to the index no longer being supplied by the input, and having to use the mMaxAttendees variable instead.
Assignee | ||
Comment 28•6 years ago
|
||
Sorry for taking so long to get back to this.
I've gotten rid of the offending tabs and added the suggested change by Geoff in comment 25. It fixes the issue with roleStatusIcon returning null so all good there.
I also made the comment more clear per Jorg's request. And changed <= to < in the loop. The loop now looks like this.
for (let i = currentIndex; i < this.mMaxAttendees - 1; i++) {
I believe the - 1 in the loop will make sense with the new comment. It all amounts to the index no longer being supplied by the input, and having to use the mMaxAttendees variable instead.
Comment 29•6 years ago
|
||
Assignee | ||
Comment 30•6 years ago
•
|
||
Sorry yes mailing list is what I meant. I'll update the comments with proper punctuation and the word changes.
...
This patch:
currentIndex; i < this.mMaxAttendees - 1
It seems that having the - 1 there has no affect on the code even with the < instead of <= so I will remove it.
My initial thought was that by subtracting one from mMaxAttendees it would prevent the loop from running one too many times. Of course that's what removing the "=" would do as well.
I'll do some proofreading and up load an edited patch.
Assignee | ||
Comment 31•6 years ago
|
||
Reworded the comment to hopefully make it more clear.
Removed the - 1 from the loop as it was no longer needed.
Comment 32•6 years ago
|
||
Assignee | ||
Comment 33•6 years ago
|
||
Gotcha, thanks for looking at it Jorg.
Comment 34•6 years ago
|
||
Updated•6 years ago
|
Comment 35•6 years ago
•
|
||
A bit disappointing that the patch doesn't apply at all:
$ hg -v qpush
applying 1530213.patch
patching file calendar/base/content/dialogs/calendar-event-dialog-attendees-custom-elements.js
bad hunk #1 @@ -927,53 +927,57 @@ class MozCalendarEventAttendeesList exte
(54 53 57 57)
Looks like you edited it manually and didn't adjust those numbers :-(
EDIT: Yes, it needs to be @@ -927,53 +927,56 @@ class MozCalendarEventAttendeesList exte
since you're adding three lines not four.
Comment 36•6 years ago
•
|
||
// Start replacing rows at the currently active row, which is the
// second-to-last row that isn't a dummy row. Note that mMaxAttendees
// is a count of non-dummy rows.
Sorry, this is is still not clear, so I had to try it out.
With myself as organiser, another invitee and then the list being replaced on position 3 (counting from 1), I saw a value of 4, so I really have no idea what this is counting. Also, what's a dummy row?
The patch works although it's still not clear to me why we're doing this:
- for (let i = currentIndex; i <= this.mMaxAttendees; i++) {
+ for (let i = currentIndex; i < this.mMaxAttendees; i++) {
Was that wrong before?
I came to land that, but I can't :-(
Comment 37•6 years ago
|
||
It appears that was wrong before.
mMaxAttendees
(which does appear to be an odd name) is the count of rows that contain an icon and a space to accept an email address (or the organiser, I guess, which doesn't accept an email address, but has one). All of the other rows are dummy rows and only contain the bottom border. The bottom borders don't actually line up across the window, but that's a story for another bug.
Comment 38•6 years ago
|
||
Pushed by mozilla@jorgk.com:
https://hg.mozilla.org/comm-central/rev/2f0f868999d8
Make invite attendees expand mailing lists. r=darktrojan DONTBUILD
Comment 39•6 years ago
|
||
Landed with more accurate comment as discussed with Geoff on IRC.
Comment 40•6 years ago
|
||
TB 68 beta 5 / Cal 7.0:
https://hg.mozilla.org/releases/comm-beta/rev/be43f86e0509f04130b512f61ddbbe2777d2bcb2
Reporter | ||
Comment 41•6 years ago
|
||
Bug 1565999 and bug 1565992 filed for the problems discovered while reviewing this.
Updated•6 years ago
|
Description
•