Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Nao
Features / Re: Language revs
« Yesterday at 12:14 PM »
[Commit revision ad680df]
Author: C3realGuy
Date: Wed, 22 Feb 2017 21:43:09 +0100
Stats: 1 file changed; +1 (insertion), -1 (deletion)

  • It's not logging setttings, it's settings for log

[Commit revision d1b8b4c]
Author: C3realGuy
Date: Wed, 22 Feb 2017 21:46:55 +0100
Stats: 1 file changed; +1 (insertion), -1 (deletion)

  • changed it to only "Einstellungen"
  • Only "Einstellungen"/"Settings" is even more clear. And would fit better to the other menu structures. See
  • $txt['mailqueue_settings'] = 'Einstellungen';.

[Commit revision 611fc1b]
Author: Nao
Date: Mon, 27 Feb 2017 12:14:33 +0100
Stats: 1 file changed; +1 (insertion), -1 (deletion)

  • Merge pull request #32 from C3realGuy/fix_log_settings_german
  • It's not logging setttings, it's settings for log
Features / Re: New revs
« Yesterday at 12:00 PM »
[Commit revision ec62771]
Author: Nao
Date: Mon, 27 Feb 2017 12:00:12 +0100
Stats: 1 file changed; +25 (insertions), -28 (deletions)

  • Fixed a $txt['here'] that was removed long ago (because it was used in this case outside of its original context-- wow, nice for translators!). Replaced it with some random Unicode character that's supposed to indicate the current location. Please tell me if you find anything better that doesn't require the use of words. (ManageSmileys.template.php)
  • Also updated all colons to $txt[':'] in that file. I'm not gonna do all files... Just figured I'd do that one. (ManageSmileys.template.php)
Features / Re: New revs
« Yesterday at 12:12 AM »
[Commit revision 005abec]
Author: Nao
Date: Mon, 27 Feb 2017 00:01:02 +0100
Stats: 1 file changed; +12 (insertions), -10 (deletions)

  • Updated CSS parser to support more recent versions of browsers dropping some browser extensions. (Class-CSS.php)

[Commit revision dc13cf0]
Author: Nao
Date: Mon, 27 Feb 2017 00:01:53 +0100
Stats: 1 file changed; +1 (insertion), -1 (deletion)

  • Random user error that didn't need logging. (Mailer.php)

[Commit revision 47060c5]
Author: Nao
Date: Mon, 27 Feb 2017 00:02:28 +0100
Stats: 1 file changed; +6 (insertions), -8 (deletions)

  • Avoiding a useless else() call. (Subs-CachePHP.php)

[Commit revision 9affd1f]
Author: Nao
Date: Mon, 27 Feb 2017 00:10:24 +0100
Stats: 1 file changed; +11 (insertions), -0 (deletion)

  • Fixed... Maybe... Maybe... Finally fixed race conditions in PHP file caching. Needs testing, but at least I'm no longer able to reproduce the problem. (Subs.php)
  • Imagine you're uploading a modified file to your server, and it has several visitors, and one of them is loading a page at the same time. The cacher will look for a cached version, will find it's outdated, and rebuild it. Now, here's the trick: if this happens DURING the upload, the file won't be complete, but it'll still be used for caching. The trick here, since we don't know the final expected filesize, is to instead check the file date. If it's very recent (0, 1 or 2 seconds old), we'll wait for one more second and check again, until the file is old enough. This isn't perfect, but should handle 99% of all possible race conditions.

[Commit revision c2bee20]
Author: Nao
Date: Mon, 27 Feb 2017 00:12:08 +0100
Stats: 1 file changed; +1 (insertion), -1 (deletion)

  • Mobile browsers are unable to follow links in the main menu's top-level items, which is mostly a problem with the first menu column, so I'm adding an 'exception' to account for that. (Subs.php)
