-
Notifications
You must be signed in to change notification settings - Fork 616
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Activating Open Collective #205
Open
monkeywithacupcake
wants to merge
66
commits into
kwk:master
Choose a base branch
from
opencollective:opencollective
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
As explained here: http://stackoverflow.com/questions/17080494/using-grunt-server-how-can-i-redirect-all-requests-to-root-url The server needs to rewrite all URLs (e.g. /home or /repositories) to index.html for HTML5 URLs to work.
This reverts commit 2fe27a2.
Now all files dealing with repositories reside in app/repository and all dealing with tag reside in app/tag. That's far more easy to maintain than having tag files spread across multiple folders.
We can now navigate forward through all images inside a v2 registry. The default page size is 10 but it can be changed to some other numbers as well. The unused repository selector files have been removed. The repository list directive was moved to the repository list html template for simplicity. The repository list no longer says that it searches for repos but filters repos on the current page. The bottom delete repos button has been removed in favor of more space for the pagination controls. The pagination works as described here: https://github.com/docker/distribution/blob/master/docs/spec/api.md#pagination We take the "Link:" header parameter from the response and extract portions of it to formulate the next request. As usual, each page is addressible via the URL. Note that when changing the number of repositories per page we have no other way but to go to page 1 and show at max the number of repositories selected. There's no way to find out how many repos are there so we cannot provide page links. Only forward navigation is possible.
The current implementation is basic only. Basically all columns have been removed just to show the tag name and that's it. This will be adjusted further in the near future.
only rough browsing capabilities are implemented right now.
Previously a lot of useless AJAX request have been made for each tag. Those requests where necessary in v1 but not in v2 where they don't do anything. The tag listing is cleaned up a log.
fix small typo
Setting ProxyPreserveHost to its default value: Off
…onnect downgrade grunt-contrib-connect 0.10.1
updates the development installation instruction for using own registry
Based on this documentation, I've added a file with an issue template: https://help.github.com/articles/helping-people-contribute-to-your-project/
Revert changes on default projet file Add detailed information for tag listing Removed useless comments, divs, etc -> refactoring Prevent bugs from future changes of API Add digest attribute to Manifest query response Add basic pagination support to tag listing Add environment variable for tags per page Fix bug of image history without config + disabled parent id Fix tags pagination system - Fetch infos for all pages add missing comma Fetch infos for all pages -> simpler fix Disable apache directory listing feature Update tag pagination system to make it feel more like repository pagination system
In particular, make `npm run server` and `npm test` and work.
* develop/README.md: Fix link Fix link to develop/docker-compose.yml which had square brackets and parentheses interchanged. * develop/README.md: Add YAML syntax highlighting to `docker-compose.yml` snippet. * develop/README.md: Fix link to Gruntfile.js * develop/README.md: Highlight Gruntfile.js as Javascript.
* Make "npm test" run Karma tests Result is this: ``` $ npm test > [email protected] pretest /Users/marca/dev/git-repos/docker-registry-frontend_2 > npm install > [email protected] postinstall /Users/marca/dev/git-repos/docker-registry-frontend_2 > bower install > [email protected] test /Users/marca/dev/git-repos/docker-registry-frontend_2 > karma start test/karma.conf.js 09 07 2016 13:36:20.771:WARN [karma]: No captured browser, open http://localhost:8080/ 09 07 2016 13:36:20.781:INFO [karma]: Karma v1.1.1 server started at http://localhost:8080/ 09 07 2016 13:36:20.782:INFO [launcher]: Launching browser PhantomJS with unlimited concurrency 09 07 2016 13:36:20.788:INFO [launcher]: Starting browser PhantomJS 09 07 2016 13:36:21.250:INFO [PhantomJS 2.1.1 (Mac OS X 0.0.0)]: Connected on socket /#Z4MF21dfMgThOi3zAAAA with id 9538616 PhantomJS 2.1.1 (Mac OS X 0.0.0) Controller: MainCtrl should attach a list of awesomeThings to the scope FAILED forEach@bower_components/angular/angular.js:326:24 loadModules@bower_components/angular/angular.js:4115:12 createInjector@bower_components/angular/angular.js:4041:22 workFn@bower_components/angular-mocks/angular-mocks.js:2464:60 loaded@http://localhost:8080/context.js:151:17 bower_components/angular/angular.js:4155:53 TypeError: undefined is not an object (evaluating 'scope.awesomeThings') in test/spec/controllers/main.js (line 20) test/spec/controllers/main.js:20:17 loaded@http://localhost:8080/context.js:151:17 PhantomJS 2.1.1 (Mac OS X 0.0.0): Executed 1 of 1 (1 FAILED) ERROR (0.005 secs / 0.006 secs) ``` Fixes kwk#139 * Make MainController tests work This makes the `MainController` tests pass. ``` $ npm test > [email protected] pretest /Users/marca/dev/git-repos/docker-registry-frontend_2 > npm install > [email protected] postinstall /Users/marca/dev/git-repos/docker-registry-frontend_2 > bower install > [email protected] test /Users/marca/dev/git-repos/docker-registry-frontend_2 > karma start test/karma.conf.js 09 07 2016 17:06:59.974:WARN [karma]: No captured browser, open http://localhost:8080/ 09 07 2016 17:06:59.986:INFO [karma]: Karma v1.1.1 server started at http://localhost:8080/ 09 07 2016 17:06:59.986:INFO [launcher]: Launching browser PhantomJS with unlimited concurrency 09 07 2016 17:07:00.133:INFO [launcher]: Starting browser PhantomJS 09 07 2016 17:07:01.051:INFO [PhantomJS 2.1.1 (Mac OS X 0.0.0)]: Connected on socket /#6enEIdsugSVdKVioAAAA with id 62465837 PhantomJS 2.1.1 (Mac OS X 0.0.0): Executed 1 of 1 SUCCESS (0.004 secs / 0.024 secs) ``` * test/karma.conf.js: Add more files E.g.: - angular-bootstrap, - angular-bootstrap-checkbox - angular-filter - angular-loading-bar - angular-moment - angular-smart-table I also alphabetized the list to make it easier to check if something is already included. * test/karma.conf.js: Add 'dots' reporter * Add app/app.spec.js `app/app.spec.js` contains tests for various routes, which should be very useful for finding and fixing routing bugs. See: - kwk#97 - kwk#100 - kwk#104 - kwk#121 * Enable junit and spec Karma reporters * app/app.spec.js: Check scope attributes * app/app.spec.js: Check scope.appMode * test/spec/controllers/main.js: Check appVersion & registryHost * MainController: use registry-services In `MainController`, depend on the `registry-services` module instead of the `registry-host-services` module. * Remove app/services/registry-host-services.js Remove `app/services/registry-host-services.js` because it seems to be an older, unused version of `app/services/registry-services.js` * repository-list-controller: Add dependencies Specify that the `repository-list-controller` module depends on `ngRoute` and `ui.bootstrap` modules. Otherwise controller tests of this module fail. * $scope.repositories = data; In `repository-list-controller`, do: $scope.repositories = data; in the promise callback. Otherwise, the new tests in `app/repository/repository-list-controller.spec.js` fail. This is because promises get resolved in templates but not in until tests -- see http://stackoverflow.com/questions/15048132/angularjs-promise-not-being-resolved-in-unit-test * Add unit test for RepositoryListController in `app/repository/repository-list-controller.spec.js`. RepositoryListController ✓ should attach some keys to the scope * Gruntfile.js: Use DOCKER_REGISTRY_{HOST,PORT} Use `DOCKER_REGISTRY_HOST` and `DOCKER_REGISTRY_PORT` environment variables so that one can specify a custom Docker registry server while developing, without hacking `Gruntfile.js`.
Remove `app/services/registry-host-services.js` because it seems to be an older, unused version of `app/services/registry-services.js`
Use `DOCKER_REGISTRY_HOST` and `DOCKER_REGISTRY_PORT` environment variables so that one can specify a custom Docker registry server while developing, without hacking `Gruntfile.js`.
…istry-frontend into msabramo-npm_run_server
See also PR kwk#140 for more information on tests.
* Try to trigger tests with travis * Updgrade to node 4.4.7 in travis * Update .travis.yml * Use correct single run test script
For a tag item, there exists a time interval between receiving its name and its manifest. That will result in some jitter when loading. Signed-off-by: lijun <[email protected]>
* Uncomment test for no repositoryUser in `app/app.spec.js`, so I can work on getting this case working. * Add $log to repository-detail-controller * Set $scope.repository properly even if no user Check if `$scope.repositoryUser` is defined and if it's not, set `$scope.repository` simply to `$scope.repositoryName`. * Add route for repo with no repositoryUser * Make tagsPerPage dropdown use query string vars instead of putting `tagsPerPage` in the route part of the URL, which makes it difficult to distinguish between `repositoryName` and `tagsPerPage`, because the routes are too similar. * Make first/next links use query string vars instead of putting `tagsPerPage` in the route part of the URL, which makes it difficult to distinguish between `repositoryName` and `tagsPerPage`, because the routes are too similar. * Move defaultTagsPerPage from `RepositoryListController` to `TagController`. I think it makes more sense to read `defaultTagsPerPage` in `TagController` than to do it in `RepositoryListController` and have to pass it in URLs. * Fix "Details for repository" for repo w/ no user * Fix breadcrumb when no repositoryUser * Remove tagsPerPage/tagPage from repo detail routes * Update unit tests to use tagsPerPage qs param Updated the unit tests to page `tagsPerPage` as a query string parameter rather than in the route. * Uncomment assertions about scope.reposPerPage an make them work by casting string to an int with `parseInt`. * Make /tag work for image with no repositoryUser * repository-detail.html: Fix breadcrumb link for case when there is no `repositoryUser`. * tag-detail.html: Fix breadcrumb link when image has no `repositoryUser`. * tag-detail.html: Fix shown docker pull command when image has no `repositoryUser`. * tag-detail.html: Show docker pull cmd in code font I think it looks better.
as far as I can tell, there is no `RepositoryController` controller, so this route is not useful.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi, I'm making updates for Open Collective. Either you or a supporter signed this repo up for Open Collective. This pull request adds backers and sponsors from your Open Collective https://opencollective.com/docker-registry-frontend ❤️
It adds two badges at the top to show the latest number of backers and sponsors. It also adds placeholders so that the avatar/logo of new backers/sponsors can automatically be shown without having to update your README.md. [more info]. See how it looks on this repo.
We have also added a
postinstall
script to let people know afternpm|yarn install
that you are welcoming donations (optional). [More info]You can also add a "Donate" button to your website and automatically show your backers and sponsors there with our widgets. Have a look here: https://opencollective.com/widgets
P.S: As with any pull request, feel free to comment or suggest changes. The only thing "required" are the placeholders on the README because we believe it's important to acknowledge the people in your community that are contributing (financially or with code!).
Thank you for your great contribution to the open source community. You are awesome! 🙌
And welcome to the open collective community! 😊
Come chat with us in the #opensource channel on https://slack.opencollective.com - great place to ask questions and share best practices with other open source sustainers!