Show more

i actually kinda like working with databases, i just don't like database theory

i fixed up some of the issues with the entity relationship diagram and it's looking pretty solid now :chloeblob:

fedibooks can store (2^64)-1 posts

that is a lot of posts!!

i'd probably run out of disk space before getting anywhere near running out of post IDs :blobbun:

a difficult thing to determine is how high should i set the post length limit

my instance has it set to 65535 to ensure i never run into issues, masto defaults to 500, pleroma defaults to 5000

i guess this is supposed to be a microblogging platform so it doesn't make too much sense to allow them to be overly large, and that does technically expose me to some jerk filling my DB with posts that are gigabytes long

65535 it is :blobbuncoffee2:

the frontend stuff is getting along well

as for the backend stuff, well, there's more SQL than python, and i haven't even hit 100 lines yet, so

okay, the frontend stuff is getting close to being ready. when fedibooks first goes live, some features won't be ready yet. the basic stuff will all work just fine, though!

the backend stuff is gonna be a lot harder than the frontend, but i'll hopefully have it done before too long!

also worth noting: the whole site works without javascript :blobcatfingerguns:

there are a few features that will require it, but so far it's 100% JS free

which is nice because i'm bad at JS

i like javascript and i think it's important, but i also like avoiding it where possible to make everything as lightweight as possible

what do you typically call the "@user@instan.ce" thing? i call it a handle

one of the best parts of webdev is having to implement input validation on both the client and the server

hmm i wonder how i implemented input sanitisation in my last project

...oh! i didn't!

well time to shut cg.lynnesbian.space down forever

wait a minute never mind i overreacted it DOES sanitise inputs

phewwwwwwww

okay curious greg is back up so you can use it again now

even though it's really buggy and shit

the bot creation process is done now. it doesn't handle errors gracefully yet, but apart from that, it's ready!

this means you can now create a bot with fedibooks 0u0

now for the learning from posts part :blobbun:

things are coming along very well! you can create a bot and add accounts for it to learn from. there's a few basic things left, and then it's on to the actual ebooks stuff - downloading and making posts!!

531 (significant) lines of HTML, 328 lines of python, 174 lines of CSS, 76 lines of SQL, 1 tired bune

comparitively, mstdn-ebooks is "just" 387 lines of python

it's been a while i last updated this thread, because it's also been a while since i did any major work on fedibooks. i've kinda pushed myself way too hard on it and i'm taking it more slowly now.

that said, i do have some new features to show off! firstly, fedibooks is now capable of scraping user posts. this is one of the key steps towards implementing full ebooks functionality. the first screenshot shows that fedibooks has successfully scraped all 63 of this account's posts.

secondly, there's now a nifty little bug report form for those of us without github accounts, shown in the second screenshot.

fedibooks is now capable of:
. authenticating with mastodon/pleroma
. scraping user posts
. generating and submitting its own posts

this means it can do nearly everything mstdn-ebooks can, and all that's left is replying!! :toot:

uh oh, looks like you're out of gems! your ebooks bot will stop posting until you have at least 3 more.

[ wait for gems to recharge (3h27m) ]
[ watch 3 ads ]
[ buy pack of 15 gems ($4.99) ]

there are a few minor features left now, and one major feature - replying. once that's done, fedibooks will be complete.

unfortunately, testing the reply functionality requires me to actually deploy fedibooks to a website, since i can't test it with localhost. this means it's going to be a bit of a hassle to implement.

however, i've looked at what needs to be done for reply functionality, and it seems pretty easy with web push - mastodon will automatically send a request to fedibooks with some info, which fedibooks can then reply to. it should be pretty simple 0u0

i want to implement reply functionality and bot settings, and then i'll release the first version of fedibooks for all to use! :toot:

once fedibooks is released, i'll be shutting down my paid ebooks hosting service in a week (since it's available for free now). i'll implement an "import from mstdn-ebooks" feature to ease the transition.

thank you so much to everyone who supported me on patreon!

i'm really excited for this. this is the first time i've ever actually managed to finish a major project! i often start things that are way too ambitious and never manage to finish them, but this time i did it!!

this is the screen that appears when you try to do something i haven't made yet

i'm about to start testing the reply functionality for fedibooks 0u0

fedibooks is now live, by the way! i've disabled signups for now, but in the mean time, you can explore the site: fedibooks.com/

well i've run into a bit of an issue...

