Closed Bug 1762688 Opened 2 years ago Closed 1 year ago

Implement nsIImapService in JavaScript

Categories

(MailNews Core :: Networking: IMAP, task)

Tracking

(thunderbird_esr91 wontfix)

RESOLVED FIXED
100 Branch
Tracking Status
thunderbird_esr91 --- wontfix

People

(Reporter: rnons, Assigned: rnons)

References

(Blocks 1 open bug, Regressed 2 open bugs)

Details

(Whiteboard: [ETA: TBD])

Attachments

(43 files)

48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
48 bytes, text/x-phabricator-request
Details | Review
No description provided.
Assignee: nobody → remotenonsense
Status: NEW → ASSIGNED
Target Milestone: --- → 100 Branch

Pushed by nicolai@thunderbird.net:
https://hg.mozilla.org/comm-central/rev/0a13350f24d4
Init ImapModuleLoader.jsm to prepare for rewriting IMAP in JS. r=mkmelin

Pushed by mkmelin@iki.fi:
https://hg.mozilla.org/comm-central/rev/c7ac3e90e9e3
Remove unused outURL from addMessageFlags/subtractMessageFlags in nsIImapService.idl. r=mkmelin

Pushed by mkmelin@iki.fi:
https://hg.mozilla.org/comm-central/rev/2942ebf0617a
Init ImapProtocolHandler.jsm and ImapChannel.jsm to handle imap: url. r=mkmelin
https://hg.mozilla.org/comm-central/rev/6e19373da115
Implement ImapChannel to read msg from local cache or server. r=mkmelin

Pushed by mkmelin@iki.fi:
https://hg.mozilla.org/comm-central/rev/58998a2b70cc
Remove some unused nsIURI return values in nsIImapService.idl. r=mkmelin

Pushed by mkmelin@iki.fi:
https://hg.mozilla.org/comm-central/rev/1a04609c926a
Support renaming folder in ImapService.jsm. r=mkmelin

Handle folder name with space and non-ascii characters.

Pushed by geoff@darktrojan.net:
https://hg.mozilla.org/comm-central/rev/61c1d85191bd
Enable test_mailboxes for imap-js. r=mkmelin

  • Remove unused return value of nsIImapService.expunge
  • Implement streamMessage in ImapMessageService.jsm
  • Enable test_compactOfflineStore.

Pushed by geoff@darktrojan.net:
https://hg.mozilla.org/comm-central/rev/dfb8a2f8aa67
Init ImapMessageService.jsm and implement SaveMessageToDisk. r=mkmelin
https://hg.mozilla.org/comm-central/rev/8305a158c2ac
Implement expunge/onlineCopy in ImapService.jsm. r=mkmelin

If a message is already in local cache, no need to fetch from server again.

Pushed by geoff@darktrojan.net:
https://hg.mozilla.org/comm-central/rev/c03ef5d91db4
Reuse local cache in ImapClient to fix test_bug460636 in debug build. r=mkmelin

Pushed by geoff@darktrojan.net:
https://hg.mozilla.org/comm-central/rev/b4b5992f4a22
Implement ensureFolderExists and appendMessageFromFile in ImapService.jsm. r=mkmelin

Pushed by mkmelin@iki.fi:
https://hg.mozilla.org/comm-central/rev/63b80b2a4306
Implement updateFolderStatus and GetNewMessagesForNonInboxFolders in imap-js. r=mkmelin

Enable test_fetchCustomAttribute.js.

Pushed by geoff@darktrojan.net:
https://hg.mozilla.org/comm-central/rev/928e0f0d0270
Implement fetchCustomMsgAttribute in ImapService.jsm. r=mkmelin

Implement DisplayMessage in ImapMessageService.jsm.

Pushed by mkmelin@iki.fi:
https://hg.mozilla.org/comm-central/rev/b74b284c0d23
Enable test_gmailOfflineMsgStore and test_imapAttachmentSaves for imap-js. r=mkmelin

