Commit 2762a90
committed
fix: Prune tombstone when a message isn't expected to appear on IMAP anymore (#7115)
This allows to receive deleted messages again if they're re-sent:
- After a manual deletion,
- If both DeleteServerAfter and DeleteDeviceAfter are set,
w/o waiting for 2 days when stale tombstones are GC-ed. This is particularly useful for webxdc. If
only DeleteDeviceAfter is set though, this changes nothing and maybe a separate fix is needed.
This may also greately reduce the db size for some bots which receive and immediately delete many
messages.
Also insert a tombstone to the db if a deletion request (incl. sync messages) can't find
`rfc724_mid`. This may happen in case of message reordering and the deleted message mustn't appear
when it finally arrives.1 parent 0bc9fe8 commit 2762a90
File tree
5 files changed
+120
-39
lines changed- src
- receive_imf
5 files changed
+120
-39
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
634 | 634 | | |
635 | 635 | | |
636 | 636 | | |
| 637 | + | |
| 638 | + | |
| 639 | + | |
637 | 640 | | |
638 | 641 | | |
639 | 642 | | |
| |||
2342 | 2345 | | |
2343 | 2346 | | |
2344 | 2347 | | |
2345 | | - | |
2346 | | - | |
2347 | | - | |
| 2348 | + | |
| 2349 | + | |
| 2350 | + | |
| 2351 | + | |
| 2352 | + | |
| 2353 | + | |
2348 | 2354 | | |
| 2355 | + | |
| 2356 | + | |
| 2357 | + | |
2349 | 2358 | | |
2350 | 2359 | | |
2351 | 2360 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
112 | 112 | | |
113 | 113 | | |
114 | 114 | | |
115 | | - | |
| 115 | + | |
116 | 116 | | |
117 | 117 | | |
118 | | - | |
119 | | - | |
120 | | - | |
121 | 118 | | |
122 | | - | |
123 | | - | |
124 | | - | |
125 | | - | |
| 119 | + | |
| 120 | + | |
126 | 121 | | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
127 | 129 | | |
128 | 130 | | |
129 | 131 | | |
| |||
132 | 134 | | |
133 | 135 | | |
134 | 136 | | |
135 | | - | |
| 137 | + | |
136 | 138 | | |
137 | 139 | | |
138 | 140 | | |
| |||
1591 | 1593 | | |
1592 | 1594 | | |
1593 | 1595 | | |
1594 | | - | |
| 1596 | + | |
| 1597 | + | |
| 1598 | + | |
| 1599 | + | |
| 1600 | + | |
1595 | 1601 | | |
1596 | 1602 | | |
1597 | 1603 | | |
1598 | | - | |
| 1604 | + | |
1599 | 1605 | | |
1600 | 1606 | | |
1601 | 1607 | | |
| |||
1663 | 1669 | | |
1664 | 1670 | | |
1665 | 1671 | | |
| 1672 | + | |
1666 | 1673 | | |
1667 | 1674 | | |
1668 | 1675 | | |
| |||
1680 | 1687 | | |
1681 | 1688 | | |
1682 | 1689 | | |
1683 | | - | |
| 1690 | + | |
| 1691 | + | |
1684 | 1692 | | |
1685 | | - | |
1686 | | - | |
| 1693 | + | |
| 1694 | + | |
| 1695 | + | |
1687 | 1696 | | |
1688 | | - | |
| 1697 | + | |
1689 | 1698 | | |
1690 | | - | |
1691 | | - | |
1692 | | - | |
1693 | | - | |
1694 | | - | |
| 1699 | + | |
| 1700 | + | |
| 1701 | + | |
| 1702 | + | |
| 1703 | + | |
| 1704 | + | |
| 1705 | + | |
| 1706 | + | |
| 1707 | + | |
1695 | 1708 | | |
1696 | 1709 | | |
1697 | 1710 | | |
| |||
1720 | 1733 | | |
1721 | 1734 | | |
1722 | 1735 | | |
1723 | | - | |
| 1736 | + | |
1724 | 1737 | | |
1725 | | - | |
| 1738 | + | |
1726 | 1739 | | |
1727 | 1740 | | |
1728 | 1741 | | |
| |||
1732 | 1745 | | |
1733 | 1746 | | |
1734 | 1747 | | |
| 1748 | + | |
| 1749 | + | |
| 1750 | + | |
| 1751 | + | |
| 1752 | + | |
| 1753 | + | |
| 1754 | + | |
| 1755 | + | |
| 1756 | + | |
| 1757 | + | |
| 1758 | + | |
| 1759 | + | |
| 1760 | + | |
| 1761 | + | |
| 1762 | + | |
| 1763 | + | |
| 1764 | + | |
1735 | 1765 | | |
1736 | 1766 | | |
1737 | 1767 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
47 | | - | |
| 47 | + | |
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
| |||
557 | 557 | | |
558 | 558 | | |
559 | 559 | | |
560 | | - | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
561 | 564 | | |
562 | | - | |
| 565 | + | |
563 | 566 | | |
564 | 567 | | |
565 | | - | |
| 568 | + | |
566 | 569 | | |
567 | | - | |
568 | | - | |
| 570 | + | |
| 571 | + | |
569 | 572 | | |
570 | 573 | | |
571 | 574 | | |
572 | 575 | | |
573 | 576 | | |
574 | 577 | | |
| 578 | + | |
575 | 579 | | |
576 | 580 | | |
577 | 581 | | |
| |||
2196 | 2200 | | |
2197 | 2201 | | |
2198 | 2202 | | |
2199 | | - | |
2200 | | - | |
2201 | | - | |
2202 | | - | |
| 2203 | + | |
2203 | 2204 | | |
2204 | 2205 | | |
2205 | 2206 | | |
| |||
2307 | 2308 | | |
2308 | 2309 | | |
2309 | 2310 | | |
2310 | | - | |
| 2311 | + | |
| 2312 | + | |
2311 | 2313 | | |
2312 | 2314 | | |
2313 | 2315 | | |
| |||
2318 | 2320 | | |
2319 | 2321 | | |
2320 | 2322 | | |
| 2323 | + | |
| 2324 | + | |
| 2325 | + | |
| 2326 | + | |
| 2327 | + | |
| 2328 | + | |
| 2329 | + | |
| 2330 | + | |
2321 | 2331 | | |
2322 | 2332 | | |
2323 | 2333 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
815 | 815 | | |
816 | 816 | | |
817 | 817 | | |
| 818 | + | |
| 819 | + | |
| 820 | + | |
| 821 | + | |
| 822 | + | |
| 823 | + | |
| 824 | + | |
| 825 | + | |
| 826 | + | |
| 827 | + | |
| 828 | + | |
| 829 | + | |
| 830 | + | |
| 831 | + | |
| 832 | + | |
| 833 | + | |
| 834 | + | |
| 835 | + | |
| 836 | + | |
| 837 | + | |
| 838 | + | |
| 839 | + | |
| 840 | + | |
| 841 | + | |
| 842 | + | |
818 | 843 | | |
819 | 844 | | |
820 | 845 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
| 9 | + | |
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| |||
317 | 317 | | |
318 | 318 | | |
319 | 319 | | |
320 | | - | |
| 320 | + | |
| 321 | + | |
321 | 322 | | |
322 | 323 | | |
323 | 324 | | |
324 | 325 | | |
325 | 326 | | |
326 | 327 | | |
327 | | - | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
328 | 335 | | |
329 | 336 | | |
330 | 337 | | |
| |||
0 commit comments