diff --git a/4chan_x.user.js b/4chan_x.user.js index 27b686f5c..db69b52bd 100644 --- a/4chan_x.user.js +++ b/4chan_x.user.js @@ -1306,8 +1306,10 @@ file = this.files[0]; if (file.size > this.max) { qr.error('File too large.'); + qr.resetFileInput(); } else if (-1 === qr.mimeTypes.indexOf(file.type)) { qr.error('Unsupported file type.'); + qr.resetFileInput(); } else { qr.selected.setFile(file); } @@ -1399,6 +1401,7 @@ _Class.prototype.rm = function() { var index, url; + qr.resetFileInput(); $.rm(this.el); index = qr.replies.indexOf(this); if (qr.replies.length === 1) { @@ -1608,9 +1611,17 @@ return qr.message.send(post); }, response: function(html) { - var persona, reply, sage; - log(html); - if (!(conf['Persistent QR'] || qr.replies.length > 1)) {} + var b, persona, reply, sage; + b = $('td b', $.el('a', { + innerHTML: html + })); + if (b.childElementCount) { + qr.error(b.firstChild.data); + log(b); + console.dir(b); + return; + } + if (!(conf['Persistent QR'] || qr.replies.length > 1)) qr.close(); reply = qr.replies[0]; sage = /sage/i.test(reply.email); persona = { @@ -1618,7 +1629,8 @@ email: /^sage$/.test(reply.email) ? null : reply.email, sub: conf['Remember Subject'] ? reply.sub : null }; - return $.set('qr.persona', persona); + $.set('qr.persona', persona); + return reply.rm(); }, message: { init: function() { diff --git a/script.coffee b/script.coffee index 8c02494f6..e813a28a9 100644 --- a/script.coffee +++ b/script.coffee @@ -962,8 +962,10 @@ qr = file = @files[0] if file.size > @max qr.error 'File too large.' + qr.resetFileInput() else if -1 is qr.mimeTypes.indexOf file.type qr.error 'Unsupported file type.' + qr.resetFileInput() else qr.selected.setFile file return @@ -1039,6 +1041,7 @@ qr = $("[name=#{data}]", qr.el).value = @[data] $('#spoiler', qr.el).checked = @spoiler rm: -> + qr.resetFileInput() $.rm @el index = qr.replies.indexOf @ if qr.replies.length is 1 @@ -1227,11 +1230,16 @@ qr = qr.message.send post response: (html) -> - log html - # successful posting/error handling + b = $ 'td b', $.el('a', innerHTML: html) + if b.childElementCount # error! + qr.error b.firstChild.data + log b + console.dir b + # error handling + return unless conf['Persistent QR'] or qr.replies.length > 1 - ;# qr.close() + qr.close() reply = qr.replies[0] sage = /sage/i.test reply.email @@ -1243,7 +1251,7 @@ qr = sub: if conf['Remember Subject'] then reply.sub else null $.set 'qr.persona', persona - # reply.rm() + reply.rm() message: init: ->