Commit graph

697 commits

Author SHA1 Message Date
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
joshua stein 91b1255d96 story form: auto-apply video tag to vimeo links, too 2012-11-27 11:47:44 -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 088084965c rss: only hide comments link when no url
stories with a url but also a description were previously not
getting comments link shown
2012-11-21 22:15:00 -06:00
joshua stein 3e689b1c35 check for show_story first 2012-11-21 22:13:50 -06:00
joshua stein cb8901473c add an #invite anchor to the settings url 2012-11-21 22:04:29 -06:00
joshua stein 70f9208a7b shorten top links to avoid running into each other on small screens 2012-11-21 22:04:29 -06:00
joshua stein 367982adef whitespace cleanup 2012-11-21 22:04:29 -06:00
wilkie e37053cea4 Removes link to reply on comment when not on a story page.
The reply link does not work on any page that isn't a story page because
it replies on the fact that a comment_form div exists on a page. That
form is the base comment field present on a story page. Therefore,
removing the link when the story is displayed next to the comment
selects for that case easily.

Closes #36 by virtue of removing the link.
2012-11-15 21:25:34 -05: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 0eac1c375a show user count on user tree page 2012-10-26 17:08:19 -05: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 5ee6c227a3 <> -> < />, add noarchive robots header 2012-10-24 11:53:43 -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 a2b034ea36 fix pulling vote for current story when showing a specific comment 2012-10-24 11:53:43 -05:00
Alan P. Laudicina 1ab6f592b6 Wrap long line 2012-10-24 07:03:25 -04:00
Alan P. Laudicina ba284f7f29 Add default description, which points to comments 2012-10-24 06:57:12 -04: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 b8ec2daabe only apply light link color to story list, not story detail page 2012-09-25 10:54:25 -05:00
joshua stein 8af36b2280 make visited story links a lighter blue
closes #24
2012-09-25 10:51:10 -05:00
Sam Hasler eb24304686 Highlight video tags like pdf tags 2012-09-25 17:18:34 +02:00
joshua stein b04f3dfe51 rss: set isPermaLink="false" on guid because google reader is stupid
closes #25
2012-09-20 19:00:14 -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 a05421082c don't set @heading, there's already a navbar link for filters 2012-09-20 10:56:54 -05:00
joshua stein 058cf16863 don't allow privileged tags to be filtered 2012-09-20 10:56:31 -05:00
joshua stein 39bb9b77de minor cleanup 2012-09-20 10:53:11 -05:00
joshua stein 78a000a0b8 bring back selected tags for editing existing stories 2012-09-20 10:50:19 -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 64c6949edf paginate /comments 2012-09-19 13:40:02 -05:00
joshua stein 2c6eeeca1b link to /comments in the header 2012-09-19 13:32:52 -05:00
joshua stein d9bd724c1d button_to_function is deprecated 2012-09-19 12:37:42 -05: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 d5cf5bc4f5 use autofocus attribute for text boxes instead of javascript 2012-09-18 09:44:22 -05:00
joshua stein 42150c8a56 fix karma adjustment when not upvoting 2012-09-17 19:24:33 -05:00
joshua stein 40a5f3f8b8 fix back link to page 2, fixes #21 2012-09-17 14:30:41 -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 857f2964d7 issue#18: show admin/moderator status on user tree 2012-09-16 15:14:05 -05:00
joshua stein 7b1ec6fc3d some mobile css fixes 2012-09-16 15:05:48 -05:00
joshua stein ad1d925c61 prevent double clicking of the post comment button from creating two comments 2012-09-14 16:17:45 -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
joshua stein a51ca8c533 set editor_user_id unconditionally in delete 2012-09-10 15:46:52 -05:00
joshua stein 66917339cc automatically assign the video tag for youtube.com urls 2012-09-10 13:57:08 -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 09508f3ad6 don't hardcode lobste.rs url (which wasn't using ssl anyway), use root_url 2012-09-09 11:56:10 -05:00
joshua stein 0abe41bd6d mention that profile e-mail addresses are gravatarized 2012-09-08 19:37:30 -05:00
joshua stein 729c38d4c7 how did those tabs get there 2012-09-08 19:37:21 -05:00
joshua stein e8d34910a6 put faces to names 2012-09-08 19:32:21 -05:00
joshua stein af5b00572c whenever a story/comment is moderated, send a message to the user 2012-09-08 18:32:56 -05:00
joshua stein ec7389d9a0 Merge pull request #15 from rjsamson/avg-karma
show average karma in user profile
2012-09-07 11:06:26 -07:00
Robert J Samson b15710d107 Show average karma in parentheses 2012-09-07 13:56:26 -04:00
joshua stein fb9c0228b0 remove red text from cancel button, make post button bold 2012-09-07 12:40:07 -05:00
joshua stein 96ee762fdf Merge pull request #3 from prezjordan/master
add cancel button for comment form
2012-09-07 10:37:45 -07: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 1987a24a2a properly set @title/@heading everywhere 2012-09-07 09:18:15 -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 d986952870 remove unused footer partial 2012-09-06 13:43:38 -05:00
joshua stein e61f8ea386 bail properly if the message isn't found 2012-09-06 12:43:51 -05:00
joshua stein 61f45092f8 cope with tag filters being on deleted tags 2012-09-06 12:07:35 -05:00
joshua stein 6be5150bb0 cleanup 2012-09-04 20:59:51 -05:00
joshua stein 913aa30827 Merge pull request #9 from maxpow4h/master
properly implement Keystore.incremented_value_for for sqlite
2012-09-04 18:42:17 -07:00
Maxwell Swadling 3c65a3332f Fixed the sqlite FIXME for keystore 2012-09-05 09:01:59 +10:00
joshua stein 17ce13d49e move previewed/posted comment outside of <form>, fixes duplicate comment problem
a comment would get posted and then displayed inside the original
<form>.  when that comment would get edited, its <form> would be
nested inside the original one, and on webkit browsers, submitting
the inside form would submit the outside one.
2012-09-04 11:33:49 -05:00
joshua stein 6ae36ea492 route /newest/:user to show all stories by that user 2012-09-03 17:29:10 -05:00
joshua stein e9e162167d route /threads/:user to show recent threads for that user 2012-09-03 17:11:53 -05:00
joshua stein 1b60604806 if a url looks like a pdf, select the pdf tag 2012-09-03 16:54:32 -05:00
joshua stein b91a637535 Story#url has a custom validator, remove duplicate 2012-09-03 16:53:58 -05:00
joshua stein 061f540506 remove stray line 2012-09-03 16:42:50 -05:00
joshua stein 621dde2dc5 show new messages in red so it's obvious 2012-09-03 13:08:31 -05:00
joshua stein 89a32886e1 warn users about inviting strangers 2012-09-03 12:56:06 -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 49feb9ba43 use the invitation's e-mail address as the default for the new user 2012-09-03 11:44:29 -05:00
joshua stein 9f0747a46b move score down 1 pixel, looks better in webkit 2012-09-03 11:30:42 -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 9b5310a1eb Merge pull request #5 from kevinburke/responsive-for-all
Use max-width instead of max-device-width
2012-09-02 10:34:59 -07: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
Jordan Scales d410f4f424 cancel link is now a button, js formatting consistency, removed extra styling 2012-09-02 12:51:32 -04:00
Kevin Burke 31f5c110fc Use max-width instead of max-device-width
Max-device-width will only kick in on physical devices with width smaller than
480px. It makes sense though to trigger the responsive layout on any device
where the viewport is that narrow, not just ones where the device itself is
that narrow.

