You can't document easter eggs! That's crazy talk!
Also, I find it insanely more annoying to write text in five-line tunnel vision than whatever annoyance might be caused by a comment box that expands.
Oh:
> Getting back to inconsequential nitpicking: I find the "___ image replies omitted" phrase to be a bit redundant, and for one it confuses me as to whether or not those image replies are separate from text-only replies. How about simply calling it "images"?
Yes, that's a great idea, which is why I've always done just that. You're thinking of 4chan.
> That's what I thought, but then why is it in the Reply pages?
Er, that's a bug I guess.
> 1) rename the RENZOKU constants to something that makes sense
I dunno, they're pretty useless anyway, as has been pointed out, so I don't know if I care enough to change them.
> 2) Have the string to sage and fusianasan defined as a constant in config
I dunno, if different boards use different strings, that will only make for immense confusion.
> 3) A specific string for ID:Heaven instead of anything in the email field
Well, the only string that makes sense is sage, but yes, I should implement the Heaven-on-sage behaviour.
> 4) Cookie preferences such as "Don't use expanding textarea" which leaves it small or big.. or another option for that choice as well; an option to not save Name/Email automatically; anything else that is useful?
Maybe, but I'm not sure it's worth the effort (I'd have to implement a preferences page for it, too).
>>Well, then you are out of luck, aren't you? So you want to enter your E-Mail but cannot because then the post wouldn't bump then? Solution: Write it in the comment field, problem fixed.
There is no reason to change well-known keywords for this or even turn this into a frustratingly unconvenient tickbox/checkbox.
Having a specific trigger to trigger ID would also work.
>discussion of only one comment box, then you couldn't talk about sage/fusianasan/whatever
You could only trigger the functions in a specific format, say
:link-sage
:name-blah#faggot
lol comment
I do not believe this was an actual request, but it is obviously possible and usable. Another way would be escaping keywords that you want to post.
> partition to kill secure tripcodes
Why? If you are going to get rid of secure tripcodes you should get rid of tripcodes by the same reasons. On another note, why have I seen partition instead of petition multiple times?
>So I misspelled one word once. Sue me!
My point was that it is unnesessarily obtuse, not nit-picking that you misspelled it.
>This is a widely used system. There is a very low learning curve here. sage = does not bump thread when replying, that's all there is to know. People can then figure out why it is useful on their own.
You would think there is a low learning curve, but that is not really the case. For example, on an imageboard, what effect do you have making a sage post (with no real content) with prune oldest and a permasage limit? What about prune oldest with a permasage limit that excludes sage replies?
>trigger replacements
I'm not sure what to replace sage with, if anything. Down certainly doesn't describe it (to me it implies the reverse of age, which is not the case). don't_bump or dont_bump? show_host or show_ip works for fusianasan imo... show_ID to trigger ID?
>> config.pl parameter to permasage after a certain thread filesize/total number of characters has been reached
> Isn't this essentially the same as saying "Please don't talk so much?"
I am not >>208 but the first who suggested this here (long ago). I think it may be vital for future, actually popular boards to limit the filesize of a thread so that the board won't get hammered by repeated loads of whole threads without having to limit the size of posts themselves something fierce.
> 3) A specific string for ID:Heaven instead of anything in the email field
Isn't that already an option in the config?
> 5) Seperation of sage et al from the email field to something else...
Strong oppose! I am of the (strong! lol) opinion that the current situation is the one working the best and also that it is widely accepted on almost all similiar board scripts (save for Shiichan and one obscure Japanese discussion board script that I once stumbled upon).
Previous discussion of this can be found here:
http://wakaba.c3.cx/sup/kareha.pl/1102984488/
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;
}
> You mean requiring SQL software, or just making backwards-incompatible changes that would screw up old threads?
I mean, needing to alter the table that is already in the database. I don't want to try to do that any more than I have to, as it's pretty hard to get right in a database-independent manner.
> Are you only referring to flooding and spamming, or also trolls and flamewars?
Yes, only flooding and spamming. Trolling and flamewars are not a problem one should use banning to try and solve.
> Finally, out of curiosity: how much of the functionality in the .js file do you think could be properly implemented into a new or existing perl script?
Well, if you serve up dynamic pages, you can do the form-filling on the server, but that's about it. The rest is dynamic stuff.
> partition to kill secure tripcodes
signed
> add functionality for multiple uploads in one post.
I think this was decided against before.
All right, new version installed. This one has a bunch of layout changes, and some big changes in the CSS, so you'll need to make sure the CSS is loaded by shift-reloading. Also, fixing all the CSS files was a huge pain in the ass. Have a look around to see if there are any obvious mistakes, but be gentle, because this has given me a headache.
Also, I couldn't be arsed to fix Amber, since it was just a joke in the first place.
> It would eliminate the concept of sageing as a protest entirely.
Except that nobody knows what's going on back-end.
I like the idea though.
> That's what I thought, but then why is it in the Reply pages?
Er, that's a bug I guess.
> 1) rename the RENZOKU constants to something that makes sense
I dunno, they're pretty useless anyway, as has been pointed out, so I don't know if I care enough to change them.
> 2) Have the string to sage and fusianasan defined as a constant in config
I dunno, if different boards use different strings, that will only make for immense confusion.
> 3) A specific string for ID:Heaven instead of anything in the email field
Well, the only string that makes sense is sage, but yes, I should implement the Heaven-on-sage behaviour.
> 4) Cookie preferences such as "Don't use expanding textarea" which leaves it small or big.. or another option for that choice as well; an option to not save Name/Email automatically; anything else that is useful?
Maybe, but I'm not sure it's worth the effort (I'd have to implement a preferences page for it, too).
GDLib for thumbnails: http://wakaba.c3.cx/sup/kareha.pl/1113869490/5
> the entire server occasionally breaks
Occasionally?
Well, that might be it, except that on world4ch at least one board breaks every week, if not more. Incidentally, as of this writing, 4chan's /dis/ and /sug/ are also toast (third time this month?).
As it is, I can't recall ever seeing kareha break.
So, as Xee is almost done, and I'm mostly waiting for external contributions, I decided it was time to start working on the Legendary Next Update for Kareha and Wakaba.
Only problem is, it's been a long time, and I've forgotten most of what needs to be done. Most of it is mentioned SOMEWHERE on the board, though. So this is your chance to pipe up with your pet feature request, or if you're feeling really helpful, to dig out some old posts that mention things that need fixing.
Hop to it!
That would be a bother too.