Here's a brief overview of the changes made to the MTW Toolbox, an application you can use to get information about HIVE witnesses and manage your votes for them.
If you missed the application introduction post it's here : [MTW Toolbox] A new view of witnesses ๐จโ๐ป
SEO
2 weeks only the application is online and already a beginning of indexing by Google. I wasn't expecting it so early and hadn't finished optimizing the SEO management service of the application yet. In any case I am positively surprised by the progress made by Google in indexing Angular Progressive Web Application (no SSR).
The first to benefit is @roelandp which sees its witness page indexed by Google. So I couldn't stop myself from doing some queries, here are the results.
search terms:
roelandp witness (92,600 results) = 28th position
roelandp witness hive (39,500 results) = 5th position
roelandp witness hive witness (13,200 results) = 6th position
roelandp steemfest witness (12,100 results) = 22th position
roelandp real time blocks (8,420 results) = 2th position
roelandp real time hive (33,100 results) = 5th position
roelandp blocks produced (42,100 results) = 14th position
Bug fixes
Regex
I realized that I had misinterpreted the username
constraints on the blockchain and had to change my regular expression by this one:
/^([a-zA-Z][0-9a-zA-Z]{0,})+(([.-][a-zA-Z][0-9a-zA-Z]{0,})?)+(([.-][a-zA-Z][0-9a-zA-Z]{0,})?)+([.-][a-zA-Z][0-9a-zA-Z]{0,})?$/
Which gives this inside my group of FormControl instances
/** FormGroup */
this.LoginUserForm = fb.group({
username : [
null,
Validators.compose([
Validators.required,
Validators.minLength(3),
Validators.maxLength(16),
Validators.pattern(
// tslint:disable-next-line: max-line-length
/^([a-zA-Z][0-9a-zA-Z]{0,})+(([\.-][a-zA-Z][0-9a-zA-Z]{0,})?)+(([\.-][a-zA-Z][0-9a-zA-Z]{0,})?)+([\.-][a-zA-Z][0-9a-zA-Z]{0,})?$/
)
]),
this.U.checkUsername.bind(U)
],
});
List of the last witness's posts
I also had to make some corrections to the witness's last post list. I confess I skipped if it was a post or a reblog as well as if it was a cross post. Which led to something not so great.
So now the avatar and username of the original author appear well. I took the opportunity to add the main tag and if it's a community post to display the name of the community. To do this I used the bridge.get_community
method. I don't know why I couldn't use this method via dsteem (client.call
) so I used a direct call.
const community: any = await this.Web.postOutside(
environment.Hive.api,
{
jsonrpc: '2.0',
method: 'bridge.get_community',
params: {name: p.category, observer: 'mintrawa'},
id: 1
}
);
Here's the result taking the same posts line as before.
[ Vote | Resteem | Comment ]
THANKS :)
Last posts
My 1st HIVE block engraved in the rock ๐
[MTW Toolbox] A new view of witnesses ๐จโ๐ป
[WITNESS server - part I] - Setup & Tuning Ubuntu 18.04
[WITNESS server - part II] - HIVE - The manual way
[WITNESS server - part III] Wallet and Price Feed
My witness presentation: @mintrawa a Gen X - Geek ๐ค Gamer ๐ฎ Traveler โฉ๏ธ Witness
Upvote for my witness: https://toolbox.mintrawa.com/witnesses/@mintrawa or click here via HiveSigner
Congratulations @mintrawa! You have completed the following achievement on the Hive blockchain and have been rewarded with new badge(s) :
You can view your badges on your board And compare to others on the Ranking
If you no longer want to receive notifications, reply to this comment with the word
STOP
Do not miss the last post from @hivebuzz:
Support the HiveBuzz project. Vote for our proposal!
@mintrawa, thank you for supporting the HiveBuzz project by voting for @steemitboard as a witness.
Here Is a small present to show our gratitude
Click on the badge to view your Board of Honor.
Once again, thanks for your support!
Do not miss the last post from @hivebuzz: