zhiminy/EvalEng huggingface dataset:
Repository: Cloud-CV/EvalAI
Issue: Add Affiliation in Update Profile View
GitHub labels: enhancement

GSOC-2019

easy_to_fix

frontend

Currently the user cannot set his affiliation to any organization. We would like to add the Affiliation to Update Profile view. 

i want to work on it. @deshraj @TroJan  

Sure, go ahead. :) 

@deshraj  is there a file or an issue that explains the code structure of the site. I'm having touble  in figuring out  which file to look at .

@DaivikDave you have to make changes in the file https://github.com/Cloud-CV/EvalAI/blob/master/frontend/src/views/web/update-profile.html and to its controller that is here https://github.com/Cloud-CV/EvalAI/blob/master/frontend/src/js/controllers/updateProfileCtrl.js



You will become familiar with the codebase as you start play around with it on your local machine. 

Yeah i viewed some python scripts and will work university affiliation and
some more issues. Can i mail you if i have some doubts?

On Wed, 29 Mar 2017 at 9:36 AM, Deshraj Yadav <notifications@github.com>
wrote:

> You will become familiar with the codebase as you start play around with
> it on your local machine.
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/Cloud-CV/EvalAI/issues/886#issuecomment-289976290>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/AT3_1VSZXsf9OwjlNdQMs_KoPJhFGBUyks5rqdi5gaJpZM4MrMSN>
> .
>


It would be great if you can comment here on the respective issues/PRs. We can also talk on gitter. There other contributors can also help you in making contribution to the project (faster way of communication). You can also mail me. :) 

i have added university affiliation in html ,updateprofile.js, profile.html  but its not getting  updated.Also the university data is not fetched when i refresh the updateprofile.html.Is there a controller for profile.html? @deshraj @TroJan  @spyshiv 

@DaivikDave I would recommend opening a PR on your current work. That way we can take a look at your code and help direct you better. :)

@deshraj is this still open? I would like to work on it if it is. 

@anirudhvenu yes it is open. go ahead!

@anirudhvenu Any update on this ?

@RishabhJain2018 Sorry for the delayed response. I changed update-profile.html, profile.html and updateProfileCtrl.js, however the affiliation is still not getting updated in the back-end. I have submitted a PR, would you be able to take a look at it? 

@anirudhvenu  Yes sure. I will review it :)

@RishabhJain2018  If nobody is working on it, can I take this?


I guess we have to wait for the resolution of the previous PR. @anuj-rathore you should see what needs to be added on top of that in order to close this issue.
Repository: Cloud-CV/EvalAI
Issue: Change 'visible' field in Team model
GitHub labels: enhancement

GSOC-2019

easy_to_fix

backend

Currently the `visible` field is set to `True` as default in the Team model. We would like to set it to False. 

The line to be changed is https://github.com/Cloud-CV/EvalAI/blob/master/apps/web/models.py#L38

@deshraj can I do this?


Yep Sure. 

Fixed with #892
Repository: Cloud-CV/EvalAI
Issue: Add API Endpoint to add contributors in Team list
GitHub labels: enhancement

GSOC-2019

easy_to_fix

backend

### Objective

Build API Endpoint for adding new contributors to the Team Page

Method: `POST`
Endpoint: `/api/web/team`
Fields to accept: `Name`, `Email`, `Headshot`, `github_url`, `linkedin_url`, `personal_website`, `background_image`, `team_type='Contributor'`

Dependent on #889 

I want to take this one.

Could you please tell what permissions are needed for this method?

Thanks

There are no permissions associated with this API Endpoint. Anyone can access this. 

Fixed with #899
Repository: Cloud-CV/EvalAI
Issue: Create a View to add contributors to Team Page
GitHub labels: enhancement

GSOC-2019

medium-difficulty

frontend

Dependent on #889 and #890 

@deshraj  I would take this one if you don't mind

Sure. :) 

Could you please clarify, you want to have a view on the page **SERVER/team**?
Thanks

@artkorenev I didn't get your question here. Could you please elaborate more here? 

Sorry, I wanted to clarify whether I should provide a view to this page https://evalai.cloudcv.org/team?

@artkorenev I may be incorrect and @deshraj could provide more details, but having this view in the Admin panel makes more sense since this is primarily for the maintainers to update.

@varunagrawal we wanted to keep it client side so that the contributors can fill the form themselves and then we can approve it at the backend. Please let me know if you have a better idea in mind. Welcome for new suggestions. :) 

