Commit graph

818 commits

Author SHA1 Message Date
joshua stein d44d43e551 fix dup/clone confusion 2015-10-18 15:09:39 -05:00
joshua stein 77568760a2 don't show suggestion flash if user didn't do anything 2015-10-17 10:43:11 -05:00
joshua stein a337ee850e take suggestions on moderator stories, just not those with privileged tags
also allow moderators to make tag suggestions, we're people too
2015-10-17 10:38:48 -05:00
joshua stein 1d30378877 clone, not dup 2015-10-17 08:03:33 -05:00
joshua stein a4e3f04d2d Story: do automatic user suggestion promotion for story titles too
It's much less likely that users will all agree on an exact title
name, but try it anyway.
2015-10-16 18:28:57 -05:00
joshua stein 800aea1ca9 always show downvote summary if score is <= 0, else it's confusing
improves on 9c40023
2015-10-16 17:03:54 -05:00
joshua stein 14bf26f339 for story comments by author of story, color blue as well 2015-10-16 13:08:05 -05:00
joshua stein 3439b93b12 when editing a story, show suggested titles and tags 2015-10-15 10:23:25 -05:00
joshua stein e3c881b81a implement automatic tag changing in response to user suggestions
Right now it's just a simple check for SUGGESTION_QUORUM (currently
4) number of users agreeing on a set of new tags.

Log a moderation to the story submitter when this happens, and allow
moderations to be done by a non-specific user.

Issue #207
2015-10-15 10:04:23 -05:00
joshua stein 2ca2c94ef6 allow messages to come from system instead of a user 2015-10-15 10:01:42 -05:00
joshua stein 7974ab4090 don't take suggestions on moderator stories
This should probably only apply to stories with restricted tags,
though.
2015-10-15 09:38:26 -05:00
joshua stein 21927eccbe Story: always recalculate hotness after saving changes 2015-10-14 21:17:54 -05:00
joshua stein e940601a2f start on automated story title and tagging suggestions
Rather than keep "poorly titled" and "poorly tagged" as reasons for
flagging, make the user do the work of suggesting new ones.

At some point, suggested taggings will flip to real taggings once
they reach a certain count (to be determined later).  This also has
to take into account tagging sets that don't contain current tags,
for when they need to be removed.

For titles, I'm not yet sure how to handle this in an automated
fashion except for the (probably rare) case of multiple users
submitting the same exact thing, but at least collect them for now.

Issue #207
2015-10-14 20:32:24 -05:00
joshua stein 700c63b936 Story: extend MAX_EDIT_MINS to 3 hours 2015-10-14 18:23:06 -05:00
joshua stein 1c789fbae0 add /chat page 2015-10-11 13:04:16 -05:00
joshua stein 677da599f2 login: if user password hash is not at current rounds, re-encrypt it 2015-10-11 13:04:16 -05:00
joshua stein 80f7d5b095 remove or fix failing tests
Many of these fail because they were written with fancy rspec
features that don't work properly anymore and I don't care enough
about testing everything to update them.

See issue #228
2015-10-11 13:00:34 -05:00
joshua stein 696e669f60 mobile css: fix upvote/unvote/upvote still showing red arrow
closes #230
2015-10-10 20:36:48 -05:00
Peter Harkins df96fd8a0f Indicate if a story has a description
To encourage folks to write story descriptions on links, let's mark stories with descriptions so that folks know to click through.

The pilcrow is a little visually heavy, but it seemed better than an arbitrary symbol.
2015-10-03 08:41:25 -05:00
joshua stein 2a30511117 time_ago_in_words_label: put "ago" in the text since it's used everywhere
closes #222
2015-09-23 13:24:47 -05:00
Agustin Borgna 803a036a26 Implement comment folding in pure css 2015-09-23 00:44:46 -03:00
joshua stein 5567bb0b7e when resetting a password, if user is deleted but not banned, undelete
Also mention on the login screen that a deleted account can be
recovered this way.

