Commit graph

192 commits

Author SHA1 Message Date
Scott Erickson
c628eff272 Fixing #1866. 2015-02-13 15:07:44 -08:00
Nick Winter
c977ecc16f Adding easy observing of leaderboard matches (except top 5). 2015-01-31 10:04:11 -08:00
Nick Winter
022d31c19a Basic leaderboards are working. 2015-01-30 21:36:48 -08:00
Matt Lott
a092444455 Add browser info to level session 2015-01-30 14:45:36 -08:00
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