-
• #3752
I'm really busy. You seem to be asking questions you could probably figure out in a few clicks. Take a look, figure it out. That one is pretty obvious.
-
• #3753
Is it possible to add a 'Reply' once a post has been made? Say I just post after the last post in a thread but someone has posted before I'm done so now my post is out of context - can I link it back to the post I was replying to?
-
• #3754
Is it possible to add a 'Reply' once a post has been made? Say I just post after the last post in a thread but someone has posted before I'm done so now my post is out of context - can I link it back to the post I was replying to?
Afraid not.
-
• #3755
I've just tried to use Android Firefox again and it's refreshing the page every 1s.
Also, searching for "planes" brings up 4-5 things before showing me the actual Planes thread.
-
• #3756
Can't search in thread for answer either.
-
• #3757
On android chrome when writing a post, clicking post reply just closes the keyboard and I have to click it again to actually post.
-
• #3758
But not that time.
Arse.
-
• #3759
OK, ignore me.
-
• #3760
I'm having no luck with quoting - don't like the sound of manually copy pasting things in, that's a huge step back. Selective quoting makes a lot of sense, although only works when users know it's there and regularly apply it, I'm trying to quote some of testers 8-item list above.
Should it be that I can select the text with the cursor, click the reply button next to the post, and it's already there as a quote? Cos that's not happening...
-
• #3761
Which platform?
-
• #3762
Is that to me?
Firefox errr ... 31.0, Vista (I know)
-
• #3763
Ooh. Vista. Poor you.
-
• #3764
time for some feedback - this reply came up in following under the thread. cooooool
-
• #3765
Coooooooool
-
• #3766
fixed it for me
-
• #3767
@Velocio I saw your reply about searching unread posts being a bit of a heavyweight task, but I wondered if the same was true of Following?
My default way of hitting the forum before was UserCP, so I could see only subscribed threads with new posts.
Can we have a checkbox on the following page to hide read threads or similar? -
• #3768
It is the same.
Presently determining "unread" is a row-based function.
Performance with SQL is never achieved when row-based functions are called across collections.
-
• #3769
But surely you already know if it is read or not in order to display the "new" icon?
Or is that cookie based and "read" is fed hack to the dB later?
-
• #3771
We have a table that looks roughly like this:
CREATE TABLE read AS ( profile_id bigint NOT NULL, item_type_id bigint NOT NULL, item_id bigint NOT NULL, when timestamp NOT NULL );
Where
item_type_id
contains a number that basically answers the question "Is this a conversation? Is it a PM? Is it a forum?" and so on for every "type" we support.When you read a conversation (like this one) we will put a value in there:
INSERT INTO read (50180, 6, 131364, timestamp_of_last_post_on_page)
.If you read a forum, then that trumps a conversation... so we can delete from
read
everything that refers to an item within the forum, and then insert the row for the forum.Then when we want to check whether something is "read", we work out what you're talking about... a conversation... and determine whether a
read
row exists for that, and whether aread
row exists for any of it's parents (forum or site), and then take the MAX of any of those values, and compare it to the last_modified for the conversation.All of that is presently wrapped in a decoration row-based function (used in the
SELECT
and not in theWHERE
that roughly looks like:SELECT is_unread(50180, 6, 131364) AS unread
.This all works blindingly well. If you read something on your mobile, the desktop reflects it, when we build apps and you read something in an app, the desktop reflects it. Read it on your desktop, the app would reflect it. And so on.
It only doesn't work now that there is a clamour for a filter based on
is_unread
.As
is_unread
is a row-based function, were you to apply it to the search (for example), then it would be applied as part of theWHERE
. Applying a row-based function to theSELECT
means that on a page of 25 items it's only going to be called 25 times. Applying a row-based function to theWHERE
or to a subquery that will be filtered means applying it to potentially hundreds of thousands (or even millions) of items, the vast majority of which are going to be discarded.An example scenario in which row-based functions bite people in the arse is in Postgres's full-text search: http://www.postgresql.org/docs/9.2/static/textsearch-controls.html#TEXTSEARCH-HEADLINE
They have a row-based function which is also cheap on a per row basis, but expensive across lots of rows. It fetches from the searched documents the highlighted fragment that matched the search:
SELECT ts_headline('english', 'The most common type of search is to find all documents containing given query terms and return them in order of their similarity to the query.', to_tsquery('query & similarity')); ts_headline ------------------------------------------------------------ containing given <b>query</b> terms and return them in order of their <b>similarity</b> to the <b>query</b>.
Their warning on that page: A typical mistake is to call ts_headline for every matching document when only ten documents are to be shown. SQL subqueries can help; here is an example:
And their example:
SELECT id, ts_headline(body, q), rank FROM (SELECT id, body, q, ts_rank_cd(ti, q) AS rank FROM apod, to_tsquery('stars') q WHERE ti @@ q ORDER BY rank DESC LIMIT 10) AS foo;
Row-based queries are extremely ill-suited to filtering, and should never be used when the majority of the work will actually just be thrown away afterwards.
Obviously we have the data in the
read
table, but our current way of using that data is to check the "read" status of individual items through a row-based function for the purpose of painting a "New" label. The current row-based function is ill-suited to being used as a filter (we know because we've done it). -
• #3772
Ah OK that makes much more sense.
-
• #3773
Do you think there's a possibility that the Trending dynamic favours the sort of threads that pop up quickly and receive a small flurry of comments, then die out forever, over the more steady consistent threads that have kept people coming back for years?
I don't seem to see threads like Bike Porn, FBNPNA, Current Projects, Rat Bikes etc appearing in Trending. Instead there seems to be quite a few threads where people have opened a thread to ask a particular question (eg, a practical fixie, does a frame like this exist, should I be concerned).
Because these threads pose a question, several people jump in at once and post answers and advice etc, which puts the thread into Trending. The threads like Current Projects etc seem to be more slow and steady, but they have much more enduring interest and I personally think they ought to be given more prominence - for me they are the meat of the forum, and the more fly-by-night threads are very useful when you want to post one, but less useful for the forum as a whole. Maybe the today's posts feature that is hopefully forthcoming will help address this change in dynamic.
Other bugs still appearing for me - on Nexus 4 with latest Android and Firefox, the bottom of each page with all the page number buttons doesn't display correctly. Also select-to-quote still isn't working on Windows 7 with Firefox or Android with Firefox or OSX Mountain Lion with Firefox, it just writes the word blockquote. Also Persona is still a bit shit - it doesn't remember me all the time and there are sudden and unexplained logouts. A huge amount of people seem to hate Persona, is there zero chance of moving away from it?
-
• #3774
Do you think there's a possibility that the Trending dynamic favours the sort of threads that pop up quickly and receive a small flurry of comments, then die out forever, over the more steady consistent threads that have kept people coming back for years?
Yes. That's rather the point.
The consistent threads people already have bookmarked/followed, etc.
But new content that receives a lot of attention and yet isn't something you already follow (how could it be, it's new) goes unnoticed by many.
The point of Trending is to highlight hot topics that you aren't already following.
If we remove the effect of age on the score, it would leave Trending permanently full of Bike Porn, Football, Anti-Porn, etc. It would have no value to anyone.
Though this is all mute, as we're thinking of just replacing it with "Today".
-
• #3775
Using my work PC for the first time and threads aren't jumping to new posts (just the top of the relevant thread). Not techy enough to understand the bits above about it. On XP with IE10.
Nope, will now