Matt Lott
2561bc4caf
🐛 Fix Stripe web hook sub deleted for deleted user
...
Add check for deleted user in subscription deleted Stripe web hook
event handler, and equivalent test case.
Add logging for web hook 500 errors to aid future debugging.
2015-03-20 16:14:32 -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
Matt Lott
af89452b93
Merge branch 'sponsored-subs'
2015-03-13 15:19:20 -07: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
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
768ef7818c
Removed unneeded mongodb driver, since Mongoose uses its own.
2015-02-22 11:38:51 -08: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
Matt Lott
7e46b819c4
Stripe API version update fixes
...
Using customer sources instead of cards so we can update our API
version:
https://stripe.com/docs/upgrades?since=2014-11-05#api-changelog
2015-02-22 07:54:36 -08: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
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
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
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
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
Matt Lott
88f050ba06
Disable invalid analytics server tests
2014-12-30 12:18:32 -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
59318b2f78
Merge branch 'master' into feature/campaign-editor
2014-12-19 12:54:11 -05:00
Scott Erickson
1cc6a97e43
Added basic campaign view, working on campaign handlers.
2014-12-16 17:46:24 -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
20c8352225
User password hash test accepts production or development salt for convenience.
2014-12-11 20:21:42 -08:00
Scott Erickson
876a663690
Fixed server tests.
2014-12-09 13:41:44 -08:00
Scott Erickson
46f7bbaaf5
Fixed client tests. Also updated mock-ajax to the latest version, carrying over my own tweaks.
2014-12-09 13:41:44 -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
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
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
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
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
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
95dca575d1
Set up stripe on the server and site to allow purchases through the website.
2014-11-17 15:15:08 -08:00
Scott Erickson
bd969c017e
Turned off InventoryView tests for now.
2014-11-12 14:04:51 -08:00
Scott Erickson
7012d5dfbe
Built payment endpoint for processing Apple IAPs.
2014-11-11 17:40:29 -08:00
Scott Erickson
56e62bb4c8
Fixed a couple server tests.
2014-11-11 17:40:29 -08:00
Nick Winter
def4108913
Fixed a test to expect PUT instead of PATCH.
2014-10-28 21:17:54 -07:00
Scott Erickson
20595b50da
Fixes 1647. Somehow had been under the impression the segmented sprite containers weren't handling clicks correctly and that segments needed to handle them.
2014-10-22 07:53:49 -07:00
Scott Erickson
ba79d59190
Fixed a couple errors in the tests.
2014-10-21 11:54:03 -07:00
Scott Erickson
cd8f5800a6
Merge branch 'master' of https://github.com/codecombat/codecombat
2014-10-21 10:21: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
Scott Erickson
092997bffe
Added i18n coverage logic to the CocoModel.
2014-10-17 10:11:26 -04:00
Nick Winter
7e7ec719b0
Possibly fixed a server test in accordance with real private properties.
2014-10-06 18:05:20 -07:00
Scott Erickson
b65b553f2d
Fixed some tests broken from the refactoring.
2014-09-28 14:04:01 -07:00
Scott Erickson
f081d9ed4b
Refactored CocoSprite -> Lank, lank.imageObject -> lank.sprite, SpriteBoss -> LankBoss, spriteLayers -> layerAdapters, sprite -> lank in general. Also got the ThangTypeEditView working again.
2014-09-28 14:00:48 -07:00
Scott Erickson
64a8322ec0
Fixed some more tests.
2014-09-28 10:47:01 -07:00
Scott Erickson
8adbd87401
Merge branch 'master' into feature/webgl
2014-09-28 10:38:19 -07:00
Scott Erickson
024cd9c955
Fixed a bunch of tests, and a child animations bug from the MovieClip pooling optimization.
2014-09-28 10:33:24 -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
Scott Erickson
fb30f07f2e
Re-enabled effect marks.
2014-09-24 18:42:04 -07:00
Scott Erickson
91f33e49dc
Re-enabled shadows.
2014-09-24 17:52:44 -07:00
Scott Erickson
7f90ed18cc
Bunch more work on scaling for everything and hit testing for segmented sprites. Also got health bars working again.
2014-09-24 16:53:38 -07:00
Scott Erickson
6669a01c14
Got rid of some cache functions. Set up area of effect animations in the new spriteSheet system.
2014-09-24 12:08:55 -07:00
Scott Erickson
2cbe498f9a
Fixed scaling for singular sprites for all cases.
2014-09-24 09:37:49 -07:00
Scott Erickson
16cb596a12
Set up scaling and mouse events for segmented sprites with container actions.
2014-09-23 12:08:50 -07:00
Scott Erickson
5de5d5658e
Working on SegmentedSprite mouse events, hit tests and scaling.
2014-09-23 11:37:05 -07:00
Scott Erickson
3b7ce76d7d
Refactored WebGLLayer and SpriteContainerLayer/ContainerLayer into a single LayerAdapter class that has a Container or SpriteContainer.
2014-09-19 15:46:02 -07:00
Scott Erickson
2183b7dac1
A couple other minor tweaks to a test suite.
2014-09-19 15:00:45 -07:00
Scott Erickson
cc7c65115c
Renamed WebGLLayer to LayerAdapter.
2014-09-19 14:59:29 -07:00
Scott Erickson
fbbfb6c0cc
Refactored WebGLSprite to SegmentedSprite and SingularSprite, and refactored renderStrategy (container/spriteSheet) to spriteType (segmented/singular).
2014-09-19 14:56:40 -07:00
Scott Erickson
3c9b40e8f4
Set up placeholders for when WebGLSprites don't have their raw data built yet. Not finished yet because of scaling, but will come back to it... Got some refactoring to do first.
2014-09-19 13:50:14 -07:00
Scott Erickson
a99cdfb957
WebGLLayer now recycles previous sprite sheets, speeding up rendering additional thang types or animations.
2014-09-18 14:36:05 -07:00
Scott Erickson
7fb261f577
Removed some unnecessary expectations.
2014-09-18 12:22:54 -07:00
Scott Erickson
c7279e68a8
The whole WebGL system now dynamically renders needed frames when actions it doesn't support get activated.
2014-09-18 12:19:52 -07:00
Scott Erickson
0404b94e5e
WebGLSprites of all types no longer display anything at all if their required data hasn't been rendered.
2014-09-18 11:56:49 -07:00
Scott Erickson
7db73a5ddf
Fixed a test.
2014-09-18 11:12:49 -07:00
Scott Erickson
b1784a1207
Had apparently switched the SpriteBoss tests to use a regular Stage instead of a SpriteStage. Switched it back, and fixed a subsequent bug with the Layer responding to Camera events (apparently SpriteStage does not take regX/Y or scaleX/Y into account).
2014-09-18 11:12:18 -07:00
Scott Erickson
f2765e05b0
Added some explanations for the SpriteBoss test setup.
2014-09-18 11:04:16 -07:00
Scott Erickson
0b948d4a1e
Got the SpriteBoss to handle removing sprites again.
2014-09-18 10:03:13 -07:00
Scott Erickson
63758acd2e
Fixed some tests when run on karma.
2014-09-18 09:46:02 -07:00
Scott Erickson
dbfbddeb5d
Added a test to make sure the WebGLLayer ended up with the right number of children after multiple renderings. Fixed something that was breaking WebGLLayer and WebGLSprite tests.
2014-09-17 16:06:23 -07:00
Scott Erickson
7387248ffd
Initial integration of SpriteBoss with the WebGLLayer and all else.
2014-09-17 15:47:25 -07:00
Scott Erickson
1ef3d150a8
Integrated WebGLLayer and WebGLSprite with CocoSprite.
...
Disabled some features in CocoSprite that'll have to be added back later.
Moved more logic from CocoSprite, like determining registration points for a given animation, to WebGLSprite.
WebGLSprite can now display either rendering containers or SpriteSheets.
2014-09-16 15:36:59 -07:00
Scott Erickson
9343d1e645
Tweaked the most recent tests.
2014-09-15 15:09:27 -07:00
Scott Erickson
9ba11e2354
Got the WebGLSprite to work with nested MovieClips.
2014-09-15 15:08:02 -07:00
Scott Erickson
a633f6f82f
Built most of the WebGLSprite.
2014-09-15 13:53:20 -07:00
Scott Erickson
08bdcb2cb6
Built the WebGLLayer which creates sprite sheets based on what CocoSprites are given to it.
2014-09-12 16:33:01 -07:00
Scott Erickson
5551c622fa
Added a new test to webgl: making giant canvases.
2014-09-11 11:36:26 -07:00
Nick Winter
2f07c3e8d3
Adding communication with iPad app.
2014-09-06 19:50:31 -07:00
Scott Erickson
a4b3a09eff
Added a webgl demo, testing a bunch of performance things.
2014-09-05 12:48:48 -07:00
Nick Winter
632559f7db
Refactored LevelLoader to load sessions after levels, so that we can do the right thing with hero levels' sessions. Made levels default to type: 'hero'.
2014-09-01 20:53:53 -07:00
Scott Erickson
b4d9a787f0
Fixed the rest of the server tests.
2014-08-29 16:28:07 -07:00
Scott Erickson
0ba9db6c14
Fixed some server tests.
2014-08-29 12:58:23 -07:00
Scott Erickson
154b91c753
Changed LevelLoader to always deeply load components and thang types, not just for hero levels.
2014-08-28 15:19:04 -07:00
Scott Erickson
8b056cfb8f
Refactored the item equips view to limit items by slot and also moved the item name loading to the node class itself.
2014-08-28 11:24:45 -07:00
Scott Erickson
8b943d1c2c
Merged conflicts.
2014-08-28 09:59:03 -07:00
Nick Winter
ee9e453896
Fixed #828 . Added many other minor refactorings.
2014-08-27 12:24:11 -07:00
Scott Erickson
98752159ca
Made the SuperModel a little bit more clever about handling duplicate loaded models.
2014-08-26 16:31:53 -07:00
Scott Erickson
39d0df5153
Fixed name ordering in the thang components editor.
2014-08-26 13:27:17 -07:00
Scott Erickson
f92a665b8b
Merge conflicts.
2014-08-26 09:53:04 -07:00
Scott Erickson
6091eaea6f
Bunch of fixes to the thang component edit view.
2014-08-26 09:48:33 -07:00
Scott Erickson
1406a970ea
Bunch of fixes to get the level editor working again.
2014-08-25 20:34:46 -07:00
Nick Winter
e48b218533
Projected models can now update their projections and re-fetch. Hero ThangTypes now do this.
2014-08-25 15:39:47 -07:00
Scott Erickson
1669871acc
Fixed a demo.
2014-08-25 11:39:38 -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
86ba46b64c
Refactored LevelLoader's loading of session dependencies a bit so it's easy to have it load them on demand.
2014-08-18 13:43:17 -07:00
Nick Winter
03e39c3f5c
Fixed Level denormalize test.
2014-08-15 11:15:48 -07:00
Scott Erickson
8233df514e
Added an acceptor field to patches.
2014-08-15 10:36:21 -07:00
Matt Lott
98bed57751
Merge pull request #1441 from differentmatt/master
...
Instrument user code problems
2014-08-14 16:17:47 -07:00
Scott Erickson
9404c40b47
Another stab at fixing the tests.
2014-08-14 14:22:02 -07:00
Scott Erickson
2060bb5ac5
Turning off a test that for some reason is breaking on Travis but nowhere else.
2014-08-14 14:07:20 -07:00
Scott Erickson
827f6ee8b8
Added a swap button, as well as moving my testing to the demo view and adding some specifications, fixing bugs and tweaking interactions along the way.
2014-08-14 14:04:03 -07:00
Matt Lott
9b79e2ca27
Instrument user code problems
2014-08-14 13:32:00 -07:00
Scott Erickson
f9e8bfad9f
Made some minor changes.
2014-08-13 13:45:24 -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
19b9a99167
Fixed some tests.
2014-08-13 10:48:22 -07:00
Ruben Vereecken
3fd396974d
Merge branch 'master' into achievements
...
Conflicts:
app/views/DemoView.coffee
app/views/docs/ComponentDocumentationView.coffee
app/views/editor/level/LevelEditView.coffee
server/users/User.coffee
2014-08-13 10:43:42 +02:00
Ruben Vereecken
8ae116200f
Achievements are now i18n'able
2014-08-12 18:18:16 +02:00
Ruben Vereecken
857d3ca02c
Added some simple animations to achievement popups
2014-08-12 12:04:08 +02:00
Scott Erickson
88252806c7
Fixed #1413 .
2014-08-11 18:47:41 -07:00
Scott Erickson
b3572dfad9
Fixed some bugs with the ThangComponentsEditView, added AddThangComponentsModal.
2014-08-11 15:41:08 -07:00
Ruben Vereecken
672b0f54f6
Worked away our NotifyJS dependency - horrible lib
2014-08-11 14:11:26 +02:00
Scott Erickson
6cac2371c1
Refactored and improved the ThangComponentsEditView and ThangComponentConfigView. Still some things to do.
2014-08-10 13:03:53 -07:00
Ruben Vereecken
47f00f9b5e
Added achievement deleting and automatic achievement filling
2014-08-08 17:20:07 +02:00
Scott Erickson
cc025942f8
Extended the LevelLoader to load thang types and components dynamically for hero levels.
2014-08-07 18:27:47 -07:00
Scott Erickson
29770bd220
Added a function for denormalizing levels, extending level thang components and configs with ones from thang types.
2014-08-06 15:18:22 -07:00
Michael Schmatz
2c809759a3
Merge pull request #1395 from rubenvereecken/master
...
Added test cases for fetching related by user slug instead of ID
2014-07-31 08:08:53 -07:00
Ruben Vereecken
871149b2bc
Rechecked and added cool stuff for achievements
2014-07-30 22:23:43 +02:00
Ruben Vereecken
30a6cf1cca
Merged in name changes from master
2014-07-29 17:28:13 +02:00
Ruben Vereecken
f3e5b30f11
Merge remote-tracking branch 'upstream/master'
2014-07-29 16:50:31 +02:00
Ruben Vereecken
0f3b049189
Added test cases for fetching related by user slug instead of ID
2014-07-29 12:48:31 +02:00
Ruben Vereecken
194463c113
Greatly redid achievement styling for various scenarios
2014-07-28 17:40:20 +02:00
Ruben Vereecken
a03e3aedd1
Managed to recalculate translation/misc patches after all
2014-07-24 19:43:09 +02:00
Ruben Vereecken
3191c87cf1
Added recalculation for patches. Struggled with translations. Won't recalculate those probably
2014-07-24 14:41:06 +02:00
Ruben Vereecken
cde87e4fe5
Covered general patches with tests
2014-07-23 20:00:28 +02:00
Scott Erickson
1c3404d03e
Refactored views. View file names now match view class names. Router lists routes explicitly rather than routing automagically. Hacking my way to renaming problem, spell.
2014-07-23 07:02:45 -07:00
Ruben Vereecken
2394bd8129
Added the recalculation script for a couple of statistics
2014-07-23 15:22:53 +02:00
Ruben Vereecken
ebfe1fc1c0
Proofed admin endpoint some more, no more dangling connections
2014-07-23 13:06:51 +02:00
Ruben Vereecken
1c6da9711b
Added the Recently Played collection and endpoint
2014-07-21 14:36:10 +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
Scott Erickson
90a4a1b635
Added setProjection so CocoModels can more easily get subsets of data.
2014-07-18 16:12:27 -07:00
Nick Winter
933fb6866c
Uncommented ellipse test cases.
2014-07-16 16:31:21 -07:00
Nick Winter
42af807e5c
Merged in geometry work from #51 .
2014-07-16 16:01:37 -07:00
Ruben Vereecken
0288786098
Merge branch 'master' into achievements
2014-07-15 16:16:46 +02:00
Ruben Vereecken
e748417007
GET /auth/name/<name> now serves possible free names
...
anonymous users are now warned if their new name is already chosen
User Settings is now without auto-save
Upon name conflict, a user will be suggested a new name which is then submitted if the user chooses to save after all.
Refactored conflicted name checking so it can be used in more places
Signup form now has an optional name field
Covered extra case where the debounced check happened too late. Support for submitting on enter.
Worked in scott's comments and got tests working again
2014-07-14 20:07:58 +02:00
Ruben Vereecken
9c0353a2f0
Merged in master
2014-07-13 21:18:32 +02:00
Scott Erickson
ad2e01ee61
Fixed a couple tests.
2014-07-10 14:31:50 -07:00
Ruben Vereecken
9e296b7c3d
Added a test case for unsetting slugs (and fixed related bug)
2014-07-10 18:24:02 +02:00
Ruben Vereecken
94210fc461
Anonymous users are now silently renamed upon signup in case of conflict
2014-07-10 18:00:32 +02:00
Ruben Vereecken
6e593b2ec0
User name slugs can now be unset by emptying their name
2014-07-10 10:46:41 +02:00
Ruben Vereecken
a8353cb7ff
Anonymous users can have the same name
2014-07-09 21:34:35 +02:00
Ruben Vereecken
ea4523bf6a
Test coverage for GETting users by slug
2014-07-09 21:34:35 +02:00
Ruben Vereecken
ac95d775e6
Users can now be gotten by slug
2014-07-09 20:23:05 +02:00
Ruben Vereecken
5dc54c784d
Added case and demo for user not found. Should be made prettier as soon as users can be queried by name
2014-07-09 18:13:22 +02:00
Ruben Vereecken
b065a524c1
Got down the basic layout for achievement overview
...
Achievement style is now compatible between overview and popup
2014-07-09 15:06:47 +02:00
Ruben Vereecken
ea3d1fee74
Starting on achievement overview style
2014-07-07 15:03:28 +02:00