Commit graph

352 commits

Author SHA1 Message Date
joshua stein e3f6a4edd8 Merge pull request #163 from walle/upvoted_fix
add /upvoted page to show a logged-in user's upvoted stories
2014-08-17 19:09:04 -05:00
joshua stein 13de40df34 order newest stories by id, not created_at
same order (most likely) but id has an index on it and created_at
will need a full table scan
2014-08-17 18:58:45 -05:00
Fredrik Wallgren 2ffe322f64 Rename by_user to newest_by_user and sort accordingly. 2014-08-17 14:18:23 +02:00
Fredrik Wallgren ab8f8f3a72 Add upvoted route.
Upvoted route shows all stories a logged in user have upvoted
in reverse chronological order, latest upvote first.
It is not shown in the gui, but reachable at /upvoted.
2014-08-16 00:27:18 +02:00
joshua stein 85cb7c2057 first stab at planet rss aggregation
could probably use a prettier layout and auto-posting a weblog url
to the main site (carrying tags)
2014-08-03 22:07:57 -05:00
joshua stein 8a3b133d87 style/wrapping 2014-08-03 22:07:56 -05:00
Andrey Chernih fc52db5424 Refactor HomeController 2014-07-09 22:25:39 +04:00
joshua stein 270939b5a4 Story: return true from recalculate_all_hotnesses!
this is usually called from the console, and true is better than a
giant array of every Story object
2014-07-02 10:09:03 -05:00
joshua stein 78f4da6699 Search: escape " when sending to sphinx 2014-06-24 20:08:15 -05:00
joshua stein 023f8282ea as noted earlier, URI.parse is not very lenient
trying to use it in Story#domain but not in validate can ruin things
2014-06-05 07:54:48 -05:00
joshua stein 56774913c0 Story: experiment with making comment counts affect hotness 2014-05-06 21:32:17 -05:00
joshua stein aab34a9936 embed timestamp in password reset token, only work for 24 hours 2014-04-15 00:46:14 -05:00
joshua stein 73b8df5eb7 implement story merging
closes #137
2014-04-08 17:51:12 -05:00
joshua stein 9848cf5e47 Story: export tags in json view
closes #143
2014-04-03 10:23:37 -05:00
joshua stein eec85db1f8 bump up max edit times for stories and comments
not really any harm in letting people correct mistakes
2014-04-02 13:14:08 -05:00
joshua stein 7fb75af7fe simplify Story.find_similar_by_url arel, only pull undeleted stories 2014-03-28 10:45:01 -05:00
joshua stein bb9c9c5353 don't include hiders in story vote summary 2014-03-24 10:26:07 -05:00
joshua stein 6f30d99581 shrink story hotness window to 24 hours 2014-03-24 10:26:07 -05:00
joshua stein c09542a80a enforce a maximum username length of 25 2014-03-24 10:26:07 -05:00
joshua stein 7f9c227ed0 bring back story downvoting, remove low quality option
story hiding is still here, so hopefully this will result in less
bogus story downvotes
2014-03-24 10:26:06 -05:00
joshua stein 00eda60fdc Story#is_downvotable? is gone 2014-03-14 18:55:46 -05:00
joshua stein 8b60e5fd63 show story hider count on story detail page 2014-03-13 10:51:12 -05:00
joshua stein efe1353b87 update a user's unread message count after bulk-delete
only count messages that are both unread and undeleted
2014-03-06 15:27:13 -06:00
joshua stein 285fd82c16 check story tag permissions on editor, not creator 2014-03-06 13:54:30 -06:00
joshua stein 9535b05490 remove story downvoting, add story hiding
stories should either be reported for spam (coming later), upvoted,
or left alone rather than being downvoted for being uninteresting.
since users don't like leaving uninteresting things alone, they can
now hide stories from their view without affecting the story's
score.

hiding is implemented as a Vote with its vote set to 0 and the
reason set to "H"

add a /hidden url which shows all of a user's hidden stories

