Commit Graph

602 Commits

Author SHA1 Message Date
Lukasz Sarnacki
4ab6a90b66 Simplified code in github refference linking 2013-09-01 13:36:33 +02:00
Lukasz Sarnacki
44c7c627fb Replace github refference with link travis-ci/travis-ci#1266
Github issue refference is now replaced with github issue url.
This covers following refferences:
* #Num
* User#Num
* User/Project#Num
2013-09-01 13:36:24 +02:00
Piotr Sarnacki
072a5de579 Show first_sync page after routerTransitions
This code ensures that we send an event after router is fully
initialized, otherwise it could cause an error.
2013-08-29 16:33:09 +02:00
Piotr Sarnacki
27929faf6f Don't render sidebar 2013-08-29 01:15:57 +02:00
Piotr Sarnacki
fb120af69e Use pullRequestNumber from build, not from commit 2013-08-29 01:01:03 +02:00
Piotr Sarnacki
18ba86eca0 Remove stuff not used in travis-web anymore 2013-08-28 14:17:26 +02:00
Piotr Sarnacki
34ae33f087 Fix filtering for queue and running jobs 2013-08-27 23:26:08 +02:00
Piotr Sarnacki
08d17fdf2b Check also for superclass of Travis.AuthRoute
Ember.js creates subclasses of given class in container, so we need to
check also superclass
2013-08-27 18:23:17 +02:00
Piotr Sarnacki
b56fa7b9df Fix getting hooks on profile page
Hooks were sometimes not loaded, because user property on
ProfileController was not available. This commit tries one additional
way to get a login - Travis.lookup with controller:currentUser.
2013-08-27 16:11:56 +02:00
Mathias Meyer
da7cb6f4b0 Add githubLanguage as repository property. 2013-08-27 15:30:42 +02:00
Piotr Sarnacki
7be461758c Fix specs 2013-08-26 17:01:27 +02:00
Mathias Meyer
04545cc066 Add synchronization spinner. 2013-08-26 12:55:11 +02:00
Mathias Meyer
581f9f6858 Include a mustached spinner. 2013-08-26 12:47:35 +02:00
Piotr Sarnacki
d5038a4855 Fix allBuilds for ember-model 2013-08-25 14:54:55 +02:00
Piotr Sarnacki
eb35a0e1c6 Merge branch 'master' into ui-improvements
Conflicts:
	assets/scripts/app/controllers.coffee
2013-08-25 14:46:03 +02:00
Piotr Sarnacki
d3ded51a16 Automatically redirect away from 'first_sync' after synced is finished 2013-08-25 14:13:46 +02:00
Piotr Sarnacki
d2ebf4cbcf Remove indicator from first sync for now 2013-08-25 13:13:58 +02:00
Piotr Sarnacki
b6c2ee418a Don't require sidebar controller 2013-08-22 16:05:08 +02:00
Piotr Sarnacki
d18cffd1a7 When observing all builds don't request them
We use `allBuilds` to observe new incoming builds, so we can put new
builds into the lists (for example when build is started). We use it for
observing purposes only, so we actually don't need to get builds from
the server, we can just register record array and use it later on.
2013-08-22 15:29:12 +02:00
Mathias Meyer
f479cac505 Add copy for the first sync page. 2013-08-21 15:18:06 +02:00
Piotr Sarnacki
766f4e8907 Properly handle job:canceled event 2013-08-13 01:09:02 +02:00
Piotr Sarnacki
c9e677fd86 Allow to cancel jobs after they're started 2013-08-12 17:35:12 +02:00
Piotr Sarnacki
8f91eee610 Display 0 instead of blank field if reposCount is null 2013-08-12 13:16:58 +02:00
Piotr Sarnacki
0217b20943 Implement missing pieces for cancel build
We allow to cancel only created builds at this point.
2013-08-09 23:06:19 +02:00
Piotr Sarnacki
8c3e92faea Merge branch 'master' into ui-improvements
Conflicts:
	assets/scripts/app/controllers/repo.coffee
	assets/scripts/app/templates/builds/show.hbs
	assets/scripts/app/templates/jobs/show.hbs
2013-08-06 13:16:56 +02:00
Piotr Sarnacki
c92720f280 Fix displaying pull request number on builds' list
Commit sometimes does not have information about pull request (probably
when payload is coming from pusher).
2013-08-06 13:05:25 +02:00
Piotr Sarnacki
d94816ec8f Remove unneeded code
This piece of code was used in order to load repos associated to jobs
when the latter were loaded from pusher. This was needed because jobs
events do not have repository record passed in pusher payload, so when
job was added with pusher and link to the job was displayed in "Running
Jobs" or in workers on right sidebar, Ember was loading missing repos.
We don't need this code anymore as there is no right sidebar.

