i hope i don't have to use sendmail for this
okay so i think this is what the database is gonna look like
yes this is an ERD what about it
i just realised that i actually used a skill i learned at university today
university taught me something i used in a real life scenario
if you had have told past me that i would get so dedicated to a passion project that i made an ERD for it, i would say "really? fuck"
hmm i could either work on more frontend stuff or try to convert this ERD into SQL
i might work on the SQL stuff since it's been a while
known issue: fedibooks will stop working after 4,294,967,295 people connect their accounts
looking over this SQL is writing is making me feel very Powerful
i could change fedibooks to only allow one user per instance and all it would take is a single word
i could cause privacy issues and wasted disk space by just deleting one rule
i could change a single column's data type and break pleroma compatibility
SQL is actually good imo
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
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
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
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!
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
what do you typically call the "@firstname.lastname@example.org" thing? i call it a handle
the SQL is (probably) finished and it is beautiful
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
i can be a real dingus sometimes
wait a minute never mind i overreacted it DOES sanitise inputs
okay curious greg is back up so you can use it again now
even though it's really buggy and shit
the signup page works! 0u0
things are coming along well
how strange that some instances don't seem to work properly
fedibooks authentication is working
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
i passed 100 commits
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!!
unfortunately, the bots are incapable of self improvement
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!!
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!
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
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.
okay now it's up for real
@lynnesbian super proud of you! gosh!
@lynnesbian congratulations! What a fantastic service
@lynnesbian Congrats!!! 👏🏻👏🏻👏🏻
@lynnesbian i know something else that will be coming soon
@lynnesbian my paycheck!
its not lewd
@lynnesbian coming sune
I might actually sign up for a fedibooks bot...
what's self hosting going to be like compared to e-books? easier? harder? about the same?
@mal it's gonna be a lot easier! you won't need to download or install everything, the whole thing is done through the website. everything from replies to post frequency can be set without editing config files or anything like that. it'll be hosted on my server, so you don't need to keep your laptop running 24/7
oh ok, I misunderstood, I though since you were discontinuing the patreon thing that fedibooks was a self hosted thing, gotcha, this is cool though! I'm really glad it sounds to be nearly ready for prime time!
@lynnesbian try it on another computer and see what happens
@lynnesbian im the dumb tech person so i wont b able to help at all but r there like diferent specs
what kimd of error is it do u kno
@lynnesbian dumb question... Does it work in incognito mode on all 3?
@lynnesbian good catch that's an odd one.
@lynnesbian hmm, I think provided you put a check in to see the version of firefox being run and ask people to update if they're on it, then it's not an issue?
@lynnesbian can you just.... give it a favicon.ico?
@lynnesbian if you haven’t found out yet, the Right Way to solve this is to make your forms POST and check for POST requests - this is essentially why different methods exist (GET requests should in theory never change server side state)
@halcy it is a post form, but the progress is tracked by a cookie
@lynnesbian good luck with the fix, whatever you end up doing!
@lynnesbian reading this makes me scream internally
I hate webdev
@lynnesbian http get shouldn’t have side effects. find some ofher way to advance the counter
@lynnesbian that is, if you’ve got a multistep process, it should only advance with a form post. that’s application state change, and having that anywhere near GET always causes problems similar to yours because pretty much all software assumes GET is safe to do and won’t change application state.
@lynnesbian this story is a classic:
@espectalll should be fixed!
@lynnesbian it is, thanks!
@lynnesbian my wife is goddamn incredible
@lynnesbian That's, great, I'll have to try it out after work.
@lynnesbian I'm getting a 502 bad gateway
@SunSaint should be fixed now
@lynnesbian ok thank you thank you thank you
@lynnesbian i believe in you
@lynnesbian here is more bun for calm
@Mooncake so SMOL
@lynnesbian i like that buns come in
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
@skelltan it should work fine, emal isn't implemented yet
@lynnesbian as a tech person tho do u kno if a 10 minute mail acct works for mastodon
if it works after 10 minutes
@email@example.com's anti-chud pro-skub instance for funtimes