while i'm here, simplify Vote guts and add some tests to make sure
all the flip-flopping stuff works right
2014-03-03 17:20:21 -06:00
joshua stein 99c551cbfe move initial upvote of submitted story to Story model 2014-03-03 17:13:00 -06:00
joshua stein 888c80eb83 reserve "moderator" and "moderators" usernames 2014-02-21 11:41:47 -06:00
joshua stein 3a60d3abba show story downvoting usernames to moderators to detect problems
such as voting rings or users downvoting things instead of filtering
tags
2014-02-21 11:29:19 -06:00
joshua stein 95202f21b2 add Tag.active scope to deprecate tags without removing them 2014-02-21 10:57:30 -06:00
joshua stein 67fc2cc75c set maximum time during which comments and stories can be downvoted
always allow a user to "unvote" if they're previously downvoted, but
after a certain number of days, don't accept new downvotes

there isn't really any benefit in downvoting old stuff that is
already off the front pages or on a dead comment thread, other than
to maliciously strip karma for particular users
2014-02-17 12:08:01 -06:00
joshua stein 9d16898477 User: move "new account" age into constant 2014-02-17 10:09:08 -06:00
joshua stein 1d5b004a36 Story: alpha sort methods, no functional changes 2014-02-17 10:07:36 -06:00
joshua stein 9918660ab4 Comment: alpha sort methods, no functional changes 2014-02-17 10:01:44 -06:00
Serge Paquet 519427586a use Rails4-style strong parameters mass assignment protection 2014-02-02 15:41:38 -05:00
joshua stein 20cf2bab65 show how many stories have been tagged with each on filters page
closes #93
closes #114
2014-01-24 13:53:10 -06:00
joshua stein fe83a5b780 use false instead of 0 for boolean column in where clause
fixes #113
2014-01-21 20:53:29 -06:00
joshua stein 71eeb6c7d2 be a good pushover user and let the user specify a sound
- move pushover particulars into User model
- Pushover class rescues errors, don't need to do it from User
2014-01-21 01:21:02 -06:00
joshua stein 00f8e9c189 use one of gravatar's default avatars rather than our own 2014-01-21 00:22:40 -06:00
joshua stein 3c7393c6a3 give tedu his karma back
fix bug introduced in 3757b279 that gave comment vote karma to the
voter rather than the commenter
2014-01-20 20:22:45 -06:00
joshua stein 27caa0a7a6 Merge pull request #106 from srgpqt/recent_threads
fix User#recent_threads for postgresql
2014-01-20 17:27:03 -08:00
Serge Paquet 79b64c3883 use standard create/update comment routes 2014-01-20 16:52:19 -05:00
Serge Paquet 41c9dfad5d fix DOM structure when replying to or updating comments 2014-01-20 16:52:19 -05:00
Serge Paquet 577ce2307b fix User#recent_threads for postgresql 2014-01-16 21:33:00 -05:00
joshua stein dd860f06e3 also escape ~ char before sending to sphinx 2014-01-14 21:53:46 -06:00
Serge Paquet d74a2c448f add postgresql support 2014-01-14 21:42:27 -05:00
joshua stein 5f6c13b26b Merge pull request #98 from srgpqt/master
remove redundant "story" variable in comment templates
2014-01-14 18:34:07 -08:00
joshua stein be2c706c06 fix Tag.accessible_to to allow moderators to use privileged tags 2014-01-14 11:39:56 -06:00
joshua stein e12d91cd43 allow users to delete their own accounts
not much can actually be deleted, but it can be put into a deleted
state
2014-01-13 10:12:17 -06:00
Serge Paquet aabe4ceed7 remove redundant "story" variable in comment templates 2014-01-13 02:11:34 -05:00
joshua stein 1ef58d6496 search: fix busted scope introduced in sphinx update 2014-01-13 00:59:37 -06:00
joshua stein 65a9a77104 Merge pull request #92 from srgpqt/filters
simplify and optimize Filters controller and template
2014-01-12 22:34:09 -08:00
joshua stein 4cfa2dae27 Merge pull request #86 from srgpqt/master
refactor Comment#ordered_for_story_or_thread_for_user method
2014-01-12 22:30:27 -08:00
joshua stein f1f6b3c7e0 alert the user when submitting a long-ago-submitted story
show the user a link to the previous story and let them know they
can submit it again if they want to (just by submitting the form
again)
2014-01-13 00:10:31 -06:00
joshua stein 22b77573a5 prevent new users from downvoting
don't show downvote arrows for logged-out and new users

