Commit graph

1163 commits

Author SHA1 Message Date
Matt Lott
ed8e36f5cd Put student pages under /students
Closes #3909
2016-09-12 06:20:59 -07:00
Rob Blanckaert
af3e069828 Merge pull request #3872 from codecombat/filter-domains
Code Review: Filter domains for webdev iFrame
2016-09-08 17:46:00 -04:00
Phoenix Eliot
963b82eadd Fix more query variable getting 2016-09-07 13:44:26 -07:00
Phoenix Eliot
32b56eacb8 Fix getting query parameters in CourseVictoryModal 2016-09-07 13:42:27 -07:00
Phoenix Eliot
e29fe7e761 Add CourseInstance ID to back-to-ladder link 2016-09-07 11:43:09 -07:00
Imperadeiro98
5922f0947b Add opening/closing sounds to HintsView 2016-09-07 14:13:29 +01:00
Phoenix Eliot
bdabee865c Filter domains for webdev iFrame
This serves the web-dev surface iFrame from another domain, such that user-created levels can't sniff cookies from a visitor to their page. It forces a redirect if a path is accesses through the wrong domain.

Use ENV variables for hostnames

Allow messages from all relevant domains

Use the right iFrame URL for different domains

Let the load balancer check /healthcheck

Add special handling for china server

Generalize subdomain handling
2016-09-06 16:17:38 -07:00
Phoenix Eliot
8780f335c7 Fix adjusting for whitespace in playercode 2016-09-01 15:57:59 -07:00
Phoenix Eliot
e0dafc571a Fix making Problems from AetherProblems with no range 2016-08-31 14:35:50 -07:00
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
Matt Lott
a700a00c94 Autocomplete game.
And don’t create duplicate entries for hero. autocompletes

Closes #3883
2016-08-26 15:10:22 -07:00
Matt Lott
b8d4e51331 Add line endings and newlines for fuzzy autocompletes
Closes #3351
2016-08-26 10:32:56 -07:00
Nick Winter
878dcbdc49 Better handling of non-user-code problems in game-dev mode. Don't simulate whole level first time a game-dev level is loaded. 2016-08-24 15:21:09 -07:00
Matt Lott
c2ae4d3748 Add gd2 and wd2 to individual game
Closes #3875
2016-08-23 10:15:47 -07:00
Phoenix Eliot
3d8d0b96d3 Make popover pins stickier 2016-08-22 13:29:35 -07:00
Phoenix Eliot
b4fe0a3bee Fix SpellPaletteView's popover Ace 2016-08-22 13:23:52 -07:00
Matt Lott
7c9f7cbce7 Show correct programming language in level intro 2016-08-22 06:11:01 -07:00
Matt Lott
f2597229b5 No autocomplete x y, rename Zatanna to Autocomplete
Don’t autocomplete common variables ’x’ or ‘y’:
return if /^x$|^y$/i.test(prefix)
Renaming zatanna to autocomplete

Closes #3865
2016-08-22 05:46:07 -07:00
Matt Lott
d392f7780e Force level primer language usage for students 2016-08-19 14:26:39 -07:00
Phoenix Eliot
c33f86768a Translate level wrapper code 2016-08-18 14:09:34 -07:00
Phoenix Eliot
a1b012c7f5 Add support for optional arguments, and web components
Refactor

Don't use globals in template
2016-08-16 13:43:08 -07:00
Matt Lott
e62dbed362 Shift user code yellow arrow tips inward based on indentation
Closes #3850
2016-08-15 13:36:43 -07:00
Phoenix Eliot
c2ce804839 Fix worker-based syntax annotations 2016-08-12 16:28:29 -07:00
Scott Erickson
2dadc8458c Remove hardcoded student ui game dev play instructions 2016-08-12 14:38:32 -07:00
Phoenix Eliot
73bbe598da Improve WebDev level image gallery
Improve image gallery

Add How to Copy/Paste section

Fix modal close button

Add specs for image gallery

Fix up i18n

Fix render resetting scroll

Address code review feedback

Ensure afterRender is called
2016-08-12 13:19:26 -07:00
Matt Lott
c87f505759 Add gd1 and wd1 to campaign world Ux
Add 1st game-dev and web-dev campaigns to world selector
Take player back out to world selector after completing campaigns up through forest

