Nick Winter
e6f53d437a
Adding zero-sum to simulated ladder levels.
2015-03-20 10:16:19 -07:00
Nick Winter
8b06de9613
Requests without users can't save poll votes.
2015-03-20 07:10:47 -07:00
Matt Lott
fec3ac38e9
Prepaid subscriptions
...
Admins can generate a prepaid code, which a user can use to subscribe
for free via the account/subscription page.
The subscription will be identical to the normal monthly subscription
(e.g. 3500 gems per month), except they won’t be charged.
Does not require the recipient to enter billing information.
Can be applied to an existing subscription, which will be converted to
free.
Prepaid code can only be used once.
Prepaid subscription cannot be unsubscribed via the UI.
2015-03-19 15:04:15 -07:00
Michael Schmatz
7f9301e8c6
Setting up read preferences and china specific configuration
2015-03-19 14:18:38 -04:00
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