Commit Graph

9 Commits

Author SHA1 Message Date
Piotr Sarnacki
0a635c8b39 Quick hack for </span> landing in the wrong place in logs
We change ansi terminal instructions into HTML tags before splitting the
log into lines, which sometimes may end up with </span> in the beginning
of the line. This is a quick hack to fix that problem, but we need
better solution.
2012-12-08 01:02:04 +01:00
Piotr Sarnacki
e9077f1a04 Fix initial setting in logs - it should be set to null after 1st line 2012-12-05 01:53:25 +01:00
Piotr Sarnacki
e431e30420 Fix small problem with duplicated first log line 2012-12-05 01:14:25 +01:00
Piotr Sarnacki
4e7329f638 Open fold if folded command returns an error 2012-12-05 00:33:26 +01:00
Piotr Sarnacki
fc40190c29 Optimize log viewer
Till now, log viewer was rendered in handlebars, which was the simplest
solution, but it had a major drawback - every append to log caused it to
rerender which was not efficient and memory consuming.

The new approach is to make Travis.Log interpret the log and send lines
with instructions to the view, so for example if view should add a line,
it gets something like:

    { number: 1, content: '$ bundle install' }

Such approach is required to handle cases where data coming from pusher
is not actually a new line. For example output containing dots from
tests needs to be appended:

    $ rake
    ....

Such output could be sent to client in 2 chunks: "$ rake\n.." and "..".
In such situation we would need to send 3 instructions:

  { number: 1, content: '$ rake' }
  { number: 2, content: '..'     }
  { number: 2, content: '..', append: true }

The third instruction can come much later, because tests can take a
while to run, so we can't assume that each line will come in one piece.

The other scenario is \r, for example when showing progress:

    \rDownloading: 10%
    \rDownloading: 50%
    \rDownloading: 100%

Such input should be changed into such instructions:

  { number: 1, content: 'Downloading: 10%' }
  { number: 1, content: 'Downloading: 50%',  replace: true }
  { number: 1, content: 'Downloading: 100%', replace: true }

Travis.Log also supports folds, for example on bundle install, the code
was rewritten to make folds management simpler.
2012-12-04 22:57:57 +01:00
Piotr Sarnacki
27dee49a8e Swallow ansi control sequences, which we don't support 2012-11-30 22:44:58 +01:00
Piotr Sarnacki
2575218ddb Fix logs to always point to build or job view 2012-10-12 18:32:25 +02:00
Piotr Sarnacki
186ba1dd45 Fix links to log line numbers
This is working implementation of links on log line numbers. Although it
does the job, it's really hacky and involves overriding some of the
ember's methods (resolvePath, routeMatcher) beacuse currently
HistoryLocation can't handle hash additions in an easy way.

This code should be fixed as soon as ember's router gets more powerful
and gives much more granular control over matching routes.
2012-10-09 03:54:11 +02:00
Sven Fuchs
7b47863014 extract paths in Assetfile; rename javascripts to scripts, stylesheets to styles 2012-10-03 17:13:02 +02:00