Hello WorldHello World

i think this is working...

jsify test

i like the jsify I have, should make coding in the last remaining things (the most annoying things) a lot easier.
like there is some fancy stuff (fancy to me) to make this site feel faster than it actually is so its cool.

using color-scheme to auto enable dark mode. there is also a good dark mode color scheme now
testing custom filenamesseeing if I can keep the original filename stored in the database
You can now edit your user profile and I think I fixed weird issues with all image types that aren't jpeg.
You can now edit your user profile and I think I fixed weird issues with all image types that aren't jpeg.
would you look at that, when you click to see the original image, the gif is animated. this is a W.
Plan to get stickers added, user sign ups working and a staff application form written for the launch Saturday, March 1st.
Stickers will be weird since I don't think there's a way to append text to an input from a button without JavaScript, so that might be the one and only thing that will not be nice to use.

thumbnail test
User signup flow is done, sign ups are locked until Saturday (when I manually enable them)

Swapped the size of the stickers to the large version, small version is used on user page only.
User panel like page is done. Going to work on the admin panel tomorrow.
I broke the user page while making this change
but it is working now,

logic change to thumbnails again
I added banners to the top page. There's only 1 but I plan to add a bunch of stuff (as well as user suggestions from /sb/. It will randomly pick one from a bunch of banners each time you load or reload a page.

Added some more stickers and banners. Still deciding on the hosting side of things, maybe I will get a VPS and migrate. Also need to come up with a better site name holy shit.
Also, listening to P.SUS while I code is relaxing.
On users page, fixed pagination for messages, so now it actually paginates the results and makes the page load faster!
Reduced the number of messages per page from 20 to 10.
Added a little copyright disclaimer and version indicator at the bottom of each page.
I still have to do the account recovery flow and figure out the new site name and domain.

Closed beta time.
I am going to start sending around the register access code so people can sign up.
I also added in notifications, so whenever someone makes a reply a little page will aggregate them into a short list so you can jump to that part of the conversation. Thread writers are about to get notifications for every reply in their thread but as soon as you open the notifications panel it marks it all as read so maybe it's not too bad.
Anyway, i'm gonna watch some anime now. 
been busy with irl for the last few days. 
hope to get some more work done throughout the week, add some more boards and stuff.
I posted the blog too late, I missed it yesterday because I was too tired.

So I posted the new blog post just now and put the register code in there. Hopefully the site doesn't break.
I would like to eventually make sign ups public, without a code, but I am still testing things. Also adding things like boards and stickers and banners.

manga page test, testing enlarge image


Okay, I fixed the large/thumb swapping and sizing for images. It is sized in a way so the width and height hopefully stay within view and won't require scrolling.
Also fixed other css things and fixed how sticker buttons add the code to the text field so it's better.

Fixed it so stickers appear on thread buttons on board catalog view and on home page.
YoooFirst time testing mobile. Looks like it's working fine.
Made some changes to the board page, added a view for archived threads and began work on a theme selector. Might add extra custom themes like on 4chan but i'll stick to auto, light and dark.

I made some more changes to styling and started to finish the remainder of actions for the admin panel.