color comments from new users in green like in the user tree,
and banned users in gray
2014-01-12 23:17:09 -06:00
joshua stein 0989d6b30b also log a moderation when a user is banned 2014-01-12 19:22:08 -06:00
joshua stein 287be48187 add stuff to deal with banning users 2014-01-12 15:09:32 -06:00
joshua stein 68a1f02a1c name /u/:username route 2014-01-12 14:22:47 -06:00
joshua stein 7abb4636dd reduce access required for privileged tags to just moderator 2014-01-12 13:28:07 -06:00
Serge Paquet 2c906efa7e simplify and optimize Filters controller and template 2014-01-09 01:44:03 -05:00
Serge Paquet e2c266af4b simplify Comment#arrange_for_user method 2014-01-08 23:48:24 -05:00
Serge Paquet 5988038071 make Comment#ordered_for_story_or_thread_for_user work on query scope 2014-01-08 23:48:24 -05:00
joshua stein d578482e3b move story comment counts out of keystore
it would be nice to use AR's built-in counter cache, but the
comments count has to reflect something custom so stick with what
was there
2014-01-08 22:20:56 -06:00
joshua stein 2f824a73a3 shrink story hotness window, things are moving faster now 2014-01-08 20:42:25 -06:00
joshua stein 40e4c10e26 fix busted PM e-mail notifications
do e-mail and pushover deliveries separately, catch and log errors
from each

