Commit graph

238 commits

Author SHA1 Message Date
Matt Lott
3d32c8a5e7 Document missing database schema indexes
These indexes are on the production database but not set in our
mongoose schemas.
2015-01-27 10:02:51 -08:00
Matt Lott
5c9a42f513 🐛Save level sessions with Date object
Fixes #2123
2015-01-26 16:31:26 -08:00
Matt Lott
019406a341 Update campaign analytics
Increase line graph dots for larger hover targets.
Update missing day data handling to fill in graph points for any
missing day, not just most recent end days.
Fix level completion div0 bug.
2015-01-26 14:58:38 -08:00
Matt Lott
05f028d944 Update campaign editor analytics
Adding ‘left game’ counts to overall campaign view.  This is the number
of players that left the game after playing the given level.
2015-01-18 16:29:47 -08:00
Matt Lott
3fd5f49220 Analytics data revamp
Add analytics per-day aggregation collection.
Add analytics strings collection.
Add per-day aggregation mongo insertion script.
Update campaign editor to use aggregation collection.
Update queries to use _id instead of created field.
2015-01-14 11:09:01 -08:00
Nick Winter
5c352699b0 buildTime stuff. 2015-01-10 09:33:41 -08:00
Nick Winter
58716f5b75 Revert "Fixed #1076, and all other instances of empty objects being stripped out of documents. Turns out mongoose was doing this intentionally as a feature? I don't understand why that's on by default. Oh mongoose."
Saw that this caused 500s on /auth/whoami with no cookies set, with this error:

debug: 500: MongoError: E11000 duplicate key error index: coco.users.$emailLower_1 dup key: { : null }

Probably we need to be much more careful about what changes this blanket change to the minimize Mongoose option might introduce, since tests didn't catch this, but it would have taken the site down for anyone not logged in already.

