You are reading a single comment by @itsbruce and its replies. Click here to read the full conversation.
  • That is a good bug... that I have no idea how to fix.

    I don't know how to fix it as the query removes ignored things, but doesn't rewind to see if something earlier should be visible. It would probably crater the server to do that, especially on this site where some of the threads are hundreds of pages (if you ignore enough people the rewind can be significant).

    I'll try and see how impactful it is to calculate the last unignored thing... but this isn't cacheable as everyone's ignore list is different.

  • I don't know how to fix it as the query removes ignored things, but doesn't rewind to see if something earlier should be visible. It would probably crater the server to do that

    I was fairly sure that would be the case. It would be different if Microcosm were an instant messaging thing, because the load of receiving messages and deciding which to ignore is shifted to the client.

    Simply not removing ignored people from this particular query wouldn't be entirely terrible - it wouldn't make people read content they didn't want to - but it would be showing people updates they don't need to see (e.g. someone they don't care about resurrecting an old thread) at least as often as letting them see activity they don't want to miss. So I'm not suggesting that.

    If forum posts were events and the query was something like "select top 1 ... from (subquery selecting events created by people not on my ignore list, ordered by forum id) ..." maybe that wouldn't be terrible performance, but I don't know how different that would be from microcosm's actual data model (since I haven't even looked at mirocosm's data model).

About

Avatar for itsbruce @itsbruce started