arrayComputed was added recently in order to make array computations
easier. Using arrayComputed we can improve LimitedArray which now uses
an isolated multipurpose Ember.computed.limit.
Rendering views outside of routes cycle seems problematic at the moment,
so redirection is our best bet. However, the way I initially did it in
cc90200 causes problems for people who don't have any own repositories
set up for Travis CI, but still want to log in and browse around -
rendering getting started page as a full page hides left sidebar with a
list of repositories.
This commit changes getting started page to render in the main outlet,
just as before redirection changes.
It would be nice to allow to just render getting started page, but
because of the way we manage layouts, it's hard to get it running
without weird bugs popping up now and then. This should be easier to
achieve once the templates are cleaned up to use better laout
management.
Hook switches are toggled in the controller "toggle" action, so if we
toggle them in the component and then in the controller, it will just
return to the original state.
This reverts commit 357b176f93.
This commit seems to be where the bug with enabling hooks was
introduced, and reverting this commit seems to fix that bug.
Conflicts:
assets/scripts/app/controllers.coffee
assets/scripts/app/templates/repo/settings.hbs
I found the commit that caused the bug that caused me to do the last
revert. I'm therefore reverting the previous revert and I will be
committing a revert that reverts the commit that introduced the bug. See
next commit.
This reverts commit db2d38a7af.
A better way is to provide Travis.Route, which will be used by default
when generating route objects.
There is also no need to define actions for all the routes as they are
needed only in ApplicationRoute (ie. when they're not handled by other
routes).
By default Ember.js will use either IndexLoadingRoute or index/loading
template. Before this commit we were specyfing IndexLoadingRoute, which
was renderring index_loading template. This is not needed as long as we
use index/loading template - the effect is the same, but we use a
default.
If you can see the repository, then you should also be able to see the
status of said repository (and status image), so you should also be able
to copy the link to a status image.
Closetravis-ci/travis-ci#1881.
It seems that directly setting location.hash directly doesn't play nice
with Ember.js URL handling - using it to handle line numbers results in
weird bugs (URL stops being updated after setting hash manually).
This commit gets back to using window.history.pushState() which was
changed to direct hash manipulation in ff1aad3
After changes in travis-core, irrelevant headers are removed when matrix
is expanded. For example python version is removed from a ruby build.
Build's config is not altered, so in order to get only effective keys,
we need to iterate over jobs.
For some reason (I haven't had time to debug it) when we don't use named
outlet rendering "into" does not work in certain circumstances (for
example in index current view, where repos are changed automatically).
This commit contains a settings pane implementation. There are a couple
of things here, which are not used yet, like advanced form helpers. I'm
leaving them here, because the plan is to add support for more settings
soon (like: include/exclude branch patterns), which will need these
helpers.
There is also tabs support, although in the current version there is
only one tab (initially it was created for supporting general tab and
notifications tab).
fetch method returns a promise instead of an actual object. We used find
before, because this was the way we did things before upgrade to Ember
Model. Returning a promise from a model hook pauses router rendering for
the time a resource is loading, which makes it much easier to deal with
asynchronous requests. Thanks to that we can remove parts of the code,
which dealt with it manually.
After update specs fail when there is an unexpected ajax query, because
the response is not an ajax response.
A long term solution is to remove mockjax from specs, because it makes
them brittle and they usually fail after small changes. A better
approach would be to use fixtures, which are available for ember model
When a lot of pusher events come with build updates, lastBuildDidChange
can run quite frequently. We can avoid that by using scheduleOnce, which
will ensure that only the last invocation of lastBuildDidChange will be
run for a given runloop run.
Don't successfully `githubify` strings prepended with an `@` symbol if
what's matched actually resembles an email address. @mentions should
only be githubified if there is a word boundary before it.
This fixestravis-ci/travis-ci#1591
Signed-off-by: David Celis <me@davidcel.is>
lastBuildHash uses information for last build, which is available on the
repo object, so it will not trigger an ajax request if we haven't
fetched a build yet.
When first sync template is displayed, user usually doesn't have any
repos, which also triggers rendering of getting started template. The
fix for this is to handle the action to render getting started page on
first sync and do nothing in such case.
I also added a test to ensure that it works correctly.
When user activates a repository in the profile page, we now will
display this repository on the 'My Repositories' list. When user chooses
this repository, she will see an explenation why there is no builds and
what could be done to fix this.
Conflicts:
assets/scripts/app/controllers.coffee
assets/scripts/app/models/repo.coffee
assets/scripts/app/templates/repos/list.hbs
Ember Model does not do it automatically. I had a patch, which was
changing that, but after giving it more thought, I think it's not a good
idea - this should be up to adapter if the records are going into
record arrays.