Okay I added in one bracket (>) for purple text (like green text but I don't want to use green). Then you can use (>>) to just link to a message in the thread. :)

should probably get a domain and migrate to my vps...
soon...

I added a rule to threads and the user gallery that gif images smaller than 250kb will just show the original. So if you want to have an animated image by default in the thread, make sure it is a small gif.

I made it so if you're navigating to a board and that board has a sticky thread, that appears when going to /board instead of the catalog view. I do not like the default behavior of the glance view 4chan has, I want catalog first but I also want a sticky thread to appear first if there is one. To view catalog, doing /board/catalog will go to the catalog view always. If there is no sticky thread, catalog view is default. All navigation links on the board also reflect going to the catalog first. But a first time navigation (aka no stuff after the board name in the url) will redirect to the sticky thread. I hope that makes sense... 
Just look at /sb/
If your browser has javascript enabled, clicking the header banner now fetches a new random banner. Without JS, it's just a redirect to the website home page.
Okay I made the text wrap around the images now. Not sure if I like it, though...

I also made the images a bit smaller (and a weird resolution so line padding looks okay)
Fixed code so there's always a unique banner when clicking the banner to change it. 
Made stickers every-so-slightly smaller across the website.
Made stickers every-so-slightly smaller across the website.
reply test
okay I finished the css overhaul to threads. It's using more archaic html and css to accomplish what it needs to but it still works and looks fine. Word wrapping around images is still up in the air for me, not sure if I like it yet or not. I'll let it wrap for now.


manga page testing size


Okay I added a bunch of new stickers and also made the sticker picker a grid instead of a row. You have no idea how long it took to get the CSS to resize the way I wanted it to.
Okay, I made is so when replying, you don't need to supply text anymore if you have an image. The asterisks are yellow and have hover text showing that.

It's been an interesting few weeks, stress from work and personal-life issues definitely take a toll on my brain. Hope to be back on my feet, soon.

I fixed the scrolling issue when making a reply on a thread with a bunch of images. Because the images don't load until they are in view of the browser screen, needed to have it keep scrolling while it jumps to the bottom.



Added a gallery page for each thread. It will show the images in an ordered grid. Clicking on an image opens up a special window to see the full image. It also has navigation to see the previous or next image in the thread. Might add some JS magic for swiping or something in the future.



Added a gallery page for each thread. It will show the images in an ordered grid. Clicking on an image opens up a special window to see the full image. It also has navigation to see the previous or next image in the thread. Might add some JS magic for swiping or something in the future.

I also added the same modal thing to the user page gallery.
And fixed the broken spacing on the stickers when directly replying.

YEAH so on threads, I replaced the person icon with the thumbnail profile picture. Then I got a little ambitious and added a JS thing for when you hover over a username it shows stats about the user. Still need to clean up some things with it but the idea is there.

Also.. I guess RIP 4chan. I liked and hated the site enough to make my own rendition of it. With the source code being leaked there'll probably be new sites cropping up using it.

made some changes behind the scenes to the site to make it better (hopefully). Might see a performance increase? 
Also I have begun to add a bunch of new stickers. The process will take a while so please be patient. To be honest, I might build a hack in to just dump stickers in instead of manually add them. 

Hello gamers!
Bought a new cheap and little macbook air to do programming on. The cheap laptop I got before for this has the world's most stupid trackpad. Thing like delays when doing any scrolling gesture, like the cursor drags behind, lagging. It's so annoying. So I am jumping ship to apple for programming. I hope it works.



Re-fixed a bug I swear I remember fixing.
Also added some more preloads for board banner and board icon when on a board.
Just got a new macbook air.
Going to work on the site and other projects on it. Epic battery life, super small and backlit keyboard. Should be nice.
changeBeen slowly resuming work on the admin panel.
Also made a small css change to how messages in threads appear, giving them an indent so it is easier to read when scrolling.
Okay, so it turns out that the notifications thing was broken this whole time so bad that it broke posting replies to threads that were not your own. 
So, I fixed it so it actually sends the notifications now and you can reply without it erroring out. Small changes. 
Hopefully there are no other random issues.
Made another change to how the threads appear in catalog view and on home page.

I added a label that shows the maximum file size instead of discovering it on your own. They are kind of high right now. 
Been trying to get a search bar added to the sticker picker but for some reason the js is just not working when it is supposed to be working, I checked my syntax and logic, so annoying 


Oh we have sticker search now. Don't look at the JS, it's actually terrible how I got it to work.

change
Been slowly resuming work on the admin panel.
Also made a small css change to how messages in threads appear, giving them an indent so it is easier to read when scrolling.
UNDONE!
The indent looked too weird to me, especially on the user page. Just added more top and bottom space. 
Okay so I added a thing where if you hover the reply_to link in a message replying to someone or when hovering over stuff like this >>tMg3b9Ufgn there is a cool looking box with the message ripped from the page :)
This is secret text.
Here is some more Secret Text
Finally some Secret Text !
This is secret text.
Here is some more Secret Text
Finally some Secret Text !
GUYS!
I think I got spoiler text to work!
OKAY!
So, I don't want to enable making stuff spoiler on the first message in a thread because that would be weird, but replies can now have spoiler images.
I added a checkbox next to the image upload you can press to make it a spoiler (wow)
LOL epic sticker background!!!!
Yeah, you can't spoiler stickers without me requiring JS. Oh well? 