Archived fixes / [CSS] Re: Login looking bad on small screens
« on February 25th, 10:49 PM »
Should also modify the RSS feed list (in the sidebar) to use some normal stuff instead of these fucking dd/dt/dl tags. I'm really sick with them... display:table for the win? Heck you can even push columns to new rows through @media...
Archived fixes / [CSS] Re: Login looking bad on small screens
« on February 23rd, 10:35 PM »
Hmm yeah, feel free to commit a 450px revert if you feel it's for the best.
I just aimed for consistency. But this might matter more. ;)
Features / Re: New revs
« on February 22nd, 11:48 PM »
[Commit revision a449ef5]
Author: Nao
Date: Wed, 22 Feb 2017 23:48:29 +0100
Stats: 1 file changed; +2 (insertions), -2 (deletions)

  • Fixed integer casting error. (Subs.php)
  • Better westr::safe than sorry. Inspired by my Internet browsing. (Subs.php)
Features / Re: New revs
« on February 22nd, 11:44 PM »
[Commit revision 9080368]
Author: Nao
Date: Wed, 22 Feb 2017 23:43:08 +0100
Stats: 2 files changed; +1 (insertion), -4 (deletions)

  • Removed some IE6-7 compat CSS that wouldn't be used on them, as they don't support pseudo-selectors in the first place... Yeah, man. Yeah, man. (common.css)
  • Fixed Warm's skin.xml 'tutorial' to clearly indicate that parent skins should be provided as a folder name, rather than the parent skin's name as declared in the XML file. (Warm/skin.xml)
Bug reports / [Security] Re: BBCode in SQL Database
« on February 21st, 12:24 PM »
Quote from CerealGuy on February 13th, 03:52 PM
I think i get your point, there's a newline in between the quote tag and the next part of the post. It's more like a bug isn't it? Even if it's not very problematic, but still annoying.
Yes. It's not really a bug, it's "as expected" given what the code does, it's up to me (or another dev) to simply add more code to simply remove any extra newlines that come after. I think what I/we should do is, when we determine the point at which the split needs to be done, select anything before and after that point that's either a space, a tab or a newline (basically an \s), and delete it (there's a function to select a zone of text, then we can delete it.)
Actually my implementation is quite powerful as you have 3 collumns for the process stuff. I prefer it that way because it gives you the maximum of control over this feature. But I agree, as soon as something's not really needed, we should strip it out.
Yeah, it's not like we can magically strip Wedge down to 2000 lines of code, but for maintainability it's always best to simplify complex code where possible.
It's not a limitation of xml, for sure you can have php code in your xml file (if that's what you mean by 'xml file can also contain function declarations')
Yes that's what I mean, and yes I remember adding support for that, I'm pretty sure at least... ^^
Or maybe it was in skin.xml... Hmm.
Yup that's the big problem with the mixed content stuff and https. On our site we completely switched to https, no plain http anymore.
Same with ;)
This avatar problem is really annoying, though.
I already thought about the problem of external content. It's actually only images which make problems.
There's an option to retrieve external avatars locally but meh...
The tricky part would be the one for images. One approach would be to let wedge check if the content is the same over ssl as with a plain connection.
In these situations, it's acceptable to have the green icon disappear. It's not exactly the Grail of SSL-enabled websites. It's just good to have on non-user-generated-content pages. So my main concern is with that frigging avatar showing up on every page. Then again, it's just for members!

