Commit graph

130 commits

Author SHA1 Message Date
Serge Paquet b42189f45b replace some raw sql with database-agnostic activerecord queries 2013-12-30 16:23:59 -05:00
joshua stein 1e7dc17b56 set hotness with score+1 so a single downvote doesn't kill it 2013-12-28 11:52:52 -06:00
joshua stein 4fe74ab2e4 add "low quality" story downvote option, reorder 2013-12-28 11:52:52 -06:00
Serge Paquet 8fbf76b484 use activerecord query interface instead of deprecated finder methods 2013-12-25 16:43:50 -05:00
joshua stein c8e5aa3cac sphinx casts integers to unsigned, screwing up score attributes
cast them as bigints

closes #67
2013-12-19 16:04:51 -06:00
joshua stein c6191da912 InvitationRequest: require url (memo) for invitations
otherwise validating requests is kind of difficult
2013-12-02 10:44:36 -06:00
joshua stein 4914366ffe auto link invitiation request memos 2013-10-24 11:16:07 -05:00
joshua stein 66f433176a add an invitiation request queue
the user tree is pretty big to look through now, so let users submit
a request for an invitation, which logged-in users can browse and
instantly send invites to
2013-10-18 15:49:20 -05:00
joshua stein 249dd85ec3 allow non-logged-in users to define tag filters
when not logged in, store the filters in a long-lasting cookie and
do not cache the home page

for that one guy on hacker news that complained about lobste.rs not
having this
2013-08-05 02:19:55 -05:00
joshua stein dbc2e40684 move tag css class building to Tag model
add a tag_is_media class to tags with that type, use that for
matching in application.css instead
2013-08-05 01:02:48 -05:00
joshua stein 5c0dad2c4a strip spaces from urls as they are assigned 2013-07-19 22:07:03 -05:00
joshua stein ccb8094da1 change some before_create's to before_validation, :on => :create
random tokens need to be filled in before validation, otherwise the
validation is just checking a blank value
2013-07-19 22:05:00 -05:00
joshua stein eeda7668b6 on user pages, show their most commonly used tag 2013-07-01 15:53:43 -05:00
joshua stein 301fc79268 alpha user methods 2013-07-01 15:53:43 -05:00
joshua stein a471eb180a don't hardcode "Lobsters" and "lobste.rs" everywhere, use Rails.application.{name,domain} 2013-06-30 01:50:23 -05:00
joshua stein 2cdd385126 add front-end code to allow users to toggle mailing list reception 2013-06-30 00:54:03 -05:00
joshua stein 0325b026c1 rss_token and mailing_list_token have to be set before create, duh 2013-06-30 00:54:03 -05:00
joshua stein 7e0fc989d1 move countinual comment logging to model
comments can come in from other places than the controller now
2013-06-30 00:54:02 -05:00
joshua stein fd41bfa566 start on mailing list interface 2013-06-30 00:54:02 -05:00
joshua stein ed512cc065 move comment thread_id generation to Comment 2013-06-30 00:54:02 -05:00
joshua stein 7ff7b676e5 use cast() magic when passing score to sphinx
fixes problem with mysql/mariadb 5.5
2013-06-30 00:54:02 -05:00
joshua stein 78603d8349 unique mailing list tokens for everyone! 2013-06-30 00:54:01 -05:00
joshua stein b641d0232d sort of merge cache branch but don't do anything automatically
allow manual caching of story text using diffbot, if an api key is
configured and Story#fetch_story_cache! is called
2013-06-30 00:54:01 -05:00
joshua stein 68690647ab user newer-style validation methods, add banned usernames 2013-06-21 20:37:15 -05:00
joshua stein c9571dabaf back out 9ece666 removing utf8mb4 hacks, no longer needed 2013-05-26 12:32:54 -05:00
joshua stein 0ff4ef2484 Tag has_many taggings, and delete them on destroy 2013-03-30 11:37:38 -05:00
joshua stein 5e357f5684 allow moderators to edit story urls if they ever had one 2013-03-26 12:23:47 -05:00
joshua stein f585d07aa8 don't do @username expansion in user profile about section
most users are probably putting @username to mean a twitter profile,
not a link to a lobste.rs profile
2013-03-23 21:05:13 -05:00
joshua stein d0459974cd so long whitespace 2013-02-13 18:50:51 -06:00
joshua stein 464b3c3f80 add support for viewing sent private messages 2013-01-24 14:21:22 -06:00
Jon Evans 08a8165fa9 Use new ShortId class to generate short id 2013-01-22 23:32:45 -07:00
Jon Evans 0a48959cda Pull short id generation into separate class 2013-01-22 23:15:05 -07:00
joshua stein 10abf0bd7b don't deliver mention or reply notifications to posting user 2013-01-07 16:29:00 -06:00
joshua stein 11385d6b65 add json view of story, including comments
for issue #42
2012-12-30 12:17:59 -06:00
joshua stein 048c614590 Story: make update_comment_count factor in deleted comments/threads 2012-12-30 12:12:24 -06:00
joshua stein 19ba94fd31 don't collapse moderated threads, remove them entirely 2012-12-30 12:11:47 -06:00
joshua stein f7cac129b4 when comments are moderated, collapse their replies
also try to show which moderator deleted the comment and the reason
2012-12-18 21:36:32 -06:00
joshua stein d64f713054 User: don't export id to json; consumers should use username as pk 2012-12-18 17:26:29 -06:00
joshua stein 109718ba90 expose User and Story created_at to json 2012-12-18 17:16:02 -06:00
joshua stein cb5e1592b0 Story: export comment_count and score to json 2012-12-17 18:19:19 -06:00
joshua stein a4e5684994 moderation log: fix tag change summary; fixes issue #43 2012-12-16 20:27:54 -06:00
joshua stein 175ff9d2b1 add some custom as_json output to Story and User 2012-12-16 20:00:41 -06:00
joshua stein a9e169175b show story vote summaries to submitters and mods if it has any downvotes 2012-12-08 22:39:06 -06:00
joshua stein e5a0b671b8 story: simplify tags malarky and just use mark_for_destruction on associated objects 2012-11-26 13:39:16 -06:00
joshua stein fd4a278d3b fix duplicate description= definition 2012-11-13 11:39:50 -06:00
joshua stein 6deadc731a designate certain tags as media types, require a tag other than those
just tagging something "video" doesn't make it appropriate for
submission, it still requires a categorization tag
2012-11-12 11:02:18 -06:00
joshua stein 9ece6666bf add stupid temporary hack to strip out utf8mb4 chars that are screwing up mysql
4-byte utf8 chars like emoji are passed around in ruby fine, but
when they are put into mysql queries, strings get truncated at the
first mb4 character.  to prevent truncation, strip out mb4
characters in most user-controlled fields like comments, story
descriptions and titles, and messages.

to properly support utf8mb4, mysql server 5.5 is needed, the table
encodings need to be changed to utf8mb4, and the mysql2 gem needs to
be upgraded once it supports utf8mb4:

https://github.com/brianmario/mysql2/issues/249
2012-11-07 21:58:10 -06:00
joshua stein 47f1c44fc9 do incremented_value_for in a transaction to make sure we get the right key back
do sqlite checks based on Keystore.connection.adapter_name rather
than assuming one environment uses sqlite and the others don't
2012-10-24 14:55:14 -05:00
joshua stein d07c555595 comments can be deleted or moderated to be considered gone 2012-10-24 11:53:43 -05:00
joshua stein d495e9472a move hotness window back to 48 hours 2012-10-09 11:06:43 -05:00