closes #90
2014-01-08 20:42:24 -06:00
joshua stein 345388079e Merge pull request #83 from srgpqt/sphinx
upgrade thinking-sphinx gem; requires sphinx >= 2.0.6
2014-01-07 10:17:31 -08:00
joshua stein c576f86e4d in moderation auto-message, tell the user it's automated 2014-01-07 11:42:21 -06:00
joshua stein 1452e1c34d rip out default filtered tags 2014-01-07 11:42:21 -06:00
joshua stein ce495470c6 double max comment edit time to 90 minutes 2014-01-07 11:42:20 -06:00
Serge Paquet 709b0bff98 upgrade thinking-sphinx gem 2014-01-07 05:52:29 -05:00
Serge Paquet a46194d1be add Search#page_count method 2014-01-02 12:16:14 -05:00
Serge Paquet 3757b279ff add karma column to users table 2014-01-01 16:03:01 -05:00
Serge Paquet 9b0294c471 upgrade to rails v4.0.2 2013-12-30 17:40:52 -05:00
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
joshua stein 24ed0e1f6f only count downvotes in downvote summary 2012-10-09 11:04:53 -05:00
joshua stein 468a0cbe60 no need to make a delta for seconds, just use created_at 2012-10-09 11:04:53 -05:00
joshua stein c4f1a5e756 we're not doing comment flagging, remove 2012-10-09 11:04:43 -05:00
joshua stein c0ba39834b only do new tag check for new stories 2012-10-07 01:44:33 -05:00
joshua stein 6cb466bc83 shrink story hotness window down to 24 hours as we are growing 2012-09-20 11:00:11 -05:00
joshua stein 39bb9b77de minor cleanup 2012-09-20 10:53:11 -05:00
Robert J Samson 45d87069dd Check that user has appropriate permissions on tags before_save 2012-09-19 22:13:20 -04:00
Robert J Samson f3eb44972b Check to make sure a user isn't improperly using a privileged tag when saving a Story. 2012-09-19 20:57:45 -04:00
Robert J Samson 7fd75a7f3a More descriptive method and attribute names 2012-09-19 20:28:09 -04:00
Robert J Samson 5ada55f10d Add a 'private' attribute to tags to allow for admin / mod specific tags
Private tags would allow admins to create tags that only admins could
use, and that regular users could not filter. The best example use case
for this is an 'announements' tag for site announements that all users
should see.
2012-09-19 16:44:57 -04:00
joshua stein 0663ea0fed show how many users are filtering each tag 2012-09-19 12:25:11 -05:00
joshua stein b2315a5728 add private rss feeds for logged-out users by passing a token
create a random rss_token for each user and append it to the rss
urls.  when adding the user-specific feed url to a feed reader, the
user's tag filters will be applied before generating the rss view,
giving the same list of stories that the user sees while logged in.
2012-09-18 10:43:05 -05:00
joshua stein 7c8db7269d wrap 2012-09-18 10:22:59 -05:00
joshua stein 42150c8a56 fix karma adjustment when not upvoting 2012-09-17 19:24:33 -05:00
joshua stein b7e5447c1d allow embedded images in story text, but still not in comments 2012-09-17 13:24:29 -05:00
joshua stein cb5e05c461 minor cleanups after last merge 2012-09-16 15:51:25 -05:00
joshua stein 17d8213bc7 merge @username mentions and notifications from @rjsamson 2012-09-16 15:41:21 -05:00
joshua stein dae138cddd show in a user profile who the user was invited by 2012-09-16 15:16:32 -05:00
joshua stein 45a498ea51 comments have an initial upvote of 1, which has a non-zero confidence 2012-09-14 15:54:45 -05:00
Robert J Samson ec1bcb9704 Added mentions in comments using @username convention. @username is linked to user profile in comment text, and notifications are available via email and pushover (with notification preferences) when a user is mention. 2012-09-10 13:40:33 -04:00
joshua stein af5b00572c whenever a story/comment is moderated, send a message to the user 2012-09-08 18:32:56 -05:00
Robert J Samson 6554983fd7 Add average karma to user profiles 2012-09-07 13:25:59 -04:00
joshua stein ea143e6fbb reject email addresses with spaces 2012-09-07 09:25:00 -05:00
joshua stein f0bc4e7c8d reject email addresses with spaces, catch mailer delivery errors 2012-09-07 09:24:29 -05:00
joshua stein c093431898 allow tags to be filtered by default for new and non-logged-in users 2012-09-06 13:44:42 -05:00
joshua stein 6be5150bb0 cleanup 2012-09-04 20:59:51 -05:00
Maxwell Swadling 3c65a3332f Fixed the sqlite FIXME for keystore 2012-09-05 09:01:59 +10:00
joshua stein b91a637535 Story#url has a custom validator, remove duplicate 2012-09-03 16:53:58 -05:00
joshua stein 5a72a9d6a7 if a comment is downvoted, show the comment's user a summary of its downvote reasons 2012-09-03 12:42:32 -05:00
joshua stein 0691235882 suppress deleted messages from message list since they're not actually wiped out until both parties delete 2012-09-03 11:25:14 -05:00
joshua stein e6c74e8251 add moderation logging
- add users.is_moderator and look at that for most things, not
is_admin

- make default user in readme be a moderator

- log moderator actions in story edits, comment
  deletions/undeletions (and later, user disabling).

- remove ability for moderators to edit comments, there's really no
  reason to.