Closes #221
2015-09-06 15:00:20 -05:00
joshua stein 5a86c0a506 rename comments/index.rss to reflect that it's an erb template 2015-09-06 15:00:20 -05:00
joshua stein a73d19d667 always show vote summary for mods 2015-09-06 15:00:20 -05:00
joshua stein 9c4002323d don't show story downvotes unless there are at least 3
people seem to freak out over one or two users being stupid, so make
them not stand out
2015-08-12 09:25:51 -05:00
joshua stein 5ce8976ba3 make 'authored by' link color to less bright blue 2015-08-12 09:25:51 -05:00
joshua stein 7d1231cec3 remove css hack 2015-08-12 09:25:51 -05:00
Basilio the cat 3743a41868 Keep the www\d* domain for some stories
When extracting story domain, keep the facing `www\d*` domain in cases
where it's the only non top level domain (e.g. www31337.tld).
2015-08-09 22:21:22 +02:00
joshua stein ed021d4975 add conditional link to /bbs 2015-08-04 09:59:21 -05:00
joshua stein 0c4a88e284 export some more things through json 2015-08-04 09:58:47 -05:00
joshua stein 4c8335d32f shrink story summary to 2 lines 2015-07-31 22:43:16 -05:00
joshua stein 6dcf35dc25 my karma means nothing 2015-07-31 22:43:16 -05:00
joshua stein 3f425a7abc make story/comment avatars link to user profile 2015-07-31 13:10:44 -05:00
joshua stein 229b2da008 settings: sort 2015-07-31 13:06:42 -05:00
joshua stein 0799fe33d7 specify a width for folder/unfolder to avoid shifting 2015-07-31 13:05:33 -05:00
joshua stein 27e2f0e5e5 fix magical path to sprockets manifest for our stupid hack 2015-07-31 12:53:28 -05:00
joshua stein 3ceb309577 when collapsing comment trees, collapse the comment itself 2015-07-31 12:52:52 -05:00
joshua stein 117aaaf3db move avatars to the far left 2015-07-31 10:51:33 -05:00
Owen Marshall 8fae63929d Truncate at end-of-string, not at every EOL 2015-07-31 09:03:10 -04:00
joshua stein 09f65774c2 Story#description_or_story_cache: handle truncation properly 2015-07-30 18:12:57 -05:00
joshua stein 81b3be6165 add setting to show inline story previews in story list
Closes #148
2015-07-30 17:56:09 -05:00
joshua stein 0d61e0cf68 add "i am the author of this" checkbox for stories
Highlights username in a different color and says "authored by"
instead of just "by".

Move html class printing into a method in Story to use in the future
for friends, admin posts, etc.

Closes #171
2015-07-30 17:15:48 -05:00
joshua stein ff097813ad autosize comment textareas
closes #194
2015-07-24 01:26:58 -05:00
joshua stein 6ac294470d when replying to a comment, if text is selected, quote it
Because the browser unselects text when you click on something, make
the reply link "unselectable" with CSS and an HTML attribute for
various browsers.

Implements #206
2015-07-24 00:51:46 -05:00
joshua stein 8282181e49 Story: shrink hotness window to 24 hours 2015-07-24 00:51:11 -05:00
joshua stein 5bef185dda story list: use negative_* classes for flagged stories 2015-07-24 00:51:11 -05:00
joshua stein ecb20668ce SignupController: add an explicit action for invite 2015-07-24 00:51:11 -05:00
joshua stein 55bab8003d Story: validate url length according to db field length 2015-07-24 00:51:11 -05:00
joshua stein cbc1c50cd2 add user banning/unbanning from user view page 2015-07-24 00:51:11 -05:00
joshua stein 38ac6a4c3f Story: halve comment score weights in hotness 2015-07-24 00:51:11 -05:00
joshua stein 5989e9c808 Story: fix up bogus chars in title before saving, only 160 for now 2015-07-24 00:51:11 -05:00
joshua stein db63d22b83 use identicon for blank gravatars, makes conversations easier to follow 2015-07-24 00:51:11 -05:00
joshua stein 6eca2ed75d set ceiling for traffic counter 2015-07-24 00:51:11 -05:00
joshua stein 92c2e85b0a move folding to left side of username, move text to css 2015-07-24 00:51:11 -05:00
joshua stein 6cc5f196bf Tag: remove accessible_to, use valid_for?
They do the same thing now but a scope might be too limited in the
future so just pick one now.