Oh, speaking about security... I noticed one of your commits has a comment that explains you don't know about the noopener security problem, but that you'll leave it in. Well, first of all you could have just asked me, since I added that feature last month... Second of all, I'd understand that you document that in the git log, but... Why in the file comments, man?? Why...? :-/
But we should definetly improve the ssl support of wedge, even if it works quite well on my site (with only ssl). SSL and encryption in general isn't a topic with which only criminals have to care about, it affects all internet users nowadays.
I'm kewl with SSL. One of the things I enjoy about Lestrade's is that I get to touch areas that I never had the opportunity to deal with before. SSL and Nginx are interesting. (Not ENJOYABLE interesting, but interesting nonetheless.)
I don't know, guess you mean the smf homepage?
The editor itself isn't bad in my opinion, but many things don't work very well. For example inserting urls or images is just a pain in the ass with those weird js alert boxes. You can't click them away and it just doesn't make fun. Besides that, no need for email and ftp buttons anymore.
That's absolutely right. I don't know why I didn't just remove them myself all these years ago.
Even the "Ordered list" thing to me is something that takes space for nothing... I'll keep it, but MEH. FTP and email, yeah, they can go.
Do you mean that people can reply to a post? A bit like how comments work on youtube?
Hmm yeah, but it's not the best example... ^^
Threading has always been a stable of sites like slashdot or reddit. Or the Disqus comment system, for instance.
Wedge does threading internally-- it just doesn't show it.
The problem with this is that it get's confusing very fast. I saw it on another forum where you could switch between the "thread display modes". But I didn't really like it. It has to be implemented very well and smart.
But honestly, I don't see any 'smart' way of doing it, besides showing it threaded by 'default', and flat when viewing 'New' posts (e.g. the New icon.)
But I think this amateurs thing is a bit of legacy of smf and many open source projects.
I'd say SMF always wanted to see itself as a professional bunch. Which is why they're so freaking slow in adding new features... They tend to look severely at people who add new features without polling the team at least 27 times and sending 42 test suites.
Seriously, what I added to SMF back in 2010 in the few months I worked as developer was more than everyone else together did for the following years... (I haven't checked in recent years, but I doubt they changed much either.)
I'm not boasting, I'm just saying that they don't have the same way of doing things. Which is why SMF is so much behind. Even Pete couldn't save it with his SMF 3 project. (I think that was abandoned too...?)
php-cgi is the php server. Nginx just redirects all 'php' requests to php-cgi. I'm not too sure about the htacess stuff, have to look at it.
Yeah, so, there are two ways of handling PHP and Nginx, AFAIK:
- Nginx as reverse proxy and Apache behind. Nginx redirects all php requests to Apache, which itself calls PHP through FCGI or mod_php, whatever. This way, htaccess is taken into account.
- Nginx as both reverse proxy (or not) and server with PHP support (FastCGI or PHP-FPM). Nginx redirects all php requests to the CGI process. htaccess isn't support. And PHP isn't faster either.
Which is why most servers adopt the former solution, of course.
We also don't need to. Most of those features aren't something we need for wedge. Would also break compatibility to old browsers which is one of the things wedge cares about.
Oh and I just removed a thing for IE6/7... ;)
This is becoming less and less of a problem. IE8-11 and Edge still have some market shares, but 6-7 are comparatively negligible.
If I had more time, I'd completely remove support for both of those. You have no idea how much simpler the codebase would be in all CSS handling areas... ^^
I thought wedge already implemented something like this.
Not really, no.
I suppose it's feasable, though, with the caching system in Wedge (while in SMF it would be completely impossible, I think even Elk couldn't do it, without resorting to hacks.) Just generate the JS file 'automatically' from the data available in files and the database.
Ajax means a lot of traffic if you send over the complete post.
Yeah... Not that much, really. ^^
Definetly something which would make wedge a lot nicer. The thing is, do we want a real time chat or a messaging system with a chat like feeling?
The latter for now. Let's not get ahead of ourselves... ;)
Real-time chat can always be added through a plugin.
It's a bit the same with thoughts. For sure you get notified if someone replies to your thought, but they don't get refreshed automatically. It's a bit the difference between a shoutbox and those thoughts.
I just never saw any real traction for thoughts. I'm pretty much the only one to use them. And no one asked for a refresh, so... Here you go. There's a refresh for notifications is all.
Actually I really like the thoughts system, it get's used quite a lot on our forum.
LT has been online for a week and no one used it, not even once. I ended up disabling it... My lone message was just too lonely. ^^
I have a steam account, somewhere... played a bit dota 2 and cs:go when they got freshly ported to linux. But not really into gaming anymore. But for sure i will have a look into your project. My brother is really into gaming and steam, definetly a market. Those weapon skins and stuff, it's just crazy how much money you can spend on that.
Yeah I don't understand the appeal of CS:GO related stuff.. ^^ I prefer regular good old single-player games. LT is mostly about retrading duplicate game keys you acquire when you're a regular customers of bundle sites like,, and (basically the top 4 bundle websites). And they often re-bundle games offered by other sites months prior. So you ALWAYS end up with duplicate keys. I only recently opened an account for my kid, where I can now redeem many of these duplicates... But before that, since I don't like waste, I used to retrade my keys for other games.
But you definetly have to change the skin, the current one doesn't fit at all ^^ Maybe the first dark skin for wedge? :D
Well, err... I think it's very fitting..?!
I tried to stay close to in spirit.
Features / Re: New revs
« on February 21st, 11:24 AM »
[Commit revision 5e742b0]
Author: Nao
Date: Tue, 21 Feb 2017 10:35:25 +0100
Stats: 1 file changed; +1 (insertion), -2 (deletions)

  • Forgot one. (Subs-Login.php)

