I have been using steem-python to power steem.rocks. The first bug report I get was the inconsistent voting power values. I have misinterpreted the issue and thought it was a node-lag issue.
Well, I was wrong. Today I saw a similar bug report on official steem-python package and @raserrano gave a good insight why that happens.
Turns out raw voting power data is based on the last vote time. In order to see the latest status, you need to add regenerated VP to that.
Quickly fixed it with the voting power regeneration calculation and opened a pull request to the steem-python package.
Did a quick test with a couple of accounts.
master branch
my proposed fix branch
works like a charm. Same with the steemd.
Also fixed the steem.rocks with the same implementation on commit de9cf458.
Thanks @jaff8,
@raserrano and
@yuxid for their contributions.