Commit graph

670 commits

Author SHA1 Message Date
Andrey Chernih fc52db5424 Refactor HomeController 2014-07-09 22:25:39 +04:00
joshua stein 8958ce76c2 for direct-comment links, just use an anchor instead of js to scroll
closes #156
2014-07-03 11:25:30 -05: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 452c75908d change story downvoting to be called "flag", but still count as a downvote
been in production for a while
2014-07-02 10:04:48 -05:00
joshua stein 416a5de6e4 fade out downvoted comments less dramatically 2014-06-30 17:13:07 -05:00
joshua stein 9554423d4f tag pages should be ordered by created_at, not hotness 2014-06-30 11:56:40 -05:00
joshua stein 78f4da6699 Search: escape " when sending to sphinx 2014-06-24 20:08:15 -05:00
joshua stein 013662e50b only show comment downvote summary if its total score is <= 0
when a comment has a few upvotes and one downvote, users tend to
focus too much on the one downvote and edit or reply and debate the
downvote.  if more upvoted than downvoted, don't discourage the user
by pointing out the haters
2014-06-11 19:35:37 -05:00
joshua stein f3f10de295 bingbot is a bot too 2014-06-11 19:34:41 -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 9c9e7943f1 markdown help: mention backticks 2014-05-06 21:32:08 -05:00
joshua stein 2939e18172 story edit: always show merge field for moderators 2014-05-06 21:29:45 -05:00
joshua stein 09f113c66a grammar 2014-05-06 21:29:45 -05:00
joshua stein 1af0edd268 add a flat version of the user tree, ordered by karma 2014-05-06 21:29:45 -05:00
joshua stein 33c204e5ca mention that moderators can see invitation emails 2014-05-06 21:29:45 -05:00
joshua stein 664e3c77e2 when not logged in, show comment box but disabled 2014-05-06 21:29:44 -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 993e1e84ae when not logged in, show comment box but disabled 2014-04-14 23:14:08 -05:00
joshua stein e152574003 ModerationsController: fix pagination 2014-04-13 22:40:11 -05:00
joshua stein 73b8df5eb7 implement story merging
closes #137
2014-04-08 17:51:12 -05:00
joshua stein 9d2253a010 heavily downvoted stories should never be on the home page 2014-04-06 20:43:16 -05:00
joshua stein 3f67827b09 add some explanatory text on /recent 2014-04-06 20:26:50 -05:00
joshua stein 025558f6ad add support for /top and things like /top/3m and /top/2w
not linked to from anywhere yet

closes #95
2014-04-03 13:20:24 -05:00
joshua stein 3993e10109 HomeController: sort methods 2014-04-03 10:26:10 -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 f647e62f5f constrain textarea resizing to vertical 2014-03-24 18:54:52 -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 ed71fd8d61 auto-apply slides tag to speakerdeck.com 2014-03-12 18:32:03 -05:00
joshua stein af24e4e388 if a user has had a story moderated in the past 5 days, show guidelines 2014-03-12 17:52:52 -05:00
joshua stein 7f2c98860d swap out /newest link for /recent 2014-03-12 17:51:42 -05:00
joshua stein 6cab668a2f simplify rss <link> generation 2014-03-12 17:50:51 -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 d729d0ad99 move story voter arrow down and tighten up list since downvote is gone 2014-03-03 22:03:21 -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 87d4b8797f story submission: link to previously submitted url for recent stories
if there is only one error and the story has a already_posted_story,
show a custom error dialog that links to that story.  if there are
other errors, show the standard error dialog.