[Commit revision 78b0f70]
Author: Nao
Date: Tue, 21 Feb 2017 11:24:01 +0100
Stats: 4 files changed; +14 (insertions), -24 (deletions)

  • Dropped smileys support for IE6 and IE7. (Subs-BBC.php, Class-Editor.php, Subs-Cache.php)
  • Smiley cache emptying code didn't actually force reloading the smiley CSS file. I'm not kidding you. This really happened. In my code, of all places. (ManageSmileys.php)
  • Note that you can safely remove all smiley-cache-* variables from your settings table (note: dashes, not underscores). This was just too confusing.
  • Yes, IE6/7 support sounded acceptable back in 2012, but we're in 2017 and this legacy code shouldn't be here any more. It wastes CPU cycles for 0.5% of browser market share that, let's just say it, is mostly spam bots with fake user agents or people who enjoy their computers with viruses everywhere. I'm not gonna encourage that. Plus I think I already started removing support for IE6/7 compatibility in other places a couple years ago, so this is just the start.
Features / Re: New revs
« on February 21st, 10:32 AM »
[Commit revision 7720979]
Author: Nao
Date: Tue, 21 Feb 2017 10:32:32 +0100
Stats: 10 files changed; +13 (insertions), -30 (deletions)

  • unset() is very lenient with non-existing variables. There's no point in calling isset() before it. In fact it can even slow down the process by a few cycles, as seen in ManageSmileys. (Dlattach.php, ManageMemberOptions.php, ManageSearchEngines.php, ManageSmileys, Aeva-Gallery2.php, Profile-Modify.php, Register.php, Subs-Auth.php, Subs-BBC.php, Subs-Login.php)
  • Regrouped multiple unset() calls into one. Yes, it's supported. (Aeva-Gallery2.php, Subs-Auth.php, Subs-BBC.php)
Features / Re: New revs
« on February 21st, 07:12 AM »
[Commit revision 46195a1]
Author: Nao
Date: Tue, 21 Feb 2017 07:12:29 +0100
Stats: 1 file changed; +9 (insertions), -3 (deletions)

  • Added a workaround to choosing another smiley set that doesn't have the same filenames as the default's. They will now fall back to the default set, but of course it's best to think of updating your files... (Subs-Cache.php)
  • Removed 3 unused bytes in every single page. Will it actually save 3 bytes of bandwidth? Does it matter? (Subs-Cache.php)
Features / Re: New revs
« on February 20th, 08:00 PM »
[Commit revision d926432]
Author: Nao
Date: Mon, 20 Feb 2017 09:35:36 +0100
Stats: 2 files changed; +2 (insertions), -4 (deletions)

  • Changing font style only for presentation elements, as intended, in the skin selector. (Themes.php, mana.css)

[Commit revision 2bcbf20]
Author: Nao
Date: Mon, 20 Feb 2017 18:47:42 +0100
Stats: 4 files changed; +6 (insertions), -20 (deletions)

  • Fixed a couple of disgracious horizontal scrollbars showing up in IE and mobile. (index.css)
  • Removing some CSS leftovers from years ago that didn't catch my attention. (extra.ie6.css, extra.rtl.css, index.css)
  • Commenazi. Gee, haven't turned on that iPod in years... Might as well update that comment. (common.css)