going crazy

going crazy
LOL the filename was so long it broke the input width and the filename link. Fixed both of them.



why is google icons and fonts broken?
Added a thing where it will show a [deleted image] gif if there is a message but the image gets deleted.
Reply 90!
Cleared old deleted messages.
Fixed long filenames on the user page.
Changed some buttons around, where they are placed and what they say on the user panel.
Added some new banners and stickers.


Fixed it so when you reply to a message here, it highlights your new reply. Also fixed the jump to target when pressing a button (js)


I need to work on the theme picker now.
OKAY, I added the theme switcher.
Drop down at the bottom of the page, select between auto, light and dark for now. I will add more later.
It stores your selection as a cookie. If you're signed in, it also stores it on your user account, so it's the same everywhere you log in.
Getting the JS to do the swap instead of refreshing was interesting.
I made it so if you have JS enabled, the 'SET' button next to the theme picker goes away and the theme updates as soon as you select an option from the dropdown.

made some changes to ratings, now there's a tracker for total likes and dislikes for each board

trying to do some data cleanup for user counts.
Okay, I added a new theme called "classic" that uses default fonts and different colors.

NUMBER 100!!!! 




Anyway, I broke user reputation yesterday by accident so I fixed it now. I also fixed some of the other user stats which was including data that was deleted or hidden. Finally, fixed it so deleted images are not included in the thread gallery and user gallery.
Made stickers in messages slightly larger.
I want to see if I can make it so the sticker actually prints instead of just the special code. Soon...

I added the boards list to the footer everywhere but the home page.

I have been spending so much time in real life and working on this site that I need to make a new personal site now. LOL

Soon

SITEMAP created, don't want it to capture any of the threads themselves otherwise each time google or other search engines look it up the page will tank trying to poll all of that info. Just getting the boards for now and the regular, static pages. 

okay, so I was wondering why nobody had signed up. I thought that nobody gave a shit. Fair enough, I am doing this for my own amusement and so I have another thing to flex on a portfolio.
but no... it was OF COURSE a coding error. I made a secret code thing to lock new registrations while in beta and the code to check if the secret code exists wasn't properly handled in the api. So that's fixed + verified the secret code to verify works. Im so annoyed I didn't catch this sooner. 
There's a bug with the image enlarger where the box doesn't resize so text starts to clip out of the box. Ehhh, tomorrow's problem. 
Nevermind, I just fixed it, simple fix it turned out. I like CSS doing things that would be better done with JS LOL 
I added a css rule to make it so if just an image is added with no body text, the image fills the full width (still with max height) instead of 50%.

Looks like the scroll to hash JS hack I have still sucks.
Okay I made a tweak so I hope it's better now.
Writing this function sucks because I am using JS to replace the main page content with some links like reply and report so it feels better to use, a custom scroll to hash/target is now needed, annoying. There is also lazy loading on all of the images on threads so your browser doesn't have to load a ton of images in order to read a thread. So even if JS knows where the hash is, as images load it moves away. 
Hopefully now it sucks less balls.
I added in a thing where every single API request made gets logged for now while I keep testing. Guess this is still beta but who's tracking?

I added a new way to make new email verification emails. Not sure if I ever added a way to do it before, but now if your account has a non-verified email. every page you navigate to will have a warning on top.
Going to look into better ways so emails sent from the site's noreply do not end up going into spam. I added a few extra headers for now but idk.
I guess the site's .xyz domain just looks bad to google. it will always be spam even with email encryption working now 





The contact form keeps getting messages from people asking about "the price"
Uhh? The price of what? 
I am going to work on a workflow for account recovery, something I haven't done yet.
For now, if you forget your password and we can verify you are who your account is, I can just set the password to some random password so you can login and change it.
Maybe in the future I will make an automatic process but I will do it manually for now to ensure it's legit. 
Okay, I added automatic recovery email stuff anyway.
It just felt RIGHT.