2012-09-02 12:18:52 -05:00
joshua stein 88894a66fc catch sphinx errors 2012-09-01 22:56:07 -05:00
joshua stein 776bf89dea implement /comments.rss 2012-08-24 11:41:37 -05:00
joshua stein edcee1bddd << strikes again 2012-08-24 11:41:37 -05:00
joshua stein c945f29040 add similar-url check for www\d*\., rewrite checker to be simpler 2012-08-24 11:41:37 -05:00
joshua stein 70db7a5879 short ids in urls should be case insensitive, so make them that way anyway 2012-08-24 11:41:37 -05:00
joshua stein 33e6eee4e0 don't count deleted comments for stories, update comment counts after comment del/undel 2012-08-24 11:41:37 -05:00
joshua stein 3640e1e7a3 comment deleting and undeleting 2012-08-24 11:41:37 -05:00
joshua stein 7dd4b99ac2 escape slashes in search queries 2012-08-24 11:41:37 -05:00
joshua stein fd8ec36608 story previews 2012-08-24 11:41:37 -05:00
joshua stein abb8392c16 search engine! 2012-08-24 11:41:36 -05:00
joshua stein 389b4c61ec do better at finding near-similar urls already posted recently
http -> https, trailing slash, etc.
2012-08-24 11:41:36 -05:00
joshua stein da5c04504a fix voting on stories where the user previously commented on 2012-08-24 11:41:36 -05:00
joshua stein 88f01210d3 enable activerecord attribute whitelisting just in case 2012-08-24 11:41:36 -05:00
joshua stein c17ea7b638 while we're slow, allow upvoted stories to stick around longer 2012-08-24 11:41:36 -05:00
joshua stein b9c8f1d371 oops, confidence desc 2012-08-24 11:41:36 -05:00
joshua stein f664734a40 fix markdown links that have trailing punctuation inside the url 2012-08-24 11:41:36 -05:00
joshua stein 911bc2d088 only rstrip comments to preserve leading spaces for <pre> wrapping 2012-08-24 11:41:35 -05:00
joshua stein c63d35a65d use a common class for rdiscount options, filter out <h#> tags, add rel=nofollow 2012-08-24 11:41:35 -05:00
joshua stein 342d6ff911 move markeddown html into sql so it doesn't have to be generated every time
it's unlikely to change and if it does, we can just re-generate
everything in sql at once
2012-08-24 11:41:35 -05:00
joshua stein cd568eaa38 fix deleting/undeleting stories for users and moderators 2012-08-24 11:41:35 -05:00
joshua stein b5fc3d2e1f allow admins to edit everything forever 2012-08-24 11:41:35 -05:00
joshua stein 28cd5f8432 fix story edit bug, only check url at new time 2012-08-24 11:41:34 -05:00
joshua stein a2705a835e add tag filters 2012-08-24 11:41:34 -05:00
joshua stein fc1c474fb3 implement private messages 2012-08-24 11:41:34 -05:00
joshua stein 95ef42d872 move confidence and hotness into sql tables for proper sorting 2012-08-24 11:41:34 -05:00
joshua stein e535a1387f make linking to specific comments work 2012-08-24 11:41:34 -05:00
joshua stein d9b95b2a1d email and pushover reply notifications 2012-08-24 11:41:30 -05:00
joshua stein 9de30a870f use a story's short id url as the rss guid since the title can change 2012-08-24 10:57:42 -05:00
joshua stein 6258cb7f75 remove leading and trailing underscores from title_as_url 2012-08-24 10:57:42 -05:00
joshua stein c38fb2ed95 fixes 2012-08-24 10:57:42 -05:00
joshua stein 6b76eadcec sqlite is only in test 2012-08-24 10:57:42 -05:00
joshua stein c961bd6546 catch no title 2012-08-24 10:57:42 -05:00
joshua stein 73916d6636 going to have to do this sqlite-specific anyway 2012-08-24 10:57:42 -05:00
joshua stein 8dd109c49f drop custom markdowner for rdiscount 2012-08-24 10:57:42 -05:00
joshua stein 3bfea45145 shorter random string to not wrap in email 2012-08-24 10:57:41 -05:00
joshua stein 282f505cf2 pass around root_url from view/controller into model when needed 2012-08-24 10:57:41 -05:00
joshua stein d85aed9475 value_for 2012-08-24 10:57:41 -05:00
joshua stein 909feb49cb note submitters in keystore 2012-08-24 10:57:41 -05:00
joshua stein ada1571a53 invitation system, user settings 2012-08-24 10:57:11 -05:00
joshua stein f6560d37ad shorten stories to /s/ instead of /p/ 2012-08-24 10:57:11 -05:00
joshua stein bbaa8f554f fix markdown help display on story submission 2012-08-24 10:57:11 -05:00
joshua stein 7b3cbdddee rss feeds! 2012-08-24 10:57:10 -05:00
joshua stein 13a584854e stories must have at least one tag 2012-08-24 10:57:10 -05:00
joshua stein 473a026a0e how did all of these tabs get here 2012-08-24 10:57:10 -05:00
joshua stein f801932a03 use nokogiri to get doc titles 2012-08-24 10:57:10 -05:00
joshua stein cb4f0f9b4e Utils.random_str 2012-06-30 16:43:18 -05:00
joshua stein 578c96d653 more work 2012-06-30 14:14:35 -05:00