The Legendary Next Update (365)

29 Name: Anonymous 2005-10-14 00:40 ID:Heaven [Del]

Funky, works... I am pretty sure the error has something to do with the characters preceeding the "¦" in the unprocessed tripcode. It begins with a "`"

11 Name: Anonymous 2005-10-13 01:41 ID:Heaven [Del]

>>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.

249 Name:   2005-10-22 12:43 ID:Heaven [Del]

>>247

Well, you have your chance to try and abuse it over on the test page. Although the list of allowed tags there doesn't exactly match what would be allowed here.

Also, the point is to make the type of markup selectable, so you can pick WakabaMark or HTML or none at all.

285 Name: !WAHa.06x36 : 2005-10-23 18:38 ID:Heaven [Del]

>>284

HTML mode handles >> references, but not URLs because I've been too lazy to figure out a regexp that would handle that correctly. Also, yes, newlines are converted to <br /> intentionally. This matches how most sites that accept HTML markup work.

204 Name: dmpk2k!hinhT6kz2E 2005-10-20 22:43 ID:Heaven [Del]

> 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.

84 Name: Anonymous 2005-10-17 12:11 ID:Heaven [Del]

> some other trickery

I smell JavaScript coming in about >>90-120

307 Name: dmpk2k!hinhT6kz2E : 2005-10-24 15:21 ID:Heaven [Del]

> It's a link, it screams "Click me!".

There's something to be said about obsessive-compulsive... >.>;

254 Name: Anonymous 2005-10-22 13:17 ID:Heaven [Del]

Partition for renaming "WakabaMark" to "WAHaMARk"!

263 Name:   2005-10-22 16:55 ID:Heaven [Del]

>>259

Fixed.

>>260-261

The test script doesn't try to handle charsets at all at the moment.

294 Name: !WAHa.06x36 : 2005-10-23 20:38 ID:Heaven [Del]

> I don't see a big fat ugly WakabaMark FAQ next to the post form either.

You don't see the link to the WakabaMark page either?

> I am just guessing here, but I am pretty sure most people will only change their settings in very rare cases.

I just added the Text Art mode so that people could post AA on any board and have it work right, but the only way for that to work is if you can quickly change modes between posts.

Look, it's getting just a tiny bit annoying with the complaining. I've been putting a huge amount of effort into making this work well both for those who want markup and those who don't. If you don't like it, you turn it off and don't need to bother with it again. 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*.

86 Name: Anonymous 2005-10-17 12:33 ID:Heaven [Del]

> The Title field should go above the Name and Link fields in 2ch mode.

Why should it?

> From every practical standpoint, the current solution in Kareha is a lot more convenient

It's more convenient if you want to start a new thread, but for those who don't it's one more form to have to scroll by.

> Futaba now uses "..." instead of ">>>" to prefix repy blocks.

Any idea why?

226 Name:   2005-10-21 17:12 ID:Heaven [Del]

That would be a bother too.

37 Name: Anonymous 2005-10-14 13:32 ID:Heaven [Del]

Oops, forgot to link the first point to my original thread: http://wakaba.c3.cx/sup/kareha.pl/1127326007

Oh, and see if dmpk2k is willing to port over the proxy detection and load-balancing/distributed server cluster functions to Kareha. Those would be neat.

303 Name: !WAHa.06x36 : 2005-10-24 05:33 ID:Heaven [Del]

> Is it intentional that thread links without a trailing slash

Uh, I was wondering the same thing. I'm not sure. I guess I should fix that.

7 Name: !WAHa.06x36 2005-10-12 17:41 ID:gBva8ggI [Del]

