@@ -1125,6 +1125,8 @@ class MessageHandler {
11251125 }
11261126 }
11271127
1128+ const bulk_batch_size = await this . settingsHandler . get ( 'const:max:bulk_batch_size' , { } ) ;
1129+
11281130 if ( targetData . encryptMessages ) {
11291131 // move target mailbox is encrypted
11301132 const parsedHeader = ( message . mimeTree && message . mimeTree . parsedHeader ) || { } ;
@@ -1146,7 +1148,8 @@ class MessageHandler {
11461148 unseen,
11471149 newModseq,
11481150 uidNext,
1149- junk
1151+ junk,
1152+ bulk_batch_size
11501153 } ,
11511154 cursor ,
11521155 options
@@ -1179,7 +1182,8 @@ class MessageHandler {
11791182 unseen,
11801183 newModseq,
11811184 uidNext,
1182- junk
1185+ junk,
1186+ bulk_batch_size
11831187 } ,
11841188 cursor ,
11851189 options
@@ -1299,7 +1303,8 @@ class MessageHandler {
12991303 unseen,
13001304 newModseq,
13011305 uidNext,
1302- junk
1306+ junk,
1307+ bulk_batch_size
13031308 } ,
13041309 cursor ,
13051310 options
@@ -1327,7 +1332,8 @@ class MessageHandler {
13271332 unseen,
13281333 newModseq,
13291334 uidNext,
1330- junk
1335+ junk,
1336+ bulk_batch_size
13311337 } ,
13321338 cursor ,
13331339 options
@@ -1354,7 +1360,8 @@ class MessageHandler {
13541360 unseen,
13551361 newModseq,
13561362 uidNext,
1357- junk
1363+ junk,
1364+ bulk_batch_size
13581365 } ,
13591366 cursor ,
13601367 options
@@ -1827,6 +1834,8 @@ class MessageHandler {
18271834 next ( ) ;
18281835 } ;
18291836
1837+ let bulk_batch_size = consts . BULK_BATCH_SIZE ;
1838+
18301839 let processNext = ( ) => {
18311840 cursor . next ( ( err , messageData ) => {
18321841 if ( err ) {
@@ -1875,7 +1884,7 @@ class MessageHandler {
18751884 unseenChange : 'seen' in changes
18761885 } ) ;
18771886
1878- if ( notifyEntries . length >= consts . BULK_BATCH_SIZE ) {
1887+ if ( notifyEntries . length >= bulk_batch_size ) {
18791888 return this . notifier . addEntries ( mailboxData , notifyEntries , ( ) => {
18801889 notifyEntries = [ ] ;
18811890 this . notifier . fire ( mailboxData . user ) ;
@@ -1888,7 +1897,15 @@ class MessageHandler {
18881897 } ) ;
18891898 } ;
18901899
1891- processNext ( ) ;
1900+ this . settingsHandler
1901+ . get ( 'const:max:bulk_batch_size' , { } )
1902+ . then ( set_bulk_batch_size => {
1903+ bulk_batch_size = set_bulk_batch_size ;
1904+ } )
1905+ . finally ( ( ) => {
1906+ // Regardless of response process next
1907+ processNext ( ) ;
1908+ } ) ;
18921909 }
18931910 ) ;
18941911 }
@@ -2124,7 +2141,8 @@ class MessageHandler {
21242141 unseen,
21252142 newModseq,
21262143 uidNext,
2127- junk
2144+ junk,
2145+ bulk_batch_size
21282146 } = data ;
21292147
21302148 try {
@@ -2196,7 +2214,7 @@ class MessageHandler {
21962214 }
21972215 existsEntries . push ( entry ) ;
21982216
2199- if ( existsEntries . length >= consts . BULK_BATCH_SIZE ) {
2217+ if ( existsEntries . length >= bulk_batch_size ) {
22002218 // mark messages as deleted from old mailbox
22012219 return new Promise ( resolve => {
22022220 this . notifier . addEntries ( mailboxData , removeEntries , ( ) => {
0 commit comments