After some time away, I'm playing with Gnus again. In this instance, gnus-cloud isn't working for me. Specifically, I can add a gnus-cloud storage server (on nnimap) and register another server (nntp) with it. ~u causes messages to be added to Emacs-Cloud and they appear to have the right kind of content. ~d on another machine never does anything useful (e.g. mark some articles as read) because this test: (if (and newer (not force-older)) (gnus-message 3 "Skipping outdated cloud info for group %s, the info is from %s (now is %s)" group date now) always returns true. Looking at how `newer' is calculated, it compares the group timestamp from the gnus-cloud message with the current time. It's not clear to me how that test is ever going to return `nil', unless I have a version of emacs running somewhere in the future that updates gnus-cloud. In general I would have expected to replay any changes with a higher sequence number, irrespective of the date of the changes. That they happened in the past is somewhat the point, isn't it? :-) Another problem is that after a set of Emacs-Cloud messages have been used to replay, the emacs instance doing that replay doesn't persist the last seen sequence value as `gnus-cloud-sequence', so the next time it attempts to replay it will unnecessarily replay the same sequence numbered messages again. Attached is a suggested patch. This makes things work for me in some limited testing. Gnus v5.13 GNU Emacs 26.1 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.11) of 2019-09-09, modified by Debian 200 news.gmane.io InterNetNews NNRP server INN 2.6.3 ready (posting ok) 100 Legal commands ARTICLE [message-ID|number] AUTHINFO USER name|PASS password|SASL mechanism [initial-response]|GENERIC program [argument ...] BODY [message-ID|number] CAPABILITIES [keyword] COMPRESS DEFLATE DATE GROUP newsgroup HDR header [message-ID|range] HEAD [message-ID|number] HELP IHAVE message-ID LAST LIST [ACTIVE [wildmat]|ACTIVE.TIMES [wildmat]|COUNTS [wildmat]|DISTRIB.PATS|DISTRIBUTIONS|HEADERS [MSGID|RANGE]|MODERATORS|MOTD|NEWSGROUPS [wildmat]|OVERVIEW.FMT|SUBSCRIPTIONS [wildmat]] LISTGROUP [newsgroup [range]] MODE READER NEWGROUPS [yy]yymmdd hhmmss [GMT] NEWNEWS wildmat [yy]yymmdd hhmmss [GMT] NEXT OVER [range] POST QUIT STARTTLS STAT [message-ID|number] XGTITLE [wildmat] XHDR header [message-ID|range] XOVER [range] XPAT header message-ID|range pattern [pattern ...] Report problems to . . 382 Begin TLS negotiation now 100 Legal commands ARTICLE [message-ID|number] AUTHINFO USER name|PASS password|SASL mechanism [initial-response]|GENERIC program [argument ...] BODY [message-ID|number] CAPABILITIES [keyword] COMPRESS DEFLATE DATE GROUP newsgroup HDR header [message-ID|range] HEAD [message-ID|number] HELP IHAVE message-ID LAST LIST [ACTIVE [wildmat]|ACTIVE.TIMES [wildmat]|COUNTS [wildmat]|DISTRIB.PATS|DISTRIBUTIONS|HEADERS [MSGID|RANGE]|MODERATORS|MOTD|NEWSGROUPS [wildmat]|OVERVIEW.FMT|SUBSCRIPTIONS [wildmat]] LISTGROUP [newsgroup [range]] MODE READER NEWGROUPS [yy]yymmdd hhmmss [GMT] NEWNEWS wildmat [yy]yymmdd hhmmss [GMT] NEXT OVER [range] POST QUIT STARTTLS STAT [message-ID|number] XGTITLE [wildmat] XHDR header [message-ID|range] XOVER [range] XPAT header message-ID|range pattern [pattern ...] Report problems to . .