Pushed by geoff@darktrojan.net:
https://hg.mozilla.org/comm-central/rev/a4a9bf7ba074
Enable test_imapContentLength.js for imap-js. r=mkmelin

Pushed by geoff@darktrojan.net:
https://hg.mozilla.org/comm-central/rev/69ecda475f78
Enable test_imapCopyTimeout.js for imap-js. r=mkmelin

Implement ImapMessageService.CopyMessage and ImapService.storeCustomKeywords.

Pushed by geoff@darktrojan.net:
https://hg.mozilla.org/comm-central/rev/90c1dc256e94
Use nsIImapFlagAndUidState interfaces instead of GetFlagsForUID in nsImapMailFolder. r=mkmelin
https://hg.mozilla.org/comm-central/rev/70c31d20e192
Enable test_imapFilterActions.js for imap-js. r=mkmelin

Implement ImapService.moveFolder.

Pushed by mkmelin@iki.fi:
https://hg.mozilla.org/comm-central/rev/6667b938be74
Enable test_imapFolderCopy.js for imap-js. r=mkmelin,benc

Implement ImapMessageService.streamHeaders.

Pushed by mkmelin@iki.fi:
https://hg.mozilla.org/comm-central/rev/a688af168e20
Enable test_imapHdrStreaming.js for imap-js. r=mkmelin
https://hg.mozilla.org/comm-central/rev/918dc805e302
Enable test_imapID.js and test_imapClientid.js for imap-js. r=mkmelin

Implement ImapService.downloadMessagesForOffline.

Pushed by geoff@darktrojan.net:
https://hg.mozilla.org/comm-central/rev/8b0633a05616
Enable test_imapStoreMsgOffline for imap-js. r=mkmelin

Pushed by mkmelin@iki.fi:
https://hg.mozilla.org/comm-central/rev/030305f9fb4c
Disable test_imapStatusCloseDBs.js for imap-js. r=mkmelin,benc

Implement nsIMsgProtocolInfo in ImapProtocolInfo.jsm.

Pushed by geoff@darktrojan.net:
https://hg.mozilla.org/comm-central/rev/9dcf7c9f755e
Enable test_imapUrls for imap-js. r=mkmelin
https://hg.mozilla.org/comm-central/rev/275ff1829514
Enable test_imapStatusCloseDBs for imap-js. r=mkmelin

Pushed by mkmelin@iki.fi:
https://hg.mozilla.org/comm-central/rev/fab0ee26c820
follow-up - Fix eslint error. r=#thunderbird-reviewers,john.bieling

Pushed by mkmelin@iki.fi:
https://hg.mozilla.org/comm-central/rev/6533be800ca3
Enable test_listClosesDB and test_listSubscribed for imap-js. r=mkmelin

There appears to be some test failures on debug for comm/mailnews/imap/test/unit/test_listClosesDB.js, I'd assume from the above

Flags: needinfo?(remotenonsense)
Backout by mkmelin@iki.fi:
https://hg.mozilla.org/comm-central/rev/5e4f25b6580b
Backed out changeset 6533be800ca3 for test failures on debug. rs=backout
Flags: needinfo?(remotenonsense)

Pushed by mkmelin@iki.fi:
https://hg.mozilla.org/comm-central/rev/55db54fcb9a6
Enable test_listClosesDB and test_listSubscribed for imap-js. r=mkmelin
https://hg.mozilla.org/comm-central/rev/ba240081a2ec
Enable test_nsIMsgFolderListenerIMAP.js for imap-js. r=mkmelin

comm/mailnews/imap/test/unit/test_offlineCopy.js is failing

Flags: needinfo?(remotenonsense)

Pushed by mkmelin@iki.fi:
https://hg.mozilla.org/comm-central/rev/5038702cfea3
Disable test_offlineCopy for imap-js. r=mkmelin

Flags: needinfo?(remotenonsense)

