Fix bugs with handling large image attachments

* Avoid infinite loop scaling too-big images
* Don't crash if no file is selected
* Fix file size toast

Fixes #242

// FREEBIE
This commit is contained in:
lilia 2015-05-25 10:43:35 -07:00
parent 585c82aee8
commit 53a9ab4834
2 changed files with 8 additions and 4 deletions

View file

@ -42,6 +42,9 @@
// hack
if (this.window && this.window.chrome && this.window.chrome.fileSystem) {
this.window.chrome.fileSystem.chooseEntry({type: 'openFile'}, function(entry) {
if (!entry) {
return;
}
entry.file(function(file) {
this.file = file;
this.previewImages();
@ -97,7 +100,6 @@
quality = quality * maxSize / blob.size;
if (quality < 50) {
quality = 50;
i = 1;
}
} while (i > 0 && blob.size > maxSize);
@ -130,9 +132,11 @@
case 'video': limitKb = 8000; break;
}
if ((blob.size/1024).toFixed(4) >= limitKb) {
new Whisper.FileSizeToast({
var toast = new Whisper.FileSizeToast({
model: {limit: limitKb}
}).render();
});
toast.$el.insertAfter(this.$el);
toast.render();
this.deleteFiles();
}
}.bind(this));

View file

@ -29,7 +29,7 @@
render: function() {
this.$el.html(Mustache.render(this.template, this.model));
this.$el.appendTo($('body')).show();
this.$el.show();
setTimeout(this.close.bind(this), 2000);
}
});