For an example of this in practice, visit barackobama.com on a desktop, resize
your browser window and watch the layout change responsively.
2012-09-01 22:45:05 -07:00
joshua stein 3bd2e6b8a7 show traffic value in link title 2012-09-01 22:56:07 -05:00
joshua stein 88894a66fc catch sphinx errors 2012-09-01 22:56:07 -05:00
Jordan Scales 56e061db72 styling for comment reply cancel button 2012-08-30 16:50:01 -04:00
Jordan Scales 14fe4e6623 comment reply form now has a cancel button 2012-08-30 16:49:49 -04:00
joshua stein d6255916e8 fix story hiding when downvoted; don't count comment votes 2012-08-29 08:48:57 -05:00
joshua stein a921d3eeb5 add readme, do some cleanup before open sourcing 2012-08-24 11:42:23 -05:00
joshua stein 6fb3e5ebd8 only hide submission guidelines when the user has more than 2 submissions 2012-08-24 11:42:23 -05:00
joshua stein a016086b44 increase line-height of comments to match textarea, color links gray 2012-08-24 11:42:23 -05:00
joshua stein 41b6d7620a add some post guidelines 2012-08-24 11:42:23 -05:00
joshua stein fc1f7fe5ee move header into layout, no need for another file 2012-08-24 11:42:23 -05:00
joshua stein 3e7cdbe253 tweak traffic decay to be a little slower 2012-08-24 11:42:23 -05:00
joshua stein 43444f179b implement traffic counter that adjusts redness of lobsters logo 2012-08-24 11:42:23 -05:00
joshua stein 342ede4d4c reload user's tag filters after modifying, before showing again 2012-08-24 11:42:23 -05:00
joshua stein 9a51d7d1f8 raw the memo, we don't need xss protection here 2012-08-24 11:42:23 -05:00
joshua stein f34ad51891 log some more things on countinual 2012-08-24 11:42:23 -05:00
joshua stein 49c6e64aac count user creation on countinual 2012-08-24 11:42:20 -05:00
joshua stein 776bf89dea implement /comments.rss 2012-08-24 11:41:37 -05:00
joshua stein f6b252e456 a tiny bit taller textareas 2012-08-24 11:41:37 -05:00
joshua stein f541d4118c fix 2012-08-24 11:41:37 -05:00
joshua stein 0c0aa465bb make /comments show latest comments 2012-08-24 11:41:37 -05:00
joshua stein c34abddc3d pre overflow auto 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 208e1832d6 use @title 2012-08-24 11:41:37 -05:00
joshua stein fd8ec36608 story previews 2012-08-24 11:41:37 -05:00
joshua stein bc0d934d5e focus search box if there is no search yet 2012-08-24 11:41:37 -05:00
joshua stein abb8392c16 search engine! 2012-08-24 11:41:36 -05:00
joshua stein b01f9e9027 fixup header current page stuff 2012-08-24 11:41:36 -05:00
joshua stein dd9966c0a3 color pdf tags purpleish 2012-08-24 11:41:36 -05:00
joshua stein bd9d2aa3c4 put tags in alpha order, but put pdf first 2012-08-24 11:41:36 -05:00
joshua stein 82ae95f8ca disable trimming threads to our own reply for now, it's busted 2012-08-24 11:41:36 -05:00
joshua stein e0da3a7039 little spacing tweaks 2012-08-24 11:41:36 -05:00
joshua stein a51147b5d0 fix bug; don't show downvote reason for stories 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 6f3f018598 fix back link to page 1 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 75f026b182 do some short caching for guest views of story indexes 2012-08-24 11:41:36 -05:00
joshua stein c2206f46cd fix appearance of other tags when viewing single tag
don't just pull taggings where the tag id matches, pull all stories
where the id is in the list of stories tagged with that tag
2012-08-24 11:41:36 -05:00
joshua stein 2ba78cc10e downcase vote reasons 2012-08-24 11:41:36 -05:00
joshua stein 361a689b13 link to invited user profile 2012-08-24 11:41:36 -05:00
joshua stein 43aa0047e9 simplify markdown help link 2012-08-24 11:41:36 -05:00
joshua stein 9f6a1a7e4a try to collect some about info from the new user 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 db10cd115f explain text field better 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 be578454a9 taller line-height too 2012-08-24 11:41:36 -05:00
joshua stein f8b1cc0443 tweak comment spacing a bit 2012-08-24 11:41:36 -05:00
joshua stein 10faafc8af no need to say that 2012-08-24 11:41:36 -05:00
joshua stein 2a5b60fbb1 color root too 2012-08-24 11:41:36 -05:00
joshua stein 758d62304a move l.png to data uri 2012-08-24 11:41:36 -05:00
joshua stein a407bad2d6 better tree style 2012-08-24 11:41:36 -05:00
joshua stein 543f5c12bc user tree 2012-08-24 11:41:35 -05:00
joshua stein 54af096f60 tweak spacing a bit 2012-08-24 11:41:35 -05:00
joshua stein b86dae0331 ditch the comment vertical lines for now 2012-08-24 11:41:35 -05:00
joshua stein 038d33bf8b prevent <pre> from taking over the page, fix blockquote example in markdown help 2012-08-24 11:41:35 -05:00
joshua stein e453ba8b81 add meta tag for short story url 2012-08-24 11:41:35 -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 40bc2003ab fit more on a page 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 6e17272e9d story pagination 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 d170d36fd0 only show a description if there is a body 2012-08-24 11:41:35 -05:00
joshua stein 08fade9e9d may as well not render the footer while there's nothing there 2012-08-24 11:41:35 -05:00
joshua stein f8dd75fde4 comment editing, looks weird for now but it works 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 805b0fd1a0 fix blockquote style for comments 2012-08-24 11:41:35 -05:00
joshua stein 647fc5f446 disable autocomplete everywhere 2012-08-24 11:41:35 -05:00
joshua stein 453ead19c0 tweak mobile sizes 2012-08-24 11:41:35 -05:00
joshua stein 80f02beee8 a mobile stylesheet 2012-08-24 11:41:35 -05:00
joshua stein e177b769fc a comment vote is not a vote for the story 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 ab6316a1cf add link on user profile to send them a message (kind of ugly) 2012-08-24 11:41:35 -05:00
joshua stein 59bcaf9512 tweak flash messages 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