# Saving Draft New Topic

**URL:** <https://meta.discourse.org/t/saving-draft-new-topic/194436>\
**Category:** Bug\
**Created:** [June 20, 2021, 5:19am UTC](https://meta.discourse.org/t/saving-draft-new-topic/194436 "2021-06-20T05:19:56Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![jean.perez](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jean.perez/32/500638_2.png) [@jean.perez](https://meta.discourse.org/u/jean.perez)\
**Post date:** [June 22, 2021, 1:26am UTC](https://meta.discourse.org/t/saving-draft-new-topic/194436/3 "2021-06-22T01:26:10Z")

</div>

The title is not lengthy enough to pass this validation  
  
[https://github.com/discourse/discourse/blob/master/app/assets/javascripts/discourse/app/models/composer.js#L1184](https://github.com/discourse/discourse/blob/master/app/assets/javascripts/discourse/app/models/composer.js#L1184)  
  
But I wonder, why is the code resolving instead of rejecting and then catching errors?

I think errors can be caught here

[https://github.com/discourse/discourse/blob/master/app/assets/javascripts/discourse/app/controllers/composer.js#L1244](https://github.com/discourse/discourse/blob/master/app/assets/javascripts/discourse/app/controllers/composer.js#L1244)

something along these lines

```plaintext
this._saveDraftPromise = model.saveDraft().then(() => {
    this._lastDraftSaved = Date.now();
    ...
}, error => {
    // error handling here
}).finally(() => {
    this._saveDraftPromise = null;
});

```

@eviltrout any thoughts?

---

_[View the full topic](https://meta.discourse.org/t/saving-draft-new-topic/194436)._
