Commit Graph

82 Commits

Author SHA1 Message Date
shlurbee
55d2038354 Update config with new promocampaign thing table 2012-06-04 11:51:37 -07:00
Neil Williams
f5b6839a78 Losslessly optimize JPEGs.
Disabled by default in example.ini. Install jpegoptim
or an equivalent and set the configuration properly.
2012-06-01 13:48:24 -07:00
Neil Williams
ab039b4722 Use a different set of memcaches for locking. 2012-05-29 12:15:59 -07:00
shlurbee
09dbd49445 Update config with new promocampaign thing table
Adds promocampaign table (needed for the PromoCampaign model introduced in the
previous commit) to example.ini
2012-05-24 20:24:08 -07:00
Keith Mitchell
c209cc2f32 Switch to cloudsearch as primary search provider
Also, remove unused indextank files
2012-05-15 08:21:01 -07:00
Keith Mitchell
abe385cc74 Add note to top of generated ini files 2012-03-29 11:36:53 -07:00
Neil Williams
a42505c50a Keep admin cookie around if actively used. 2012-03-14 11:55:42 -07:00
Neil Williams
33b15bc265 Split the admin cookie out from the session cookie. 2012-03-13 15:46:37 -07:00
Neil Williams
9f0ec95138 Split table definitions from db configuration. 2012-03-05 16:45:45 -08:00
Neil Williams
fbe867ef72 Implement new lockless query cache. 2012-02-09 09:28:04 -08:00
Neil Williams
fcd3f3bba3 Make cassandra connection pool size configurable. 2012-02-02 14:45:06 -08:00
Max Goodman
8b5cad8687 Move toggle for template caching into its own .ini flag. 2012-01-31 13:38:04 -08:00
Neil Williams
e7b672d6b0 Replace proxy_addr with option to trust proxies in 10.0.0.0/8. 2012-01-23 09:17:59 -08:00
Neil Williams
706b27b24c Remove all remaining traces of the unused service cache. 2012-01-09 16:04:44 -08:00
Neil Williams
532be3fe2a Allow Cassandra models to choose a connection pool.
Note: some CFs are explicitly marked for the "main" connection
pool and others are not. This is an artifact of the current
state of reddit.com's cassandra setup and is intentional. While
cassandra_default_pool remains "main", this will not cause an issue
for you.
2011-11-30 16:11:39 -08:00
Neil Williams
ee9ee8b484 Get rid of unused profanity filter. 2011-11-21 14:32:17 -08:00
Neil Williams
935d0c0b46 Remove obsolete markdown interpreter selection infrastructure. 2011-11-21 14:32:17 -08:00
Neil Williams
8b7b3a307b Remove discount (markdown interpreter). 2011-11-21 14:32:17 -08:00
Neil Williams
560ca09270 Remove markdown.py and replace scattered uses of it.
It was used directly in two places in pages.py, I've
replaced those uses with safemarkdown calls. In the case
of the search fail page, I just removed the javascript
try-again link since it wouldn't be doable through safemarkdown
and that page isn't hit very frequently any more anyway.
2011-11-21 14:32:17 -08:00
Neil Williams
8865943a4a Add snudown as a markdown backend. 2011-11-17 12:11:51 -08:00
Neil Williams
8350d3f457 Sprite some more of all the things!
Had to convert the three special thumbnail images
to 32-bit PNGs rather than PNG8 with indexed alpha
since PIL does not support the latter. ImageMagick was
awesome for this.
2011-11-14 20:45:17 -08:00
Neil Williams
50a5daa60c Allow static files to be served from other domains. 2011-11-14 20:44:51 -08:00
Max Goodman
172f869e33 Add an example subdomain for payment_domain in example.ini.
The value of payment_domain needs to be different from the standard
g.domain so that c.secure is only set for the payment pages.
2011-11-08 16:25:21 -08:00
Andre D
4653c16a72 Split thumbnails and sr images across multiple buckets.
This allows for HTTP parallelization.
Also, allow users to select JPEG or PNG for SR images.
2011-10-25 15:51:15 -07:00
Neil Williams
a311805c85 Switch to bcrypt for password hashing.
Transparently upgrades passwords on next login.
2011-10-20 11:32:05 -07:00
Max Goodman
0cf053f477 Add blank announcement_message to example.ini. 2011-10-08 12:01:00 -07:00
Max Goodman
b847757069 Use cross domain https for slightly safer login.
Login UI code has been simplified and moved into the client side. CORS
is used for the cross-domain POST if available, otherwise an iframe and
cookie polling technique is used. Start fleshing out the new JS tree. :)
2011-10-07 14:51:25 -07:00
Andre D
1ecb427fdd Add an option to disable rate limiting. For testing. 2011-10-07 14:51:24 -07:00
Max Goodman
c280c6aca1 Fix handling of an unset language override.
Add setting to example.ini.
2011-10-07 14:51:24 -07:00
Neil Williams
93a65a6a3a Move onload out of the app.
We need onload to be able to get a client-IP based
tracking validation hash, but it doesn't actually need
to do any database work to make those hashes. It also
fails a huge number of times per day. This moves the hash
calculation out to an external app with no db dependencies.
2011-10-06 08:22:16 -07:00
Neil Williams
bc289092d9 Remove unused app restart code obviated by uWSGI. 2011-09-21 11:49:45 -07:00
Neil Williams
5721e4683f Add validator that checks a secret key or admin cookie. 2011-09-15 15:29:29 -07:00
Neil Williams
7f7dc9476a Remove the RequestLogMiddleware.
It doesn't play nicely with the new uWSGI setup and we don't use it.
2011-08-24 18:02:08 -07:00
Andre D
a86261f352 Add a contextual description metatag for scrapers. 2011-08-08 13:13:30 -07:00
Sean Creeley
4b9fee7926 Use an API key for the embed.ly API.
Open sorcerers: you will need an API key for media scraping to work
now. Please visit http://embed.ly to sign up. It's free for <10K
URLs a month.
2011-08-02 13:43:42 -07:00
Logan Hanks
0dcddae22f Add user "flair" for subreddits.
Flair is a new relation between subreddits and accounts (stored in a manner
similar to but distinct from subreddit membership). This relation can have
a text field and a CSS class name associated with it (this data is actually
stored under the account). The flair data is then incorporated into any
mention of the account within the context of the subreddit (namely, on links
and comments submitted by the user).
2011-07-28 11:21:47 -07:00
Neil Williams
4758ac8d2e Make read-only mode slightly less frustrating.
Also includes some work on heavy-load mode which
isn't being used right now.
2011-07-22 22:04:55 -07:00
Brian Simpson
51bcbfbc97 Method _key_from_url() now returns case sensitive results for special domains (e.g. imgur.com, youtube.com). They are defined as case_sensitive_domains in the .ini file 2011-06-20 16:07:28 -07:00
Max Goodman
5e2f134b95 Make template_debug skip stripping whitespace. 2011-05-17 15:17:44 -07:00
gabe
92fdd422fb Added option to disable captcha verification 2011-05-16 14:53:20 -07:00
westmaas
e6178bedb1 Make default header image URL configurable. 2011-05-16 14:52:15 -07:00
gabe
63d518f4c9 Make min age for subreddit creation configurable. 2011-05-16 14:52:09 -07:00
westmaas
d411cd55a6 Added support for disabling adds via config file 2011-05-16 14:52:03 -07:00
Neil Williams
68a06c568b April 2011 Merge
* Show "this post is archived" message for things we won't allow votes on.
* Don't mark messages read when pulled via RSS
* Make compact (smartphone) interface respect user's toolbar
* preferences.
* Make mobile interface more friendly for kindles.
* Fix bug that caused comment tree corruption.
* Use cachebuster on traffic pixel for more accurate tracking.
* Make apps restart themselves after a configurable number of requests.
* Move to pycassa 1.0.8.
* Fix bug in calculations for "best" sort.
* Fixes for Firefox Mobile
* Add a global flag to disable editing of the wiki.
* Move the child-comment collapse button to the left.
* Updated list of disallows in robots.txt to save needless hits from
  crawlers.