Closes #100
2015-07-24 00:51:11 -05:00
joshua stein 434ad81752 Story: do url validation case insensitively 2015-07-24 00:51:10 -05:00
BennyHallett 4ddfaa8964 Fixes #181. Add comment folding as decribed in: https://lobste.rs/s/m5dlun/comment_folding 2015-07-24 00:51:10 -05:00
joshua stein c04c752648 always color story a:visited 2015-04-28 09:52:44 -05:00
joshua stein c2442a5881 add comments rss feed
The RSS view was already here but never setup in a controller.

Closes #202
2015-04-28 09:51:50 -05:00
joshua stein 8f8ad57135 export a json version of user page, include karma and about text 2015-04-09 21:05:50 -05:00
joshua stein 4b3a9ec2e9 move avatars after username 2015-04-09 20:59:20 -05:00
joshua stein 88602f7535 StoriesPaginator: make per_page configurable 2015-04-03 12:58:14 -05:00
joshua stein fdf892e7f9 move user unread message count into a scope 2015-04-03 12:57:12 -05:00
joshua stein 97c70d3efc don't do css link header hack in development 2015-04-01 01:05:50 -05:00
joshua stein 18e027feb9 add a short id redirector for comments 2015-04-01 01:02:22 -05:00
joshua stein e9f005d83b User: a few more reserved usernames 2015-04-01 01:02:01 -05:00
joshua stein 168d9bfec3 story list: break up long words in titles and domains with <wbr> 2015-03-21 21:56:34 -05:00
joshua stein 21f3334155 moderations: fix table column widths 2015-03-19 12:11:05 -05:00
joshua stein e974083413 Story: inactive tags that are marked for destruction are ok 2015-03-19 12:10:52 -05:00
joshua stein 26f17ae928 User: add some banned usernames from a long-ago comment by @kevinburke 2015-03-19 12:10:18 -05:00
joshua stein cb850bd9e6 recent comments: hide comments on user's hidden stories
closes #142
2015-03-13 00:31:34 -05:00
joshua stein ab00313b20 css: shrink the page width a little 2015-03-13 00:15:46 -05:00
joshua stein 921bbc4179 css: align top-level comments with the story 2015-03-13 00:15:46 -05:00
joshua stein d286eab325 add option to show user avatars on stories and comments
just because
2015-03-12 23:23:15 -05:00
joshua stein 6734436e8c search: show when there are 0 results 2015-03-11 10:29:41 -05:00
joshua stein 6695480fdb when auto-detecting story titles, try to find a canonical url and use it
should remedy duplicate stories being submitted under all of their
stupid blogspot.* domains instead of the canonical url represented
in the <link> tag
2015-03-10 17:41:40 -05:00
joshua stein 491a3d57e8 layout: print flash[:notice] as well 2015-03-10 17:40:57 -05:00
joshua stein 966579e596 Search: more sphinx chars to escape 2015-03-10 17:07:15 -05:00
joshua stein 9d8defb228 mobile css: remove div.d left margin 2015-03-10 17:06:56 -05:00
joshua stein 620389ab95 add /u/?moderators=1 to list all moderators and admins 2015-02-23 16:56:06 -06:00
joshua stein fd00205625 for admins, show some private info about users in user profiles 2015-02-17 11:47:27 -06:00
joshua stein 976eb522e8 Hat: provide a destroy method that can log a moderation 2015-02-17 11:47:26 -06:00
Karl McGuire df13d877e6 fixed tab 2015-02-17 12:38:53 -05:00
Karl McGuire 6f04c594d6 drove me insane 2015-02-17 12:37:18 -05:00
joshua stein 7f3adc0e9d fix some fallout from previous 2015-02-13 11:26:28 -06:00
joshua stein f9b309d342 separate story hiding from voting
A story downvote is considered a flag, just meaning the story has
problems and not necessarily that the user wants to ignore it.  By
moving hiding out of Vote and into a new HiddenStory model, a user
can now both downvote/flag and hide separately, or just one or the
other.
2015-02-11 11:37:03 -06:00
joshua stein fe159cc3f7 try a speed hack using a Link: header for the stylesheet
probably only works in firefox though
2015-02-11 10:58:34 -06:00
joshua stein 7d15b5db6d tldr, didn't comment 2015-02-09 23:11:25 -06:00
joshua stein 270401db3f comment: show downvote summaries to moderators 2015-02-07 12:23:51 -06:00
joshua stein 975e35d006 Search: escape @, it has special meaning to sphinx 2015-02-05 09:55:41 -06:00
joshua stein 8771afc5f5 try a bit harder at finding a submitted story's real title
Ignore the title presented by the user unless we couldn't find
anything, but start out by fetching the URL and trying some <meta>
tags first, then <title>, then use the title the user brought.
2015-02-03 11:20:07 -06:00
joshua stein a16150d8a5 allow searching stories by domain, link domain in story list to such a query 2015-01-29 10:16:46 -06:00
joshua stein 00d347c4f4 consolidate sql fragment to cast story/comment score 2015-01-28 15:02:40 -06:00
joshua stein 1eb9413f8a user tree: show newest 10 users 2015-01-27 12:14:26 -06:00
joshua stein bf928cf62b Story: take hotness window back down to 36, 48 is a bit stale 2015-01-27 12:14:26 -06:00
joshua stein c94fd60f77 draw hats a bit higher up 2015-01-27 12:14:26 -06:00
Curtis McEnroe c3d44280d3 Add explanation of traffic number in logo title
Since it keeps getting asked: https://lobste.rs/s/gve5zg/why_does_the_lobsters_l_icon_change_color
2015-01-26 14:05:15 -05:00
joshua stein e2afb9153c fix deleting messages sent to ones self 2015-01-15 13:23:31 -06:00
joshua stein 31df8973a8 Pushover: switch to subscriptions
users.pushover_device and users.pushover_sound columns can be
dropped once migrated
2015-01-15 13:23:31 -06:00
joshua stein f1cfe29b1f fix initial story hotness
Initial story hotness was zero, which excluded stories with no other
upvotes from the homepage.  Before creating, define initial hotness
to something.