the scroll to hash still doesn't work and im sad.
I'll have to find a way to have lazy-loaded images still take up the space they need in order to truly fix it.
OKAY I made it so it snaps to it, preventing the lazy load from being an issue now. Not as fancy as before but it needs to be this way so an entire thread's images don't load.
Okay things I want to do:
- If JS is enabled, I want to do what all other social media platforms do and put the stickers behind a popup window. If JS is disabled, it will remain the way it is. Right now JS is already injecting a search so maybe I can inject something to make it a button somewhere. That also means altering a ton of css probably.
- See if I can get the stickers to appear in the textbox while typing; also going to be a JS exclusive thing.
Not sure how long this will take but these are the things I want to add.

Okay, I made it so the stickers are now behind a button placed in the bottom right of the text area.
This only works for js: Click the button with the randomly selected sticker and a window will open. It is the same thing as what was above, the stickers. Same search and whatnot. Click outside the window to close, press escape or press the x in the top right.



I also did some trickery to get it to work smoothly between JS enabled users and JS disabled users. No flickering. I can't think of anywhere else on the site where flickering was an issue but I now have a way to hide stuff for JS users and let JS add it back the way it wants too without flashing.

I guess the only other flickering thing is the integration of the dropzone. Guess I could look into getting that to function less like shit, as well. 
I've started working on the custom textarea to show the sticker picture in place of the text. Please give me a little bit to get it working. 
I am not too confident in this code I have written for this crap.

I am so tired, it has been like 2 hours of me battling chrome just to get this to work. pasting stickers to visually edit like this is a nightmare, probably why twitch doesn't do this because it is so buggy. it's why YT is so ass.
this whole thing here will become the new scroll to hash, a new thing to haunt me for the remainder of my time making this site.


One thing I would like to add is being able to highlight stickers, copy them and then paste them again. Doesn't work with the crappy js I have right now.
I made a change to the hover over username thing in threads. Each time, it would make an api call to get data. I added a simple javascript cache thing so it only makes calls once and then just references that while you're on the page.

I made another epic change!
Proper pagination for the profile page for messages, images and likes. Basically, before I only had it for messages and was just getting every like ever and image ever. So now it is based and slightly faster.

Hopefully the update worked. I have been meaning to make this change for a while now but I decided to do it while I am working on finishing the admin panel.
I know it seems like development has paused but that is because I am working on the staff panel. 
LMAO I went to edit a board this morning and it turns out I never finished the admin api code at all. Just giant //TO-DO that I forgot to do. 
I am adding in a rule to block all HTTP/1.0 requests. Every browser made in the last decade uses 1.1 or better, only crappy spam bots use 1.0 so they're gone.
If anyone has an issue, contact our email support@bitterli.xyz
YOOO!
There was a bug with the profile for viewing images. I was using the same address parameter for the page number and image viewer; which doesn't work. So I fixed it now. 
Made some changes to how the stats are printed on the home page and did a better job separating staff content from the home page. :)

I will start making site updates again, soon.
I added a little shadow on stickers in threads on the light theme. I also made it so if the message body is just stickers, the stickers are larger.

strip filename test

file dimensions test

One of the 155 messages above had weird html parsing issues and I do not know why. So I guess I am testing now.
Apparently when I made the update to add image dimensions as a label in thread messages with images, I also broke the order of oldest and newest threads on the home page and in each board. I fixed it now.

Location flags added to all messages.

Thinking about adding in some new board settings tomorrow, allow for anonymous posting and replying (an account is still required but it wont show your name when posting and wont appear on your user account). Allow for ranks to be visible or hidden, profile pictures to be visible or replaced with a static icon, hide user reputation, hide verified check mark. Big ideas in the noggin here.
Guess I should fix the reply hover
Okay I fixed the reply box.
I added in a button to embed the YT player whenever links are enabled.
https://x.com/4274bit/status/1952419447336997196
Getting this goddamn embed to work was a nightmare.
Okay so now threads will show deleted message indicators. Not sure if I will keep it but it's there for now. I also added a proper nuke to clear everything and delete files after the message has been marked as deleted.
Soundcloud Embed Test
I changed the way the stylesheets and JS files load, before it was getting a fresh new file each time now it's just getting a fresh file based on the last modified. It's a small change in loading times but it might help in other areas.
Been working on how boards are deleted. So expect some small changes here and there.
I dropped the viewed recent from 5 to 4. Still working on adding the unread labels and proper links.
Okay I replaced the old recently viewed with the grid that is used everywhere else. Made a few tweaks to also add in the unread count and the special link to the first new unread message.
Fixed the issue with thread lock and sticky icons not appearing on board catalog pages. LOL
Been spending a lot of time trying to clean up the staff admin panel.

