Commit graph

1150 commits

Author SHA1 Message Date
Nick Winter
585fa40a8c Added first draft of campaign info to campaign selector screen. 2015-03-18 16:20:30 -07:00
Nick Winter
709c2fc4f1 Added more Artisan permissions for Articles. 2015-03-16 13:54:20 -07:00
Nick Winter
ab64a335e4 Another fix for poll handler getting next poll if there are no poll records yet. 2015-03-14 11:30:54 -07:00
Nick Winter
89bdb3b790 Fixed #2518. 2015-03-14 09:57:31 -07:00
Nick Winter
57e77a0cd7 Upcoming ladder level Zero Sum equalizes all players' heroes and equipment. 2015-03-14 09:39:43 -07:00
Matt Lott
fde8904fd8 Add backwards compatibility check for Stripe sub search 2015-03-13 15:39:19 -07:00
Matt Lott
af89452b93 Merge branch 'sponsored-subs' 2015-03-13 15:19:20 -07:00
Nick Winter
be84517010 Enabling another offer. 2015-03-12 11:08:58 -07:00
Nick Winter
a697b35920 Fixed poll fetching for first poll. 2015-03-11 09:01:40 -07:00
Nick Winter
9c99fc455a A few poll fixes. 2015-03-10 09:45:21 -07:00
Nick Winter
8c1de9dfa2 Added user index for siterefs. 2015-03-09 17:50:36 -07:00
Nick Winter
dc5fb0af14 Sending a couple more offers in the next-steps emails. 2015-03-09 16:32:29 -07:00
Nick Winter
f3e0b9c00c Poll answers now recordable by non-admins. 2015-03-09 10:11:03 -07:00
Nick Winter
495845a633 Storing certain poll results in User object. Showing a poll once per day. 2015-03-09 09:30:51 -07:00
Nick Winter
e21360127d Polls! 2015-03-08 16:36:17 -07:00
Nick Winter
1c88881b44 Hooked up a next-steps email to be sent on day two. 2015-03-04 17:08:45 -08:00
Matt Lott
cd59b90e37 Add custom payments
Example:
https://codecombat.com/account/invoices?a=21600&d=9%20monthly%20subscrip
tions
2015-03-04 15:40:53 -08:00
Matt Lott
418536ed60 Turn off mailchimp subscribe for unit tests 2015-03-04 05:50:24 -08:00
Michael Schmatz
f024f25235 Add some indexes 2015-03-04 00:04:16 -05:00
Nick Winter
a2bbc9c893 Actually saving said referrer information. 2015-03-03 09:06:42 -08:00
Michael Schmatz
d0908f694c Log app server analytics event to the new analytics server
I never managed to get the res.close event (responses from the server
are 0-length) I feel like this is a bug with Node I should report.
2015-03-02 19:02:28 -05:00
Nick Winter
7de6fcf5fd Added Artisan access to LevelComponents. 2015-03-01 20:59:50 -08:00
Nick Winter
2767fbc7aa Even less emphasis on recent games, for #2448. But we might need something different due to the time-clustered nature of submissions leading to an uneven distribution. 2015-03-01 07:57:21 -08:00
Nick Winter
d881476731 Let's try less emphasis on most recently submitted games. 2015-02-27 07:52:48 -08:00
Nick Winter
4082110382 Cleaned up getTwoGames random session simulation fetcher. Made it more efficient, made it have a better spread over all games submitted to a ladder with a better bias towards the most recently submitted games. 2015-02-26 21:25:17 -08:00
Nick Winter
99b2c268b2 Also caching Aggregates. 2015-02-26 18:32:59 -08:00
Nick Winter
b4e9ee67f0 Added one-minute in-memory server caching for a bunch of common queries. 2015-02-26 17:20:27 -08:00
Nick Winter
5128eae284 Added access to unpublished levels for 'artisan' permissions. 2015-02-26 15:21:08 -08:00
Nick Winter
d310fa9476 Harrowland was being slow in simulator for some reason. 2015-02-25 21:47:57 -08:00
Nick Winter
df4b98a9bf Added a new 'artisan' permission, which can edit most of the things admins can, but with less uncomfortable ultimate power. 2015-02-25 18:41:39 -08:00
Nick Winter
7e889a2a80 Simulating games for Harrowland, now, too. Alternative way of loading hero when sticking with same hero from within level when changing inventory. 2015-02-25 18:09:55 -08:00
Nick Winter
3be2b6406d Admins are now automatically premium. 2015-02-25 17:45:01 -08:00
Nick Winter
4e11870be0 Fixed bug with anonymous players' email addresses not making it through. 2015-02-25 17:39:54 -08:00
Matt Lott
39d393c52f 🐛Fix analytics API slugify 2015-02-25 11:39:26 -08:00
Nick Winter
dec201ad22 Removed watcher emails for overloaded watchers. 2015-02-25 11:16:57 -08:00
Nick Winter
4cbbcdad6d Merge pull request #2359 from laituan245/master
Added ability to delete account
2015-02-24 09:30:22 -08:00
laituan245
a588a3b2c8 Some updates to the PR #2359 2015-02-25 02:12:39 +09:00
laituan245
eb53381083 Don't delete the User object, just remove all the properties except for _id 2015-02-24 22:36:12 +09:00
Nick Winter
7d7db5dafe Thang Editor can now drag Thangs to adjust registration points. Fixed missing terrain save property on ThangTypes. Fixed text search test. Added new Talus (mountain floors) to floor ThangType list for proper stretching. 2015-02-22 11:07:56 -08:00
Nick Winter
498eae328a Migrated from mongoose-text-search to new built-in operators. Fixed #2367. 2015-02-21 14:22:51 -08:00
Nick Winter
1ba79b83a9 Added a script to recalculate all gems purchased. 2015-02-20 11:11:12 -08:00
Michael Schmatz
5b39c6bb19 Try moving projection after sort/limit
Trying to get these queries to be faster
2015-02-20 11:05:58 -05:00
laituan245
d325623699 Added ability to delete account 2015-02-20 08:19:30 +09:00
Nick Winter
87f3b9e135 gamesCompleted now properly fires achievements even though it's not using normal saves. 2015-02-18 17:08:54 -08:00
Nick Winter
880d22ed50 Limiting how many results try to get fetched on admin DB searches like /db/user so that we don't blow up the DB. 2015-02-18 14:12:23 -08:00
Nick Winter
c1e14dc973 Fixed achievement recalculation to work from the command line. 2015-02-18 09:57:03 -08:00
Nick Winter
faae8aed81 Fixed typo with new LevelSession game completion tracking. 2015-02-18 08:39:36 -08:00
Nick Winter
52648399c6 Fixed recording of gamesCompleted. Fixed recalculateStatistics scripts to not explode memory, and to report progress. 2015-02-17 20:51:32 -08:00
Nick Winter
d0f661508c Merge pull request #2339 from amankr/server
Added user info to db error
2015-02-17 15:29:22 -08:00
Nick Winter
ae07a25657 Fixed #2329: ordered spoken languages first by popularity (for top 8), then by alphabetical. 2015-02-17 09:29:21 -08:00
Aman Kumar
f7450c214c Added user info to db server error 2015-02-17 22:54:49 +05:30
Aman Kumar
c76241be40 Added user info to db error 2015-02-17 14:42:12 +05:30
Nick Winter
685c3b3318 Fixed patch fetches to handle when the patches are targeting strings instead of ObjectIds. 2015-02-16 17:38:25 -08:00
Nick Winter
c0f738d736 Fixed bug with Campaign i18n not showing fullNames properly. 2015-02-16 09:21:59 -08:00
Nick Winter
578ec6d7d0 Was confused about achievement collections and categories. 2015-02-13 17:10:30 -08:00
Nick Winter
6cdd6fbc44 Improvements for recalculating earned achievements, recreating earned achievements that should exist, and updating proportionalTo achievements like simulatedBy that don't get updated with a post-save hook. 2015-02-13 16:33:13 -08:00
Scott Erickson
c628eff272 Fixing #1866. 2015-02-13 15:07:44 -08:00
Scott Erickson
5272f9d9ba Fixing #2269. 2015-02-13 15:04:51 -08:00
Matt Lott
7cd35ffc33 Update share progress mail to include sender email 2015-02-13 14:04:57 -08:00
Nick Winter
4fec64c3ca Merge pull request #2313 from laituan245/master
Added a "god mode" button to the local dev environment  (issue #2164)
2015-02-13 09:08:09 -08:00
laituan245
9c754bbd96 Added a "god mode" button to the local dev environment #2164 2015-02-14 01:46:04 +09:00
Nick Winter
a8dc353f86 Aether now loading all code languages possibly used in a match before the level can begin. Hopefully, this will fix #1943 and fix #1892. 2015-02-12 18:40:38 -08:00
Nick Winter
7000048bee Fixed a few more issues with the headless simulator. 2015-02-12 17:07:29 -08:00
Nick Winter
8936d5fa40 Simulator version 2 takes into account flag history when simulating matches. 2015-02-12 10:59:34 -08:00
Nick Winter
a2a4303a83 Fixed #2109. Much less fragile naming of opponents on My Matches tab. 2015-02-12 08:50:55 -08:00
Nick Winter
63fa2f86d4 Tracking who is simulating matches so we can see patterns in ill-reported matches. Rejecting simulations from simulators with old versions of the Simulator code. 2015-02-11 20:24:12 -08:00
Nick Winter
2a9bb0292d Don't dispatch simulations to old ladders, just new hero-ladder levels. Fixed typo in last cache commit. 2015-02-11 14:01:38 -08:00
Nick Winter
91b6f1759d Fixed weird behavior of MailChimp API where it wouldn't update not-yet-confirmed subscribers' email addresses when changed and we'd end up sending the opt-in email a zillion times. 2015-02-09 15:33:59 -08:00
Matt Lott
c4620a7b2d Refactor analytics event logging
Clean up property slimming.
Save explicit identity traits in properties.
2015-02-09 15:03:04 -08:00
Nick Winter
760f2d35bb Fixed bug with checkStripeCharges also trying to match iOS charges. 2015-02-09 08:31:44 -08:00
Nick Winter
58edc6d033 Fixed #2173: Campaigns now update adjacent campaign i18n when saved. 2015-02-06 19:23:11 -08:00
Matt Lott
972c3d0d6f Share progress modal
Shown after forgetful-gemsmith
2015-02-06 14:49:50 -08:00
Matt Lott
771437abb5 Turn off parent email hipchat messages 2015-02-06 09:11:49 -08:00
Nick Winter
1d8f91c42f Added campaign world selector portal screen for half of players. 2015-02-05 15:05:33 -08:00
Scott Erickson
f9ee100e73 Made Achievements and Campaigns patchable. 2015-02-05 12:01:19 -08:00
Scott Erickson
eafecaf492 Addressing #2173, part 1. It should now be possible to submit changes for non-versioned documents like Campaigns and Achievements. 2015-02-05 11:47:27 -08:00
Matt Lott
349e975142 Update hipchat parent email msg 2015-02-04 16:41:59 -08:00
Nick Winter
239b9e3285 Merge branch 'master' of https://github.com/codecombat/codecombat 2015-02-04 16:18:01 -08:00
Nick Winter
a189e32948 Refactored sending of HipChat room messages. 2015-02-04 16:17:53 -08:00
Matt Lott
20e70c316e Help usage analytics script 2015-02-04 15:50:17 -08:00
Matt Lott
b42061e0ee Include code language in parent email 2015-02-04 14:29:16 -08:00
Matt Lott
c842f45786 Update subscribe modal with parent help button 2015-02-04 13:54:38 -08:00
Michael Schmatz
6ca92e1278 Fix #2180 2015-02-01 15:37:28 -05: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
Nick Winter
57d12c199e Tweaks to campaign status view. Hooking up i18n for Campaigns, but it doesn't work yet. 2015-01-29 09:07:25 -08:00
Matt Lott
b78a35f5f0 📝No extra index needed for user.code.problems
We only query via _id currently, so the default index will do.
2015-01-27 10:46:37 -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
Nick Winter
2e09a94736 Asking for feedback when cancelling subscriptions. 2015-01-26 16:48:32 -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
Nick Winter
2a68fa47a0 Fixed bug with subscription purchase analytis for low-traffic levels. 2015-01-23 11:44:15 -08:00
Nick Winter
e75e0791d0 Fixed problem POSTing UserCodeProblems for non-admins. 2015-01-22 11:30:31 -08:00
Matt Lott
e49c74259b Update campaign editor analytics
Adding shown and purchased subscription counts.
Locking down analytics to admin-only.
2015-01-21 13:41:38 -08:00
Matt Lott
7fda59ee2d Update campaign editor analytics
Adding help click counts and help videos start counts to level view
analytics.
2015-01-20 10:43:02 -08:00
Matt Lott
d0a0c95623 Update campaign editor analytics
Display little level completion line graphs in the level completion
table cells.
2015-01-19 21:59:25 -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
e499678223 Add user null check to logEvent 2015-01-15 14:21:30 -08:00
Matt Lott
116c7d0bf2 Update internal analytics
Adding level session ID where applicable.
Slimming down fields for most common events.
2015-01-15 11:04:52 -08:00
Matt Lott
c5977c00fe Add shortened fields to analytics.log.event
We’ll remove the old long fields after we’ve got enough data to switch
over our analytics queries without complication.
2015-01-14 17:51:34 -08:00
Matt Lott
e79cadc761 Remove analytics.log.event created field
_id field already has created data:
http://docs.mongodb.org/manual/reference/object-id/
Also some misc analytics cleanup.
2015-01-14 13:03:02 -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
Scott Erickson
f9a01db985 Added a delete endpoint for files. Fixes #33. 2015-01-12 13:37:01 -08:00
Scott Erickson
da93c45ef3 Tweaked emailLower and nameLower auto-setting to not set if their respective depending properties do not exist. With minimizing mongoose off, this was causing db duplicate key problems. 2015-01-12 11:51:48 -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
Matt Lott
bc93a2b181 Update campaign editor analytics
Restrict level view completion rates to unique users. Super slow, perf
work to do here.
Increase level view completion rate date range to 2 weeks.
Increase level view average playtimes date range to 2 weeks.
Display player name if available in level view recent sessions.
2015-01-08 16:01:49 -08:00
Scott Erickson
d69c5941b3 Fixed #1968. 2015-01-08 11:57:31 -08:00
Nick Winter
79c5b53de1 Updated GitHub README avatars. Added HipChat notifications when CLAs are signed. 2015-01-08 11:33:59 -08:00
Scott Erickson
d8e89f31b1 Fixed #1967. 2015-01-08 11:29:10 -08:00
Imperadeiro98
68ed142bd6 Update auth.coffee 2015-01-08 19:27:37 +00:00
Nick Winter
4016476c4d Fixed achievement plugin creation of repeatable achievements. Fixed some bugs in recalculating repeatable achievement exp. Implemented recalculating repeatable achievement gems. Achievement tests pass again. 2015-01-07 15:03:39 -08:00
Matt Lott
c54fea929e Update campaign editor analytics
Optimize analytics.log.event user event data find() to use stream()
instead of exec(), which is better for large result sets
Fix startDay formatting bug
Per-level recent sessions to 100
2015-01-07 14:49:24 -08:00
Nick Winter
1455dc0550 Working on repeatable achievement posting. Two tests still fail, though, so it's not there yet. 2015-01-07 12:25:43 -08:00
Matt Lott
d89b0d90e3 Campaign analytics - unique users, dropped count
Fixing incorrect dropped counts.
Restricting start/finish level events to unique users.
Does not fix campaign editor level view analytics.
2015-01-06 21:38:49 -08:00
Nick Winter
4ea2a51ff6 In middle of debugging non-functioning repeatable achievements. 2015-01-06 21:32:58 -08:00
Scott Erickson
2f36884456 Got proportionalTo working with gems as well as points. Probably also got it working for LevelSessions, but this should be tested. 2015-01-06 18:14:19 -08:00
Scott Erickson
7f203f246c Fixed a bug where projection in /db/campaign/.../levels wasn't working correctly anymore if project wasn't included. 2015-01-06 16:59:56 -08:00
Matt Lott
1c1f2be497 Changing analytics.log.event indexes to compound
Changing this back.  Using mongodb hint() and explain() on our find()
call indicates the compound index is better than the two single indexes.
2015-01-06 14:54:56 -08:00
Matt Lott
a144c5ff0d Update analytics.log.event indexes to match prod
These were applied as single indexes directly in production.
2015-01-06 14:07:22 -08:00
Nick Winter
9272ceb23e Trying to restore functionality of achievement plugin but without memory leak. 2015-01-05 21:57:23 -08:00
Nick Winter
45b90804ec Noting some TODOs to fix soon. 2015-01-05 20:49:59 -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
Matt Lott
b4a0fe146e Add common user code problems to campaign editor
In level view, showing data from last 30 days, with top 20 issues by
count.
2015-01-05 13:42:19 -08:00
Matt Lott
7052dd99f5 Add index to analytics.log.event 2015-01-05 10:49:43 -08:00
Nick Winter
947811c01b Replayable once-per-day increasing-difficulty level basics. 2015-01-05 10:44:24 -08:00
Matt Lott
61180c640d Add completion % to campaign analytics 2015-01-05 10:28:56 -08:00
Matt Lott
b5969e0abc Update campaign analytics level ordering
Reading campaign levels from database.  Assumes database order is
roughly progression order.
2015-01-02 13:31:50 -08:00
Nick Winter
dbc42fb7e1 Added task system to Thang Editor. 2015-01-01 14:07:11 -08:00
Matt Lott
2d410fa57f Update editor analytics level completions
We have to grab all the level data at once, so we should cache it all
too.  Only the first level completions call should be uncached/slow.
2015-01-01 12:26:19 -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
Matt Lott
fcf5346aa3 Add completion rates to levels in campaign editor 2014-12-31 11:49:29 -08:00
Nick Winter
c54fd5ab4b Moved editors from PUT to POST so that version saving behavior is preserved and admins can PUT without saving new versions. 2014-12-29 09:14:43 -08:00
Nick Winter
1390cbacdc Temporarily reverting 0bdec68 change to PUT for versioned documents. 2014-12-28 17:24:37 -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
Nick Winter
b4341ad46c Merge branch 'feature/campaign-editor' 2014-12-27 11:03:51 -08:00
Michael Schmatz
3d1ee9767f Fix sorting crashing bug 2014-12-24 16:45:34 -05:00
Nick Winter
d6b5c14123 Give me thine email addresses correctly, dear contact handler. 2014-12-24 11:02:52 -08:00
Michael Schmatz
2e9e9ee85c Put limit on things to be sorted
We might have to alter the queries a bit if we aren't happy with the results
2014-12-23 20:19:20 -05:00
Nick Winter
759e193f29 Pulling email from user in contact form if they gave an invalid email reply-to. 2014-12-23 08:20:35 -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
08cb87c84d Automatically take screenshots when submitting contact form from level view. 2014-12-19 18:37:42 -08:00
Nick Winter
6ac0bea5ca Beefing up contact form data population. 2014-12-19 17:27:58 -08:00
Scott Erickson
59318b2f78 Merge branch 'master' into feature/campaign-editor 2014-12-19 12:54:11 -05:00
Nick Winter
0635d1dccf Fixed typo in contract emails. 2014-12-18 22:22:44 -08:00
Nick Winter
59b433d863 Upgrading contact form context a bit. 2014-12-18 20:39:15 -08:00
Nick Winter
d801ed61ce Separating contact emails into premium subscriber support and basic general support. 2014-12-18 20:35:14 -08:00
Scott Erickson
b63b4d64da More work on the CampaignEditorView. Data gets saved to models now. 2014-12-17 22:53:04 -08:00
Nick Winter
fe0c89e433 Reverting 1167655f and 30ed0a0e to re-enable the analytics log handler. 2014-12-17 21:54:56 -08:00
Nick Winter
2ea47cf83b Fixed #1952 (unsubscribing from specific ladder update emails). 2014-12-17 19:38:36 -08:00
Michael Schmatz
a9265bce42 Disabled achievements plugin 2014-12-17 21:58:32 -05:00
Matt Lott
6ab74f9dab Disable analytics.users.active 2014-12-17 14:17:50 -08:00
Matt Lott
30ed0a0ead Disable analytics.log.event server handler 2014-12-17 09:53:43 -08:00
Matt Lott
9baef64dd0 Fix double 403 in Handler.get 2014-12-16 21:45:30 -08:00
Scott Erickson
1cc6a97e43 Added basic campaign view, working on campaign handlers. 2014-12-16 17:46:24 -08:00
Matt Lott
c76662c967 Log analytics events internally 2014-12-15 11:45:12 -08:00
Nick Winter
9ec4b741c4 Fixed CLA permissions check. 2014-12-15 10:02:05 -08:00
Nick Winter
fc4354eb3e Forgotten the locale code for my spammer target. 2014-12-14 16:01:03 -08:00
Nick Winter
753acb1299 Added 'github' permission type to allow access to CLAs view. 2014-12-14 13:37:43 -08:00
Nick Winter
ef37d74b4d en-UK and en-AU also require patch approval for translations, can never just save. 2014-12-14 13:27:39 -08:00
Nick Winter
3b2bebf427 Ended HoC sale. 2014-12-13 09:00:33 -08:00
Scott Erickson
b0de331a10 Shored up stripe transaction payment defences to try and fix #1906. 2014-12-12 15:27:58 -08:00
Nick Winter
194d3ee647 Worked around unstable Zoho mail dependencies by switching password recovery and contact emails to Sendwithus. 2014-12-11 20:15:24 -08:00
Matt Lott
0c81942c71 2nd HoC sub sale 2014-12-11 18:39:03 -08:00
Scott Erickson
0b81796333 Created the Campaign foundation: schema, model, handler. 2014-12-11 11:26:28 -08:00
Matt Lott
d4cfaac7e5 Sub price test 2014-12-10 16:05:55 -08:00
Scott Erickson
02953d0e6c Set up a subscription page with subscription info and the subscribe button, taking that logic out of the payments page. 2014-12-10 13:42:12 -08:00
Scott Erickson
876a663690 Fixed server tests. 2014-12-09 13:41:44 -08:00
Nick Winter
a97baa2207 HoC sale. 2014-12-09 06:06:14 -08:00
Nick Winter
61f63caa59 Trying to fix a server crash I found with bad stripe globals. 2014-12-08 08:09:31 -08:00
Nick Winter
d5f953ae4f Getting rid of indexes on employers and candidates. 2014-12-08 07:07:29 -08:00
Scott Erickson
aac1aa379e Set up stubs for future subscription sales. 2014-12-06 12:38:06 -08:00
Scott Erickson
62cab1e76b Admins can now give users discounts and free accounts from the MainAdminView view. 2014-12-06 10:05:52 -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
Scott Erickson
f4e3416918 Set up an endpoint for fetching Stripe info. 2014-12-05 17:19:52 -08:00
Scott Erickson
e8bb5b824d Tweaked the subscription handler to modify the actual target user, not necessarily the user that is making the changes. 2014-12-05 15:49:46 -08:00
Scott Erickson
209836c172 Fixed user patching to not also unsubscribe subscribers. 2014-12-05 14:11:38 -08:00
Scott Erickson
d0ee8cb7c7 Set up the server to allow admins to assign customers coupons. Fixed up how customers are created/updated by the server to allow setting new payment information rather than forever using the payment info first provided. 2014-12-04 17:41:27 -08:00
Scott Erickson
0edf4e0ca1 Fixed a MailChimp test. Fixed payment and subscription handlers to deny anonymous users. Hid the subscribe button from anonymous users. 2014-12-04 13:07:07 -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
7210de02e9 Set up stripe to get user emails so receipts can be emailed. 2014-12-03 16:36:03 -08:00
Scott Erickson
0893784a75 Fixed MailChimp subscription updating from the website. 2014-12-03 15:26:39 -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
65dde043c7 SubscribeModal is in. 2014-12-03 09:14:14 -08:00
Scott Erickson
aea1e39b58 Tweaked the subscription handler to act more like the payment handler when a card charge fails. It returns 402. 2014-12-02 20:40:33 -08:00
Scott Erickson
cd3bb690f4 Created stripe subscription logic. 2014-12-02 20:02:35 -08:00
Scott Erickson
5dcdabfd62 Refactored stripeCustomerID to stripe object in the user object so we can put more stuff in there. 2014-12-02 11:47:15 -08:00
Nick Winter
ffcfec0a6a Trying to shut the server up about some anonymous user who is simulating. 2014-12-01 13:53:17 -08:00
Michael Schmatz
3cf80c895e Removed log infos, iPad language selection 2014-11-30 16:19:01 -05:00
Scott Erickson
3e0394d0d8 Fixed the latest version handler to handle invalid original id inputs. 2014-11-29 11:11:40 -08:00
Scott Erickson
1bd70591a0 Added new mongodb versions to be allowed.
Added error logging for every which reason a user may be unable to pay.
Added more info for users when they hit unknown errors.
2014-11-29 10:46:01 -08:00
Nick Winter
891b78eb44 Hiding some ThangTypes from view in level editor. 2014-11-29 10:34:04 -08:00
Nick Winter
d2aabbdacc A couple workarounds for crashing server tests. Including method in HipChat error messages. Trying to work around undefined ThangType fetch during level loading. 2014-11-29 08:43:40 -08:00
Scott Erickson
31214e854e Wabam. Refactored a bunch of stuff into 'core' folders so that it's clearer which files are being loaded first thing, and which are not. Also reworked a bunch of the anymatch things in config.coffee, cause there were better ways. 2014-11-28 17:49:41 -08:00
Nick Winter
4b45385571 Working on paper dolls. 2014-11-28 12:11:59 -08:00
Michael Schmatz
6cb46aafa8 Link to Papertrail logs in error messages 2014-11-28 14:37:55 -05:00
Michael Schmatz
897fe6c63e Improved error handling 2014-11-28 11:44:03 -05:00
Michael Schmatz
0ac0065753 Fixed payments 2014-11-28 11:07:37 -05: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
c4fdcab6fe The HeroVictoryModal now has the server check for and upsert any missing items, levels and heroes earned. 2014-11-26 12:02:42 -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
ab6251281e Added a payment-received HipChat notification. 2014-11-25 13:20:09 -08:00
Scott Erickson
8f55b9bc1b Refactored the AccountSettingsView to be both in the site and in the PlayAccountModal. 2014-11-25 12:43:17 -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
Michael Schmatz
d56f594d58 Better error handling 2014-11-24 20:07:29 -05:00
Nick Winter
16e264788a Trying to workaround a crash I saw in the logs for GitHub auth. 2014-11-24 14:38:54 -08: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
Scott Erickson
e5b87e5158 Tweaked, re-enabled achievement specs. 2014-11-21 10:59:48 -08:00
Scott Erickson
c77d38d59f Made sure Apple receipts can't be re-used with different accounts. 2014-11-21 10:34:37 -08:00
Nick Winter
4de71507a8 Fixed winston require in EarnedAchievement handler. 2014-11-21 10:04:50 -08:00
Scott Erickson
b86e3c30dc Set up level achievements to be created manually by the client, hopefully making them a bit more stable. 2014-11-20 22:09:54 -08:00
Nick Winter
2393165d9a Turned off some completed A/B tests. Fixed an achievement recalculation typo Scott found. 2014-11-20 21:57:47 -08:00
Michael Schmatz
f84e92595b Changed UDID to identifierForVendor 2014-11-20 20:03:24 -05:00
Scott Erickson
a18537b065 Added the ability to assign a user an iOS UDID, and login with it. 2014-11-20 15:54:15 -08:00
Scott Erickson
fae09aad00 Turned on double optin for MailChimp. 2014-11-20 14:31:50 -08:00
Nick Winter
df51e28a1d Fixed camera zoom killing coordinate hover unnecessarily. 2014-11-20 11:37:10 -08:00
Scott Erickson
13de055c0b Set up a basic achievements list modal for the world map. 2014-11-19 14:56:40 -08:00
Nick Winter
bf71893ddf Significantly reduced memory usage and simulation time by further limiting the amount of Thangs which even start tracking ThangState in the first place. 2014-11-17 21:30:44 -08:00
Scott Erickson
95dca575d1 Set up stripe on the server and site to allow purchases through the website. 2014-11-17 15:15:08 -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
Nick Winter
a7069e19bd Ignore (and warn about) achievements with empty queries. Fixed embarrassing bug with more-practice / skip-ahead branching not doing anything for non-admins. 2014-11-17 08:44:53 -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
Scott Erickson
7012d5dfbe Built payment endpoint for processing Apple IAPs. 2014-11-11 17:40:29 -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
Scott Erickson
12e860a985 Fixed #1739. Darnit mongoose. 2014-11-11 14:52:43 -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
Scott Erickson
f21f54cd19 Refactored, mostly redesigned inventory view, modeled after the Heald item store design. 2014-11-10 15:31:32 -08:00
Nick Winter
b33fee406b Server now logs the messages of its bad responses instead of just sending them to the client. Added a script that migrated bad ObjectIds in purchased items. 2014-11-10 13:27:40 -08:00
Nick Winter
851bf39c5c Using extendedName. 2014-11-05 20:22:15 -08:00
Scott Erickson
8edde2f470 Fixed purchased items and such in the user so that they're strings instead of ObjectIds. 2014-11-05 16:41:03 -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
Nick Winter
60bf580c5b Bumped Handler fetch limit from 300 to 500 to deal with 300+ ThangTypes. It's great. 2014-10-29 12:18:00 -07:00
Nick Winter
c7713b4105 Showing i18n in property docs. 2014-10-28 21:15:47 -07:00
Scott Erickson
ee95e4e450 Got rid of a race condition. 2014-10-28 11:21:26 -07:00
Nick Winter
68ac412f2b I think this return is needed to prevent sending the i18n query results twice and crashing the server. 2014-10-27 22:54:50 -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
Matt Lott
8f923f9e1e Replacing http PATCHs with PUTs
We’re keeping the patch behavior though.
Real patch calls return incorrect http responses in some environments,
like Browserstack and schools.
2014-10-27 16:09:52 -07:00
Matt Lott
f4426f2e43 Save user code errors without 'Line N: ' prefix 2014-10-24 14:05:54 -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
08d9e39764 LevelLoader and Simulator fixes for simulating hero-ladder matches. Commented out some logging that hasn't been very useful. Fixed some tests. 2014-10-19 21:56:26 -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
6ff7cd12cc Mostly done with the victory modal. 2014-10-13 11:53:08 -04:00
Nick Winter
16ff8c6601 Reordered i18n in rough order of section importance. Deprecated employer/candidate pages for now and turned off candidate emails. 2014-10-02 12:10:24 -07:00
Nick Winter
3871b60ea7 Actually committing last of earned_achievement_handler fixes. 2014-10-01 08:50:07 -07:00
Nick Winter
8d37309de1 Several fixes for achievement recalculation. 2014-09-30 19:32:11 -07:00
Nick Winter
5c77e103f3 Fixed issues with achievements awarding awry. Fixed iPad auto-debug toggle. 2014-09-30 16:18:32 -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
98fed4a277 Extended Achievements to support earning heroes, items, levels, and gems. Fixed a few Achievement bugs. 2014-09-26 02:29:04 -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
a57cc0126e A few more tweaks for #1584. Hero victory now always goes to world map. 2014-09-23 17:13:41 -07:00
Nick Winter
1a46d4345d Merge pull request #1584 from ThatOtherPerson/log-user-ips
Log last-used IP in User object
2014-09-23 17:10:00 -07:00
Nick Winter
1b4e75e7e8 Fix for earned achievement default null worths. Misc other fixes. 2014-09-22 20:15:51 -07:00
Nick Winter
c54bf3553f Added basic JSONP support for /auth/whoami public properties. 2014-09-22 14:56:02 -07:00
David Beckley
2acebb54c6 Fix #1005 2014-09-21 23:02:06 -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
ae14bd1ced Hooked up hero choice from ChooseHeroView and PlayLevelModal. Tried to fix some oddities with achievements. Fixed #1564. 2014-09-20 15:18:21 -07:00
Nick Winter
e3b75a69ea Working on PlayLevelModal and ChooseHeroView. 2014-09-19 22:16:05 -07:00
Nick Winter
81a5b73f93 Fixed a few misc bugs I noticed with the job profiles. 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
Nick Winter
851ad43b45 Made some more User properties private. 2014-09-10 21:56:21 -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
Scott Erickson
5fc7caec64 Disabling an error that occurs on the dev server with the partial db. 2014-09-03 17:26:43 -07:00
Nick Winter
3e0518cd70 Fixed a few bugs and added a bunch of defensive handling for permissions not existing without new defaults. Fixed longstanding mistake with signup ignoring email newsletter setting. 2014-09-01 09:11: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
77e7efebeb Fixed #1385: no more redundant fallback localization files. 2014-08-30 19:30:33 -07:00
Nick Winter
24d3d189df Made espionage mode simpler, and added an admin user lookup. 2014-08-30 17:09:57 -07:00
Nick Winter
4d24233b0d Fixed #1356. 2014-08-30 15:19:42 -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
0ba9db6c14 Fixed some server tests. 2014-08-29 12:58:23 -07:00
Scott Erickson
f54c3236ab Refactored Achievement's getExpFunction to use the new defaults system, now on the server side. 2014-08-29 12:41:25 -07:00
Scott Erickson
570380c2a4 Merge branch 'master' into feature/defaults 2014-08-29 08:14:43 -07:00
Nick Winter
124f999bc8 Fixed #1105. Also send HipChat notifications whenever anyone changes anything; let's see if it's too much. 2014-08-28 19:39:46 -07:00
Nick Winter
f74a152942 Fixed #1104. 2014-08-28 18:55:33 -07:00
Scott Erickson
2dde77f8b0 Merge branch 'master' into feature/defaults 2014-08-28 15:26:04 -07:00