Thread stats: 21 posts, 3 files (3 image(s))
Navigation:
>>434112
Most of the same features that X has like something that marks your posts with (You) and lets you keep track of them in a little window, the ability to hover over images to see them, and having a quoted post open alongside the one that quoted it instead of shooting me up the thread to it
I do appreciate this place having some quality of life features that X has like dragging a file to post it and quick reply that 4chan doesn't have
>>434123
>(You)
This is not added on purpose.
>the ability to hover over images to see them
I'm not sure how that would work if for ex. the image is too large. Does it cap to the browser window as a maximum?
>having a quoted post open alongside the one that quoted it instead of shooting me up the thread to it
We already do have inline references, and people actually asked to have that turned off.
>>434125
>>(You)
>This is not added on purpose.
I mean 4chanX marks all your posts (and also lets you mark other posts as (You) even if you didn't make them) and then puts them in a list of watched threads
>I'm not sure how that would work if for ex. the image is too large. Does it cap to the browser window as a maximum?
Yes
>We already do have inline references, and people actually asked to have that turned off.
Oh I just noticed
I personally like it
>>434123
I'm pretty much in agreement with this post.
I post a lot of art, so (You)'s help me keep track of who is engaging with my art and if I should do more. The red ! in the browser tab was helpful too, so an auto-refresh function was nice.
And I personally vastly prefer the inline quoting.
>>434153
i mainly just want the Watched Threads option to track which threads i'm in, even if i can have just that i'll be happy
>>434153
also you post art? link to thread plox?
>>434125
I get why (you)s aren't added but it really does make keeping track of replies difficult. If anyone happens to reply to a post I've made after I've closed the thread, I'll probably never see it. Is there really no alternative? Such as just manually marking posts to highlight/keep tabs on
In the simplest CSS without using ::hover, `img.full {width:100%; height:auto;}` where width will cap to the container. For a ::hover, img.full has to be `position:absolute` to avoid being constrained by anything other than the viewport or stretching a container.
`<img data-md5="kX6FVZhtI2kP0o7JzQ7rOg==" loading="lazy" lazyload="1" class="thumb " src=">>>//!thumbs/29ff28d4c685679da79da968adde51049b0355d6/125/174482711307s.jpg" style="width:125px;height:101px;" width="125" height="101" alt="">`
Your CSS is okay, your JS is good, but the HTML generator is still pretending to be HTML4 in places it doesn't need to be. I've been a fullstack dev since 1999 and was briefly /co/'s and /tv/'s janny between 2011-3 where I wrote a power tools extension for jannies so I've been in the guts of sites like this before.
>>434835
I forgot to mention that in most systems like this, the hovering full image is created outside the majority of the page HTML then destroyed as soon as the hover ends (this is how you guarantee no expanding container issues). It's both JS and CSS.
>>434835
>the HTML generator is still pretending to be HTML4 in places it doesn't need to be
For example? I'd appreciate the input.
Keep in mind that the template aims for extreme backwards compatibility. You can boot it up in internet explorer 11 and it'll be 99% functional.
>>434845
Huh, turns out I'm not the only one asking for these basic QoL features. Granted, I didn't actually ask for a threadwatcher but it's still nice to have. As for imagehover, here's how 4chan did it. It worked fine.
I can kindasorta understand why you chose to not have (You)s, some children thinking they're upvotes and all, but they're still pretty damn useful to see if anyone replied to you. Especially if you have multiple threads open. I particularly miss the red !, but I wouldn't go so far as to expect you to make new fav icons.
>>434847
>I can kindasorta understand why you chose to not have (You)s
I'm glad we don't have them for the simple reason that 4chan having them encouraged (You) harvesting.
As to not seeing replies... I figure that if happens and I forget about my own post, then whatever I posted probably wasn't important anyway.
A lot of features are missing because either we never had the amount of traffic to warrant them (thread watcher, thread auto updates), or there's no backend support for them (we don't even have a json api, the thread updater pulls prebuilt html content so I don't have to rebuild the template system in js), or because I don't want to push extra load on the server.
For example showing the full size image on hover would be a bad idea because our image backend is on a separate disk which is kind of slow. You'll no doubt notice that sometimes full size images won't load that fast. If I made them show instantly on hover, it would put a lot of extra calls to that disk and I want to avoid that. Also there's no point in showing the full image on hover when it's some 12MB PNG that takes 10 seconds to load.
Likewise an auto updater would call the backend automatically if you leave a thread open, and there was no need for that when we had low enough traffic that you only needed to check the index once a day for new posts. If you are that desperate, there are plenty of RSS feeds.
There's also the problem that the backend needs a lot of extra work while the front end is good enough, the only thing really missing is an options panel, but again we never had this much traffic so it wasn't so important.
(you)s will not be added. If you consider your own posts to be that important, use a tripcode.
>basic QoL features
lol
>I wouldn't go so far as to expect you to make new fav icons.
That would probably be the easiest part of it.
>>434845
Please bear with me if I sound pedantic here, this is 2 decades of fighting with browsers speaking not MUH BEST PRACTICES.
Style attribute having CSS height/width properties matching the inline height/width attributes
I promise you as someone who used to work very hard at backwards compatibility across multiple browsers, even IE 6 doesn't need this and IE 11 didn't either. More importantly, inline styling for any reason whatsoever. That's not a browser problem, that's at best a rule specificity problem.
> loading="lazy" lazyload="1"
I'm going to assume the nonexistent `lazyload` attribute is there to prioritize how a shim implements `loading` in older browsers; whether this is necessary is debatable but if it is, give it a data- attribute instead. I can't even find it in dead browser documentation. Correct me if I'm wrong here.
As for supporting IE, that's a separate conversation even in the context of pleasing contrarian chanboard users.
>>434859
>For example showing the full size image on hover would be a bad idea because our image backend is on a separate disk which is kind of slow. You'll no doubt notice that sometimes full size images won't load that fast. If I made them show instantly on hover, it would put a lot of extra calls to that disk and I want to avoid that. Also there's no point in showing the full image on hover when it's some 12MB PNG that takes 10 seconds to load.
This is a reasonable explanation. If circumstances change, I suspect you'll look into that. Shame JPEG2000 never took off but it was going to require every webserver out there to handle partial delivery.
>>434866
>Style attribute having CSS height/width properties matching the inline height/width attributes
That was to make sure that the images appear the proper size on all browsers. There was some edge case where some browsers did not set the enlarged size until the image started loading, or worse, set the width, capped it to the containers maximum, but did not apply the aspect ratio until the image actually started loading. So for a split second you either got a minuscule empty thumbnail, or an empty thumb that was full width but then would drop in height once it starts loading. When you use the button to expand all images, this creates all sorts of havoc.
A lot of the CSS is extremely overcomplicated because I cover every edge case I could find. But to this day I couldn't get the vertical position of the inline icons perfect.
>the nonexistent `lazyload` attribute
That's a JS shim for browsers that don't support the loading="lazy" attribute. You can ignore it.
>As for supporting IE
I wrote this theme when IE could be still used. It's different today when you just have to optimize for Chrome and maybe an iphone. But I had to write workarounds for crap like Pale Moon too which had the side effect of making some feature also work in IE.
>>434859
>we don't even have a json api
I'd absolutely love a json api. I'm currently rewriting my plus4chan thread archiver and have to convert the html into something like json before re-expressing it as html (that's more suited to an archived thread on a static site) again. Still, I completely understand if that's not a high priority. I'm probably the only one that'd use tha api
If you're interested, desuarchive has a fantastic api that makes archiving threads very straightforward. Here's an example for requesting a specific thread:
https://desuarchive.org/_/api/chan/thread/?board=co&num=136307331
An example of their search function:
https://desuarchive.org/_/api/chan/search/?boards=co&text=tamers12345&page=2
And here's the php code that runs the json api (I think):
https://github.com/FoolCode/FoolFuuka/blob/master/src/Controller/Api/Chan.php
I don't think you'd to go so far as to need a search api (although that would be nice!), but something that gives a list of threads for a board as well as something that gives a json version of a thread would be fantastic
>>434920
The system I built supports json endpoints, they are just not hooked up in any meaningful way. Having a publc API means documenting it and supporting it, and I keep changing things around on account of the current site being new code around an old database schema that I'm optimizing over time.
If you think having to rebuild your html renderer is bad, imagine if I kept changing the json format all the time.
>>434925
Fair enough, it'd be great to have one but it sounds like that's something best left until things stabilize
>If you think having to rebuild your html renderer is bad, imagine if I kept changing the json format all the time.
json's actually a little easier since I can flatten it out into a big dumb table, but I get your point