hivemind issueshttps://gitlab.syncad.com/hive/hivemind/-/issues2021-10-28T14:33:08Zhttps://gitlab.syncad.com/hive/hivemind/-/issues/173Recover a lost community owner account.2021-10-28T14:33:08ZPablo GarciaRecover a lost community owner account.They authority keys of a "popular" hivemind community owner account can be lost.
Without this account it is NOT possible to update the settings of a community, set new roles, etc.
To solve this it shall be allow to some community membe...They authority keys of a "popular" hivemind community owner account can be lost.
Without this account it is NOT possible to update the settings of a community, set new roles, etc.
To solve this it shall be allow to some community members/roles - such as admins - to change the owner account of a community if some criteria is fullfilled:(a) Period of inactivity of the owner account (b) 75% of community admins agree on the update, etc.HowoHowohttps://gitlab.syncad.com/hive/hivemind/-/issues/167Hive Communities Meta-issue2021-09-06T16:37:03ZGandalfHive Communities Meta-issueThis is a meta-issue for Hive Communities that's meant to coordinate work on "version 2"
See:
[docs/communities.md](/docs/communities.md)
and: https://github.com/stratos-steem/stratos/wiki/Subapp:-Communities
<br>to get idea on how it p...This is a meta-issue for Hive Communities that's meant to coordinate work on "version 2"
See:
[docs/communities.md](/docs/communities.md)
and: https://github.com/stratos-steem/stratos/wiki/Subapp:-Communities
<br>to get idea on how it planned **before**.
Also [community feedback](https://gitlab.syncad.com/hive/tasks_without_projects_yet/-/issues/39) gathered by @tmxshttps://gitlab.syncad.com/hive/hivemind/-/issues/153Use jsonb instead of TEXT for communities settings2021-03-16T00:02:02ZHowoUse jsonb instead of TEXT for communities settingsReasoning: the data is json
- this adds another layer of type checks to make sure the data is sound.
- changing the type for jsonb would allow us to query for specific fields directly via the queries as well as join joins on those instea...Reasoning: the data is json
- this adds another layer of type checks to make sure the data is sound.
- changing the type for jsonb would allow us to query for specific fields directly via the queries as well as join joins on those instead of having to rely on in sql parsing / fetching the string, then parsing it, then doing stuff with it.
- would allow us to speed some community muting things like beneficiaries using process_hive_post_operation
There are some interesting considerations here: https://heap.io/blog/engineering/when-to-avoid-jsonb-in-a-postgresql-schema
thoughts ?HowoHowohttps://gitlab.syncad.com/hive/hivemind/-/issues/150API methods lookup_accounts and lookup_account_names are confusing2021-05-17T21:25:24ZarcangeAPI methods lookup_accounts and lookup_account_names are confusing`condenser_api.lookup_accounts` returns an array of account names
`condenser_api.lookup_accounts_names` returns an array of account objects
`condenser_api.lookup_witness_accounts` also return an array of account names, not objects
O...`condenser_api.lookup_accounts` returns an array of account names
`condenser_api.lookup_accounts_names` returns an array of account objects
`condenser_api.lookup_witness_accounts` also return an array of account names, not objects
One can expect the reverse result and the method names are really confusing.
My guess is that we can't change method names without breaking apps out there, but I still want to draw your attention to it.
At least, the documentation should draw attention and clearly state what kind of data is being returned (@inertia).inertiainertiahttps://gitlab.syncad.com/hive/hivemind/-/issues/149Communities: Support beneficiaries2021-11-05T12:40:57ZHowoCommunities: Support beneficiariesBeneficiaries would be a metadata that we would return and front ends would take that and apply it when creating a post in a community, it would be a json dict inside of the settings column where you can store up to 128 beneficiaries (hi...Beneficiaries would be a metadata that we would return and front ends would take that and apply it when creating a post in a community, it would be a json dict inside of the settings column where you can store up to 128 beneficiaries (hived limit)
beneficiaries would be set using the updateProps action.
On the posts we would use the "is_valid" column to set it as "false" if the beneficiaries in the post don't match those of the community. I think that approach works because you can just set posts as "valid" as you go during the sync and not have to look back once the beneficiaries change. (basically beneficiaries change are not retroactive in terms of "does it affect old posts)
@bwrona / @ABW thoughts ?HowoHowohttps://gitlab.syncad.com/hive/hivemind/-/issues/148communities: enable topics metadata2021-03-15T13:32:07ZHowocommunities: enable topics metadatafrom @Jarvie : https://peakd.com/hive-102930/@jarvie/history-of-blockchain-communities-and-what-is-next
"We (peakd.com) would really love to be able to classify each community by theme/topic so that we can present new (and old) users wi...from @Jarvie : https://peakd.com/hive-102930/@jarvie/history-of-blockchain-communities-and-what-is-next
"We (peakd.com) would really love to be able to classify each community by theme/topic so that we can present new (and old) users with communities related to topics they tell us are of interest to them. So it would be a very good time to allow the community to identify X number of topics their community is related to. Perhaps 3 or 5. The number could be debated. It can be an open system where a community could put whatever they want. BUT perhaps a front end could help the communities to choose from a list of common selections. Like ARTS/SPORTS/BLOCKCHAIN etc.
This would also be helpful when helping to sort communities as well. But mostly helpful to help present a new user with a list of Topics, Communities and maybe even Users that relate to subjects they like."
Basically this field already exists in the schema in two ways, not sure what @roadscape inteded those to be since they are different: `category` and `primary_tag`
I think that a single topic won't be enough, so we would store it as jsonb and use the updateProps action to update the topics. Then we would introduce a new api to fetch communities by topic (search for "sport" and get all communities that match).HowoHowohttps://gitlab.syncad.com/hive/hivemind/-/issues/136A lot of queries for posts/comments that are not there yet2021-08-20T11:32:32ZGandalfA lot of queries for posts/comments that are not there yetCurrently, API nodes are receiving a lot of queries about comments that are not in the hivemind database yet
(because it obviously takes time before generated block will be fetched by hivemind)
For example take a look at:
https://hiveblo...Currently, API nodes are receiving a lot of queries about comments that are not in the hivemind database yet
(because it obviously takes time before generated block will be fetched by hivemind)
For example take a look at:
https://hiveblocks.com/hivemind/@blocktrades/a-peer-to-peer-network-for-sharing-and-rating-information
`| created | 2021-01-17 23:39:30 |`
that results in postgres log at hivemind instance:
```
2021-01-17 23:39:34.532 UTC ERROR: Post blocktrades/a-peer-to-peer-network-for-sharing-and-rating-information does not exist
2021-01-17 23:39:34.532 UTC CONTEXT: PL/pgSQL function find_comment_id(character varying,character varying,boolean) line 22 at RAISE
PL/pgSQL function condenser_get_content(character varying,character varying) line 5 at assignment
2021-01-17 23:39:34.532 UTC STATEMENT: SELECT * FROM condenser_get_content('blocktrades', 'a-peer-to-peer-network-for-sharing-and-rating-information')
2021-01-17 23:39:35.333 UTC ERROR: Post blocktrades/a-peer-to-peer-network-for-sharing-and-rating-information does not exist
2021-01-17 23:39:35.333 UTC CONTEXT: PL/pgSQL function find_comment_id(character varying,character varying,boolean) line 22 at RAISE
PL/pgSQL function condenser_get_content(character varying,character varying) line 5 at assignment
2021-01-17 23:39:35.333 UTC STATEMENT: SELECT * FROM condenser_get_content('blocktrades', 'a-peer-to-peer-network-for-sharing-and-rating-information')
2021-01-17 23:39:35.617 UTC ERROR: Post blocktrades/a-peer-to-peer-network-for-sharing-and-rating-information does not exist
2021-01-17 23:39:35.617 UTC CONTEXT: PL/pgSQL function find_comment_id(character varying,character varying,boolean) line 22 at RAISE
PL/pgSQL function condenser_get_content(character varying,character varying) line 5 at assignment
2021-01-17 23:39:35.617 UTC STATEMENT: SELECT * FROM condenser_get_content('blocktrades', 'a-peer-to-peer-network-for-sharing-and-rating-information')
2021-01-17 23:39:35.904 UTC ERROR: Post blocktrades/a-peer-to-peer-network-for-sharing-and-rating-information does not exist
2021-01-17 23:39:35.904 UTC CONTEXT: PL/pgSQL function find_comment_id(character varying,character varying,boolean) line 22 at RAISE
PL/pgSQL function condenser_get_content(character varying,character varying) line 5 at assignment
2021-01-17 23:39:35.904 UTC STATEMENT: SELECT * FROM condenser_get_content('blocktrades', 'a-peer-to-peer-network-for-sharing-and-rating-information')
2021-01-17 23:39:36.025 UTC ERROR: Post blocktrades/a-peer-to-peer-network-for-sharing-and-rating-information does not exist
2021-01-17 23:39:36.025 UTC CONTEXT: PL/pgSQL function find_comment_id(character varying,character varying,boolean) line 22 at RAISE
PL/pgSQL function condenser_get_content(character varying,character varying) line 5 at assignment
2021-01-17 23:39:36.025 UTC STATEMENT: SELECT * FROM condenser_get_content('blocktrades', 'a-peer-to-peer-network-for-sharing-and-rating-information')
2021-01-17 23:39:36.197 UTC ERROR: Post blocktrades/a-peer-to-peer-network-for-sharing-and-rating-information does not exist
2021-01-17 23:39:36.197 UTC CONTEXT: PL/pgSQL function find_comment_id(character varying,character varying,boolean) line 22 at RAISE
PL/pgSQL function condenser_get_content(character varying,character varying) line 5 at assignment
2021-01-17 23:39:36.197 UTC STATEMENT: SELECT * FROM condenser_get_content('blocktrades', 'a-peer-to-peer-network-for-sharing-and-rating-information')
```
I'm aware that's how it's designed atm (delay hived -> hivemind) and we don't have a fancy fork resolution yet at the hivemind side of things (which could help to reduce that delay).
Where those queries are coming from? Why? Can we avoid them (most likely at UI level) by making it smarter (i.e. it's obvious that post that were just submitted won't be available to hivemind for few seconds)
Please note that this also happened in the "monolith hived" era. Even if less likely, still there could be cases where broadcast was made via one node, and get comment request sent to another just right after (before such node got a given transaction).https://gitlab.syncad.com/hive/hivemind/-/issues/125Implement the other community types included in the original design doc2021-03-13T14:38:07ZSergioImplement the other community types included in the original design docAccording to [this doc](https://gitlab.syncad.com/hive/hivemind/-/blob/master/docs/communities.md) there should have been 3 types of communities.
We have the first one, but still missing the second and third option:
1. ~~**Topic**: any...According to [this doc](https://gitlab.syncad.com/hive/hivemind/-/blob/master/docs/communities.md) there should have been 3 types of communities.
We have the first one, but still missing the second and third option:
1. ~~**Topic**: anyone can post or comment~~
2. **Journal**: guests can comment but not post. only members can post.
3. **Council**: only members can post or comment
This has been discussed in this [Hive Dev meeting](https://gitlab.syncad.com/hive/tasks_without_projects_yet/-/issues/29) and I'm opening the ticket to start a discussionHowoHowohttps://gitlab.syncad.com/hive/hivemind/-/issues/107Allow post deletion with existing comments2020-11-17T08:15:25ZtherealwolfAllow post deletion with existing commentsWhen creating a post, some bots tend to comment as soon as the post was created or a few mins after. This makes it quite frustrating to work with, as deleting is currently not possible with existing comments.
The solution would be to al...When creating a post, some bots tend to comment as soon as the post was created or a few mins after. This makes it quite frustrating to work with, as deleting is currently not possible with existing comments.
The solution would be to allow toggle of deletion flag of root comments with existing children. Frontends could display a "post/comment was deleted by author" similar how Reddit handles it.https://gitlab.syncad.com/hive/hivemind/-/issues/75Duplicate and different post_object creators2020-10-12T18:52:24ZarcangeDuplicate and different post_object creatorscondenser_api and database_api use their own `_condenser_post_object` and `database_post_object` to create and return post objects.
These two functions currently differ and return different objects for the same post.
This code should be...condenser_api and database_api use their own `_condenser_post_object` and `database_post_object` to create and return post objects.
These two functions currently differ and return different objects for the same post.
This code should be merged into a single function called by both API