diff --git a/assets/javascripts/mailcatcher.js.coffee b/assets/javascripts/mailcatcher.js.coffee
index ebc2c79a..d2f242ae 100644
--- a/assets/javascripts/mailcatcher.js.coffee
+++ b/assets/javascripts/mailcatcher.js.coffee
@@ -136,6 +136,20 @@ class MailCatcher
date &&= @offsetTimeZone(date)
date &&= date.toString("dddd, d MMM yyyy h:mm:ss tt")
+ formatSize: (bytes) ->
+ thresh = 1000
+ units = ['kB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']
+
+ if Math.abs(bytes) < thresh
+ return bytes + ' B'
+ u = -1
+ loop
+ bytes /= thresh
+ ++u
+ unless Math.abs(bytes) >= thresh and u < units.length - 1
+ break
+ bytes.toFixed(1) + ' ' + units[u]
+
messagesCount: ->
$("#messages tr").length - 1
@@ -193,6 +207,7 @@ class MailCatcher
.append($("
| ").text((message.recipients || []).join(", ") or "No receipients").toggleClass("blank", !message.recipients.length))
.append($(" | ").text(message.subject or "No subject").toggleClass("blank", !message.subject))
.append($(" | ").text(@formatDate(message.created_at)))
+ .append($(" | ").text(@formatSize(message.size)))
.prependTo($("#messages tbody"))
@updateMessagesCount()
@@ -226,6 +241,11 @@ class MailCatcher
$("#message .metadata dd.from").text(message.sender)
$("#message .metadata dd.to").text((message.recipients || []).join(", "))
$("#message .metadata dd.subject").text(message.subject)
+ $("#message .metadata dd.size").html(
+ $('')
+ .attr('title', message.size+' bytes')
+ .text(@formatSize(message.size))
+ )
$("#message .views .tab.format").each (i, el) ->
$el = $(el)
format = $el.attr("data-message-format")
diff --git a/views/index.erb b/views/index.erb
index 0ffadf74..0739c3b8 100644
--- a/views/index.erb
+++ b/views/index.erb
@@ -28,6 +28,7 @@
To |
Subject |
Received |
+ Size |
@@ -45,6 +46,8 @@
Subject
+ Size
+
Attachments