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
3526
Features / Re: New revs
« on February 28th, 2013, 10:28 PM »
rev 1963
(10 files, 4kb)

! Fixed togglebar link in profiles redirecting to your profile, even if visiting another's. (Subs-Menu.php)

* I've decided to make skin options clearer in scope. Until now there have only been two skin options, namely sidebar and mobile, so now we're storing them as SKIN_SIDEBAR and SKIN_MOBILE constants. Hopefully this won't affect performance in template_msg_wrap_before. The advantages are multiple: much easier to type, the constants are always defined, and of course no globaling to do. Any other custom settings will be defined as well, e.g. <my_setting> should be defined as SKIN_MY_SETTING. (Aeva-Gallery.php, Subs-Cache.php, Boards.template.php, Display.template.php, Home.template.php, index.template.php, MessageIndex.template.php, Msg.template.php, PersonalMessage.template.php)
3527
Features / Re: New revs
« on February 28th, 2013, 09:12 PM »
rev 1962 -- can_flex, E_STRICT, Firefox OS basic support.
(7 files, 9kb)

! Wess can't actually hold a list of browser UAs in a variable and allow you to do a test on it. It's a technical limitation. I could overcome it, but I don't see many situations where it would be helpful other than testing for a particular feature repeatedly, so I decided to implement constants to do just that. 'can_flex' is the one you want for the latest flex box model support, it replaces '$supports_flex' and that's all I have to say... Also, this has the advantage of allowing you to just do '!can_flex', without bothering about brackets. I also added support for the older flex models, which I'm not using. Currently, these constants are case-sensitive, in order to save time. I don't know what's best. It's something I'm saying a lot, these days... (Class-CSS.php, common.css, sections.css)

* Since E_STRICT is a PHP 5 constant, it no longer needs to be tested against... There's another one in Errors.php but I'm not committing this one for now because I'm working on the cleanest solution for it. Basically, SMF/Wedge skips all strict errors unless a hidden setting is enabled. Also, the end of the function is quite folkloric, dare I say hilarious, at least it made me laugh, so it shall be deleted entirely. (Elk, if you're listening....) (index.php, SSI.php)

! Fixed strict error: wetem static method calls. I don't know why I insisted on extending wetem from weSkeleton, it really wasn't needed. (Class-Skeleton.php)

! Fixed strict error: weSkeleton->render_recursive() doesn't accept non-variables as parameters. I benchmarked against the alternative (removing the pass-by-ref), and performance was similar, but often a tad faster in pass-by-ref mode, so I left it that way and just assigned variables. Anyone interested in doing more benchmarks in a different environment..? I can't wait to find a reason to get rid of all my unused references. Finally, weSkeleton is back to being a final class... If you have any reason for it to be extendable, just discuss it with me! (Class-Skeleton.php)