* Fix vote_q by splitting it into vote_link_q and vote_comment_q.
* Fix bug where /reddits crashes due to 'promos' subreddit.
2011-04-18 16:30:48 -07:00
ketralnis
7fff900bbe February 2011 Merge
* Upgrade discount to 1.6.8
* Start reading Votes, Saves, and Hides from Cassandra (while still dual-writing all three)
* Some XSS fixes
* Significant Gold buying and gifting improvements
  - Move /api/ipn to /ipn
* Allow non-US countries to buy sponsored links
* Increase embed.ly scope
* redd.it support
* Allow postgres port number to be specified in ini file (this changes the format of the .ini file)
* Upgrade Cassandra to 0.7
  - Change g.urlcache to LinksByURL
  - Translate storage-conf.xml to cassandra.yaml
  - TTL support (and enable on Hides)
  - Move permacache keyspace to inside reddit keyspace
* The stalecache: a local memcached that contains slightly old information to speed up some lookups
* Switch to patched Paste that is hopefully download.gz-proof
* Don't store votes on things > 30 days old
* Many many bugfixes/small features
2011-02-23 12:00:44 -08:00
ketralnis
37e2ba9892 * Combine cassandra clusters into a single one
* Add a new Cassandra CF for comment-sort caching
* Add JSONP support
* Support non-auto-renewing PayPal IPNs
* Gold accounting
* Gold features: comments tracking, larger comment limit
* Autorenewing gold
* Google checkout support
* Profile-page sorting for all
* Title-text on the logo
* Hardcache sharding and profiling
* Self serve enhancements
* Add /r/foo/faq
* Make self-centred reddits allow for more verbose selftext
* Much better down-handling of databases
* Add the ability to take a thread-dump from a running process
* Remove the comscore tracker
* Add comments to modqueue (does not back-populate)
2010-10-18 11:52:44 -07:00
ketralnis
0ae8f2fb96 21 Jul 2010 merge
* Use Flaptor's Indextank product for search, including santip's patch
* for their new API
* Add Cassandra ConsistencyLevels to the ini file, and storage-conf.xml
* to the public repo
* Patch contributed by umbrae in ticket #929: Add jumpToContent support
* for Keyboard Accessibility
* reddit gold
    - paypal/postcard support
    - friends with benefits
    - profile-page sorting for gold members
    - move domain listings into the permacache