the bot creation process works on my small laptop and pet's laptop, but not on my big laptop. i have no idea why, it's the same code and everything, and my small laptop has the same firefox addons as the big one. i'm reading over the code and i really don't see how this bug works... and why does it only happen on one laptop??

okay i found the issue

this specific install of firefox wants the favicon.ico, and when it can't find it, it requests fedibooks' home page

because your browser is requesting the home page, fedibooks assumes you've finished creating the bot, and resets your progress counter thingy to 1.

this breaks multi-step forms.

Follow

okay!! fedibooks is now live and in what you might call early access.

fedibooks.com

i don't know how well it's going to hold up, because i haven't been able to do much serious testing on it, but i guess we'll all find out together!!

next i need to work on implementing the "import mstdn-ebooks bot" thing

for those who've been following along with this thread, i'm sure you've seen that it's been quite a ride!

once the mstdn-ebooks import functionality is done, i'll be shutting down my paid hosting service after a week. this means i'm cutting off the income source i mainly use to pay for the server.

if you'd like to donate, you can do so here:
patreon.com/Lynnesbian
paypal.com/Lynnesbian
ko-fi.com/Lynnesbian

there are currently no donor benefits, although patreon pledgers (to any tier) will get early access to my lynne teaches tech posts.

thanks for considering!

@lynnesbian i like that buns come in

nugget
and

big old elder

and theres not really much in between

@lynnesbian i just made a 10 minute mail for my bot acct do u kno if that will Work

@lynnesbian as a tech person tho do u kno if a 10 minute mail acct works for mastodon
if it works after 10 minutes

Future updates to this thread will be done from this account to reduce clutter on people's timelines.

Speaking of updates, FediBooks will now show you how many minutes remain until your bot next posts something.

What would you like to see next implemented in FediBooks?

@LynnearSoftware Yunohost implementation would be rad. I see it's on your radar.

Pleroma support is fixed, and it's now possible to create bots on Pleroma instances.

As Pleroma does not currently support fine-grained app permissions, FediBooks will require full read and write access to your account. You may look through the source code to verify that these permissions are not used maliciously.

There's a bug that prevents FediBooks from downloading Pleroma posts, which I suspect will be an easy fix. After that, my project goals are:
. Fetching profile pictures
. mstdn-ebooks import
. Docker
. Yunohost
. Misskey support

Is there anything else you'd like to see soon?

I'm really looking forward to creating Docker and Yunohost packages. I have little Docker experience and none with Yunohost, so this should be fun!

@LynnearSoftware I have no idea what Yunohost is, but Docker is the subject of a bunch of internal Inedo projects right now

FediBooks will now display your bot's profile picture on the home page. I know this is a small feature, but every little UX improvement matters!

@LynnearSoftware
Tbh I would also make margin on text block or avatar a bit bigger, maybe like by 10px?

@LynnearSoftware Yeah! Don't you think it's a bit easier on the eyes yourself when it's padded a bit more?

@pie It should update every two hours. I'll fix that wrapping thing now

@LynnearSoftware can u make it post random images with posts sometimes?
@LynnearSoftware randomly select between 0 and 4 images that a scraped user has posted each post, with configurable weighting for each number (so a user could have it post 2 images exactl every post, or none, or usually none but sometimes some)

@pie I feel like that's outside the scope of FediBooks. It does sound like an interesting idea, but it wouldn't really match the idea of the project. Sorry :patcat:

@pie that's weird
do you have authenticated fetches turned on? can you sign in to apps like tusky with your instance!

@pie i don't know what pleroma calls it, but that's what masto calls it

@lynnesbian sign_object_fetches "? it was enabled, though didnt work disabled either..

@pie yeah, that

well if that's not it i'm really not sure what, you had the same issue with mstdn-ebooks too...

i have other pleroma bots using mstdn-ebooks that work okay so idk what's gone wrong there

@lynnesbian @pie

fwiw I see something similar from my pleroma instance too, I have sign_object_fetches true also.

@lynnesbian huh! you're using the webpush code, that's neat! If you notice any problems with it or way the docs can be improved, please let me know - don't think it's seen much use so far so it's probably Not Great

@lynnesbian (esp. if you notice that like push subs stop working for some reason because I've been like, wondering what happens if the url stops working for a while or whatever, does it clear the subscription, &c)

@lynnesbian Looks nice but remove Google Fonts and FontAwesome.com,please.People here care about their privacy and these fonts are all free to host on your own server.

Sign in to participate in the conversation
Lynnestodon

@lynnesbian@fedi.lynnesbian.space's anti-chud pro-skub instance for funtimes