+ Added support for Firefox OS. Tested with both the G2B Desktop Client and the simulator bundled as a Firefox add-on. The former won't work because currently it provides the host OS in its user agent, instead of their own. The latter will work fine, though, it uses the official UA. (Class-System.php)
3528
Features / Re: Flexible box model. It's easy, until it gets hard.
« on February 28th, 2013, 09:12 PM »
Well, wait for me, I'm not getting any younger either, I'll soon be in your same age category... :P
3529
Features / Re: Flexible box model. It's easy, until it gets hard.
« on February 28th, 2013, 07:57 PM »
Yup, it's a well-known article...
Fact is, even though the old Firefox bug mentioned is similar to mine, it really was only in the old flexbox specification, and they simply dropped the bug (didn't fix it) because they've rewritten the entire thing for the new flexbox specification anyway, the one I'm using in Wedge...
3530
Features / Re: Tapatalk (revisit)
« on February 28th, 2013, 05:06 PM »
Quote from Arantor on February 27th, 2013, 08:05 PM
Speaking of nekkid ladies, did anyone notice that I suddenly got more productive when I moved out?
I'm sure your family is glad to know that... :P

@Dragooon> I'm pretty sure that web apps can do notifications in Firefox OS... I'll have to look into that further. I added support for it this morning in Wedge, and been tweaking it a bit since then... (Damn emulator doesn't have the 'correct' UA, while Firefox's version own plugin that implements the same desktop emulator has it... >_<)
3531
Features / Re: Flexible box model. It's easy, until it gets hard.
« on February 28th, 2013, 02:07 PM »
Okay, so it's not fixed, but at least I know why...

The reason is the internals of my @if implementation... It's a bit complicated, but it was pretty much mandatory for me because I wanted to be able to use variables in mixins, and it didn't work otherwise. The specifics are that @if calls are parsed twice. The first pass is for browser tests (@if chrome[20-], opera...), while the second (which occurs later in the CSS compilation process), is for variable tests (@if $bg_color == #fff). I didn't take into account the possibility of using a variable to store indirect helpers.

So, what I did is 'simply' add a test in the variable parser, to ensure that it held at least one "$" in the string. If it doesn't, return false. And this magically fixes everything... Then again, it doesn't actually fixes much, because at THAT point, I remembered there's no $ in the string anyway. They're all transformed, i.e. the second @if pass actually tests for "@if #fff == #fff" of "@if #000 != #fff"...
This means that I could fix this all by searching for one of the comparison operators, i.e. "==", "!=", "<" and ">", which (thankfully?), aren't supported in browser tests (it supports "!", "&"/"&&", bracket grouping and "," which is an equivalent for "or").
But it also means that if someone looks at my CSS, finds "@if !($supports_flex)" and decides that it's in their right to use @if !($my_random_variable), they'll start bugging me because it doesn't work, and they won't understand why they should be doing "@if $my_random_variable == 0" or something...

I'm afraid my "system" is a bit too smart for its own good.
Perhaps I should be using another variable declaration scheme to clearly differentiate between browser variables and generic variables.
That, or I should simply give up on storing a browser list in $supports_flex, and instead add a constant (like 'member' and 'guest') to the browser test suite, that tests for flexbox support. i.e., "@if supports_flex"...

Something like a list of browser features that can't be detected through CSS and can be useful to regular themers.
can_flex = chrome[20-], ...
can_table = !ie[-7]
Things like that...

What do you think, guys...? And if you think it's the best compromise, can we settle on a constant structure (can_, supports_, browser_, browser_can...? Lowercase? Uppercase?), and a list of features that we should allow testing against..?
I'm a little lost, myself.
3532
Archived fixes / Re: Little Problem on Topic View
« on February 28th, 2013, 01:55 PM »
IE10 is one of the rare browsers that gets the alternative @viewport code path right now, but it should have absolutely no effect on internal layout...
It also supports flexbox, but only the previous version, for which I have not written fallback support yet. (Maybe because I couldn't care less about fucking IE, whatever their version is..??!! They asked for it...)

Other than that... I'd say, same as John on the Firefox bug topic, but he's got SVN access and you haven't... Bugger :^^;:
Posted: February 28th, 2013, 11:56 AM

See Flexible box model topic for further details. Found the bug, working on fixing it...
Posted: February 28th, 2013, 01:23 PM

Fixed!
Posted: February 28th, 2013, 01:50 PM

Actually, probably not... (Back to square one?)
Although I know where the problem comes from, obviously.
3533
Features / Re: Flexible box model. It's easy, until it gets hard.
« on February 28th, 2013, 01:22 PM »
Okay, spotted where the problem is... It's in how I parse Wess. It's not due to the CSS itself.
I'm going to work on fixing the bug right now.
3534
Features / Re: Flexible box model. It's easy, until it gets hard.
« on February 28th, 2013, 11:53 AM »
iOS: okay, iPad only I suppose..? Can't bother to test on my decommissioned iPod. Let's just say, because Android marketshares are getting bigger, and frankly because I like Android way better these days (although I don't *reject* iOS, I simply find its UI to be too outdated and its system to be too closed), I don't see myself going on iOS testing sessions a lot in the future. Which is a shame, because at least, Safari Mobile has an obscure setting to enable the JavaScript console... Something that I have yet to see in an Android browser... :^^;: But no real dev tools for now.

Firefox: my tests are always done on Aurora, which currently is v21, and it works fine there because they enabled flexbox by default in v20.
However, I tested in Pale Moon 15 and indeed, it breaks there. I've looked at the HTML and CSS, and I don't see anything strange. It looks like the same good old CSS/HTML I wrote and that was the default in Wedge until yesterday...
Can you test an earlier SVN version on your Firefox..? I'm guessing rev 1955 would be just fine. If it works, save HTML page + the gzipped CSS file, then go back to HEAD and save HTML + CSS, and see if a diff between the two can generate anything interesting...?

Well, I know, I'm not supposed to teach you how to debug, but I have to say, I'm not in a position to debug thoroughly right now... :^^;:
3535
Archived fixes / Re: Bad togglebar link?
« on February 28th, 2013, 10:12 AM »
Does this bug also happen in SMF..?

What's happening is that the redirection is incorrectly handled. I'll look into simplifying it.
Posted: February 28th, 2013, 10:07 AM

Fixed ;)
3536
Archived fixes / Re: Little Problem on Topic View
« on February 28th, 2013, 07:24 AM »
Me neither. I tested my code in Firefox Aurora before committing. So I'm surprised. It may be a cache problem but I doubt it.

What device is this? PC or Tablet? Pc I suppose.
3537
Archived fixes / Re: Undefined index in wetem::find
« on February 28th, 2013, 07:13 AM »
Can't believe you reported it a year ago... ;(
3538
Features / Re: Plugin revs
« on February 27th, 2013, 11:09 PM »
rev 75
(19 files, 2kb)

- Removed ending ?> from plenty of files. (edit_history, mass_attach, skin_selector, users_online_today)

* Updated is_ajax variable to AJAX constant. (EditHistory.template.php)

* Updated mini-menu injection. (History-Topic.php)

* Updated strings to literal. (SkinSelector.php)

* Updated we:cat to we:title (harmonized with other info center items.) (OnlineToday.php)
3539
Bug reports / Re: Mini-menu implementation
« on February 27th, 2013, 09:26 PM »
Fixed.

And I dropped my s3 on concrete while testing. YAY.

Screen gets new big scratch in the middle. All four corners are fucked up.
I miss good old cheap phones that you could drop every day.
3540
Features / Re: New revs
« on February 27th, 2013, 09:09 PM »
rev 1958 -- just fixes.
(4 files, forgot to check size -- I'd say 2 or 3kb.)

! Fixed Aeva Media misbehaving on servers that misbehave themselves by disabling the exec function. Thanks Farjo! (Class-Media.php)

! Oops, $$$$ should be called on a .replace() function, but on a .join() it should be $$ instead... (Yeah, I know, nobody will get that one.) (script.js)

! Fixed Profile link in user mini-menus. At the cost of 3 bytes... But I saved one with the fix above, so that's just two. (script.js)

! Fixed Wireless in Chrome Beta for Android. This is a specific version because only this one supports the final flex model. (Wireless/extra.css)

* I think these language strings are closer to what's really happening, but I might be wrong. (EmailTemplates.english.php)