Since this now makes very new stories show up on the homepage right
away, expand the window back to 48 hours.

This requires a Story.recalculate_all_hotnesses! to properly sort
things.
2015-01-13 13:00:55 -06:00
Jordi Gutiérrez Hermoso 593222dacb Give textareas a default background colour.
My default background colour for textareas is inherited from my OS
colours, which is a dark grey. Thus setting a foreground colour
without setting a background colour makes it impossible for me to type
in textareas. This patch should fix that.
2015-01-12 10:21:14 -05:00
joshua stein d01e9f3c3f better links for search result pagination
closes #69
2015-01-11 12:59:42 -06:00
joshua stein 4b768e2f42 Search: clamp results to Sphinx's max_matches
Otherwise this will annoyingly raise an exception when fetching
results if offset exceeds max_matches
2015-01-11 12:59:41 -06:00
joshua stein 2c3b155862 disclose per-tag hotness modifiers 2015-01-06 17:31:45 -06:00
joshua stein 88709b5d04 move story tagging sorting into a function 2015-01-06 17:31:44 -06:00
joshua stein d2e06ed127 css: color media tags blue, add announce to red tags 2015-01-06 17:31:44 -06:00
joshua stein 9c73c87d28 add story cache showing for manually-specified unavailable stories 2015-01-06 17:31:09 -06:00
joshua stein 5efe3ce6c3 make time_ago_in_words_label actually do what was intended 2015-01-06 14:08:15 -06:00
joshua stein 624096a481 use _path instead of _url in a few redirect_to's 2015-01-02 18:33:13 -06:00
joshua stein 9f5e04bbba use _path for most things instead of _url
Instead of hard-coding the scheme and host everywhere, use _path
methods to show relative URLs.

Except that our previous setting of
Rails.application.routes.default_url_options in
config.after_initialize made this moot because Rails inserts that
host into all _path helpers for some reason.  So revert that
setting.

But then anything that wants an absolute URL doesn't know the
hostname and the root_url helper throws an exception.  So make a
Rails.application.root_url shortcut to pass the per-app settings in
Rails.application to root_url.