(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!

38 Name: Anonymous 2005-10-14 13:56 ID:Heaven [Del]

> Thorough search functionality a-la notchan, using PATH_INFO. This might not be possible without implementing a per-post metadata system though.

I think this not something that needs to be part of the software itself.
Besides, Google mostly provides that function just fine with site:blahblahblah.com blah

Also, what is "user deletion"?

100 Name:   2005-10-17 14:52 ID:gBva8ggI [Del]

>>98

Well, that's what I've said from the start, but people keep requesting them.

FUDGE_BLOCKQUOTES is used by the Futaba style, and I guess I just want to keep it there to make it compatible with Futallaby-style CSS files.

255 Name:   2005-10-22 13:19 ID:Heaven [Del]

>>254

You'd be destroying the DUMB PUN!

262 Name: Anonymous 2005-10-22 16:46 ID:Heaven [Del]

"page top" is better imho

127 Name: Anonymous 2005-10-18 16:23 ID:Heaven [Del]

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"?

333 Name: Anonymous : 2005-10-26 20:33 ID:y5Ya7L3/ [Del]

>>327-328
All of this would be better handled by an external application. I think you are putting way too much work into user gimmicks as it is.

More options means putting more buttons, links, etc. into the interface. I am still bothered by the "More options...", but I am just a text purist (doing my fair share of AA, though) anyway, so meh meh... ( ´・ω・`)

151 Name: Anonymous 2005-10-19 08:57 ID:Heaven [Del]

You may want to consider releasing Kareha & Wakaba under some sort of license at this point, just to make sure that the scripts always stay free for people to use.

http://en.wikipedia.org/wiki/Free_software_license
http://en.wikipedia.org/wiki/Software_License_Types#Free_software_licenses
http://en.wikipedia.org/wiki/Copyleft

54 Name: Anonymous 2005-10-16 09:20 ID:Heaven [Del]

>considering the default prune behaviour of imgboards

One of the parameters Kareha uses to determine pruning is MAX_POSTS, so even if you sage a thread under this new condition, you still add to the board's total postcount and speed up the process for pruning that thread, regardless of MAX_RES. The only flew is this assumes pruning is based on thread creation date, not popularity (because someone could easily bump a shitty thread and save it from deletion).

I also agree that enabling this functionality would further make threads vulnerable to intentional bumping by trolls. I was sorta envisioning it being used in a mature community where trolling is minimal and quickly weeded out by regulars.

Here's a new idea: how about trying this in reverse? Only "sage" posts are counted in MAX_RES, in which case saging can again be used either in protest or as a courtesy to others. The only problem is that people can then freely bump threads without consequence.

362 Post deleted by moderator.

276 Name: Anonymous : 2005-10-23 17:40 ID:Heaven [Del]

>>275
Heh, I thought you had disabled it manually.

>The File field is almost never there.

Right, and when it isn't, the Formatting menu can still reside on the same line.

The error page in mode_message should more closely resemble that of 0ch (complete with "ERROR!" title).

307 Name: dmpk2k!hinhT6kz2E : 2005-10-24 15:21 ID:Heaven [Del]

> It's a link, it screams "Click me!".

There's something to be said about obsessive-compulsive... >.>;

199 Name:   2005-10-20 18:25 ID:Heaven [Del]

> Right, I guess it was dumb to mention 0ch/Futaba in the first place. The point is, as you said yourself, tripcodes are a gimmick, and if someone wants to maintain a persistent identity across multiple boards and sites (ie, everyone here with a tripcode), they have no choice but to use ordinary tripcodes. Secure tripcodes are useless because they limit your identity to a single board, supposing each board/site's cipher key is different -- which it should be, since that's the point of having a secure tripcode in the first place. No one should be so paranoid about a tripcode that they'd need to have a different one per board/site.

True, they're of limited usefulness, but people like admins might prefer to use them. And there are certain cases were you might use them temporarily for various purposes. I wrote the code already, so I might as well leave it in. It has some uses at least.

> Shouldn't we sacrifice some backwards compatibility for a more robust and scalable design? It might even be possible to provide an upgrade.pl for old threads.

I think I'm too lazy to do it. It's kind of hairy. Besides, as I said, you can remove a lot of the drawbacks of seprate installations by using symlinks.

219 Name: Anonymous 2005-10-21 15:25 ID:Heaven [Del]

>>216
I remember at least one or two boards on 2ch that used it, though I can't remember which (moon language and such, you see).

I apologize for the dumb question I made at the end of >>218. I forgot that Kareha permasages (not closes) a thread after the limit is exceeded, so there's no need for a hypothetical 1001th post anyway! orz

94 Name:   2005-10-17 14:06 ID:gBva8ggI [Del]

> Put the Entire thread link on the top of the thread, not the bottom.

Well, since the current update has removed almost all links to entire threads, I won't do THAT, but I guess a Last 50 link could be snuck in somewhere... Maybe the thread title should be an l50 link?

243 Name:   2005-10-22 10:54 ID:Heaven [Del]

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/&amp;/g;
$text=~s/>/&gt;/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/&amp;/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;
}
This thread has been closed. You cannot post in this thread any longer.