diff --git a/debomatic-webui/lib/debomatic.coffee b/debomatic-webui/lib/debomatic.coffee
index bfabc12..aff913e 100644
--- a/debomatic-webui/lib/debomatic.coffee
+++ b/debomatic-webui/lib/debomatic.coffee
@@ -1,7 +1,7 @@
fs = require("fs")
config = require("./config")
utils = require("./utils")
-Tail = require("./tail")
+Tail = utils.Tail
e = config.events.broadcast
_get_distributions = (callback) ->
diff --git a/debomatic-webui/lib/tail.coffee b/debomatic-webui/lib/tail.coffee
deleted file mode 100644
index 0381674..0000000
--- a/debomatic-webui/lib/tail.coffee
+++ /dev/null
@@ -1,29 +0,0 @@
-"use strict"
-fs = require("fs")
-Tail = require("tail").Tail
-Tail::watchEvent = (e) ->
- _this = this
- if e is "change"
- fs.stat @filename, (err, stats) ->
- if err
- _this.emit "error", err
- return
- _this.pos = stats.size if stats.size < _this.pos
- if stats.size > _this.pos
- _this.queue.push
- start: _this.pos
- end: stats.size
-
- _this.pos = stats.size
- _this.internalDispatcher.emit "next" if _this.queue.length is 1
-
- else if e is "rename"
- @unwatch()
- _this.emit "error", "File " + @filename + " deleted."
- return
-
-Tail::close = ->
- @unwatch()
- return
-
-module.exports = Tail
diff --git a/debomatic-webui/lib/utils.coffee b/debomatic-webui/lib/utils.coffee
index 99f5035..294e1c4 100644
--- a/debomatic-webui/lib/utils.coffee
+++ b/debomatic-webui/lib/utils.coffee
@@ -1,7 +1,7 @@
path = require("path")
fs = require("fs")
config = require("./config")
-Tail = require("./tail")
+Tail = require("tail").Tail
_check_no_backward = (backward_path) ->
if typeof backward_path is 'string'
@@ -104,6 +104,22 @@ errors_handler = (from, err, socket) ->
socket.emit config.events.error, err.message if socket
return
+Tail::watchEvent = (e) ->
+ if e is 'change'
+ fs.stat @filename, (err, stats) =>
+ @emit 'error', err if err
+ @pos = stats.size if stats.size < @pos #scenario where texts is not appended but it's actually a w+
+ if stats.size > @pos
+ @queue.push({start: @pos, end: stats.size})
+ @pos = stats.size
+ @internalDispatcher.emit("next") if @queue.length is 1
+ else if e is 'rename'
+ @unwatch()
+ @emit "error", "File #{@filename} deleted"
+
+Tail::close = ->
+ @unwatch()
+ return
module.exports.check_data_distribution = check_data_distribution
module.exports.check_data_package = check_data_package
@@ -115,3 +131,4 @@ module.exports.get_files_list = get_files_list
module.exports.watch_path_onsocket = watch_path_onsocket
module.exports.errors_handler = errors_handler
module.exports.arrayEqual = arrayEqual
+module.exports.Tail = Tail
diff --git a/debomatic-webui/public/javascripts/page_distribution.js b/debomatic-webui/public/javascripts/page_distribution.js
index a16ff2e..d581958 100644
--- a/debomatic-webui/public/javascripts/page_distribution.js
+++ b/debomatic-webui/public/javascripts/page_distribution.js
@@ -579,10 +579,10 @@ function Page_Distrubion(socket) {
set: function (socket_error) {
if ($('#error').is(':visible'))
return;
- socket_error = socket_error.replace(/File (.*) deleted./,
- 'File removed $1');
+ socket_error = socket_error.replace(/File (.*) deleted(.*)/,
+ 'File removed $1');
socket_error = socket_error.replace(/ENOENT, [a-z]+ '(.*)'/,
- 'No such file or directory $1');
+ 'No such file or directory $1');
$('#error .message').html(socket_error);
error.view();
},