How come this is now the by far biggest thread on this board?
Maybe it's because I'm posting useless replies like this one!
> I'd like to have the interface reduced to what is absolutely neccessary
That's why there is a "More options..." link, instead of putting the controls there on every single thread everywhere.
> Would it maybe make sense to make a separate thread creation page?
Considering that the ratio of users who start new threads to those who don't is pretty small on most message boards, I think it does.
A seperate page could also be used to put a more visible disclaimer/set of rules, as a seperate page with a different layout is likely to generate more attention from the user. Stuff that can be put there also wouldn't clutter up the frontpage.
I don't think this is an urgent matter, though.
WAHa, WAHa, it's a bug!
Pressed back after creating an error message in karaha (trying to reply to this thread, forgetting to type something in here), refresh does nothing!
Wakaba:
> how about having a third party create extensions for those browsers and freeing up the real estate on the actual page?
What's with this obsession on removing the CSS options? It's a single line, and some of us find it useful.
Real estate? Scroll down.
> It's not worth comparing until it doesn't break regularly.
The only problem with it is that it doesn't do paranoid file writes. The fact that the entire server occasionally breaks isn't related to how broken the script itself is.
The "Entire thread" link on the thread page is missing a "/" at the end.
>>9
I mentioned the option because on highly active boards it's helpful to know which threads will be gone in the next few minutes.
>>63
Nevermind, the issues seem to have resolved themselves within the hour of the new version being uploaded.
More stuff:
To more closely resemble the 2ch look, how about prefixing thread title headers in the main board page with a 【position:postcount】thingie?
And as suggested before, the navigation links on the bottom of individual thread pages should include "Previous 100" (ie, all posts before the first post in the URL) and "Next 100" (ie, all posts after the last post in the URL). Of course, this could get screwy if you're using reverse order and out-of-order posts in the URL, so I dunno how well it could be implemented.
The "First 100" link should also be removed from the bottom of individual thread pages, and there should be a link to to thread-list included below the reply box of each previewed thread on the front page.
Bonus:
Change "Del" links to widget buttons.
In order for the CSS selector not to take over the entire header, how about turning it into a drop-down menu? The same could be done with the Admin functions (appearing only after one correctly inputs the password), placing it on the right side of the board and thread title headers (this would also allow admins the convenience of deleting and permasaging threads from the front-page).
and would something like this work (given that all boards share the same root directory)?
>>>>sup/1129153864/1-100
>>>1129153864/1-100
P.S. When you mentioned serving dynamic pages in >>46, were you referring to individual thread pages? As I mentioned before, it'd be nice to make the front page as dynamic and flexible as thread pages when it comes to viewing options (via PATH_INFO).
How come this is now the by far biggest thread on this board?
Maybe it's because I'm posting useless replies like this one!
The Futaba template is missing the "No File" checkbox next to the File field in the Post New Thread area.
If you want to have a look at what the code actually does to dig out flaws, here is the current version:
sub sanitize_html($%)
{
my ($html,%tags)=@_;
my (@stack,$clean);
my $entity_re=qr/&(?!\#[0-9]+;|\#x[0-9a-fA-F]+;|amp;)/;
while($html=~/(?:([^<]+)|<([^<>]*)>?)/g)
{
my ($text,$tag)=($1,$2);
if($text)
{
$text=~s/$entity_re/&/g;
$text=~s/>/>/g;
$clean.=$text;
}
else
{
if($tag=~m!^\s*(/?)\s*([a-z0-9_:\-\.]+)(?:\s+(.*?)|)\s*(/?)\s*$!si)
{
my ($closing,$name,$args,$implicit)=($1,lc($2),$3,$4);
if($tags{$name})
{
if($closing)
{
if(grep { $_ eq $name } @stack)
{
my $entry;
do {
$entry=pop @stack;
$clean.="</$entry>";
} until $entry eq $name;
}
}
else
{
my %args;
$args=~s/\s/ /sg;
while($args=~/([a-z0-9_:\-\.]+)(?:\s*=\s*(?:'([^']*?)'|"([^"]*?)"|['"]?([^'" ]*))|)/gi)
{
my ($arg,$value)=(lc($1),defined($2)?$2:defined($3)?$3:$4);
$value=$arg unless defined($value);
my $type=$tags{$name}{args}{$arg};
if($type)
{
my $passes=1;
if($type=~/url/i) { $passes=0 unless $value=~/(?:^$protocol_re:|^[^:]+$)/ }
if($type=~/number/i) { $passes=0 unless $value=~/^[0-9]+$/ }
if($passes)
{
$value=~s/$entity_re/&/g;
if($value=~/"/) { $value="'$value'" }
else { $value="\"$value\"" }
$args{$arg}=$value;
}
}
}
my $cleanargs=join " ",map { "$_=$args{$_}" } keys %args;
$implicit="/" if($tags{$name}{empty});
push @stack,$name unless $implicit;
$clean.="<$name";
$clean.=" $cleanargs" if $cleanargs;
$clean.=" $implicit" if $implicit;
$clean.=">";
}
}
}
}
}
my $entry;
while($entry=pop @stack) { $clean.="</$entry>" }
return $clean;
}About rel=nofollow: What links should have it? Obviously not the "entire thread" link, but the l50 links in the thread list sort of need it, otherwise the search engine will never find them in the first place. But that means the l50 links will end up in the index.
> (albeit edge cases)
Which is the crux of the matter - it mostly doesn't matter to the vast majority of users.
> You still end up with no way to link the fusianasan post with the name/trip one without IDs enabled (unless the ID method is known and no secret data is used).
You can use fusianasan with a tripcode, at least on Kareha. I suspect you can on 0ch too, but I haven't checked.
(Lots of stuff in here, click "whole post"!)
> How about listing what dmpk2k or you have done already?
Truth be told, I haven't even looked over his contributions yet. I'm doing some work on Kareha first. He did bandwidth load balancing for Wakaba across several servers, and image file archiving, at least. Plus some proxy checking and other goodies.
> Split threads and posts into separate tables. You're repeating the lasthit and parent column over and over.
Bad idea. Adds a lot of code complexity without adding any new functionality. The current solution is simple and robust.
> Automatic closing and moving of threads that do not get any activity in a certain timeframe (based on average activity frequency of the board)
This is nearly impossible to get right, and I don't think I'm going to try unless someone can think up a reliable algorithm that uses the data that is availble (not much).
> Reintroduction of "Marked for deletion (old)" (it's just handy to have that)
I tried several times, and concluded it wasn't worth the code and database overhead it would take. This feature is relatively easy to implement for Futaba-style post number limited boards (and Futaba implements it really stupidly), but it gets tricky when you have different deletion modes and want to do it right.
> Prune-limit mode that is defined by number of files or size sum of files on a board
Size limit is already implemented. I might add file limit, but I'm not sure it's all that useful, when you already have the size limit.
The rest, I agree with, and I will try to get most of it done. I'm sure there's some more stuff hidden in old threads, though!
?
> Personally, I find the reverse order listing, as well as the random order listing, to be a bit silly & useless.
Well, no, duh, that's the point. They're jokes.
> The only useful bonus feature here seems to be the comma range seperator, but it seems even in that case there is not much benefit to it (saves 1-3 links in the average case that it is needed, which is rare to begin with).
On the contrary, it's very useful when referring someone to a specific discussion in a thread where several discussions are going on, since you can make a link that only shows the relevant posts. Not just on the board but when linking to threads elsewhere.
I told you to shift-reload!
Why would there be any use in writing actual HTML in posts? Seems to me like it's just inviting abuse.
Currently, pruning by age is measured from the time of the newest post in the thread, so it wouldn't really work. I'm not sure if this is the best behaviour or not, but it seems it makes more sense to kill threads nobody cares about than to kill slow-moving threads just because they get old.
I've been meaning to change some of the defaults away from Futaba-style to saner behaviours. Any suggestions for what to change are welcome. So far:
> Can't this be somewhere else but the post form?
No, because that would be immensely useless and annoying, because nobody would know it's there, and even if they did, they'd have to go somewhere else every time they wanted to post something using a different markup.
> You don't see the link to the WakabaMark page either?
Nope... ?
> There's just a tiny little link there to let people do this. Is this really a such a huge bother to deal with? It's two words.
It's a link, it screams "Click me!". Most people don't need it most of the time, still it'll be there all of the time. How about style:none or something?
And sorry for being annoying. Strong opinions and all, no offense.
All right, a beta version with some new features is now installed for this board. It implements a couple of bug fixes, and navigational and 2ch-style improvements suggested in this thread. Try it out, and complain about stuff that doesn't work or doesn't make sense.
I also put in customizable capcodes now. You can define a string of arbitary HTML for the capcode, so you can put whatever kind of fagginess you want in there! Hooray! Try this out by posting with #test.
The good old test thread is still here: http://wakaba.c3.cx/sup/kareha.pl/1099697376/