Emi Dunn-Rankin
515b089b3b
Update terms link to point to DTI 2020
...
There's a new terms page over there! Use that instead, and update the lil footer to change the date it was last modified (8 years wow!)
2022-09-25 06:11:34 -07:00
3ae8a265b2
Use Fastly to cache our PNG assets from S3
...
We've been serving images directly from `impress-asset-images.s3.amazonaws.com` for a long time. While they serve with long-lasting HTTP cache headers, and the app requests them with the `updated_at` timestamp in the query string; each GET request still executes a full S3 ReadObject operation to get the latest version.
In the past, this was only relevant to users on Image Mode, not Flash Mode. But now that everyone's on Image Mode, this matters a lot more!
Now, we've configured a Fastly host at `impress-asset-images.openneo.net`, to sit in front of our S3 bucket. This should dramatically reduce the GET requests to S3 itself, as our cache warms up and gains copies of the most common asset PNGs.
That said, I'm not sure how much actual cost impact this change will have. Our AWS console isn't configured to differentiate cost by bucket yet—I've started this process, but it might take a few days to propagate. All I know is that our current costs are $35/mo data transfer + $20/mo storage, and that outfit images are responsible for most of the storage cost. I hypothesize that `impress-asset-images` is responsible for most of the reads and data transfers, but I'm not sure!
In the future, I think we'll be able to bring our AWS costs to near-zero, by:
- Obsolete `impress-asset-images`, by using the official Neopets PNGs instead, after the HTML5 conversion completes.
- Obsolete `impress-outfit-images`, by using a Node endpoint to generate the images, fronted by a CDN cache. (Transfer the actual data to a long-term storage backup, and replace the S3 objects with redirects, so that old S3 URLs will still work.)
I hope this will be a big slice of the costs though! 🤞
(Note: I'll be deploying this on a bit of a delay, because I want to see the DNS propagate across the globe before flipping to a new domain!)
2021-05-12 22:50:05 -07:00
Matt Dunn-Rankin
822efede84
undo accidental commit
...
These credentials were never used, and are now revoked. Awkward!
2017-01-06 19:54:17 -08:00
Matchu
e6a2b978f1
oh huh. looks like remove/move are ready.
2015-09-26 19:55:09 -07:00
Matchu
621c768921
Select All + visual feedback
2015-09-26 14:22:11 -07:00
Matchu
4ae43f61ea
good-enough zeroclipboard implementation
2015-09-24 20:50:27 -07:00
Matchu
4a539f32db
hope I did this swfimages fix right xD
2015-08-05 20:22:23 -04:00
Matchu
4a18f22571
camo the emotes on the campaign show page
2015-08-05 19:41:42 -04:00
Matchu
5d2c226357
yum, new campaigns
2015-08-05 19:26:12 -04:00
Matchu
b9a9ce3890
import from gallery
...
some of the stuff to support single-pageiness feels a bit hacky. ah, well :P
2015-07-28 15:05:40 -04:00
Matchu
deb0aa90f0
refactor importing
2015-07-27 13:25:24 -04:00
Matchu
dcf254a78d
finally let people remove all items from the list at once.
...
I've been doing this manually via email for a long time,
since building new stuff in the logged-in world was a pain in the old env.
But now here we are! Finally, finally :)
2015-07-19 12:35:49 -04:00
Matchu
625f1ee8b4
mount the resque app regardless of admin status if in development
2015-07-18 01:05:10 -04:00
Matchu
f6a95ddac5
oooops, carrierwave wants s3 config in prod, too
2015-07-17 18:26:43 -04:00
Matchu
a29fbbbd40
move some deploy stuff from files into env
2015-07-17 17:47:58 -04:00
Matchu
7c2600af9f
the dev version of neopia has a hostname now :D
2015-07-16 22:37:32 -04:00
Matchu
647c767c31
latest i18n gem cares is stricter about locales, so configure better. this works, right? :x
2015-07-16 18:59:45 -04:00
Matchu
0d6caceb24
improve app infrastructure to make a dev environment easier to reproduce
...
This commit will require a few changes to the deployment process:
* store AWS credentials in AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY env vars
* store OpenNeo Auth credentials in OPENNEO_AUTH_APP, OPENNEO_AUTH_SERVER, and OPENNEO_AUTH_SECRET env vars
STRIPE_SECRET_KEY and STRIPE_PUBLISHABLE_KEY are now required, too; better have a good .env.
You can always put in dummy values if you have no credentials, though; they only get called up if there's a transaction.
SECRET_TOKEN is now an env var, too, but the production deploy process currently replaces config/initializers/secret_token.rb anyway; this might be the way to go later, though.
2015-07-16 17:44:52 -04:00
093ae27ae8
get upset when we neopets.com bans us :P
2015-07-15 00:09:17 -04:00
b0cc4c2396
swf links
2015-05-03 16:57:42 -05:00
bf9f9ed82e
download links for each image size
2015-05-03 16:37:24 -05:00
caaf524060
download link in left sidebar
2015-05-03 16:01:08 -05:00
026bdbbc0c
warn users with trading lists but no neomail address
2014-12-02 10:05:11 -06:00
0e301db987
vandagyre basic colors (ugh, should be in database)
2014-11-14 19:33:30 -06:00
04a328e6ee
homepage outfit features
2014-09-10 15:38:26 -05:00
f11f6374da
donation mailer
2014-09-10 14:32:54 -05:00
59d5e99312
donation show form and basic name updating
2014-09-09 22:04:17 -05:00
595b1c2fc5
charge and record donations
2014-09-09 21:11:55 -05:00
05841d091b
update terms
2014-08-25 20:57:07 -05:00
79a96b7670
lookup link alongside neomail
2014-05-15 22:34:00 -07:00
eda80a8dc7
double whoops; the actual problem was that i hadnt restarted the background workers :P
2014-04-05 23:52:24 -05:00
9fe19e00c7
whoops; now that we index by item fit, update item after asset save
2014-04-05 23:48:36 -05:00
44ff466a64
advanced search by pet type fit :)
2014-04-05 18:48:20 -05:00
0fe31ee79a
basic fits functionality in search
2014-04-05 17:43:54 -05:00
acbec2ad5e
design mockup for autofilter; no new behavior yet
2014-04-05 17:16:35 -05:00
a375707e40
handle errors from neopia, finally!
2014-04-04 15:53:53 -05:00
d25d2b3398
big picture mode
2014-04-04 14:36:35 -05:00
6086243e37
on second thought, no dots after owns/wants filter labels
2014-04-02 23:51:54 -05:00
ad1aa8e42c
advanced search i18n
2014-04-02 22:06:45 -05:00
369ea7d1bd
oops, removed wrong examples
2014-04-02 21:38:56 -05:00
250af4487c
remove search.examples i18n
2014-04-02 21:35:08 -05:00
3c36cd6aef
assign biology assets to restricts and item assets to occupies
2014-04-02 20:56:42 -05:00
2f0f10a0c7
while we're here, bump order of magnitude on outfit count
...
we also now have tens of thousands of users, but that bump makes it
flow worse, so whatever :P
2014-04-02 14:37:40 -05:00
ed9c828373
remove accents from pt search filters
...
It's still recognized if the user types it, but we're going to be
doing more query transforms now, so we don't want to mislead folks
into thinking that we require the accents xP
2014-04-02 10:32:13 -05:00
f9fa3eb596
prank color artist credit
2014-03-31 21:05:28 -05:00
2ed3f3d4c6
more abstraction
2014-03-28 15:22:21 -05:00
32bab89ed4
add prank messages to outfits#show
2014-03-28 15:15:04 -05:00
8e93d603fa
list prank colors as fake on the homepage, unless pranks are funny today
2014-03-27 22:44:18 -05:00
63b34435c7
ugh, add react.js manually :(
2014-01-20 14:35:28 -06:00
7928514342
add react.js to precompile list
2014-01-20 14:18:30 -06:00
00841e45d2
modeling i18n
2014-01-20 13:56:19 -06:00
b2fca6b6c1
closet hangers index uses neopets connections dropdown
2014-01-18 22:50:14 -06:00
72b174c9b3
store all neopets usernames for logged-in users, but breaks closet_hangers#index
2014-01-18 21:55:01 -06:00
fd106d7dba
basic modeling buttons
...
no behavior yet, nor are they filtered
2014-01-10 16:25:03 -05:00
1b0a636fab
i18n the unmodeled newest items content
2014-01-10 16:25:03 -05:00
949fa2a77a
i18n newest items headers
2014-01-10 16:25:02 -05:00
342f8ef859
remove unused outfits.new.newest_items.header i18n key
2014-01-10 16:25:02 -05:00
7c6e607612
basic neopia api integration
2014-01-10 16:25:02 -05:00
fef87d664a
ugh, why are basic hashes in a yaml file instead of the database? :(
2014-01-10 16:23:54 -05:00
6b340f906e
Cache trade info on items#show, finally! I think it's the performance culprit.
2013-12-27 14:49:46 -05:00
f07996d762
cache pet images on items#show, in case that's what's being a super-slow jerkface
2013-12-05 15:22:43 -06:00
8bd7ad5a1e
support manually uploaded swf asset images - not the actual uploading, but block them from being reconverted
2013-10-16 15:50:48 -05:00
daf1f140fb
pet rate limit is now 3/30sec
2013-07-02 20:50:34 -07:00
4acc0e22c8
bulk pet loader rate limits itself
2013-07-02 14:10:24 -07:00
abe35c6fd9
throttle pet loads per ip
2013-07-02 14:10:01 -07:00
349a83123c
oops: set flex config.hangers_enabled before the line that checks for its presence
2013-06-11 11:22:17 -07:00
bf528b06d2
label pet states as glitched, send to bottom of emotion order
2013-04-27 10:21:51 -05:00
fae0a48bb7
re-enable closet hanger indexing
2013-04-23 22:27:59 -05:00
3c91f0cde0
import items to a specific list
2013-04-09 15:50:33 -05:00
cc4e2904a1
swfimages cloudfront domain
2013-03-06 20:17:44 -06:00
c7237d7d44
fix a bunch of precompiled-asset-missing errors
2013-03-05 22:26:14 -06:00
59be3c9d66
faster asset compilation by not initializing app
2013-03-05 21:52:31 -06:00
a66311140f
Merge branch 'rails_3_2_12'
2013-03-05 21:10:01 -06:00
5e55423dca
now that we're on rails 3.2, mount resque at /resque - just for
...
meeeeee :)
`User#admin?` is now defined as `name == 'matchu'`. I feel kinda
bad about hardcoding that, but I also don't care enough right
now :P
2013-03-05 21:09:08 -06:00
cf5191d33c
phew. rails 3.2.12, including some asset pipeline. still buggy.
2013-03-05 20:08:57 -06:00
3cd06c9f64
resque will reconnect to database after each job to avoid Gone Away errors
2013-03-05 15:14:29 -06:00
250f425509
rails 3.1 upgrade - still buggy
2013-03-05 15:10:25 -06:00
f547a75c40
ruby 2.0.0 compatibility... hopefully.
2013-02-25 01:14:45 -05:00
4921ed964a
es 2013 02 19: default human names for color/species, fix item pronoun in contributions
2013-02-19 11:16:41 -06:00
4090bb3c86
pt 2013 02 19: default human names for color/species
2013-02-19 11:09:27 -06:00
b3f048b922
es goes public!
2013-02-16 21:39:04 -06:00
475a4a6709
pt 2013 02 16
2013-02-16 21:37:14 -06:00
01eb34132a
es 2013 02 16
2013-02-16 21:36:22 -06:00
1c0b5c743e
better handle new colors and species
2013-02-15 23:57:06 -06:00
989363f743
better i18n for contributed description
2013-02-12 11:45:54 -06:00
423e105ec1
es first draft
2013-02-11 23:25:22 -06:00
21095edc98
pt 2013 02 09
2013-02-09 18:56:31 -06:00
5e37063674
Merge branch 'i18n'
2013-02-04 19:12:01 -06:00
bc02ae8386
pt is ready for primetime ^_^
2013-02-04 19:11:54 -06:00
dad57ebea2
small pt yaml syntax update
2013-02-04 19:09:05 -06:00
7f2ce2839b
appearance dropdown - wow, that was easy
2013-01-31 19:46:34 -06:00
5985e234da
pet states know their localized description
2013-01-31 19:11:15 -06:00
9efd2fe83a
have new relic trace flex methods
2013-01-31 18:39:51 -06:00
36b216a6e8
update pt
2013-01-30 21:00:52 -06:00
9a9eea86ec
fully disable closet hangers in production
2013-01-30 20:21:27 -06:00
9c6797699e
enable hangers in development, disable in production
2013-01-29 23:06:37 -06:00
71d9dc44cd
substring-ish item name indexing using ngrams+keyword
2013-01-29 23:00:45 -06:00
9fc643152e
production elasticsearch search config
2013-01-28 18:29:28 -06:00
a9cdabda49
apparently this fixes resque for spawning child processes. okay.
2013-01-28 03:55:36 -06:00
6c3ff09f5d
make en-MEEP translatable - because sorting by translations doesnt work well with fallbacks
2013-01-27 20:43:08 -06:00