Steem: Remove Comment Depth Limit

Created on 9 Jan 2017  路  13Comments  路  Source: steemit/steem

This was an arbitrary limit that doesn't make sense alongside other proposed changes. It is currently limiting usability of Steem, so we are removing it entirely.

This issue usurps #733

HARDFORK

Most helpful comment

This change is currently for the blockchain only. We are opening up the ability for comments to be nested deeper. It is up to each UI to determine how they want to display that and whether or not to enforce a local maximum depth.

All 13 comments

On the UI level some comment should be collapse calculated by some algorithm as we see on some other website.

This change is currently for the blockchain only. We are opening up the ability for comments to be nested deeper. It is up to each UI to determine how they want to display that and whether or not to enforce a local maximum depth.

Is it feasible to keep this logic, but with a sane upper bound? Say 1k.

For what purpose?

One could enforce a minimum delay between 2 posts, like 5 minutes.
This would set a limit of maximum 288 posts per day.

We already have a minimum delay between posts and comments uniquely. However this would not prevent someone with a large number of bot accounts from posting an arbitrarily deep comment tree.

I think there should be more stringent limit delay as I feel there is a very real risk of some bot causing trouble.

A more stringent limit would just encourage the abuser to use more than one account. Then we'd have a limitation in place that didn't solve a problem and might frustrate certain users.

None of this has to do with comment depth though - this issue is related to how deep nesting can occur on a post. Not with how often an account can post. The discussion about rate limiting posts can be found over in issue #176.

Actually this issue is about a new challenge in UI: when there come comments with thousands of levels, how will UI's deal with them.

After discussing it internally, we will enforce a comment depth limit of 64k. This will limit the depth field to an unsigned 16 bit integer. For user purposes, this is effectively unlimited. There are still UI challenges on how to handle this depth. Realistically, any limit above 10-20 poses a UI challenge.

The reason to have a limit like this in place is for external databases that want to decorate the comment object. We can efficiently and effectively support unlimited depth on the blockchain, but if there is no limit then the databases are forced to use huge integers to make overflowing the field next to impossible and wasting bytes on the majority of comments. 16 bits is the compromise that creates a high enough limit that users should not be affected, but small enough that we are not wasting memory.

Somebody can consume up 64000 depth and will complain about it! 馃槣 Anyway, I great work!

And when they complain about it, I will have some choice words for them. We are going to add a soft forking limit significantly less than 64k. This is the technical limit to prevent overflowing the integer.

Merged

Was this page helpful?
0 / 5 - 0 ratings

Related issues

williambanks picture williambanks  路  4Comments

lukestokes picture lukestokes  路  5Comments

mvandeberg picture mvandeberg  路  6Comments

aaroncox picture aaroncox  路  6Comments

porozhnyy picture porozhnyy  路  4Comments