Banco de dados do Firestore ao inserir / excluir retornos de chamada de documentos que não são chamados quando não há conexão

Estou tentando o banco de dados do firestore no Android.

Este é o meu código que insere um documento:

public Observable<Post> createPost(final Post post){


        return Observable.create(new Observable.OnSubscribe<Post>() {
            @Override
            public void call(final Subscriber<? super Post> subscriber) {

                try{

                    DocumentReference documentReference = getCollection().document();

                    post.setId(documentReference.getId());
                    documentReference.set(post).addOnSuccessListener(new OnSuccessListener<Void>() {
                        @Override
                        public void onSuccess(Void aVoid) {

                            subscriber.onNext(post);
                            subscriber.onCompleted();

                        }
                    }).addOnFailureListener(new OnFailureListener() {
                        @Override
                        public void onFailure(@NonNull Exception e) {
                            subscriber.onError(e);
                            subscriber.onCompleted();
                        }
                    });


                }catch (Exception ex){

                    subscriber.onError(ex);

                    Log.e(LOG_TAG, ex.getMessage(), ex);

                }

            }
        });


    }

O documento é inserido no banco de dados, mas nem os retornos de chamada onSuccess nem onFailure são chamados.

Atualização 1

1) O problema não é consistente, às vezes funciona, às vezes os retornos de chamada são invocados após uma hora, às vezes após 3 horas etc.

2) Isso está acontecendo quando não há conexão com a internet.

Atualização 2

1) O problema foi relatadoaqui e está fechado. Não sei como garantir a correção dos dados criados offline.

questionAnswers(3)

yourAnswerToTheQuestion