We'll create fresh WordPress site with Topic Like Button for bbPress installed. You have 20 minutes to test the plugin after that site we'll be deleted.
Once the function bbp_topic_like_button() is placed in your bbPress topic template file it creates a div placeholder.
This is the same for every user so the initial page build can be globally cached.
Once the document is ready an ajax request checks if the current user has liked the current topic and then
displays a like or unlike button.
Upon clicking the button a ajax request is sent to save the updated topic likes.
Topic likes are stored as post meta attached to the topic.
The plugin cannot be activated without bbPress first being activated.
If bbPress is deactivated then this plugin will deactivate itself.
Thanks to elhardoum author of bbp-messages for inspiration for the CheckReady class.