2010-07-21 17:48:12 -07:00
KeyserSosa
9a4271f641 Upgrade Instructions
====
   * Uninstall the python Cassandra package that we previously depended on (it has a namespace conflict with the new package we depend on).  To find it:

     $ python -c "import cassandra; print cassandra.__file__"

    and rm -r the .egg directory after "site-packages/"

   * This version relies on cython, so if "make" fails, you may have to install cython via your distro's package manager.

     $ cd reddit/r2
     $ python setup.py develop # possibly with "sudo" depending on your install
     $ make

   * Cassandra is now required for the caching layer.  An example storage-conf.xml can be found in reddit/srv/cassandra.  Make sure that the additional <Keyspace> items are included in your conf file.

   * remove the query_queue_reader services if they are running.  add new gen_time_listings.sh instead.  Suggested cron:

    0    */2 *   *   *   $SCRIPTS/gen_time_listings.sh year '("month","year")'
    */5  *   *   *   *   $SCRIPTS/gen_time_listings.sh week '("day","week")'
    *    *   *   *   *   $SCRIPTS/gen_time_listings.sh hour '("hour",)'

   where $SCRIPTS is the location of this script directory

Features and Bugfixes
====
 * Mobile reddit:
   * templates are in r2/templates of the form *.compact
   * css is r2/public/static/css/compact.css
     * beginning of a sass-based (http://sass-lang.com/) compact.scss
   * reachable via .compact extension or from the "i" subdomain.
 * Cassandra is now *required*, and votes are currently written out to both cassandra and postgres (part of an eventual migration).
 * attempt to make the db connection code a little smarter.
   * A dropped DB connection will mark the connection dead and randomly attempt to reconnect.
   * A dropped db connection on start will permanently mark the connection as dead.
 * Calculate the time-filtered top/controversy listings using mapreduce instead of prec_links (new cron job in reddit/scripts)
 * allow default user/pass for database to be specified with '*' to fallback on db_user and db_pass in the INI file
 * Search feedback buttons
 * make deleted comments not show up in your inbox.
 * move last_visited into cassandra
 * Swallow rare, race-conditiony POST_save/hide/subscribe problems
 * Apparently we haven't been breaking properly for the past few weeks.
2010-06-16 17:01:50 -07:00
KeyserSosa
08c431bd85 * Comply with the spec on 304 errors so Chrome won't barf download.gz all over the place
* The error pages have been broken for the past week.
 * Fix /r/all+all
 * Provides about.json to the api for subreddits (it already works for users)
 * Make sure Accounts have data before checking their name and msgtime
 * new bigger arrows for mobile site and a the alien is fingerless now
 * Try to update the _fast_query_timestamps less often to alleviate some of the load it causes on the Accounts DB
 * Swallow rare, race-conditiony POST_save/hide/subscribe problems
2010-05-28 14:55:13 -07:00
Jeremy Edberg
253c4730f9 * Add services and scripts to public repos for ease of reddit installation
* bring discount up to date
 * fix consistency errors in the self-serve traffic page
2010-05-18 16:43:06 -07:00