Port |Bug 414038 - Replace rdf-driven folder pane with a js-driven/non-rdf treeview| to SeaMonkey
Categories
(SeaMonkey :: MailNews: Message Display, defect)
Tracking
(seamonkey2.1 wontfix, seamonkey2.49esr wontfix, seamonkey2.53+ fixed, seamonkey2.57esr? affected)
People
(Reporter: sgautherie, Assigned: iannbugzilla)
References
(Blocks 4 open bugs)
Details
(Whiteboard: [Wait for bug 510793])
Attachments
(7 files, 11 obsolete files)
(deleted),
patch
|
iannbugzilla
:
review+
|
Details | Diff | Splinter Review |
(deleted),
patch
|
iannbugzilla
:
review+
|
Details | Diff | Splinter Review |
(deleted),
patch
|
frg
:
review+
frg
:
approval-comm-release+
frg
:
approval-comm-esr60+
|
Details | Diff | Splinter Review |
(deleted),
patch
|
iannbugzilla
:
review+
iannbugzilla
:
approval-comm-release+
iannbugzilla
:
approval-comm-esr60+
|
Details | Diff | Splinter Review |
(deleted),
patch
|
frg
:
review+
frg
:
approval-comm-release+
frg
:
approval-comm-esr60+
|
Details | Diff | Splinter Review |
(deleted),
patch
|
iannbugzilla
:
review+
iannbugzilla
:
approval-comm-release+
iannbugzilla
:
approval-comm-esr60+
|
Details | Diff | Splinter Review |
(deleted),
patch
|
frg
:
review+
frg
:
approval-comm-release+
frg
:
approval-comm-esr60+
|
Details | Diff | Splinter Review |
Comment 1•15 years ago
|
||
Reporter | ||
Updated•15 years ago
|
Reporter | ||
Comment 2•15 years ago
|
||
Reporter | ||
Comment 3•15 years ago
|
||
Reporter | ||
Comment 4•15 years ago
|
||
Comment 5•15 years ago
|
||
Reporter | ||
Comment 6•15 years ago
|
||
Comment 7•15 years ago
|
||
Reporter | ||
Comment 8•15 years ago
|
||
Assignee | ||
Comment 10•15 years ago
|
||
Reporter | ||
Updated•15 years ago
|
Reporter | ||
Comment 11•15 years ago
|
||
Reporter | ||
Comment 12•15 years ago
|
||
Comment 13•15 years ago
|
||
Assignee | ||
Comment 14•15 years ago
|
||
Assignee | ||
Comment 15•15 years ago
|
||
Assignee | ||
Comment 16•15 years ago
|
||
Reporter | ||
Comment 17•15 years ago
|
||
Reporter | ||
Comment 18•15 years ago
|
||
Reporter | ||
Updated•15 years ago
|
Reporter | ||
Updated•15 years ago
|
Comment 19•15 years ago
|
||
Updated•15 years ago
|
Updated•14 years ago
|
Comment 20•7 years ago
|
||
Updated•7 years ago
|
Updated•7 years ago
|
Assignee | ||
Comment 21•5 years ago
|
||
Tackling this in various parts, first few are:
- Move existing functions into gFolderTreeController
- Update and tidy the moved code in gFolderTreeController
Assignee | ||
Comment 22•5 years ago
|
||
Import some stuff at the start of folderPane.js
Assignee | ||
Comment 23•5 years ago
|
||
Fixed typo in editVirtualFolder, used aParent rather than aFolder
Assignee | ||
Comment 24•5 years ago
|
||
This patch ports the relevant parts of:
- Bug 414038 - Changes to gFolderTreeController code
- Bug 469324 - Right click/New Folder broken under some circumstances
- Bug 467824 - fix create new folder to pay attention to parent folder picked
- Bug 831190 - Check for empty folder name in createSubfolder() of local message stores
- Bug 487992 - make rebuild index clear offline store
- Bug 39121 - Unspecialize Trash folder for IMAP "Mark as Deleted" & "Remove Immediately" modes
- Bug 1018960 - Make the message about cleaning out Trash or Junk show which folder will actually be cleaned
- Bug 1547664 - Ask for confirmation on the real trash folder if a non-trash folder was selected
- Bug 1237602 - Port bug 1220564 - Remove legacy array/generator comprehension: mail
- Bug 465385 - always issue imap expunges when the user does a file compact folder, we don't care about expunged bytes for imap
- Bug 466730 - make compact all compact imap offline stores
- Bug 490749 - File/New/Saved Search produces exception, if no account/no folder is selected at folder pane
Comment 26•5 years ago
|
||
Comment 27•5 years ago
|
||
Assignee | ||
Comment 28•5 years ago
|
||
[Triage Comment]
Preserved try/catch around deleteSubFolders call.
Carrying forward r+/a+ and updated gitlab 2.53
Comment 29•5 years ago
|
||
Pushed by frgrahl@gmx.net:
https://hg.mozilla.org/comm-central/rev/d691c86c9519
Port |Bug 414038 - Replace rdf-driven folder pane with a js-driven/non-rdf treeview| to SeaMonkey - Move functions to folderPane.js gFolderTreeController. r=frg
https://hg.mozilla.org/comm-central/rev/8876b708ba29
Port |Bug 414038 - Replace rdf-driven folder pane with a js-driven/non-rdf treeview| to SeaMonkey - Update and tidy the moved code in gFolderTreeController r=frg
Updated•5 years ago
|
Updated•5 years ago
|
Comment 30•5 years ago
|
||
Comment 31•5 years ago
|
||
Comment 32•5 years ago
|
||
Target 2.53.1
https://gitlab.com/seamonkey-project/seamonkey-2.53-comm/-/commit/1f9d6b04b16df12a2cf3395200b4a2c6d7e5c383
Bug 507601 - Port |Bug 414038 - Replace rdf-driven folder pane with a js-driven/non-rdf treeview| to SeaMonkey - Move functions to folderPane.js gFolderTreeController. r=frg a=frg
https://gitlab.com/seamonkey-project/seamonkey-2.53-comm/-/commit/0aa50d910391bc480453cfb4f46ffd8f7fd4f4c8
Bug 507601 - Port |Bug 414038 - Replace rdf-driven folder pane with a js-driven/non-rdf treeview| to SeaMonkey - Update and tidy the moved code in gFolderTreeController. r=frg a=frg
Comment 33•4 years ago
|
||
Curiosity: With build 20200902120001 from http://www.wg9s.com/comm-257/ I still get an empty folder tree in mailnews, even though it does send and receive and I see the mails when viewing the files in Mail\ directly. Is this a problem on my part, or is it still this bug?
I would instantly use 2.57 for intensive testing if that would work, for now it is still only used occasionally on some other machines.
Comment 34•4 years ago
|
||
or is it still this bug?
It si still this bug. help and the sidebar are also broken because of it. I don't have an ETA.
Updated•4 years ago
|
Assignee | ||
Comment 36•4 years ago
|
||
Next small step, move away from using SelectFolder.
[Approval Request Comment]
Regression caused by (bug #): n/a
User impact if declined: none
Testing completed (on m-c, etc.): 2.53.7
Risk to taking this patch (and alternatives if risky): none
String changes made by this patch: none
Assignee | ||
Comment 37•4 years ago
|
||
This patch:
- Removes the GetFolderTree and GetFolderDatasource functions from the mailnews code.
- Also does some tidy up in mail3PaneWindowCommands.js and tabmail.js
Assignee | ||
Comment 38•4 years ago
|
||
We don't currently use folder views so I've not included the UI code for that but did include most of the backend for it, also not included any of the smart/unified folder code.
This WIP patch also ports the relevant parts of the following bugs:
- Bug 466311 - accounts and folders missing after installs of Thunderbird 3
- Bug 305340 - front end for smart folders mode in folder pane
- Bug 465057 - No / wrong tree lines in Folder pane
- Bug 465177 - Insertion points for subsequent children need to consider whether great-grandchildren were added
- Bug 465833 - open folder in new window was broken
- Bug 465267 - folder view not persisted
- Bug 465372 - Useless empty tooltip hovering empty space at the end of the folderpane
- Bug 467885 - folder pane should allow extensions to specify bundles for text to use in new modes
- Bug 467994 - drag and drop subfolder to root of account is blocked/fails
- Bug 465015 - drag+drop of message not blocked to it's originating folder
- Bug 468656 - fix problem opening 3-pane ui when folder view set to recent and there's an error getting the mru string property
- Bug 473001 - Re-add support to reorder newsgroups using drag drop
- Bug 479632 - Recent folders view displays the same as the previous one
- Bug 472129 - Fix expanding imap folders when not using subscription by sending a performExpand notification
- Bug 482167 - newUri typo in folderpane.js causes error
- Bug 471336 - ctrl key activated drag and drop folders within folder pane has wrong icon
- Bug 474822 - add event so that extensions can mutate the folder pane rowMap when it's build
- Bug 475482 - addons can set new folderpane modes, causing breakage if not reset
- Bug 482657 - folderpane should cancel drops not allowed
- Bug 466644 - rebuild unread folders view when a folder goes from having no unread to having unread
- Bug 492951 - fix count changes in the folder pane
- Bug 171907 - drag & drop an .eml file into a mailbox folder
- Bug 498155 - open folder in new tab is labeled <blank> (when load tabs in foreground is set)
- Bug 505974 - try to get a little closer to a world where folder.parent can throw an exception by checking isServer first
- Bug 467942 - folderpane: doubleclick action should be up to the item to decide
- Bug 465269 - Folder location toolbar item does not work
- Bug 492922 - more work on making smart folders the default mode, and adding new special folders to the right place in smart folders
- Bug 516176 - fallback to all folders mode if we get an error starting up in folder pane rebuild
- Bug 506632 - fix exception starting up in special folder mode w/ no matching folders
- Bug 520764 - gFolderTree.unload takes filename to save status to, but does not use it!
- Bug 536543 - Make gFolderTreeView.getIndexOfFolder return a number, not a string. Switch to using an Iterator, and fix any uses that test for the truth of the returned index to test for non-nullity instead
- Bug 536042 - Provide a way for folder tree modes to express parent relationships and tell us which folder a message belongs to
- Bug 520330 - Clicking on new mail alert selects subfolder of smart inbox, expands parent account in tree
- Bug 540212 - In folderPane.js's _rebuild method, get the old row count after generating the new row map, not before
- Bug 542165 - folderPane.js needs an s/aGenerator/aMode/
- Bug 545993 - fix drag drop of news message to local folder leaving local folder locked
- Bug 545217 - rename "Smart folders" to "Unified folders"
- Bug 554558 - gFolderTreeView.load fails if the mode is not provided
- Bug 545221 - Default to All folders instead of Smart/Unifed folders
- Bug 495020 - unread folders view jumps around when new folders are added
- Bug 553747 - make unified folders extensible
- Bug 533928 collapsed parent with child with new messages is not invalidated when new msgs arrive
- Bug 349714 - remove new flag from cross-folder saved search when last new message is read
- Bug 595644 - handle exceptions getting children folder when constructing folder pane
- Bug 534523 - Move to / Copy to Recent context submenu list doesn't sort folder names alphabetically
- Bug 637641 - auto expand parent folder when special sub-folders are added
- Bug 666978 - Tree twisty in folder pane doesn't update when expanding
- Bug 658534 - fail to expand folder pane items
- Bug 663631 - Simplify getParentIndex in folderPane.js and jsTreeView.js
- Bug 649989 - display account names in favorite folders pane view only when there are duplicated folder names and location info in the tooltip
- Bug 675514 - folder name comparison when deciding whether to include account name should be case-insensitive
- Bug 517509 - drag and drop rss feed link from browser to folderpane does nothing
- Bug 742238 - Unified view loses some folders and does not allow reset
- Bug 737115 - Remove deprecated dnd methods from feed subscribe dialog
- Bug 749200 - De-duplicate code for sorting of accounts/servers into a new shared function in folderUtils.jsm and add proper ordering for IM, RSS, News accounts
- Bug 787794 - fix JS strict mode warnings that appear at Thunderbird startup
- Bug 407956 - Remove nsISupportsArray usage from nsITreeView
- Bug 852690 - Remaining conversion to mailServices.js in /mail/ and /mailnews/: message views
- Bug 847259 - (Linux) drag and drop rss feed link from browser to folderpane does nothing
- Bug 235956 - Add unread message count to collapsed folders
- Bug 845992 - Merge similar code in folderPane.js and folderWidgets.xml for getting recent folders
- Bug 95193 - No indication in root folder of new mail in subfolder
- Bug 483505 - Tooltips missing in folder pane when feed or mailbox name too wide
- Bug 774351 - If msf database is missing for a folder on a mouseover, do not show a needless exception
- Bug 533775 - Keep Favorite an Unread folders view in the same order as All folders view, show account name nodes and do not persist open state for them + test
- Bug 981405 - Force case-insensitive folder sorting in some places of the folder pane
- Bug 978592 - offer the flat folder views of Unread and Favorites again that got removed in bug 533775
- Bug 1015775 - Fix exceptions thrown when creating first new account
- Bug 1113097 - Fix misuse of fixIterator in mail and mailnews
- Bug 1099068 - Change traditional way of creating events to the the new HTML5 way
- Bug 464973 - add back folder columns with count of messages and folder size to the folder pane
- Bug 1140652 - deduplicate reading and saving a string into a file (usually a JSON structure)
- Bug 1151475 - Part 1: Remove use of expression closure from mail/base/
- Bug 1179442 - imap maildir folder has unrepairable incorrect unread count
- Bug 1207363 - Use Array.includes in mail/ instead of indexOf != / == -1
- Bug 978616 - do not exclude special folders from Unread folder view
- Bug 824104 - Part 1: Remove for-each from mail/
- Bug 1185417 - only show the asterisk (*) symbol next to a value in folder columns, if the subfolders contributed to the accumulated value
- Bug 1190609 - make asterisk (*) in folder pane more understandable to the user by changing the symbol and adding tooltip explanation
- Bug 1237602 - Port bug 1220564 - Remove legacy array/generator comprehension: mail
- Bug 1244434 - convert some 'for .. in Iterator(array)' constructs to for..of loops in /mail
- Bug 700976 - Resurrect quick mode selector above the folder pane. Make it optional and available in the toolbar palette
- Bug 529299 - Do not show deferred accounts in the Folder Location widget and switch to "All" folder mode if the chosen folder is not in the current one
- Bug 1322124 - Remove javascript Array generics: mail
- Bug 1293006 - Replace in-tree consumer of non-standard Iterator() with Object.{values,entries} in mail/ in comm-central
- Bug 1318776 - Silence JS TypeErrors in folderPane.js and messageWindow.js
- Bug 1340947 - Part 2: Use for-of when iterating over fixIterator in mail/.
- Bug 1393692 (part 3) - Avoid atom usage for itemEvent/notifyItemEvent
- Bug 1398579 - Port bug 1199729 for folder tree drag and drop. Retrieve dataTransfer also at drop
- Bug 1411069 - Port bug 1313150 to mailnews: Remove |weak| parameter from nsIMutableArray methods (JS part)
Comment 39•4 years ago
|
||
Comment on attachment 9210130 [details] [diff] [review]
WIP-507601-port414038-2538.patch
Quick drive-by not full feedback:
1.) Open or close tab:
Timestamp: 18.03.2021, 23:44:49
Error: ReferenceError: UpdateLocationBar is not defined
Source File: chrome://messenger/content/tabmail.js
Line: 322
Functions was removed in patch but still called here.
2.) msgMail3PaneWindow.js
Overall base level functionality not affected = nice cleanup.
defines const nsMsgFolderFlags = Ci.nsMsgFolderFlags;
The few usages could just be changed to use Ci.nsMsgFolderFlags.
Assignee | ||
Comment 40•4 years ago
|
||
See patch on Bug 1699602 for nsMsgFolderFlags -> Ci.nsMsgFolderFlags work
Comment 41•4 years ago
|
||
Some feedback for the folderpane.js in a patch so it could be merged.
_mapGenerators seem to be _modes.
Ci.nsILocalFile is only provided for compatibility with add-ons in 2.53. Gone from our code and in later releases removed. There seem to be 2 occurences but only one added in the underlying patch. 1:1 replacement is Ci.nsIFile.
Components.interfaces crept in 2 times.
There is a bunch of Getflags which can probably changed to just .flags in a follow-up patch.
Updated•4 years ago
|
Assignee | ||
Comment 42•4 years ago
|
||
Fixed another missing Ci from nsMsgFolderFlags and any getFlag occurrences in the new code.
Assignee | ||
Comment 43•4 years ago
|
||
Switched to using gFolderTreeView.messengerBundle in the new code in folderPane.js
Comment 44•4 years ago
|
||
I... See... FOLDERS!!! Thank you all!
( Build 20210319120003 from http://www.wg9s.com/comm-257/ )
Comment 45•4 years ago
|
||
Comment on attachment 9210527 [details] [diff] [review]
507601-port414038-v1_4-2538.patch
Found a bug in 2.53.8b1 pre which seems to be related to this patch. No problem in 2.53.7.1:
To reproduce:
Add the Folder Location widget button to the toolbar.
Click around using it but possible not needed
Remove it from the toolbar and then select a folder from the folder pane.
Mail preview is not updated and console shows:
Timestamp: 16.04.2021, 16:11:09
Error: TypeError: document.getElementById(...)._setCssSelectors is not a function
Source File: chrome://messenger/content/commandglue.js
Line: 647
Seems the locationItem is still valid but the folderLocationPopup is no longer there because of the removal. Easy fix is probably to just check for folderLocationPopup but mybe try to find out why locationItem is still there?
Comment 46•4 years ago
|
||
Comment on attachment 9205194 [details] [diff] [review]
507601-removeSelectFolder-2538.patch
LGTM r/a+
TB retained SelectFolder(folderUri):
https://searchfox.org/comm-central/source/mail/base/content/msgMail3PaneWindow.js#1731
https://searchfox.org/comm-central/search?q=SelectFolder&path=&case=false®exp=false
Do we need this one eventually too for add-on compat?
Assignee | ||
Comment 47•4 years ago
|
||
Keep a function SelectFolder around for add-on compatibility.
Carrying forward r/a
Assignee | ||
Comment 48•4 years ago
|
||
Updated to fix discovered issue.
Comment 49•4 years ago
|
||
Comment on attachment 9207317 [details] [diff] [review]
507601-removeGetFolderTree-2538.patch
LGTM
Comment 50•4 years ago
|
||
Comment 51•4 years ago
|
||
Comment on attachment 9216581 [details] [diff] [review]
507601-port414038-v1_5-2538.patch [Checkin: Comment 52] target 2.87
LGTM Extensively tested now. Compared the folderpane code with TB and everything else looks good too.
For possible regressions or further enhancements I suggest we close this bug and add followups if needed.
Comment 52•4 years ago
|
||
Updated•4 years ago
|
Comment 53•4 years ago
|
||
I would say we call it fixed with 2.53.8 too. Great work IanN
https://gitlab.com/seamonkey-project/seamonkey-2.53-comm/-/commit/63bc34d8b2e57de76ecb9e526907683058f39d1b
Port |Bug 414038 - Replace rdf-driven folder pane with a js-driven/non-rdf treeview| to SeaMonkey - Move functions to folderPane.js gFolderTreeController. r=frg a=frg
https://gitlab.com/seamonkey-project/seamonkey-2.53-comm/-/commit/24166264fb57f64dbbf145214205e77a567750b4
Port |Bug 414038 - Replace rdf-driven folder pane with a js-driven/non-rdf treeview| to SeaMonkey - Update and tidy the moved code in gFolderTreeController. r=frg a=frg
https://gitlab.com/seamonkey-project/seamonkey-2.53-comm/-/commit/e9f333371bebfc3e1833f38d6997ede60c36cbe3
Port |Bug 414038 - Replace rdf-driven folder pane with a js-driven/non-rdf treeview| to SeaMonkey - remove Select Folder part. r=frg a=frg
https://gitlab.com/seamonkey-project/seamonkey-2.53-comm/-/commit/a2facc936382cf607c28de82e0e940aec8b48b6c
Port |Bug 414038 - Replace rdf-driven folder pane with a js-driven/non-rdf treeview| to SeaMonkey - remove GetFolderTree part. r=frg a=frg
https://gitlab.com/seamonkey-project/seamonkey-2.53-comm/-/commit/3d2e972677ef3c304761caeb5bc879c83f43b622
Port |Bug 414038 - new js folder pane, w/o rdf| to SeaMonkey. r=frg a=frg
Also ports the relevant parts of the following bugs: ...
Description
•