I am also slowly working on updating board icons and banners. No more placeholder icons here!

It's getting late
Okay so if someone tries to manually type an nsfw sticker to a sfw board, it will show an xxx icon.
Things to to...- Fix it so if the board has anon mode for posts, maybe not print the username in the thread grid.
- Fix when a thread is nuked, remove it from view history. When loading in the viewing history, probably should do a do-while loop where each iteration checks if it exists/is not deleted. Keep going until the list has 4 real threads.
- Fix issue where strip exif breaks animated gifs and webps. Rule to just ignore those filetypes. I am not paying for a better webserver with ffmpeg anytime soon.
- When initially creating the site, I have it where if there is no title it is just the thread id, which is (fine) but looks a little too sloppy. Might look into a special short title using the body in those cases if the body isn't all stickers.
Okay, not sure if this will break stuff or not. But I added in a thing where php errors will prettyprint now instead of a 504 error and no message. Eventually when I do deploy this as its own board site, independent from my name, that will be turned off. This here is the active development branch, every change I make is done live and right here. Fine for a hobby but not fine for what I want to do in the future.
Made some changes where the api does more processing when making threads instead of actually on the generator.
Also added a better fallback for the stupid geoip. Namecheaps' geoip is from 2019 and sucks, so it is still using free api. If all fails, that crappy 2019 db is better than nothing I guess.
I fixed the board grid on the home page to not suck. Using CSS column-count, idk wtf it is but it seems to work.

aaa
OH, SPOILERS ARE WHY THE HTML STRUCTURE BREAKS! I have something to fix. 

hello world 3
public class swag {
public static void main(Strint[] args) {
System.out.println("Hello World");
}
}

Added code block formatting yesterday.

pageparam test

pageparam test
Okay, it works.
More page organization done.
Also, this is an advertisement I got with something I ordered and I scanned it in to test my scanner.

I will keep working om board tags tomorrow. Also need to get blog tags added somehow, those are harder.

I like this gif
Fixed the issue with archive board pages not working
I moved the edit profile button and close profile editor buttons to make more sense.
I hatched an idea for more site themes, much larger theme ideas that would take a while to make happen. So I will work on them gradually and add them.
Mainly, I want a Windows 7 frutiger aero type thing with glass boxes all over the site and cool iconography. Man, I would have to update all the iconography from google material icons, that does not sound fun... maybe just glass boxes, cool background gradients and glass buttons. Idk
I made a change so the view history of threads for users is faster and easier to manage.
Okay it is now working properly, a typo I had from ages ago was why:
1. It was fetching data twice because of the typo, so longer loading times.
2. Fetching old data, not the new data, which was annoying.
I made an oopsie with a pageparam check so some links didn't work. Fixed now. 

Not sure why I did this... 
But I added in a new page to the site, https://bitterli.xyz/sticker
Basically the plan is to have this page available for non-js users instead of the current solution. That way it is easy for them to find stickers and the text code to use them in messages.
I still need to tweak the message composer here to hide it for non-js users and show the link instead, tomorrow's problem.
More of me learning how search terms work in mysql so I can build a message searcher for boards.
More updates to the sticker page.

There is now a "trending stickers" block at the bottom. I might move it to the top. It has the 20 last used stickers in messages. I am not scanning titles yet, it scans message bodies for stickers and get the last 20 stickers used.
This message search function whenever I write it shouldn't require a lot of work now because I wrote a good search function to get these stickers.
Still working on small things and the search algorithm but the board search has been added. The search bar looks at message bodies for a query. 

yeah yeah
I made some changes to the theme picker and stuff. I made it easier for me to add new themes in the future, I had hardcoded the themes in before but now it is dynamically read in.

I added in a leaf falling effect for September - November
And Added Snow for December - February.
Might remove it because it might be much? Or at least only have it on the home page?
I added in a leaf falling effect for September - November
And Added Snow for December - February.
Might remove it because it might be much? Or at least only have it on the home page?
That is what I did, only on the home page. I might add it to other site pages but not on boards and threads.
Hey, we are back in EST now. Looks like the date stamps are working properly! 