closes #135
2014-02-21 11:56:43 -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 57748f9839 message view: show admin/moderator status of sender 2014-02-21 11:20:35 -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 d75242f646 tweak story submission guidelines 2014-02-21 10:57:30 -06:00
joshua stein d4e9e024aa invitation requests: <em> emails 2014-02-21 10:57:30 -06:00
Radu Voicilas fa946933ab Fix typo Invitiation -> Invitation 2014-02-21 11:25:33 +02:00
joshua stein d0711892f6 messages: implement batch-delete function
closes #119
2014-02-19 13:31:48 -06:00
joshua stein 8755384bd8 invitation requests: show confirmed e-mails to moderators 2014-02-19 13:16:23 -06:00
joshua stein c90486b813 invitation requests: allow moderators to delete confirmed requests 2014-02-19 13:16:23 -06:00
joshua stein 78d9734c26 invitation requests: use a proper form_for, highlight errors 2014-02-19 13:16:16 -06:00
joshua stein 89cdf1101a add a story-only mailing list mode
closes #131
2014-02-19 12:49:12 -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 20c870b78b spacing nit 2014-02-17 10:09:33 -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
joshua stein 0d6f4ed60c fix story pagination and caching for logged-out users
use a file store so each unicorn process can share the same set of
files (using redis would probably be cleaner)

put page number into how hash when creating the cache key
2014-02-16 09:57:05 -06:00
joshua stein a16e99c686 avoid leaking object ids in form_fors 2014-02-12 13:28:53 -06:00
joshua stein 354143e9c5 mobile story view: align things a bit better, shorter markdown help label 2014-02-08 14:41:36 -06:00
joshua stein 5d5b920f5b mobile story list: make comment links easier to click on 2014-02-08 14:28:27 -06:00
joshua stein 2da624e592 use Rails.env.development? 2014-02-05 21:01:49 -06:00
joshua stein a85fbe4ff1 bring back moderation_reason for moderators 2014-02-05 21:01:49 -06:00
Serge Paquet 70a70096db fix improper usage of strong parameters in FiltersController 2014-02-05 17:02:12 -05:00
joshua stein 2f55605645 Merge pull request #126 from srgpqt/master
use Rails4-style strong parameters mass assignment protection
2014-02-03 17:04:55 -08:00
Serge Paquet 9013afa43b do not permit story moderation_reason to pass mass assignment security 2014-02-03 17:14:49 -05:00
joshua stein 49a116a12e "edited by e-mail" doesn't make much sense 2014-02-03 14:37:31 -06:00
joshua stein 9d1a1bdcf9 lighten highlighted comments a bit 2014-02-03 14:37:22 -06:00
Serge Paquet 519427586a use Rails4-style strong parameters mass assignment protection 2014-02-02 15:41:38 -05:00
Serge Paquet 22d6ec20a7 fix pushover messages user setting 2014-02-02 14:49:34 -05:00
joshua stein 9fb9a6f116 fix /recent behavior when there aren't enough stories to fill the list
keep walking back a day at a time
(might want to do this quicker though)
2014-02-01 03:39:58 -06:00
joshua stein 479c02415e auto assign ask/show tags when story title has "(show|ask) lobsters"
and strip out that segment from the title since it is redundant
2014-01-30 09:42:58 -06:00
joshua stein 6ef2596eed project tag renamed to show 2014-01-30 09:42:46 -06:00
joshua stein df75c8f787 revert to previous /newest behavior, use new stuff for /recent
/recent is not yet linked to from anywhere
2014-01-25 11:14:21 -06:00
joshua stein 8dbc0e4724 simplify story finding 2014-01-25 10:38:07 -06:00
joshua stein 35f43ea10c start experiment with /newest page
on the first page of /newest, shift out stories that got enough
traction that they're probably on the front page (currently 5
points)

then take the bottom half of the list and fill it with random,
unpopular stories from the past few days (currently 3)
2014-01-24 13:55:21 -06: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 e6ce3a5d68 show full story threads when highlighting a comment
we're not paginating (yet) so just show the whole thread like normal
and highlight the specific comment which gets scrolled to

