hivemind issueshttps://gitlab.syncad.com/hive/hivemind/-/issues2024-02-05T18:32:35Zhttps://gitlab.syncad.com/hive/hivemind/-/issues/229Community Owner was able to change its role2024-02-05T18:32:35ZHowoCommunity Owner was able to change its roleIf you are an owner it should be impossible to set a different role if the account role is owner:
https://gitlab.syncad.com/hive/hivemind/-/blob/develop/hive/indexer/community.py?ref_type=heads#L582
Yet this community managed to do it...If you are an owner it should be impossible to set a different role if the account role is owner:
https://gitlab.syncad.com/hive/hivemind/-/blob/develop/hive/indexer/community.py?ref_type=heads#L582
Yet this community managed to do it: https://peakd.com/c/hive-161465/about
with this tx:
https://hiveblocks.com/tx/015cd5ce5c9013d428d1382a75812b243b866408HowoHowohttps://gitlab.syncad.com/hive/hivemind/-/issues/214Duplicate pipelines2024-03-08T13:07:03ZKonrad BotorDuplicate pipelinesSometimes pipelines are run for both merge requests and branchesSometimes pipelines are run for both merge requests and branchesKonrad BotorKonrad Botorhttps://gitlab.syncad.com/hive/hivemind/-/issues/184`valid_account` function does not work2022-07-13T08:52:45ZKrzysztof Mochockikmochocki@syncad.com`valid_account` function does not work[Here is copy-pasted implementation of account name validation from hived](https://godbolt.org/z/d687Tsqvx). I've wrote several examples of valid and invalid account names and unfortunately all of them are valid on [hivemind side](https:...[Here is copy-pasted implementation of account name validation from hived](https://godbolt.org/z/d687Tsqvx). I've wrote several examples of valid and invalid account names and unfortunately all of them are valid on [hivemind side](https://onlinegdb.com/BZpekkgip)Krzysztof Mochockikmochocki@syncad.comKrzysztof Mochockikmochocki@syncad.comhttps://gitlab.syncad.com/hive/hivemind/-/issues/161installation fails because of PEP5172021-08-28T18:10:49ZGandalfinstallation fails because of PEP517While installing hivemind on Ubuntu 20.04 LTS in a way that's listed in the docs:
`python3 -m pip install --no-cache-dir --verbose --user -e .[dev]`
(btw why `[dev]`? that's not something I'd expect for prod env)
I'm getting:
```
Ru...While installing hivemind on Ubuntu 20.04 LTS in a way that's listed in the docs:
`python3 -m pip install --no-cache-dir --verbose --user -e .[dev]`
(btw why `[dev]`? that's not something I'd expect for prod env)
I'm getting:
```
Running setup.py develop for hivemind
Running command /usr/bin/python3 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/home/hive/hivemind/setup.py'"'"'; __file__='"'"'/home/hive/hivemind/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' develop --no-deps --user --prefix=
running develop
WARNING: The user site-packages directory is disabled.
error: can't create or remove files in install directory
The following error occurred while trying to add or remove files in the
installation directory:
[Errno 13] Permission denied: '/usr/local/lib/python3.8/dist-packages/test-easy-install-23138.write-test'
The installation directory you specified (via --install-dir, --prefix, or
the distutils default setting) was:
/usr/local/lib/python3.8/dist-packages/
Perhaps your account does not have write access to this directory? If the
installation directory is a system-owned directory, you may need to sign in
as the administrator or "root" account. If you do not have administrative
access to this machine, you may wish to choose a different installation
directory, preferably one that is listed in your PYTHONPATH environment
variable.
For information on other options, you may wish to consult the
documentation at:
https://setuptools.readthedocs.io/en/latest/easy_install.html
Please make the appropriate changes for your system and try again.
Rolling back uninstall of hivemind
```
seems that [PEP517](https://www.scivision.dev/python-pip-devel-user-install/) might be causing problems here, getting rid of `pyproject.toml` saves the day, but that's not a viable solution
See:
https://github.com/pypa/pip/issues/7953
Python people were like:<br>
> _- We have a dozen of ways to install software and that might be confusing for sane people..._<br>
> _\*thinking\*_<br>
> _- Let's make another one!_<br>GandalfGandalfhttps://gitlab.syncad.com/hive/hivemind/-/issues/158Empty results when loading posts for specific tags2021-04-07T20:54:42ZSergioEmpty results when loading posts for specific tagsThis page is empty (and should not be): https://hive.blog/created/hive-engine
This is the Hivemind call:
```
{"id":7,"jsonrpc":"2.0","method":"bridge.get_ranked_posts","params":{"tag":"hive-engine","sort":"created","limit":21,"start_aut...This page is empty (and should not be): https://hive.blog/created/hive-engine
This is the Hivemind call:
```
{"id":7,"jsonrpc":"2.0","method":"bridge.get_ranked_posts","params":{"tag":"hive-engine","sort":"created","limit":21,"start_author":null,"start_permlink":null,"observer":"asgarth-dev"}}
```
To double check that there are posts in Hivemind this is the query I used:
```
select *
from hive_tag_data t
join hive_post_tags pt on t.id = pt.tag_id
join hive_posts p on p.id = pt.post_id
where t.tag = 'hive-engine'
and p.created_at > '2020-03-22'
and p."depth" = 0;
```Krzysztof Mochockikmochocki@syncad.comKrzysztof Mochockikmochocki@syncad.comhttps://gitlab.syncad.com/hive/hivemind/-/issues/157Pagination Issues With bridge.list_community_roles2021-04-23T11:12:32ZRishi PantheePagination Issues With bridge.list_community_rolesWhen attempting to use pagination with bridge.list_community_roles, a sql error occurs.
Example query:
`
curl -s --data '{"jsonrpc":"2.0", "method":"bridge.list_community_roles", "params" : {"community" : "hive-169321","last" : "xves",...When attempting to use pagination with bridge.list_community_roles, a sql error occurs.
Example query:
`
curl -s --data '{"jsonrpc":"2.0", "method":"bridge.list_community_roles", "params" : {"community" : "hive-169321","last" : "xves", "limit" : 100}, "id" : 1}' https://api.deathwing.me
`
Returned Response:
`
{"jsonrpc":"2.0","error":{"code":-32000,"message":"Server error","data":"CardinalityViolation: more than one row returned by a subquery used as an expression\nCONTEXT: SQL statement \"SELECT COALESCE((\r\n SELECT role_id\r\n FROM hive_roles\r\n WHERE account_id = (SELECT id from hive_accounts WHERE name = _last)\r\n ),0)\"\nPL\/pgSQL function bridge_list_community_roles(character varying,character varying,integer) line 10 at SQL statement\n"},"id":1}
`
This only occurs when the last parameter is supplied.Paulina CzempielPaulina Czempielhttps://gitlab.syncad.com/hive/hivemind/-/issues/156Pagination issue on Community pages2021-05-17T11:27:14Zgood-karmaPagination issue on Community pagesIf community has more pinned posts than `limit` in request params, then `start_author` and `start_permlink` pagination is not working. I suspect it is about pinned posts, example of community to test https://ecency.com/trending/hive-1790...If community has more pinned posts than `limit` in request params, then `start_author` and `start_permlink` pagination is not working. I suspect it is about pinned posts, example of community to test https://ecency.com/trending/hive-179017, try this with limit: 5 and paginate request by setting last item start_author and start_permlink, it will return same list again, because as @asgarth mentioned in MM, pinned posts are returned in every consequent calls, so pagination just loops, doesn't go forward.
first query:
`{"id": 0, "jsonrpc": "2.0", "method": "bridge.get_ranked_posts", "params": {"limit": 5, "sort": "trending", "tag":"hive-179017"}}`
next query: (this should be correct pagination data at this moment):
`{"id": 0, "jsonrpc": "2.0", "method": "bridge.get_ranked_posts", "params": {"limit": 5, "sort": "trending", "tag":"hive-179017", "start_author": "pixresteemer", "start_permlink": "the-re-hive-contest-results-week-48-and-start-week-49"}}`
Probably this is the part that should be checked:
https://gitlab.syncad.com/hive/hivemind/-/blob/master/hive/server/bridge_api/methods.py#L122Andrzej LisakAndrzej Lisakhttps://gitlab.syncad.com/hive/hivemind/-/issues/142Master's version+revision and troubles when moving from develop2021-02-12T08:56:08ZGandalfMaster's version+revision and troubles when moving from developSteps to reproduce:
Full sync from scratch using develop's `1.24rc0+24a73d01`,
then checkout `HEAD` of `master`, `build`/`install`, at this point it reports `0.0.1+46906b99`
run `db_upgrade.sh`, then try to continue with `hive sync`
``...Steps to reproduce:
Full sync from scratch using develop's `1.24rc0+24a73d01`,
then checkout `HEAD` of `master`, `build`/`install`, at this point it reports `0.0.1+46906b99`
run `db_upgrade.sh`, then try to continue with `hive sync`
```
INFO - hive.indexer.sync - Using hived url: `{"default":"http://127.0.0.1:8091"}'
INFO - hive.steem.client - Endpoint default will be routed to node http://127.0.0.1:8091
INFO - hive.steem.http_client - using node: http://127.0.0.1:8091
INFO - hive.indexer.sync - hivemind_version : 0.0.1
INFO - hive.indexer.sync - hivemind_git_rev : 46906b99
INFO - hive.indexer.sync - database_schema_version : 18
INFO - hive.db.db_state - [INIT] Welcome to hive!
Traceback (most recent call last):
File "/home/hive/.local/bin/hive", line 11, in <module>
load_entry_point('hivemind==0.0.1+46906b99', 'console_scripts', 'hive')()
File "/home/hive/.local/lib/python3.6/site-packages/hivemind-0.0.1+46906b99-py3.6.egg/hive/cli.py", line 69, in run
launch_mode(mode, conf)
File "/home/hive/.local/lib/python3.6/site-packages/hivemind-0.0.1+46906b99-py3.6.egg/hive/cli.py", line 79, in launch_mode
Sync(conf=conf).run()
File "/home/hive/.local/lib/python3.6/site-packages/hivemind-0.0.1+46906b99-py3.6.egg/hive/indexer/sync.py", line 259, in run
DbState.initialize()
File "/home/hive/.local/lib/python3.6/site-packages/hivemind-0.0.1+46906b99-py3.6.egg/hive/db/db_state.py", line 53, in initialize
cls._check_migrations()
File "/home/hive/.local/lib/python3.6/site-packages/hivemind-0.0.1+46906b99-py3.6.egg/hive/db/db_state.py", line 417, in _check_migrations
raise Exception("dbv cannot be 0; reindex required")
Exception: dbv cannot be 0; reindex required
```https://gitlab.syncad.com/hive/hivemind/-/issues/117Community Subscriptions bug2020-12-10T19:10:11Zgood-karmaCommunity Subscriptions bug`{ "id": 1, "jsonrpc": "2.0", "method": "bridge.list_all_subscriptions", "params": {"account": "demo.com"} }`
This account should at least have 3 subscriptions but for some reason, above call gives only 1 result. https://hiveblocks.com/...`{ "id": 1, "jsonrpc": "2.0", "method": "bridge.list_all_subscriptions", "params": {"account": "demo.com"} }`
This account should at least have 3 subscriptions but for some reason, above call gives only 1 result. https://hiveblocks.com/@demo.comAndrzej LisakAndrzej Lisakhttps://gitlab.syncad.com/hive/hivemind/-/issues/115Wrong date in notifications for new 'mentions' when editing a post2021-01-17T20:05:59ZSergioWrong date in notifications for new 'mentions' when editing a postWhen a post is edited adding a mention to an account the notification report the post created date (and not the updated date).
You can view it here: https://hive.blog/@asgarth/notifications
![image](/uploads/6bb61e5215337cbf819d293e237...When a post is edited adding a mention to an account the notification report the post created date (and not the updated date).
You can view it here: https://hive.blog/@asgarth/notifications
![image](/uploads/6bb61e5215337cbf819d293e2374d208/image.png)MarcinMarcinhttps://gitlab.syncad.com/hive/hivemind/-/issues/105Bug with get_follow_list2020-11-23T08:49:09ZDan NotesteinBug with get_follow_listThis problem occurs with current production hivemind (deployed Saturday) and the previous version (I briefly swapped to an old hivemind to verify the same issue). It doesn't happen with anyx.io.
`curl 'https://api.hive.blog/' --data-b...This problem occurs with current production hivemind (deployed Saturday) and the previous version (I briefly swapped to an old hivemind to verify the same issue). It doesn't happen with anyx.io.
`curl 'https://api.hive.blog/' --data-binary '{"id":162,"jsonrpc":"2.0","method":"bridge.get_follow_list","params":{"observer":"hive.blog","follow_type":"blacklisted"}}'`
reports:
`{"jsonrpc":"2.0","error":{"code":-32000,"message":"Server error","data":"TypeError: 'coroutine' object is not subscriptable"},"id":162}`https://gitlab.syncad.com/hive/hivemind/-/issues/101Wrong result returned by 'get_followers' API call2020-11-11T20:35:16ZSergioWrong result returned by 'get_followers' API callBefore one of the last updates the following API call would have returned 'asgarth' as a follower (because the account is following 'jarvie').
Request:
```
{"id":2,"jsonrpc":"2.0","method":"call","params":["follow_api","get_followers",[...Before one of the last updates the following API call would have returned 'asgarth' as a follower (because the account is following 'jarvie').
Request:
```
{"id":2,"jsonrpc":"2.0","method":"call","params":["follow_api","get_followers",["jarvie","asgarth","blog",1]]}
```
But now the result look like this:
```
{"jsonrpc":"2.0","result":[{"follower":"viking-ventures","following":"jarvie","what":["blog"]}],"id":2}
```
Expected response:
```
{"jsonrpc":"2.0","result":[{"follower":"asgarth","following":"jarvie","what":["blog"]}],"id":2}
```
So the first result is skipped.https://gitlab.syncad.com/hive/hivemind/-/issues/97Post edit operation improperly handles list of tags2020-12-09T20:27:12ZBartek WronaPost edit operation improperly handles list of tagsPost edit operation shall overwrite set of tags specified for given post, but currently set of tags is each time merged.
See edits of post: `sweetsssj/a-chinese-twist-on-japanese-cuisine`Post edit operation shall overwrite set of tags specified for given post, but currently set of tags is each time merged.
See edits of post: `sweetsssj/a-chinese-twist-on-japanese-cuisine`MarcinMarcinhttps://gitlab.syncad.com/hive/hivemind/-/issues/94Reblogs are not showing properly2020-11-09T22:02:27ZDeathwinghi@deathwing.meReblogs are not showing properlyThis is happening in the head of develop. (https://gitlab.syncad.com/hive/hivemind/-/commit/294e2411acc69b695dc7696a6b425ae3b7bc04a6)
Explanation: If you are looking at your own following feed, you can see other accounts you are not fol...This is happening in the head of develop. (https://gitlab.syncad.com/hive/hivemind/-/commit/294e2411acc69b695dc7696a6b425ae3b7bc04a6)
Explanation: If you are looking at your own following feed, you can see other accounts you are not following, these are actually reblogged by people you follow. However, Hivemind does not always report whether if a post was reblogged or not.
Reblogs do show up:
![image](/uploads/420a73c5d08f6a57b3dcb46eb200e66f/image.png)
Reblogs don't show up:
![image](/uploads/26a7ca579dfaf425571b097cdb07fc69/image.png)https://gitlab.syncad.com/hive/hivemind/-/issues/86Pinned/muted posts not working after HF242021-01-12T00:57:53ZSergioPinned/muted posts not working after HF24In communities pinned/muted posts don't work and are not correctly reported (in the post `stats` attribute).In communities pinned/muted posts don't work and are not correctly reported (in the post `stats` attribute).https://gitlab.syncad.com/hive/hivemind/-/issues/82Comment counter is broken2020-11-05T06:11:12ZDeathwinghi@deathwing.meComment counter is brokenIn various frontends (tested hive.blog, peakd and decency) comment counters for posts that have more than `1` comment will always show up as `1` if the post does not have any comment, it shows up as `0` normally, however, even if there a...In various frontends (tested hive.blog, peakd and decency) comment counters for posts that have more than `1` comment will always show up as `1` if the post does not have any comment, it shows up as `0` normally, however, even if there are 50 comments, it only says `1` comment.https://gitlab.syncad.com/hive/hivemind/-/issues/73get_content returns cache error when post is deleted2020-11-25T16:00:35Zarcangeget_content returns cache error when post is deletedWhen issuing a get_content() call against a deleted post or comment, hivemind returns a "post was not found in cache" error. It should either return an explicit error message or an empty post as hived did before.
This is because of the ...When issuing a get_content() call against a deleted post or comment, hivemind returns a "post was not found in cache" error. It should either return an explicit error message or an empty post as hived did before.
This is because of the view `hive_posts_view` which filters out deleted items in its WHERE clause.
* How to reproduce
`{"jsonrpc":"2.0", "method":"condenser_api.get_content", "params":["stortebeker", "re-deflacion-qhxrya"], "id":1 }`
actual result:
```
{
"jsonrpc": "2.0",
"error": {
"code": -32602,
"message": "Invalid parameters",
"data": "post was not found in cache"
},
"id": 1
}
```
expected result:
```
{
"id": 1,
"jsonrpc": "2.0",
"result": {
"abs_rshares": 0,
"active": "1970-01-01T00:00:00",
"active_votes": [],
"allow_curation_rewards": false,
"allow_replies": false,
"allow_votes": false,
"author": "",
"author_reputation": 0,
"author_rewards": 0,
"beneficiaries": [],
"body": "",
"body_length": 0,
"cashout_time": "1970-01-01T00:00:00",
"category": "",
"children": 0,
"children_abs_rshares": 0,
"created": "1970-01-01T00:00:00",
"curator_payout_value": "0.000 HBD",
"depth": 0,
"id": 0,
"json_metadata": "",
"last_payout": "1970-01-01T00:00:00",
"last_update": "1970-01-01T00:00:00",
"max_accepted_payout": "0.000 HBD",
"max_cashout_time": "1970-01-01T00:00:00",
"net_rshares": 0,
"net_votes": 0,
"parent_author": "",
"parent_permlink": "",
"pending_payout_value": "0.000 HBD",
"percent_hbd": 0,
"permlink": "",
"promoted": "0.000 HBD",
"reblogged_by": [],
"replies": [],
"reward_weight": 0,
"root_author": "",
"root_permlink": "",
"root_title": "",
"title": "",
"total_payout_value": "0.000 HBD",
"total_pending_payout_value": "0.000 HBD",
"total_vote_weight": 0,
"url": "",
"vote_rshares": 0
}
}
```
* Proposed solution
As many other condenser API rely on `hive_posts_view` and removing the where clause will have a lot of side effects, create a separate query for get_content()https://gitlab.syncad.com/hive/hivemind/-/issues/72Postgres warning about wrong collation in recursive_deps2021-01-05T15:27:12ZWojciech BarcikPostgres warning about wrong collation in recursive_depsReported by good-karma 2020-10-09.
Postgres emits warning:
```
recursive query "recursive_deps" column 1 has collation "default" in non-recursive term but collation "C" overall
LINE 6: select p_view_schema, p_view_name, null::varcha...Reported by good-karma 2020-10-09.
Postgres emits warning:
```
recursive query "recursive_deps" column 1 has collation "default" in non-recursive term but collation "C" overall
LINE 6: select p_view_schema, p_view_name, null::varchar, 0....
```Wojciech BarcikWojciech Barcikhttps://gitlab.syncad.com/hive/hivemind/-/issues/59Error in 'list_community_roles' API call2021-01-25T20:06:29ZSergioError in 'list_community_roles' API callThis API call simply fails if the `last` parameter is specified:
https://gitlab.syncad.com/hive/hivemind/-/blob/master/hive/server/hive_api/community.py#L190
I think it has never been tested because this query cannot work:
https://gitl...This API call simply fails if the `last` parameter is specified:
https://gitlab.syncad.com/hive/hivemind/-/blob/master/hive/server/hive_api/community.py#L190
I think it has never been tested because this query cannot work:
https://gitlab.syncad.com/hive/hivemind/-/blob/master/hive/server/hive_api/community.py#L198
as the 'name' column does not exist on that table.
This is the error reported by this call:
```
{"id":5,"jsonrpc":"2.0","method":"bridge.list_community_roles","params":{"community":"hive-156509","limit":50,"last":"ykroys"}}
```
error:
```
UndefinedColumn: column "name" does not exist↵LINE 1: SELECT role_id FROM hive_roles WHERE name = 'ykroys'
```https://gitlab.syncad.com/hive/hivemind/-/issues/1Allow pagination for method 'list_subscribers'2021-01-25T20:05:28ZSergioAllow pagination for method 'list_subscribers'This method:
https://gitlab.syncad.com/hive-group/hivemind/-/blob/autoclave/hive/server/hive_api/community.py#L123
should have the usual last/limit parameters to allow paginated calls.This method:
https://gitlab.syncad.com/hive-group/hivemind/-/blob/autoclave/hive/server/hive_api/community.py#L123
should have the usual last/limit parameters to allow paginated calls.Pawel ManioraPawel Maniora