This reverts commit 121f07d020.
2015-01-09 18:30:05 -08:00
Scott Erickson
121f07d020 Fixed #1076, and all other instances of empty objects being stripped out of documents. Turns out mongoose was doing this intentionally as a feature? I don't understand why that's on by default. Oh mongoose. 2015-01-09 11:56:54 -08:00
Matt Lott
05beebee68 Add play_counts API input null check 2015-01-08 17:17:34 -08:00
Matt Lott
372ac20a67 Update campaign editor analytics
Level view recent sessions is latest - 10 minutes.
2015-01-08 17:00:06 -08:00
Scott Erickson
d8e89f31b1 Fixed #1967. 2015-01-08 11:29:10 -08:00
Matt Lott
1a401230f4 Add recent sessions to campaign editor analytics
In level view.  Shows latest 10, and you can double-click them to open
in modalmodal.
2015-01-05 15:40:28 -08:00
Nick Winter
947811c01b Replayable once-per-day increasing-difficulty level basics. 2015-01-05 10:44:24 -08:00
Nick Winter
dbc42fb7e1 Added task system to Thang Editor. 2015-01-01 14:07:11 -08:00
Matt Lott
e65887ec79 Add campaign drop-offs analytics to editor 2015-01-01 12:01:51 -08:00
Matt Lott
56b4346556 Update average playtimes query to match level 2014-12-31 13:19:46 -08:00
Matt Lott
9b6d327c7f Add average playtimes to levels in campaign editor 2014-12-31 12:25:18 -08:00
Nick Winter
744d30737e Merged in campaign editor and campaign view. Destroyed WorldMapView, CampaignOptions, and LevelOptions. Lots of stuff is now stored in the database instead of code. Cleaned up a few unneeded old features. Fixed some problems with checking permissions on first rather than latest versions of documents. 2014-12-28 13:25:20 -08:00
Scott Erickson
0bdec68cfc Set up a save button. 2014-12-22 16:21:57 -05:00
Scott Erickson
0dd2d9efbd Handled merge conflict. 2014-12-22 12:33:52 -05:00
Nick Winter
e8d185a860 Embedding level completion checklist inside the level editor. 2014-12-20 20:01:07 -08:00
Nick Winter
6ac0bea5ca Beefing up contact form data population. 2014-12-19 17:27:58 -08:00
Scott Erickson
1cc6a97e43 Added basic campaign view, working on campaign handlers. 2014-12-16 17:46:24 -08:00
Scott Erickson
836d2905b9 Users who have paid or otherwise have access to all content are now called 'premium', and user objects on client and server have an isPremium getter which checks all relevant properties. 2014-12-05 17:19:52 -08:00
Matt Lott
e3abb9ceb3 Capture active user metrics
Watching for these events:
Level completed
User registered
Playtime of 30s in a level
Purchase
Payment
Subscribe
Earned an achievement
2014-12-04 12:57:57 -08:00
Scott Erickson
eb98cf4952 Hooked up Level handler to deny creating new LevelSessions when the level requires a subscription and the user doesn't have one. 2014-12-03 13:32:28 -08:00
Nick Winter
50ec896fd8 Added a requiresSubscription property to the levels. 2014-12-03 11:46:03 -08:00
Nick Winter
4b45385571 Working on paper dolls. 2014-11-28 12:11:59 -08:00
Nick Winter
915a3243f5 Added feature image hair and thumb slots to the ThangType. 2014-11-26 16:29:48 -08:00
Nick Winter
53c6da5ef8 Allowing upload of paper doll images for items. 2014-11-26 14:18:17 -08:00
Scott Erickson
790217f227 Tweaked how the I18N editor works to guard against garbage English submissions and make the chosen language more consistent. 2014-11-25 16:22:06 -08:00
Nick Winter
98f1eec10c Upgraded choose hero view for locked heroes. Went back to animated heroes instead of feature images. Removed some server logs. 2014-11-25 09:28:50 -08:00
Michael Schmatz
2b8006ff83 Fixing more crashing bugs 2014-11-25 11:20:39 -05:00
Michael Schmatz
30e08e2c99 Fixed a few crashing bugs 2014-11-25 10:52:20 -05:00
Matt Lott
c16b0f97bf Update sync PVP to use transpiledCode 2014-11-22 20:48:07 -08:00
Scott Erickson
03705825d9 Made the GET /db/* endpoints generally accessible without needing to have a user object associated with the request. 2014-11-22 18:41:06 -08:00
Matt Lott
f56d01419f Update sync pvp teams and real-time playback
-Non-creator will switch teams upon joining a sync pvp game, if creator
is on same team
-Team swapping should only affect level session
-Real-time multiplayer submit now reloads PlayLevelView to ease loading
both player’s latest level sessions, and then automatically starts
real-time playback.
2014-11-17 15:07:10 -08:00
Scott Erickson
025780a575 Added loadingTip property to levels, set them up on the LevelLoadingView, and got them prepped for i18n-ing. 2014-11-12 15:00:24 -08:00
Nick Winter
26beb8a034 A few improvements to ItemDetailsView formatting to deal with spells granted. 2014-11-12 11:02:05 -08:00
Nick Winter
0af7b4d5b7 Preparing for being able to use multiple hero classes. Deleted old ChooseHeroView. Improvements to missile trajectories. 2014-11-11 16:37:00 -08:00
Nick Winter
ce04541d3a Working on tying item purchasability to player level, plus other small tweaks to the item store. 2014-11-10 22:07:55 -08:00
Nick Winter
851bf39c5c Using extendedName. 2014-11-05 20:22:15 -08:00
Scott Erickson
33d14918b0 Implementation of Heald's design of the PlayItemsModal. Added purchasing logic to the server to support it. Refactored header font from Bangers to Open Sans Condensed. 2014-11-03 20:48:59 -08:00
Nick Winter
cec8350232 Added Missile ThangType kind and a couple misc hero data tweaks. 2014-10-30 15:56:49 -07:00
Nick Winter
47c090f7c7 Hiding locked items with no slot selected. Silhouetting items that are too far above you. Only showing items with a gem cost in the inventory screen. Sorting items by gem cost. Animating double-clicking items to show their motion to the slot, sort of. 2014-10-30 13:07:04 -07:00
Nick Winter
ea349cfa29 Intermediate query state for heroes while still transitioning from Unit to Hero. 2014-10-29 15:54:51 -07:00
Nick Winter
98fe639010 Added heroClass and gem fields to the ThangTypes, and a new Hero kind. Fixed adding new ThangType properties in the Thang Editor. 2014-10-29 15:34:04 -07:00
Scott Erickson
cea04d27ad Built diplomat-specific views for editing levels, components, achievements and thang types. 2014-10-27 17:16:22 -07:00
Scott Erickson
cd8f5800a6 Merge branch 'master' of https://github.com/codecombat/codecombat 2014-10-21 10:21:46 -07:00
Nick Winter
700b460f91 Fixed bug in fetching submitted ladder sessions that hadn't been scored yet. 2014-10-20 17:00:46 -07:00
Nick Winter
56a80e3615 Started getting hero-ladder level type working. 2014-10-18 14:51:49 -07:00
Scott Erickson
0dc050abca Added i18nCoverage backend support. 2014-10-17 12:12:06 -04:00
Nick Winter
d79d40b98c Moved spellbooks to right hand. Put full-body hero feature images in. Saved some height on ChooseHeroView and InventoryView for smaller screens. Hid level play counts unless admin. 2014-10-14 09:54:36 -07:00
Scott Erickson
8adbd87401 Merge branch 'master' into feature/webgl 2014-09-28 10:38:19 -07:00
Scott Erickson
627c56dbb5 Fixed mouse scrolling. Fixed SpriteStage scaling (scale the layers instead). Added spriteType to the ThangType schema. 2014-09-26 11:07:01 -07:00
Nick Winter
61aa2d8b6f Changed default language from JavaScript to Python. Fixed a few InventoryView tests. Adjusted maze real-time playback speed factor code. 2014-09-25 13:29:20 -07:00
Nick Winter
42b52f5593 No more ThangListView for hero levels. Fixed pluralization of level loading goals when there's only one goal. Fixed default playback state to paused. Started playing ambient dungeon/grass sounds. Fixed bug with goals not showing up at first. Refactored how goals, gold, and flags hide themselves initially. Ignored InventoryView ThangTypes when sorting Components during level serialization. 2014-09-21 22:10:52 -07:00
Nick Winter
e3b75a69ea Working on PlayLevelModal and ChooseHeroView. 2014-09-19 22:16:05 -07:00
Nick Winter
bbb6300f1f Merge pull request #1576 from ThatOtherPerson/fix-misnaming
Renamed sendUnauthorizedUser to sendForbiddenError
2014-09-19 08:19:42 -07:00
Nick Winter
d610b1633f A bit more CoffeeScripty on the style. Fixes #1558. 2014-09-19 08:17:30 -07:00
David Beckley
527c1ed79d Fix issue #8 2014-09-19 03:52:34 -07:00
David Beckley
b9a511155e Remove sendUnauthorizedError, as it merely returned the same value (HTTP 403) as sendForbiddenError 2014-09-19 02:26:18 -07:00
Scott Erickson
65c0d74a79 Added a new searchStrings property to level components to improve their search. 2014-09-03 17:33:10 -07:00
Nick Winter
040ac4ff4e Fixed bug with black flashes during script playback. 2014-08-31 16:05:21 -07:00
Nick Winter
5f132e55ba Fixed #1414. Also started lazily loading certain level editor tabs. 2014-08-30 23:04:45 -07:00
Nick Winter
e5cf6c340b Fixed #1140. I just put it on the home page for now, but later we can put it somewhere where it makes sense. 2014-08-29 23:09:38 -07:00
Scott Erickson
8b943d1c2c Merged conflicts. 2014-08-28 09:59:03 -07:00
Nick Winter
28431703f5 Fixed #953. 2014-08-27 22:23:24 -07:00
Scott Erickson
1c5db3f2b7 First round of getting the site to use the new defaults system, in particular the job profile view. 2014-08-23 11:07:52 -07:00
Scott Erickson
f8d4e42c67 Set up thang types to now have a raster portrait icon if we want to give them custom ones not based on vector artwork. 2014-08-18 15:25:45 -07:00
Nick Winter
0f983bdcf1 Crude steps towards using your hero equipment in items levels. 2014-08-14 15:12:15 -07:00
Scott Erickson
c31a509472 Working on the inventory view. Added a way to get the current equipment config from the inventory view. 2014-08-14 10:44:04 -07:00
Scott Erickson
e3088ad813 Merge branch 'achievements' of https://github.com/rubenvereecken/codecombat into rubenvereecken-achievements 2014-08-13 10:49:10 -07:00
Scott Erickson
04e8680263 Added an endpoint for loading all items. 2014-08-13 10:35:14 -07:00
Ruben Vereecken
5d66560673 Merge remote-tracking branch 'upstream/master' into achievements_progress
Conflicts:
	app/views/editor/level/LevelEditView.coffee
	server/levels/sessions/LevelSession.coffee
2014-08-05 11:55:46 +02:00
Ruben Vereecken
19d59ac8ff Refactored Users and Level Sessions to have private properties: 2014-07-22 20:07:00 +02:00
Ruben Vereecken
1c6da9711b Added the Recently Played collection and endpoint 2014-07-21 14:36:10 +02:00
Ruben Vereecken
023a7adc81 Half the account page is there 2014-07-21 13:40:11 +02:00
Scott Erickson
9ad166048d Some work the job profile page. Added a demo view, mainly added a modal view for viewing raw player code. 2014-07-18 16:12:28 -07:00
Ruben Vereecken
a60451368e Merged in master 2014-07-14 18:58:25 +02:00
Nick Winter
1a016394fe Starting to show opponent code languages. 2014-07-13 20:19:51 -07:00
Ruben Vereecken
9c0353a2f0 Merged in master 2014-07-13 21:18:32 +02:00
Scott Erickson
d74a778f67 Made creating components open to everyone! 2014-07-09 12:21:32 -07:00
Scott Erickson
02890d5a6d Enabled edits to components by non-admins (creation is still off limits). 2014-07-07 14:22:59 -07:00
Ruben Vereecken
601c4e2731 Merged with master 2014-07-05 16:47:16 +02:00
Ruben Vereecken
e904a0a8f7 Achievement recalculation is now covered with tests 2014-07-04 19:27:41 +02:00
Ruben Vereecken
fce9f0031b All edits are now tracked
intermediate

intermediate
2014-07-04 19:27:38 +02:00
Ruben Vereecken
b951205681 intermediate 2014-07-04 19:27:38 +02:00
Ruben Vereecken
6ae505e8a1 stats.articleEdits are now tracked and tested 2014-07-04 19:27:37 +02:00
Ruben Vereecken
7a4c6daec8 stats.gamesCompleted is now tracked in users 2014-07-04 19:27:37 +02:00
Tery Lim
618ade4946 Clean up mixed quotes 2014-07-01 12:23:22 +08:00
Nick Winter
c9dcc290cb Fixed some bugs where Aether wasn't getting the proper submittedCodeLanguage or functionParameters sometimes. 2014-06-20 17:19:18 -07:00
Nick Winter
aa4832791e Made public version of a user's LevelSessions available via endpoint. 2014-06-19 08:07:47 -07:00
Nick Winter
77920b5416 Improvements to profile views. Added links to players' code. 2014-06-11 19:38:47 -07:00
Ruben Vereecken
8e33b6b534 Fixed all server-sided tests
NEVER. AGAIN
2014-06-11 20:17:27 +02:00
Scott Erickson
9c1213d3c4 Removed the migration plugins. 2014-06-10 15:04:48 -07:00
Scott Erickson
f0ff8c242e Migrating language to codeLanguage on systems and components because they conflict with the search system. 2014-06-10 13:20:14 -07:00
Ruben Vereecken
f2f4fef1e0 Wrote tests for the local mongo querier 2014-06-02 20:29:11 +02:00
Michael Schmatz
e631bae248 Level session playtime logging 2014-05-16 15:27:46 -07:00
Michael Schmatz
0bb1422d6c Switch spectate and level view to use transpiled code 2014-05-15 15:18:17 -07:00