I added some new themes now:
- Glass is like a frutiger aero theme, background and no external fonts. Boxes are animated. Footer is also glass.
- Midnight is like a classic theme mixed with dark; darker background colors and no external font.
- Vaporwave is like an 80s inspired thing. This one is a bit intense with animations, has background and external font. Footer is also animated.
I am still fine tweaking parts of each theme as I use them.
IT'S NATIONAL NACHO DAY!
Who's day is it if it's nochyo day?
Anyway, I started working on reactions to messages. It will take a good chunk of time to get done but the database structure and fetching is done, now I just need to work on the calls and front end to add a reaction, might steal what discord does

Okay I added reactions but it's not done yet.
You can add reactions to messages and remove them.
Still to do:
- Add a maximum number of stickers for reactions.
- Better placement for mobile, this one is going to be tricky.
- For JS Users, the add button just opens the sticker window like in message composition. Once a sticker is selected, it is just added. The form text box is what the non-js users will see once all the changes are done.

Okay I added reactions but it's not done yet.
You can add reactions to messages and remove them.
Still to do:
- Add a maximum number of stickers for reactions.
- Better placement for mobile, this one is going to be tricky.
- For JS Users, the add button just opens the sticker window like in message composition. Once a sticker is selected, it is just added. The form text box is what the non-js users will see once all the changes are done.
That little window for the stickers is proving to be a much more difficult task then I had originally thought.
I will have to redo the entire js for stickers in message composition as well at the same time.

With cloudflare down, I guess i could spend some time today seeing if I can get the stickerbox thing to work. :)
Okay so the sticker window for reactions is done. I need to edit the button in message composition now so it uses the same code.

The code for the stickers in the message composition thing is super annoying.
Maybe a battle for another day.
Okay so I did it today.
I also made the textarea a little bit easier to work with. The old method was very weird in how it handled new lines. Too complicated.
This is a lot easier. 
I will keep testing it to make sure it works fully as intended. :)
I am experimenting with getting the sticker reactions to look like they belong. They are slightly larger than the space they were in so messages with reactions looks weird vs. ones without.
So maybe I am going to leave it like this
Updated the board page. The details splash I moved to under the banner now. Better use of space.
I also added in code to custom refresh on threads. It will show a count of new messages in a thread while also getting new html content.
Fixed some issues with the notifications.
It was out of order. It had weird styling. It didn't update the count when opening the window. Those are all fixed.

Got new monitors, old one blew up. Getting them installed was a mission.
I accidentally broke the site by making some changes to the info page. Fixed it now.
Okay I just did a bunch of re-tuning of the body printing api and css to properly show new lines. So hopefully now it looks and runs better.
I have been working on streaming and other coding projects recently, so development has slowed down a bit. I am going to make new boards now
Still working on adding new boards but also fixing some bugs / making small improvements along the way. Just added thread status icons (locked, sticky, archived) to the home page for latest threads and recently opened threads.
YOU KNOW WHAT TIME IT IS?
Time to test to make sure my goddamn code for this fancy compose box actually works. Because i changed it again to fix an issue with pasting and weird enter issues. YAY!
So does it work or does it suck?
I have been trying to get this to work, maybe I have it working now so I can do what I want to do.

Hello Gamers

Scrapped an "old" page for now. Maybe I will come back to it but not today.
One thing I will work on sooner is instead of green text / highlight for replies to messages in threads, I will actually clone the content and make it appear as a quote instead.


Scrapped an "old" page for now. Maybe I will come back to it but not today.
I actually am working on this again. I am redoing all of the front end so it renders properly on older web browsers, where old is intended.
I am about 75% complete.
One thing I will work on sooner is instead of green text / highlight for replies to messages in threads, I will actually clone the content and make it appear as a quote instead.
I also made a mock up for this idea in the old. The only reason why I would add this is for mobile users, and it would look better in screenshots if someone was screenshotting a message. Uhh, maybe I will do this here, too.
All trademarks and copyrights are owned by their respective parties.
Content uploaded is the responsibility of the Poster.
Messages are owned by the Poster.