Closes #3828
2016-08-10 15:06:14 -07:00
Matt Lott
2e5f9abd97 🐛Fix autocomplete suggestion limit comment 2016-08-10 14:45:59 -07:00
Scott Erickson
2e5c15cc6d Internationalize student UI for game dev levels 2016-08-10 12:47:34 -07:00
Scott Erickson
ff2d505720 Internationalize PlayGameDevLevelView 2016-08-10 12:47:34 -07:00
Scott Erickson
ffa840910d Do not automatically show victory modal for shareable game dev levels
Students are likely to want to keep working on their level, even if
they beat it.
2016-08-10 12:47:34 -07:00
Matt Lott
d14bea3110 Add hero. autocomplete entries
Adding up to 10 highest importance hero. duplicate autocomplete entries
that include ‘hero.’
Increasing max suggestions allowed from 10 to 20
2016-08-10 11:17:56 -07:00
Scott Erickson
9b992a8679 Merge pull request #3823 from Imperadeiro98/master
Fix #2844
2016-08-10 09:46:20 -07:00
Scott Erickson
51b292cc3d Add static messages to game dev levels for playtesting 2016-08-08 11:49:38 -07:00
Imperadeiro98
9df2c97923 Fix #2844 2016-08-07 19:02:51 +01:00
Matt Lott
ba6d51659c Show in-game programming language
Closes #3814
2016-08-03 11:08:20 -07:00
phoenixeliot
2e9ff61436 Fix broken ladder in course 2016-08-02 13:43:13 -07:00
Nick Winter
fad53cf43f Don't wait for simulation load progress on game-dev levels 2016-08-02 12:31:36 -07:00
phoenixeliot
d388975217 Fix unescaped HTML in goal descriptions 2016-07-29 16:21:13 -07:00
phoenixeliot
4af822d13a Revert "Add game UI programming language label"
This reverts commit b7f916116d.

Some heights in gameplay were made worse by this; needs some more work.
2016-07-29 11:23:42 -07:00
phoenixeliot
dd66a8c252 Add detection of HTML/CSS/JS comments for entrypoints 2016-07-28 15:10:01 -07:00
Nick Winter
d77625bc77 Game dev levels (#3810)
* Tweak API doc behavior and styling

* Instead of moving to the left during active dialogues, just move to the top
* Allow pointer events
* Adjust close button
* Re-enable pinning API docs for game-dev and web-dev levels

* Make sidebar in PlayGameDevLevelView stretch, better layout columns

* Set up content of PlayGameDevLevelView sidebar to scroll

* Add rest of PlayGameDevLevelView sidebar content, rework what loading looks like

* Finish PlayGameDevLevelView

* Add share area below
* Cover the brown background, paint it gray

* Tweak PlayGameDevLevelView

* Have progress bar show everything
* Fix Surface resize handling

* Fix PlayGameDevLevelView resizing incorrectly when playing

* Add GameDevVictoryModal to PlayGameDevLevelView

* Don't show missing-doctype annotation in Ace

* Hook up GameDevVictoryModal copy button

* Fix onChangeAnnotation runtime error

* Fix onLevelLoaded runtime error

* Have CourseVictoryModal link to /courses when course is done

* Trim, update CourseDetailsView

* Remove last vestiges of teacherMode
* Remove giant navigation buttons at top
* Quick switch to flat style

* Add analytics for game-dev

* Update Analytics events for gamedev

* Prefix event names with context
* Send to Mixpanel
* Include more properties

* Mostly set up indefinite play and autocast for game-dev levels

* Set up cast buttons and shortcut for game-dev

* Add rudimentary instructions when students play game-dev levels

* Couple tweaks

* fix a bit of code that expects frames to always stick around
* have PlayGameDevLevelView render a couple frames on load

* API Docs use 'game' instead of 'hero'

* Move tags to head without combining

* Add HTML comment-start string

Fixes missing entry point arrows

* Fix some whitespace
2016-07-28 13:39:58 -07:00
Matt Lott
b7f916116d Add game UI programming language label 2016-07-28 12:00:52 -07:00
Rob
b7fcaa50a6 Change keyword autocomplete logic. 2016-07-27 16:37:57 -07:00
Scott Erickson
8117a000c1 Fix PlayLevelView race condition typo 2016-07-26 10:38:15 -07:00
Nick Winter
ea61499a10 Add Done button hotkey 2016-07-22 17:59:32 -07:00
phoenixeliot
cac87559c6 Remove frequent console logs in web levels 2016-07-22 10:43:08 -07:00
phoenixeliot
f9d0adaca6 Fix levelType refactor 2016-07-22 10:43:08 -07:00
phoenixeliot
2ebf94c3db Combine extracted script/style tags 2016-07-20 17:20:21 -07:00
phoenixeliot
f28c17c9bf Fix spacing to be consistent 2016-07-20 15:47:20 -07:00
phoenixeliot
62813e41a3 Extract styles and scripts 2016-07-20 15:44:01 -07:00