Wouldn't it be cool if we could just use the Github API? 
[This](https://developer.github.com/v3/repos/#list-contributors) page tells us how to retrieve the list of contributors directly from the repo.

@varunagrawal this sounds like a good idea but then we won't be able to update the personal website URL, LinkedIn URL and background image for the contributors. 

So here's an idea:
1. Set up Github webhook to fire whenever a PR is merged.
2. The webhook triggers an endpoint to query Github API for new contributors.
3. New contributors are added to the DB using their email from Github. If they have an account already, then continue, else send an email to the user saying they have been added as a contributor and they need to click a link to confirm their account creation.
4. The user can now sign in and update their details as required, adding the various URLs and images.

@varunagrawal This solution sounds perfect but might be an overkill to write code for this particular feature and not worth it. We could look for other Open Source Projects and see how they do it. 

One way is to create `CONTRIBUTORS.md` (most popular way of doing this). We might just parse it using a python script and add new contributors to the database accordingly. 

@TroJan do you have thoughts for this?

@deshraj yeah it may be overkill for the simplicity of this feature. I was gunning for a fully automated process that required no work from us in the future. :blush: 

@deshraj : i think github approach would be an overkill right now. However I really appreciate your efforts @varunagrawal 

Cool. @artkorenev so can you please create a view similar to the `contact us` view?

@deshraj sure

@artkorenev are you still working on this? Please let me know so that I can assign it to someone else if you are not working on this issue. 

@deshraj sorry for the delay. Yeah, I am working on it. I have been a little bit overwhelmed with side activities for a couple of days.

No worries. Please keep me posted if something comes up. :) 

Not needed anymore.
Repository: Cloud-CV/EvalAI
Issue: Show number of remaining submissions on Submission Page
GitHub labels: enhancement

medium-difficulty

frontend

backend

### USE CASE

Whenever a user tries to make a submission to a particular phase, then we should show these details: 
- Number of submissions he can do for that particular day
- Number of overall remaining submissions he can do in total

### TODO

- [ ] Add support of query params where the keys can be `date`(date in particular format DD-MM-YYYY comes here)
- [ ] On Challenge Submission view, calculate the remaining daily submissions and remaining total submissions using the results of challenge phase API and submission API on the client side and bind it with the view. This will keep getting updated as the user chooses a different phase.
- [ ] Also show the time remaining so that the user knows that when he can make his next submission to that particular phase.

Please let me know if something is unclear. 

@deshraj Can I work on this ?

Sure.
Repository: Cloud-CV/EvalAI
Issue: Add unique property to DatasetSplit codename
Root cause: Validation Gap

Currently, there can be multiple dataset splits with the same codename and it leads to the exception of `MultiplObjectsReturned` in submission worker. 

### TODO
Add the unique property to `codename`  field in DatasetSplit model.

@deshraj I want to take this up.

Yeah sure. Assigning it to you. :) 

Fixed in #927
Repository: Cloud-CV/EvalAI
Issue: Blog link not working in footer.

In the footer `Blog` is not hyperlinked.

@RishabhJain2018 can you please provide detail about what the blog link should be? I don't see any URL setup for the blog in the code so I am guessing the blog will be hosted separately?

@varunagrawal I think @deshraj or @dexter1691  can better answer this query. Actually I found it not working, so I opened up a issue so that we should not forget it in future. Let's wait for their answer. 

Thanks @RishabhJain2018 for opening this issue. We will host the blog separately using Github Pages. We haven't started working on the theme selection for the blog. We will start working on this soon. 

Closing this one since currently, we have removed the blog link from the web app.
Repository: Cloud-CV/EvalAI
Issue: Permission Denied - Unable to create or select a team
Root cause: Documentation Deficiency

I signed up and also verified my email twice, but when I click on Show all challenges --> View Details, i get this error everytime
<img width="1412" alt="screen shot 2017-04-12 at 10 48 11 am" src="https://cloud.githubusercontent.com/assets/11489650/24967031/5e32e41e-1f6e-11e7-9bfb-39a0eb5ba8e1.png">

Is it a known issue?


@yogeshdarji99 this is not an issue. Can you please check `Email Address` model on django admin and see if the email is verified actually or not? 

@yogeshdarji99 when you created your account using the `dev.py` settings, the email verification link is output to your terminal. You need to copy and paste that link in your browser to allow EvalAI to confirm your account.

Fixed in #940
Repository: Cloud-CV/EvalAI
Issue: Server is not running on gulp:dev runserver

Due to breaking lint injection, lint is not working properly on calling gulp:devrunserver.

Call lint on starting of watch task too. It is working when it detects any file change so make it for first call too.