closes #107
2014-01-20 23:30:46 -06:00
joshua stein d277011a0f tighten up comment tree spacing just a tad 2014-01-20 22:29:02 -06:00
joshua stein 700d338b23 unbreak story previews
@comments is nil, but there's no point in showing an empty comment
tree anyway
2014-01-20 21:18:03 -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
Serge Paquet 5bca469035 enable "reply" function on the "Comments" page 2014-01-20 21:04:54 -05: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 42ce1e3b4c rebuilt comment tree DOM structure as valid HTML 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 02a30c66b1 optimize database queries for "Your Threads" page 2014-01-20 16:44:14 -05:00
joshua stein 8c3841331d when highlighting one comment, scroll to it
though i wonder with highlighting comments and now scrolling to
them, why we bother excluding all other threads.  we aren't
pagingating threads anyway.
2014-01-18 13:13:58 -06: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 305c992709 possible fix for postgresql+sphinx indexing issue? 2014-01-14 21:42:27 -05:00
Serge Paquet cb695a1522 optimize traffic counter queries 2014-01-14 21:42:27 -05: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 566c1090e8 apply comment_text class to private messages to get nicer formatting 2014-01-14 11:39:56 -06:00
joshua stein 3241f34f75 don't interact with inactive users 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 da560f1da4 search: fix radio button labels 2014-01-13 00:55:36 -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 fcfd472723 don't show invitation queue to new users
this is just the link to it though, so new users can still invite
from the queue if they know what they're doing
2014-01-13 00:12:43 -06: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 2b93c1217b log user id when logged in 2014-01-12 13:28:08 -06:00
joshua stein 7abb4636dd reduce access required for privileged tags to just moderator 2014-01-12 13:28:07 -06:00
joshua stein ccae78bf34 if user is not logged in, prevent downloading application.js
saves a lot of time for users downloading and processing jquery and
other code that is never used when logged out
2014-01-12 13:28:07 -06:00
Conor Mongey a069749c65 Fix issue #96. Direct users back to root URL via get instead of post 2014-01-10 23:52:40 +00: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 cd7cb552e7 story detail: don't mock non-users by showing a discuss link
fixes #91
2014-01-08 22:20:56 -06: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 9bab78634e don't show endless comment link pages
stop when there are no more comments
2014-01-08 20:42:25 -06:00
joshua stein 2f824a73a3 shrink story hotness window, things are moving faster now 2014-01-08 20:42:25 -06:00
joshua stein 53a6d87ead speed up traffic decrementer 2014-01-08 20:42:25 -06:00
joshua stein 9a6cccfde0 grey out meta tag 2014-01-08 20:42:24 -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 1c3597004f Merge pull request #81 from srgpqt/master
simplify user tree controller action and template
2014-01-07 09:57:09 -08:00
joshua stein e6db99c956 disable autocomplete for text fields that shouldn't use it
new password on settings form and user invitation form (would be
another e-mail address, not the stored user's)

closes #85
2014-01-07 11:42:21 -06: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 d959977ca1 color 'ask' tag specially 2014-01-07 11:42:21 -06:00
joshua stein 831b576325 only show invitation queue link if there are any pending 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 b8652d80cc simplify user tree controller action and template 2014-01-04 03:14:41 -05:00
Serge Paquet a46194d1be add Search#page_count method 2014-01-02 12:16:14 -05:00
joshua stein fcd2c10c08 Merge pull request #76 from srgpqt/master
add karma column to users table, move out of keystore
2014-01-02 08:53:51 -08:00
joshua stein cc59b4b475 story guidelines toggler was moved to application.js 2014-01-02 10:10:25 -06:00
joshua stein 50aa8434f9 Merge pull request #59 from imwally/master
add story submission guidelines to the edit page
2014-01-02 08:09:05 -08: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 f8f35c6177 Merge pull request #73 from srgpqt/jquery-fixes
move inline js from story submission page into application.js
2013-12-29 08:09:54 -08:00
Serge Paquet 3c63f930cd more jQuery.fn.live fixes for the "submit story" page 2013-12-28 22:17:08 -05:00
joshua stein e63e45af2b record and show which comments were posted by e-mail, for no particular reason 2013-12-28 12:00:29 -06:00
joshua stein db81f5ff3b Merge pull request #72 from srgpqt/jquery-fixes
fix javascript errors caused by using deprecated/removed jQuery.fn.live
2013-12-28 09:53:37 -08: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 00228bc120 quote column name for mysql 2013-12-27 18:05:38 -05:00
Serge Paquet 8fbf76b484 use activerecord query interface instead of deprecated finder methods 2013-12-25 16:43:50 -05:00
Serge Paquet ae2ff1f1ef fix javascript errors caused by using deprecated/removed jQuery.fn.live function 2013-12-25 16:32:40 -05:00
Serge Paquet 6dcb7bbf6b fixed mixed indent style (should be 2 soft spaces as per project guidelines) 2013-12-23 18:19:47 -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 c95f2bfd13 don't need to save invitation request 2013-12-02 11:54:29 -06:00
joshua stein 0aa330d106 user tree: show new users in green 2013-12-02 10:45:21 -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 f53a39db74 auto-apply slides tag for slideshare.net 2013-11-20 11:39:09 -06:00
Kartik Agaram da438ce18e typo in invitation_request_mailer 2013-11-19 20:22:58 -08:00
Kartik Agaram bd61657d62 typos in invitations/build 2013-11-19 20:21:13 -08:00
joshua stein 4914366ffe auto link invitiation request memos 2013-10-24 11:16:07 -05:00
Ante Salinovic 7f5e592589 Fix page layout shift across all browsers. 2013-10-23 13:35:34 +11:00
joshua stein 0373bcdadb fix moderation log pagination 2013-10-18 16:05:46 -05:00
joshua stein aeb25d22b6 add a footer link bar, add /privacy and /about
if these templates (ignored by git) are not present, just show some
text rather than raise an error
2013-10-18 15:55:20 -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 3aa412087a show story downvote summary to everyone 2013-10-18 14:58:23 -05:00
Anton Nikishaev 5f8ccdaac8 Fix markdown formatting help 2013-08-07 22:15:27 +04: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 92b794748f minor css tweaks
- ditch vendor prefixes for css 3 things, fuck old browsers
- add a shadow around user profile avatar
- whitespace
2013-08-05 01:04:27 -05:00
joshua stein f639fd21e5 tweak invitation e-mail subject and text
"welcome to <site>" makes it sound like you already got signed up,
say "you have been invited to <site>" instead
2013-08-05 01:03:50 -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 2d18a3529d check for recently submitted urls before showing the story submission page
this is already done after submitting, which turns it into an
upvote, but now it will catch it when hitting the page from the
bookmarklet so the user doesn't have to fill out tags and stuff
first just to find out it's already submitted.

since this requires no confirmation, don't count it as an upvote
automatically, just redirect to the story page
2013-07-29 15:31:57 -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
Wally ef217e382c moved story submission guidelines and toggle js to _form.html.erb 2013-07-18 09:49:36 -04:00
Wally c385b3241c added story submission guidelines to edit page 2013-07-17 16:12:42 -04:00
Wally 22302a8cd5 fixed formatting on list and added missing </li> tags 2013-07-17 16:10:51 -04:00
joshua stein 4f8c302edb close bug #57: make :focus'd elements stand out 2013-07-05 16:12:46 -05:00
joshua stein 2858fea247 tweak display of user profile data a bit 2013-07-01 16:01:05 -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 1e413eee3a add missing spinner.gif that select2 references 2013-05-09 11:34:33 -05:00
joshua stein 0ff4ef2484 Tag has_many taggings, and delete them on destroy 2013-03-30 11:37:38 -05:00
joshua stein 04218c8f6c explicitly to_s the tag description before sending to CGI.escape
fixes a problem with tags with no description, raised in issue 50
2013-03-29 16:20:52 -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 4cae9d38ae show the tag description as the tag link title 2013-03-23 21:09:41 -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 6c914528c4 tweak position of some html tags 2013-03-17 15:39:48 -05:00
joshua stein ff9fc0f41e make user gravatars round 2013-03-15 19:18:43 -05:00
joshua stein 9532ffc410 increase line-height for story texts 2013-03-15 19:18:43 -05:00
joshua stein 66548e21cf story tag selector: only match at the beginning of the tag name
makes much more sense when quickly typing in tag names to match the
tag name you're typing, not a tag that has a description that
contains a word with what you're typing
2013-03-15 19:13:58 -05:00
joshua stein 1c0a8dfd03 move after-signup invite page into signup controller 2013-02-25 11:13:44 -06:00
joshua stein d95618f08b fix spacing of labels inside span.d 2013-02-25 11:12:55 -06:00
joshua stein de1dc1d430 after a new user signs up, nag them to invite someone 2013-02-22 14:52:22 -06:00
joshua stein 87cb2cb45b add time_ago_in_words_label helper that shows the real time as a label title 2013-02-22 11:22:39 -06:00
joshua stein 97831574f1 make 'interview' and 'project' tags red 2013-02-22 11:03:42 -06:00
joshua stein d0459974cd so long whitespace 2013-02-13 18:50:51 -06:00
joshua stein d971e2072f after sending a message, redirect_to the inbox 2013-02-11 21:58:38 -06:00
joshua stein 04363c54df more to_s paranoia 2013-02-11 21:53:40 -06:00
joshua stein 75570194ac sprinkle some to_s paranoia on params where it matters 2013-02-08 10:39:51 -06:00
joshua stein 305789381c indent <pre> 2013-02-08 10:38:29 -06:00
joshua stein 5fc1827fb9 load @messages on message create screen 2013-02-07 17:38:23 -06:00
joshua stein 95cdd886a1 fix tag filtering
a story with tags [c, go] with a user's tag filter of [go] was just
removing the [go] tag from the story, not removing it from the list
completely
2013-02-07 17:35:20 -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 14ed917baa show rss <link> header on /comments 2013-01-13 21:39:52 -06:00
joshua stein 56261c999a tabs to spaces 2013-01-07 17:23:09 -06:00
joshua stein f130dd7ab0 add some js to allow moderators to enter reason when deleting stories 2013-01-07 17:20:41 -06:00
joshua stein 10abf0bd7b don't deliver mention or reply notifications to posting user 2013-01-07 16:29:00 -06:00
joshua stein 48bdcfd89c add 144x144 version of apple-touch-icon.png for ipad
the logo font is baskerville semi-bold, just for the record
2013-01-04 00:12:44 -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 1031ea8cb1 require logged in user for preview_new as well 2012-12-30 11:47:43 -06:00
joshua stein 8848ea8a17 Merge pull request #44 from rpwll/css-img-fix
limit width of images in story descriptions to that of the story container
2012-12-20 11:31:33 -08:00
Rhys Powell 10ad698616 Fixed an issue where images would exceed their container 2012-12-19 21:09:57 +11: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 d108158d15 add json views to /newest.json and /hottest.json for issue #42 2012-12-16 20:05:27 -06:00
joshua stein 3bba719cd9 explicitly prevent caching in development mode, triggers some kind of bug
throws "undefined class/module Story" after changing the model in
between refreshes
2012-12-16 20:03:01 -06:00
joshua stein 9cc54edb5b move avatar url generation into User model 2012-12-16 20:02:02 -06:00
joshua stein a7d463999d don't count json and rss views towards traffic counter 2012-12-16 20:01:39 -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 c6c4169ae3 don't count spider traffic towards traffic counter 2012-12-16 18:46:38 -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 90a57ef8c9 whitespace 2012-12-08 22:39:05 -06:00
joshua stein ef1b2e9dda on login and signup page, mention open signup isn't available and link to user tree 2012-12-08 13:14:43 -06:00
joshua stein ffa9d35477 whitespace 2012-12-08 13:14:33 -06:00
joshua stein f34607f17f set meta referrer tag to "always"
http://wiki.whatwg.org/wiki/Meta_referrer

lobsters isn't secret, but because it's all behind https, browsers
don't send a referrer header when visiting linked stories that
aren't behind ssl.  for site owners, it can be useful to see where a
sudden burst of traffic is coming from and view comments, so force
supporting browsers (currently only chrome) to send the lobsters
referral url.
2012-12-08 13:08:27 -06:00
joshua stein ad762d233a rss: comments link must be encoded as well 2012-11-28 15:18:41 -06:00