[Commit revision 12bbb33]
Author: Nao
Date: Mon, 20 Feb 2017 18:52:10 +0100
Stats: 2 files changed; +1 (insertion), -3 (deletions)

  • Fixed a possible race condition when caching source files. And I'm afraid I still get errors related to those things, but that's because I've actually had users online at the same time for once. So it probably needs some more work. (index.php)
  • Removed two table fields that cause crashes when modifying boards in PHP 7. I would have fixed them, but I don't actually use them in Wedge so we might as well save the space. If you're having the problem, I suggest just launching phpMyAdmin and removing check_members_date and most_updated manually.

[Commit revision 342308c]
Author: Nao
Date: Mon, 20 Feb 2017 18:53:18 +0100
Stats: 1 file changed; +18 (insertions), -20 (deletions)

  • Auto-suggest is now better built to support other suggestion types than just members. Seriously, it's weird that this system was built exclusively for member search and then given a generic name..?! (suggest.js)

[Commit revision 30f1c99]
Author: Nao
Date: Mon, 20 Feb 2017 18:53:56 +0100
Stats: 1 file changed; +2 (insertions), -2 (deletions)

  • If PMs are disabled, why the heck would you show a PM info box at all..?! (InfoCenter.template.php)

[Commit revision 0f35c9a]
Author: Nao
Date: Mon, 20 Feb 2017 18:54:53 +0100
Stats: 1 file changed; +3 (insertions), -0 (deletion)

  • Minor fix for the pixelicon 'badge' position next to user names in Wilde. I forgot to commit it at the same time as the rest of my CSS-oriented commit. (Wilde/extra.css)

[Commit revision 2f6ef2a]
Author: Nao
Date: Mon, 20 Feb 2017 18:55:46 +0100
Stats: 1 file changed; +1 (insertion), -1 (deletion)

  • Try not to show the full path to the current PHP file in public error messages. It's just a matter of privacy. (Errors.php)

[Commit revision 82c2ba5]
Author: Nao
Date: Mon, 20 Feb 2017 18:57:26 +0100
Stats: 1 file changed; +9 (insertions), -4 (deletions)

  • Important fixes for the domain-name/action-name/ URL scheme. Gosh, no one ever enabled that one, did they..? (QueryString.php)

[Commit revision 13ec5ff]
Author: Nao
Date: Mon, 20 Feb 2017 18:58:02 +0100
Stats: 1 file changed; +1 (insertion), -1 (deletion)

  • Fixed crash on Unread Replies when using MySQL 5.7+ with default settings. (UnreadReplies.php)

[Commit revision a70a7cf]
Author: Nao
Date: Mon, 20 Feb 2017 18:58:56 +0100
Stats: 1 file changed; +1 (insertion), -1 (deletion)

  • Weirdly, some spam bots (exploits?) also try to send huge protocol strings. Let's take care of those. (Security.php)
Features / Re: New revs
« on February 19th, 04:34 PM »
[Commit revision 871993e]
Author: Nao
Date: Sun, 19 Feb 2017 16:34:41 +0100
Stats: 1 file changed; +3 (insertions), -3 (deletions)

  • Okay, okay... I botched my testing after refactoring the minification code. Let's not talk about it again, okay? (Subs-CachePHP.php)
Features / Re: New revs
« on February 19th, 02:55 PM »
[Commit revision 82b795f]
Author: Nao
Date: Sun, 19 Feb 2017 14:55:20 +0100
Stats: 1 file changed; +1 (insertion), -1 (deletion)

  • Quick fix for 'out of bounds' file browsing error in the error log, due to files having UTF8 characters. (ManageErrors.php)
Bug reports / [Security] Re: BBCode in SQL Database
« on February 12th, 09:58 PM »
Quote from CerealGuy on February 12th, 07:16 PM
A little progess which is worth to mention in my opinion. We can now use the process function on all bbc types :cool:
and i wrote a small plugin to show you what this can now do.
A markdown parser? Nice... :)
I'm sure it could be useful.
I don't think you have to use the CDATA block around such short code, though!
Although now I understand your point about leaving BBCode support in the database.
Quote from CerealGuy on February 12th, 07:16 PM
It's just hacked together, but still works quite well. Besides this autolink stuff wedge does (inserting random http://tags on everything which looks like a url to something) :D
'unparsed'? ;)