Additionally after changes in Ember.js, it's possible to pass primitives
to linkTo. Previously the link to record needed to be constructed as
following:

    {{#linkTo "job" job.repo job}}Link to repo{{/linkTo}}

The drawback of such code is that repo would have been instantiated in
such case. Now, we can do something like this:

    {{#linkTo "job" job.repositorySlug job}}Link to repo{{/linkTo}}

so as long as we have information about repository slug in the job data,
such hacks are not be needed.
2013-08-05 13:14:58 +02:00
Piotr Sarnacki
33bce774a3 Add first_sync template
First sync will be displayed when user is logged in and first sync is
still taking place
2013-08-05 03:29:19 +02:00
Piotr Sarnacki
b40d0acf9c Return empty array from userRepos when there is no user 2013-08-05 03:28:43 +02:00
Piotr Sarnacki
acf5d8e9be Redirect to root after signin in on auth page 2013-08-05 03:27:47 +02:00
Piotr Sarnacki
c79725d0e9 Refactor sign in related templates, fix indicator in auth template 2013-08-05 03:24:33 +02:00
Piotr Sarnacki
d248fd11a6 Fix messages on empty repos list 2013-08-05 02:35:47 +02:00
Piotr Sarnacki
218a078164 Fix messages on empty repos list 2013-08-05 02:35:28 +02:00
Piotr Sarnacki
9170795639 Improve auth code in router by using new async stuff (❤️ @machty) 2013-08-03 20:48:59 +02:00
Piotr Sarnacki
d9d833d1b4 No need to prefetch repos in recentRepos
Repo#withLastBuilds already does a fetch, so this is redundant
2013-08-03 15:11:23 +02:00
Piotr Sarnacki
b2f543f3a2 Don't require sidebar and running jobs, it's not used anyway 2013-08-03 15:10:55 +02:00
Piotr Sarnacki
66ed172888 Refactor the way we insert new records with pusher
Previousy I was using find to ensure that the record is materialized,
but the new version is much lighter - it uses Model#load to load the
record directly
2013-08-03 15:09:18 +02:00
Piotr Sarnacki
53951c3691 Don't reload user repositories each time my repos tab is clicked 2013-07-31 16:18:37 +02:00
Piotr Sarnacki
07d2d1ff2a Check if record is in a record array before adding it 2013-07-31 15:06:06 +02:00
Piotr Sarnacki
42470fd416 Wrap updateTimes in Ember.run 2013-07-31 13:59:03 +02:00
Piotr Sarnacki
fb41820917 Remove ticker require 2013-07-31 13:57:49 +02:00
Piotr Sarnacki
96066709b4 Simplify permissions CP code 2013-07-31 13:55:04 +02:00
Piotr Sarnacki
0ac5b6855e Use isPullRequest instead of eventType 2013-07-31 13:54:02 +02:00
Piotr Sarnacki
1951752f47 Wrap ajax callbacks in Ember.run 2013-07-31 13:52:08 +02:00
Piotr Sarnacki
c0cb223aeb Update Travis.Model to work with Ember Model 2013-07-31 13:51:28 +02:00
Piotr Sarnacki
ccfd116f08 Use Handlebars.helper instead of registerBoundHelper 2013-07-31 13:49:46 +02:00
Piotr Sarnacki
f92c592f2d Add pusher receive related stuff to App (previously it was in store) 2013-07-31 13:47:55 +02:00
Piotr Sarnacki
8082d3a6d3 Update loading user to EmberModel's version 2013-07-31 13:45:52 +02:00
Piotr Sarnacki
8daf5b857a Don't fail if user signs out before router is set up 2013-07-31 13:45:23 +02:00
Piotr Sarnacki
ded00e0182 unloadRecord -> unload 2013-07-31 13:44:56 +02:00
Piotr Sarnacki
92da0c8034 Simplify build/job and tools templates 2013-07-31 13:43:06 +02:00
Piotr Sarnacki
da9a34f06c Change ED's filter() calls to FilteredArrays 2013-07-31 13:42:06 +02:00
Piotr Sarnacki
9093b2a311 Remove tick from sidebar controller 2013-07-31 13:39:18 +02:00
Piotr Sarnacki
af3f865854 Make routes code more async capable when setting job
After changing Ember Data to Ember Model, the default behavior is to
not return promise by default from `find` call. This is better in
general for our use case, because we don't block rendering the UI while
data loads, but we now have to handle cases where model is not yet
loaded in `setupController`
2013-07-31 13:35:47 +02:00
Piotr Sarnacki
373c7f706f Get rid of hacks from routes 2013-07-31 13:32:23 +02:00
Piotr Sarnacki
670f38542a Use model.save() for saving records
Also, there is no need to use transactions anymore
2013-07-31 13:29:55 +02:00
Piotr Sarnacki
823c8441be Change EmberData properties/relationships into EmberModel versions
DS.attr -> Ember.attr
DS.belongsTo -> Ember.belongsTo
DS.hasMany -> Ember.hasMany
2013-07-31 13:29:55 +02:00
Piotr Sarnacki
4d74491401 Remove unused code 2013-07-31 13:29:55 +02:00
Piotr Sarnacki
c194c775b9 Merge pull request #195 from floydpink/show-more-button
Show loading indicator on 'Show More' click
2013-07-29 18:18:43 -07:00
Piotr Sarnacki
f54054de72 Merge pull request #194 from floydpink/build-job-page-fixes
Fix a couple of metadata items on build and job tabs
2013-07-29 17:17:41 -07:00
Floyd Pink
fd98847863 show loading indicator on show-more button click 2013-07-27 16:11:12 -04:00
alonisser
4bc4d10e7d Add Rst status image format
Close #192.
2013-07-26 23:55:12 -07:00
Floyd Pink
d12bb1e8e4 a) author/committer emails on build page and b) PR on job page 2013-07-26 17:34:03 -04:00
Piotr Sarnacki
76af32013b Fix updating times on repo page 2013-07-23 17:13:29 +02:00
Piotr Sarnacki
831540af88 Fix link to PR on build/job page 2013-07-17 17:48:56 +02:00
Piotr Sarnacki
74dc2bc339 Reset parts when fetching log 2013-07-16 00:29:45 +02:00
Piotr Sarnacki
8d0d990825 Remove DS.Store 2013-07-09 15:38:09 +02:00
Piotr Sarnacki
d1413516eb Use double qoutes for a route name in action and linkTo 2013-07-09 13:49:59 +02:00
Piotr Sarnacki
c7516b458e Show all accounts and hooks in profile
Previously we showed only accounts and repositories, to which you have
admin access. To improve usability, it's better to show all accounts and
all repositories, but explain why part of the repositories are not
manageable.
2013-06-18 17:54:13 +02:00
Mathias Meyer
162b4386ef Rework guide a whee bit to be more compact. 2013-06-13 20:47:21 +02:00
Mathias Meyer
a5b6e16d3e Add a contact section to the guide. 2013-06-13 13:43:26 +02:00
Mathias Meyer
b2bdd8ec7a More details for the getting started guide. 2013-06-13 13:34:26 +02:00
Mathias Meyer
87790fb6e1 Start fleshing out the getting started guide. 2013-06-13 12:44:21 +02:00
Piotr Sarnacki
b0d1e11e97 Allow to see getting started page through the URL 2013-06-13 12:40:46 +02:00
Piotr Sarnacki
3a4d52f52b Change URL when clicking on repos tabs 2013-06-12 19:55:34 +02:00
Piotr Sarnacki
75784da25e Render information about no repos into main template 2013-06-12 15:27:15 +02:00
Piotr Sarnacki
704bd9434e Redirect to getting started page if user has no repositories 2013-06-11 17:22:52 +02:00
Josh Kalderimis
60ac5e8080 remove the link to the stats page as it has been disabled for sooooo long now 2013-06-08 19:32:21 +02:00
Josh Kalderimis
abeba40d3f move Docs into Help, and capitalize for fun and profit! 2013-06-08 19:29:46 +02:00
Josh Kalderimis
a42e0b092f set the scope correctly when checking if a build/job is a PR in the template 2013-06-08 19:17:40 +02:00
Mathias Meyer
6708412a4d Sidebar be gone! 2013-06-08 10:12:41 +02:00
Piotr Sarnacki
e1b5e5d883 Rename routeTo to routeToPath
Ember already uses routeTo, we don't want to override this
2013-06-07 15:59:47 +02:00
Piotr Sarnacki
9eafd917ab Properly check for lastBuild on repo in routes 2013-06-06 21:28:55 +02:00
Piotr Sarnacki
ca835f5a1c Use CONFIG_KEYS in formatConfig 2013-06-06 19:06:32 +02:00
Piotr Sarnacki
299e227342 Add go config to the matrix 2013-06-06 15:39:39 +02:00
Piotr Sarnacki
58d3795644 Properly set model on build controller on build/show 2013-06-05 12:45:35 +02:00
Piotr Sarnacki
0d12176239 Don't error out if router is not yet setup
When router is not set up yet sending events to it will fail. If that's
the case, we can just swallow the error, because afterSignIn will take
effect only if we are already in some state in the router.
2013-06-05 12:43:27 +02:00
Piotr Sarnacki
50cdc4cf98 Move checking for errors to router rather than template
Previously we were checking if we should display an error message by
adding if statements in a template. This is not the best way to do
it, because it clutters a template and makes code harder to follow.

In this commit I move rendering error templates to the router. Code for
rendering error when there is no builds is not the best way to do it
either, but it can be improved when new router changes are merged to
Ember's master and a way Ember Data is handling promises is revised and
improved.
2013-06-05 11:37:29 +02:00
Piotr Sarnacki
f87e4108a8 Rethrow error if the error coming from router is not "Route missing" 2013-06-05 11:37:28 +02:00
Piotr Sarnacki
6bc7b69088 Refactor a way we setup things on repo controller
Till now, when switching between different views, we were switching
different bindings on repo controller. This was quite innefficient,
because then we needed to add bindings also from other controllers and
it's hard to manage such structure when we would like to add specialized
controllers (like LogController).

The new setup is more declarative, meaning that we do such things on the
router and set things on proper controllers. The only drawback is that
now we need to setup a few observers instead of bindings for "current"
views (ie. when viewing the newest repo or when viewing the last build
in current repo).

At this point it may not look like huge improvement, but it will open a
way to more refactorings.
2013-06-05 11:37:28 +02:00
Mathias Meyer
f6fde27258 Refine sidebar GA details. 2013-06-01 10:17:56 +02:00
Mathias Meyer
494ab53f83 Add tracking link tags. 2013-06-01 10:06:10 +02:00
Mathias Meyer
17a4ef79a7 Add help section and a link to travisci.com. 2013-05-31 21:47:56 +02:00
Mathias Meyer
a0ab577b6c Add RGSoC logo to the top of the sidebar.
Remove the current sponsors from the sidebar.
2013-05-31 21:17:06 +02:00
Piotr Sarnacki
aaf35365b1 Don't process pusher events immediately when running in background
When user has Travis CI's web page open in the background we should not
process pusher events immediately, because she will not see the changes
on a page anyway. During peak hours we can get several messages per
second, which requires some CPU work almost all the time. By using
visibility API we can detect if the tab with Travis CI is in the
background and if that's the case we will process pusher messages in
batches every 5 minutes. This is much better for the CPU, because it
means one bigger spike every few minutes and additionally some of the
updates don't have to be done (for example if we get several job:started
events, Ember's run loop will process only last one when it comes to
rendering 'current' build).
2013-05-29 16:54:12 +03:00
Piotr Sarnacki
8004766cfe Don't set sortProperties to null
Sorting could be triggered on controller and then when tab would be
switched, nullified sortProperties can result in an error.
2013-05-29 13:51:21 +03:00
Piotr Sarnacki
05859a5a3c Use visibility.js to run timer updates
Visibility.js provides a thin wrapper over page visibility API, which
allows to detect if page is currently visible by user. This allows us to
stop live updates when it's not needed. This is especially easy in case
of timers, because Visibility.js provides setInterval replacement, which
runs given code only when page is visible.

A lot of ❤️ for @tchack, who showed me visibility.js!
2013-05-29 13:42:51 +03:00
Piotr Sarnacki
4288e79044 Change Ember.run.later to setTimeout in periodic actions
It seems that running Ember.run.later periodically can cause CPU usage
to increase over time. Such increase adds up to already increasing CPU
usage because of data amount growing.

This commit tries to mitigate the issue by using setTimeout instead
2013-05-29 11:17:58 +03:00
Mathias Meyer
b761536d80 Add newsletter link to "Community" menu. 2013-05-24 16:19:31 +02:00
Henrik Hodne
e659659861 Download 2x images from Gravatar
This will make them look nicer on Retina screens. We may want to make
them even bigger if people are increasing the size of the page on
Travis, but doing that causes all kinds of alignment issues, so it's not
necessary to do now, I think.
2013-05-22 13:09:24 +02:00