@RishabhJain2018 Next time try to check all the possible cases please!

@aka-jain yeah sure. I apologise for it.

@aka-jain did you identify the problem? If yes, can you please share? This is blocking testing for #913.

This is resolved in #938. Closing this now.
Repository: Cloud-CV/EvalAI
Issue: Issue and Pull Request Templates

It would be super useful to have an Issue and a Pull Request template as described [here](https://github.com/blog/2111-issue-and-pull-request-templates).

This would allow better management of submitted issues and PRs by the maintainers by maintaining consistency from contributors.

### Plan
- [ ] Discuss the correct format for the various templates.
- [ ] Create a `.github` directory.
- [ ] Create the template files and add them to the repository.
Repository: Cloud-CV/EvalAI
Issue: Teams: A user can participate in a Challenge through multiple teams
GitHub labels: bug

hard-to-fix

backend

critical

### Observed behaviour

#### Steps to reproduce
1. User X participated in Challenge C with team T1
2. User Y created a team T2
3. User Y invited User X to team T2
4. User Y can participate in challenge C with team T2

### Expected behavior
Step 4 should not be allowed since user X has already participated in the challenge with Team T1. And hence user Y should be asked to choose a new team to participate in the challenge.
Repository: Cloud-CV/EvalAI
Issue: RabbitMQ: Connection closed problem
Root cause: Configuration Error

### Issue encountered
```shell
ConnectionClosed: null
  File "workers/submission_worker.py", line 504, in <module>
    main()
  File "workers/submission_worker.py", line 500, in main
    channel.start_consuming()
  File "pika/adapters/blocking_connection.py", line 1681, in start_consuming
    self.connection.process_data_events(time_limit=None)
  File "pika/adapters/blocking_connection.py", line 647, in process_data_events
    self._flush_output(common_terminator)
  File "pika/adapters/blocking_connection.py", line 395, in _flush_output
    raise exceptions.ConnectionClosed()
```

### Cause

It seems like whenever a job is published to the RabbitMQ exchange, then the connection is not closed and it leads to timeout after some time. Note: The issue can be somewhere else also. 

Problem was probably at RabbitMq's end. This [question](http://stackoverflow.com/questions/37321089/rabbitmq-pika-exceptions-connectionclosed) helped a lot in digging.

As of now I have set the heartbeat to zero on server. This can be a permanent fix but waiting to find some better solution
Repository: Cloud-CV/EvalAI
Issue: Allow console statements in development enviornment
GitHub labels: medium-difficulty

frontend

### Current Behaviour

The `lint` task throws an error if we add console statements in the developement environment but it should be ideally allowed. See screenshot below for more details. 

![screen shot 2017-04-23 at 5 37 31 am](https://cloud.githubusercontent.com/assets/2945708/25312446/fce36c0c-27e6-11e7-8e7a-78187b6ff02a.png)

### Expected Behaviour

Allow the console statements in the development enviornment. 

Fixed in #983.
Repository: Cloud-CV/EvalAI
Issue: Tests: Inconsistency in unittests for URL Patterns
GitHub labels: bug

easy_to_fix

backend

### Issue

The tests for URL Patterns are inconsistent. For reference, see this https://github.com/Cloud-CV/EvalAI/blob/master/tests/unit/challenges/test_urls.py#L68


There is no `challenge_phase` being created in the test and challenge_pk is passed in the URL instead of `challenge_phase_pk`. 

### How to fix

1. Create a challenge_phase for the challenge created in the tests.
2. Pass the `challenge_phase_pk` instead of `challenge_pk` in the URLs wherever required. 

@deshraj I also noticed that the urls are not tested in a manner that they connect to correct view. 
For Reference please see http://stackoverflow.com/questions/18987051/how-do-i-unit-test-django-urls 
I think we should also add this. What do you say ?

Yeah I agree. We have not covered the tests where we check if the particular URL pattern matches with the particular view. Please let me know if you want to take lead on this. 



But I think it would be great if you can finish the currently assigned issues first before jumping on this one. 

@deshraj Yeah, I would like to work on this but after completing all the assigned issues. :+1: 

Sounds good. 

@RishabhJain2018 Are you planning on working on this? I'll be happy to take over if you have some other things to work on.

@isht3 Yeah sure, you can take this up.

@RishabhJain2018 are we doing it the method you mentioned in the SOF answer?

@isht3  I think so , but I would like to ask @deshraj @taranjeet for their views over this.

@isht3 : as @deshraj said, first we would like to complete this issue. We will open another issue where in we will cover the said thing in SO answer.

Can you take this up quickly and get it released in master? 

@taranjeet Sorry, I might've missed this notif. Ill get right on it. :+1:
Repository: Cloud-CV/EvalAI
Issue: Create endpoint to update a particular ChallengeHostTeam details

Details about the endpoint:

Url: /api/hosts/challenge_host_team/<challenge_host_team_id>/
Header: Authorization: Token
Method: PUT/PATCH
Response:
status on success: HTTP_200_OK
status on exception: HTTP_406_NOT_ACCEPTABLE
status on Unauthorized access: HTTP_203_NON_AUTHORITATIVE_INFORMATION

Merged in #108
Repository: Cloud-CV/EvalAI
Issue: Create endpoint to delete a ChallengeHostTeam

Details about the endpoint:

Url: /api/hosts/challenge_host_team/<challenge_host_team_id>/
Header: Authorization: Token
Method: DELETE
Response:
status on success: HTTP_200_OK
status on exception: HTTP_406_NOT_ACCEPTABLE
status on Unauthorized access: HTTP_203_NON_AUTHORITATIVE_INFORMATION

Merged via #109
Repository: Cloud-CV/EvalAI
Issue: Unnecessary Information on First Load 
GitHub labels: bug

easy_to_fix

frontend

#### While loading the website `without login` for the first time, some content appears for 2-3 ms which get disappear after the animations are introduced.

### Steps to reproduce
- Go to https://evalai.cloudcv.org/
- Refresh the page and see the top right corner.
OS : `Ubuntu 14.04`
Browser: `Chrome Version 57.0.2987.133 (64-bit)`
### `Bug`
![45](https://cloud.githubusercontent.com/assets/12194719/25576554/c14ec57c-2e7d-11e7-9762-d5febde602e8.png)

### ` Expected `

![correct](https://cloud.githubusercontent.com/assets/12194719/25576731/b879330a-2e7e-11e7-8b4d-10c7ad01c157.png)




Thanks!


@aayusharora welcome!!!! Thanks for opening the issue. It would be really great if you can suggest a fix for the same. :) 

Yeap, we have to replace ng-hide/ng-show with ng-if here. Forgot to make it correct. Thanks @aayusharora  for pointing this out. Would you like to work on this?

Sure @aka-jain Will it be fine to send a PR in 2-3 days. I am stuck in exams.
Thanks :)



Yeah, sure @aayusharora. Do it whenever you get time.

Solves the issue here https://github.com/Cloud-CV/EvalAI/pull/988 @aka-jain @deshraj.
Repository: Cloud-CV/EvalAI
Issue: Protect submission URL for non participated user.
GitHub labels: bug

GSOC-2019

easy_to_fix

frontend

Go to http://localhost:8888/web/challenges/challenge-page/2/submission without having any participated team, the page redirects to submission page with blank view.

**What to do?**
Show message and participation button to participate first on blank area.

@deshraj any suggestion for this?

Agree. This sounds like a good solution. 

@aka-jain can I take this one ? 

Sure @anweshknayak, go ahead. Assigning it to you.

This is already fixed and hence closing it.
Repository: Cloud-CV/EvalAI
Issue: UX Improvements for Mobiles
Root cause: Unimplemented Feature Gap

- [ ]  No way to logout on small screens.
- [x]  Animations on small screens create UX problems as they are not responsive [ Suggestion needed ]
- [ ]  Absence of Information => No Participate button in Mobile View
- [x]  Breaked Layout on Mobiles
## Observed Behaviour 
![galaxys5](https://cloud.githubusercontent.com/assets/12194719/25721719/25646842-312f-11e7-971e-d2e64d30fd88.png)
![67](https://cloud.githubusercontent.com/assets/12194719/25722806/1506ee30-3133-11e7-863d-d6cf1ee907c3.png)
![breakedlayout](https://cloud.githubusercontent.com/assets/12194719/25723001/e060486a-3133-11e7-950c-bcb29a49d69f.png)


## Expected Behaviour
- There should be a logout button on small screens.
- There should be a Participate button on small screens.
- Animations can be replaced by fixed images that take less load for mobiles.


@aka-jain @deshraj 
What are your views regarding this ?


Yes @aayusharora, the app is not responsive at this time. I will start working on mobile design soon. Will let you know when I finish up with the design.

Also, I agree with your points and will keep in mind. Thanks.

Something like this looks good @aka-jain @aayusharora 
![mobile](https://user-images.githubusercontent.com/8139783/35912713-619189c4-0c23-11e8-9033-f4ec6838f5be.gif)

Also the current responsive view takes too much space while the sidebar opens up. 

Also if we could bring in those group of birds falling from the top and the clouds in the background for responsive view?

@anweshknayak how you want this to apply, I'm not getting. 
Also, responsiveness has been solved so we're closing this issue. If you want to suggest something then please try to open new issue.
Thanks.
Repository: Cloud-CV/EvalAI
Issue: Removing Redundancy Using Custom Services 
GitHub labels: enhancement

medium-difficulty

frontend

There are some places in the Frontend Structure where the controllers and a single service are handling the Requests/Response, Loaders etc.
- Custom Services can be the best approach as any controller can use it, making the code cleaner and 
   usable.
#### One of the sample case of redundancy: ( Continuing from gitter discussion)
## Redundancy in the code can be removed:
[File1](https://github.com/Cloud-CV/EvalAI/blob/master/frontend/src/js/controllers/featuredChallengeCtrl.js)
and
[File2](https://github.com/CloudCV/EvalAI/blob/master/frontend/src/js/controllers/challengeHostTeamsCtrl.js#L3)
`vm.startExistLoader = function(msg) { vm.isExistLoader = true; vm.loaderTitle = msg; vm.loginContainer.addClass('low-screen'); };
    // stop loader
vm.stopExistLoader = function() { vm.isExistLoader = false; vm.loaderTitle = ''; vm.loginContainer.removeClass('low-screen'); };`

Thanks.

@aayusharora We are alredy using services for requests and responses, have a look again please.
Also try to open seperate issue for removing particular redundancy.

Would you like to work on loader redundancy?

@aka-jain IMHO, Generally an Angular service defined the purpose for which it is used. Here, the utility service contains all the functions, though it will work but will not be maintainable when codebase becomes large.
I would like to suggest breaking them into multiple services. I will create a separate issue to track this in detail.
Yes, I will be working for loader redundancy. :)
Thanks.

I agree and got your point, let's open a separate issue for that.
Assigning loader task to you for now.

@aayusharora any progress on this?

@aka-jain Solved here #1003
Repository: Cloud-CV/EvalAI
Issue:  Proper commenting in codebase.
GitHub labels: enhancement

GSOC-2019

frontend

@spyshiv we have to set standard comments in each file so that it will be easy for others to understand the codebase. Thoughts?

Let me know, so that we can start it with code refactor.

@aka-jain : it's a great initiative. 👍 
Let's do discussion somewhere else (I.e. share a Google doc) after then we'll update the wiki as well.

Great 👍

@aka-jain Is this issue available for people not doing GSoC? As I think that this would be a great opportunity for me to get familiar with the codebase.

Thanks for showing interest @isht3, and yes you are free to work on any issue. Will let you now once we decide the proper rules for commenting.

Thanks, @aka-jain .

@aka-jain Any updates?

Ummm....I think this cannot be an issue. Instead, we all should keep in mind that we should add comments in the code base whenever we are writing any piece of code. Hence closing this one.
Repository: Cloud-CV/EvalAI
Issue: Implement promises for code enhancement.
GitHub labels: enhancement

GSOC-2019

medium-difficulty

frontend

@spyshiv let's do this ASAP.

@aka-jain Can you please describe this more? Where are we going to replace callbacks with promises?
Well, I can also provide some inputs. 
Thanks.

@aayusharora wherever possible.
Basically, have to discuss it with @spyshiv first. Will let you know once we start it.

Can I help in this?

@rishabhja thanks for showing your interest but we haven't decided the code structure for promises yet, so can't start right now.
Will let you know once we finalize the structure for the same.

Closing this.
Repository: Cloud-CV/EvalAI
Issue: Remove Unused CSS 
GitHub labels: enhancement

easy_to_fix

frontend

Implementing this with a gulp plugin will be a good option. @spyshiv let me know if you would like to suggest any plugin which can help us to set the proper CSS styles. 

Hi, @aka-jain 
We can use this https://www.npmjs.com/package/css-purge to detect redundant CSS. Thanks :)

@aayusharora do you know any gulp module for CSS refactoring?

@aayusharora : css-purge is only for removing css duplications so we are not gonna use that.
We are using `purifycss`. It's quite interesting.
Source: [purifycss](https://github.com/purifycss/purifycss)

Hi @spyshiv @aka-jain Please correct the issue title to "Removing Unused CSS". I suggest purging because the issue talks about the redundancy. 


Agree @aayusharora. Updated the title. :) 

Closing this.
Fixed with #994 ,