is there any preferred procedure for submitting bugs for elastic? do
they just get submitted to the github issues section, or is a different
process desired?
we've found a minor bug in elastic (unsure if it also happens in larry);
when a message is being displayed in env.contentframe, flagging a
different message causes the message being displayed to show the flagged
icon. it should only change change the flag in env.contentframe if the
message being flagged/unflagged matches it.
the problem seems to like in program/js/app.js;
this.toggle_flagged_status() doesn't consider if the currently displayed
uid is included in the list of uids it is changing - it just does it no
matter what.
a fix, though perhaps not the best way to do it (perhaps the parent
window should remember which uid it's opened so it doesn't need to read
it from the child iFrame?):
--- src/1.4.1.rc1/program/js/app.js 2019-04-29 18:55:49.000000000 +0000
+++ deltas/1.4.1.rc1/program/js/app.js 2019-04-29 19:55:34.000000000
+0000
@@ -3402,7 +3402,10 @@
for (i=0; i<len; i++)
this.set_message(a_uids[i], 'flagged', (flag == 'flagged' ? true
: false));
- $(win.document.body)[flag == 'flagged' ? 'addClass' :
'removeClass']('status-flagged');
+ if (a_uids.includes(win.frameElement.contentWindow.rcmail.env.uid *
1)) {
+ // only update flag on currently displayed message if it's part
of the uidlist being updated
+ $(win.document.body)[flag == 'flagged' ? 'addClass' :
'removeClass']('status-flagged');
+ }
this.http_post('mark', post_data, lock);
};
(also, this fix is untested against larry and classic)
sorry for html email, didn't like the line wrapping a plain text email
was causing on the diff.