Now we can just use _path helpers most places but still use _url
ones where we need them, such as in RSS views and e-mail templates.
2015-01-02 17:02:55 -06:00
joshua stein 439f5702ee show a byline for for merged stories 2015-01-01 18:54:26 -06:00
joshua stein 3e5473229d fix code line height in comments 2015-01-01 10:25:36 -06:00
joshua stein c151fbeeb8 better tag hotness mod calculation 2015-01-01 10:25:14 -06:00
joshua stein 1cc16ecfbf tweak code formatting 2014-12-15 15:06:53 -06:00
joshua stein 606f5c9849 experiment with factoring comment scores into story hotness
might keep an active story alive on the front page and bury a story
with a "comment graveyard"
2014-12-15 15:06:53 -06:00
joshua stein 73f93ba09d cater to chrome on android 2014-12-15 15:06:53 -06:00
joshua stein 5c1cc0ae38 Hat: if link isn't a url, don't href to it (probably shouldn't call it link then) 2014-12-15 15:06:53 -06:00
Serge Paquet a1f5052f99 fix cancel button in comment forms 2014-12-14 01:24:18 -05:00
joshua stein ddb9215aa0 log a moderation when hats are granted, since we're open and all that 2014-11-15 09:52:29 -06:00
joshua stein 31d4e97858 implement hats
https://lobste.rs/s/bkeYe9/about_lobsters/comments/ZD2tL3#c_ZD2tL3
2014-11-14 14:12:29 -06:00
joshua stein 4b0caa2752 fix display of comment box after editing and posting
should close #178
2014-11-14 14:02:16 -06:00
joshua stein d6447ac249 comment view: ignore multiple clicks on "reply" link 2014-11-14 13:49:00 -06:00
joshua stein f161af71b1 minor spacing nit 2014-11-14 12:48:00 -06:00
joshua stein 5b94406640 Comment: include page anchor in urls 2014-11-14 12:46:09 -06:00
joshua stein c95ac10ad9 show green usernames for new users in story lists too 2014-11-07 13:42:33 -06:00
joshua stein 9e8b89be1c cast story.{upvotes,downvotes} to signed on mysql, integer on postgres
old mysql doesn't support 'cast(1 as integer)', but new/mariadb does

postgres doesn't support 'cast(1 as signed)'

should fix #145
2014-10-06 14:07:53 -05:00
joshua stein 5497fbd7bb allow disabling public invitation requests through a setting 2014-10-03 17:19:00 -05:00
joshua stein b7ede71b31 on home page, show site title instead of "Home" 2014-10-03 17:17:46 -05:00
joshua stein 09bd0026d3 ignore a story's submitter's comments when calculating hotness 2014-09-16 10:53:25 -05:00
joshua stein d5474de775 add short ids into search indicies 2014-09-12 10:42:22 -05:00
joshua stein dfe6db4849 revert 85cb7c20, give up on planet rss aggregation 2014-08-31 20:35:41 -05:00
joshua stein 962b7e8d59 add per-tag story hotness modifiers 2014-08-31 20:27:54 -05:00
joshua stein e252d2d66e StoryRepository: positive_ranked should end at -1 2014-08-25 17:57:26 -05:00
joshua stein 6329041ee8 tweak page title for /upvoted 2014-08-17 19:10:32 -05:00
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 64bdb6f446 Merge pull request #167 from walle/issue_140
fix some after-comment issues
2014-08-17 19:07:46 -05:00
joshua stein ebdea913bf Merge pull request #168 from walle/issue_128
Add cancel button to comment editing.
2014-08-17 19:05:02 -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 ee8b50f9c0 Add cancel button to comment editing.
This should fix issue #128.
2014-08-16 18:37:36 +02:00
Fredrik Wallgren 9a774d082d Let the comment form remain when posting a top-level comment. 2014-08-16 16:47:24 +02:00
Fredrik Wallgren 94716a0dcb Fix comment preview length bug. 2014-08-16 16:27:11 +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 bdbfedfb23 for normal requests to /login, save the referrer and redir back there
properly closes #164
2014-08-08 10:31:06 -05:00
joshua stein 243b29240a when redirecting to /login, save the url and params to redirect back to
closes #164
2014-08-08 10:16:06 -05: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 b70ec7a44e story list detail: put all media tags first, not just pdf 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 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