Game for learning how to code.
Find a file
Phoenix Eliot 663c220eaf Show wev-dev iFrame error messages like Aether's
This heavily refactors SpellView and adds infrastructure for receiving and reporting Errors raised by the web-dev iFrame. The web-dev error system, the Aether error system, and the Ace html-worker avoid disturbing each others' errors/annotations (though currently Aether+web-dev errors won't coexist), and they clear/update their own asynchronously.

Show web-dev iFrame errors as Ace annotations

Add functional error banners (with poor messages)

Improve error banners, don't allow duplicate Problems

Refactor setAnnotations override

Convert all constructor calls for Problems

Add comments, clean up

Clean up

Don't clear things unnecessarily

Clean up error message sending from iFrame

Add web-dev:error schema

Clarify error message attributes

Refactor displaying AetherProblems

Refactor displaying user problem banners

Refactor onWebDevError

Set ace styles on updating @problems

Clean up, fix off-by-1 error

Add comment

Show stale web-dev errors differently
Some web-dev errors are generated by "stale" code — code that's still running in the iFrame but doesn't have the player's recent changes.
This shows those errors differently than if they weren't "stale", and suggests they re-run their code.

Hook up web-dev event schema

Destroy ignored duplicate problems

Functionalize a bit of stuff

Fix ProblemAlertView never loading
2016-08-31 10:59:06 -07:00
app Show wev-dev iFrame error messages like Aether's 2016-08-31 10:59:06 -07:00
bin Add Mongo 3.2 to list of allowed versions for running database 2016-01-11 11:18:14 -08:00
headless_client Implement headless verifier; fix headless client 2016-04-12 19:34:05 -07:00
scripts Remove email activities from close lead export script 2016-08-31 08:04:58 -07:00
server Show wev-dev iFrame error messages like Aether's 2016-08-31 10:59:06 -07:00
spec Fix POST /db/earned_achievement to be accessible to anonymous users 2016-08-31 10:07:19 -07:00
test Show wev-dev iFrame error messages like Aether's 2016-08-31 10:59:06 -07:00
vendor Remove jQuery minicolors 2016-08-27 23:03:25 +01:00
.gitignore Handle a couple errors I saw in the logs 2016-05-08 10:05:26 -07:00
.npmignore Ignore Dockerfile and add single core mode 2015-09-09 23:11:11 -04:00
.travis.yml Add compiler requirements to fix npm update 2016-07-15 13:43:08 -07:00
bower.json Remove old bower dependency on tablesorter 2016-07-28 19:03:25 -07:00
config.coffee WebSurfaceView now parsing player code through virtual DOM into iframe 2016-07-14 18:07:36 -07:00
CONTRIBUTING.md Revert "Revert "Connect over HTTPS"" 2015-03-01 16:16:25 +00:00
headless_client.coffee Implement headless verifier; fix headless client 2016-04-12 19:34:05 -07:00
index.js Have index.js check node version is >= 4 before continuing, for 2016-03-17 12:48:07 -07:00
karma.conf.js Fixed running tests with karma. 2015-02-05 13:58:07 -08:00
LICENSE Updated license's year to 2015 2015-03-05 16:13:17 +00:00
multicore.coffee Move worker died to eng channel 2016-05-11 05:57:04 -07:00
nodemon.json Update Vagrant setup scripts 2016-05-12 09:46:34 -07:00
package.json Update Aether version 2016-07-15 11:27:58 -07:00
README.md Tweak README wording 2016-08-30 16:17:58 -07:00
server.coffee Switch from jasmine-node to jasmine, run server tests on a single process 2015-12-09 14:27:10 -08:00
server_config.coffee Refactor remote server readpref and connection strings. 2016-08-16 13:35:15 -07:00
server_setup.coffee Finish new CreateAccountModal 2016-07-07 15:56:41 -07:00
sublime-project.json Implements the SPADE logger into the SpellView 2016-04-26 09:56:30 -07:00
Vagrantfile minor fixes 2016-05-27 10:42:21 -07:00
verifier.coffee Improve verifier. 2016-04-13 16:41:16 -07:00

CodeCombat

[![Build Status](https://travis-ci.org/codecombat/codecombat.png?branch=master)](https://travis-ci.org/codecombat/codecombat)

CodeCombat is a multiplayer programming game for learning how to code. See the Archmage (coder) developer wiki for a dev setup guide, extensive documentation, and much more to get started hacking!

It's both a startup and a community project, completely open source under the MIT and Creative Commons licenses. It's the largest open source CoffeeScript project by lines of code, and since it's a game (with really cool tech), it's really fun to hack on. Join us in teaching the world to code! Your contribution will go on to show millions of players how cool programming can be.

Getting Started

We've made it easy to fork the project, run a simple script that'll install all the dependencies, and get a local copy of CodeCombat running right away on Mac, Linux, Windows, or Vagrant. See the docs for details.

Getting In Touch

Whether you're novice or pro, the CodeCombat team is ready to help you implement your ideas. Reach out on our forum, our issue tracker, or our developer chat room on Slack, or see the docs for more on how to contribute.

Slack Status

License

MIT for the code, and CC-BY for the art and music. Please also sign the CodeCombat contributor license agreement so we can accept your pull requests. It is easy.

Join Us!

Nick Winter George Saines Scott Erickson Matt Lott Catherine Weresow Maka Gradin Rob Blanckaert Josh Callebaut Michael Schmatz Josh Lee Dan TDM Alex Cotsarelis Alex Crooks Alexandru Caciulescu Andreas Linn Andrew Witcher Axandre Oge Bang Honam Benjamin Stern Brad Dickason Carlos Maia Chloe Fan Dan Ristic Danny Whittaker David Liu David Pendray Deepak1556 Derek Wong Dominik Kundel Glen De Cauwsemaecker Ian Li Jeremy Arns Joachim Brehmer Jose Antonini Katharine Chan Ken Stanley Kevin Holland Laura Watiker Michael Heasell Michael Polyak Mischa Lewis-Norelle Nathan Gosset Oleg Ulyanicky Paul Buser Pavel Konstantynov Popey Gilbert Prabhsimran Baweja Rachel Xiang Rebecca Saines Robert Moreton Ronnie Cheng Ruben Vereecken Russ Fan Shiying Zheng Sébastien Moratinos Thanish Muhammed Tom Steinbrecher Yang Shun Tay Zach Martin