Implement playbackAllOfflineOperations in ImapService.jsm.

Pushed by mkmelin@iki.fi:
https://hg.mozilla.org/comm-central/rev/23d6b9b8e1e7
Make nsImapOfflineSync usable in JS. r=mkmelin,benc
https://hg.mozilla.org/comm-central/rev/7d40610a7778
Enable test_offlineDraftDataloss.js for imap-js. r=benc

23d6b9b8e1e7 introduced some code in-consistencies caught by coverity. Will attach patches.

CID 1516449: Uninitialized members (UNINIT_CTOR)
Non-static class member "m_createdOfflineFolders" is not initialized in this constructor nor in any functions that it calls.

CID 1516448: Null pointer dereferences (REVERSE_INULL)
Null-checking "goOnline" suggests that it may be null, but it has already been dereferenced on all paths leading to the check.

Pushed by mkmelin@iki.fi:
https://hg.mozilla.org/comm-central/rev/43d17317a265
[coverity] Fix m_createdOfflineFolders is not initialized. r=benc
https://hg.mozilla.org/comm-central/rev/e2be49a591d4
[coverity] goOnline is never null. r=benc
https://hg.mozilla.org/comm-central/rev/a96cfcef15d4
Enable test_imapUndo for imap-js. r=mkmelin

Pushed by mkmelin@iki.fi:
https://hg.mozilla.org/comm-central/rev/076a3e0de254
Fix rendering of attachments in imap-js. r=mkmelin

  • Allow IDLE command for multiple folders in a server
  • Try to reuse non-inbox IDLE connection first

Pushed by mkmelin@iki.fi:
https://hg.mozilla.org/comm-central/rev/841aa2861a88
Support using memory cache in imap-js. r=mkmelin
https://hg.mozilla.org/comm-central/rev/0713e048b56c
Improve handling of IDLE command in imap-js. r=mkmelin

Pushed by mkmelin@iki.fi:
https://hg.mozilla.org/comm-central/rev/b584fc92ec01
Implement nsIImapService.getBodyStart to fix mail notification. r=mkmelin

Pushed by mkmelin@iki.fi:
https://hg.mozilla.org/comm-central/rev/58741b136cd3
Implement ImapService.deleteFolder. r=mkmelin

Pushed by mkmelin@iki.fi:
https://hg.mozilla.org/comm-central/rev/0f118321b9eb
Fixes for extension tests to pass in imap-js. r=mkmelin

From team meeting notes, current plan is to enable IMAP JS in May.

Whiteboard: [ETA: enable IMAP JS in May]

Also, before mailnews.imap.jsmodule is set true on daily, I suggest enlisting interested testers to test it (including team members who run nightly) by publicizing to Daily topicbox and perhaps other venues. A month or two in advance? (or whenever it is deemed good enough for testing)

https://wiki.mozilla.org/MailNews:Logging has been updated to include the new imap logging preference

Whiteboard: [ETA: enable IMAP JS in May] → [ETA: TBD]

Pushed by mkmelin@iki.fi:
https://hg.mozilla.org/comm-central/rev/cb4a2a12218e
Fix for gloda tests to pass in imap-js. r=mkmelin
https://hg.mozilla.org/comm-central/rev/1c6c7fc3abfb
Implement ImapService.deleteAllMessages and ImapMessageService.search. r=mkmelin

Pushed by mkmelin@iki.fi:
https://hg.mozilla.org/comm-central/rev/2eb2ae16e3e9
Enable imap-js in nightly build. r=mkmelin,sancus
Regressions: 1818247
Regressions: 1818253
Regressions: 1818272

My understanding is mailnews.js contains default values for c-c, all-thunderbird.js contains default values for tb.

Better to set regressed by to bug 1707547, thanks.

Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Keywords: leave-open
Resolution: --- → FIXED
Regressions: 1818589
Regressions: 1819199
No longer regressions: 1819199
Regressions: 1819223
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: