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.
3346
Features / Re: New revs
« on March 27th, 2013, 10:11 AM »
rev 2026 -- short, thematic commits help me clear my head.
(1 file, 3kb)
! Fixed fallback layer/block selection in Wess. For those interested, here are some details... Doing something like wetem::before(array('sidebar', 'default'), 'my_block') would work because both items (sidebar and default) are layers. However, wetem::before(array('target_block', 'target_layer'), 'my_block') would always select the fallback layer even if target_block existed, because layers had priorities in my code. This is due to the refactoring I made to the skeleton code back in late 2011. At the time I wrote the find() function, the skeleton system just wasn't strong enough to accomodate for this. Now it is. And it allows me to remove that weird code block with all the iterator objects. Which are incredibly, horribly slow according to a quick benchmark. (Class-Skeleton.php)
* Optimized weSkeleton->has() for speed, if used on a layer. (Class-Skeleton.php)
(1 file, 3kb)
! Fixed fallback layer/block selection in Wess. For those interested, here are some details... Doing something like wetem::before(array('sidebar', 'default'), 'my_block') would work because both items (sidebar and default) are layers. However, wetem::before(array('target_block', 'target_layer'), 'my_block') would always select the fallback layer even if target_block existed, because layers had priorities in my code. This is due to the refactoring I made to the skeleton code back in late 2011. At the time I wrote the find() function, the skeleton system just wasn't strong enough to accomodate for this. Now it is. And it allows me to remove that weird code block with all the iterator objects. Which are incredibly, horribly slow according to a quick benchmark. (Class-Skeleton.php)
* Optimized weSkeleton->has() for speed, if used on a layer. (Class-Skeleton.php)
3347
Features / Re: New revs
« on March 27th, 2013, 10:10 AM »
rev 2025 -- Wess bug fixes.
(1 file, 3kb)
! In some situations, calling @if/@endif in CSS code would crash Wedge. After a painful debugging session, I discovered that I could either force php.ini's pcre.recursion_limit to something sensible in Windows (which was compiled to have a very small recursion stack, unlike Linux versions) and then use preg_last_error() to catch recursion errors, or... I could simply use my Goddess of All Regex trick. That's the name I gave (in reference to one of Karl's expressions) to the atomic grouping hack that I cooked up something like 5 years ago, and that sealed my descent into the abyss of PHP programming and regex madness. That's it: turning a simple '(?:' into '(?>' was enough to make Wess behave. I considered using it in the @is handling code path as well, but it's probably useless because inline code is generally extremely short and doesn't suffer from backtracking issues. (Class-CSS.php)
! Opera 12.1+ supports the new flex model, but it's buggy. To be specific, sometimes divs will overflow out of their defined boundaries, and I couldn't find any workarounds for that, unlike Firefox and Chrome quirks I met during development. Because I'm now using a Chrome fork as my main browser, and my beloved Opera will switch to WebKit later this year, I don't think it's worth the hassle, so I'm removing Opera from the list of browsers aliases by the 'can_flex' constant. (Class-CSS.php)
(1 file, 3kb)
! In some situations, calling @if/@endif in CSS code would crash Wedge. After a painful debugging session, I discovered that I could either force php.ini's pcre.recursion_limit to something sensible in Windows (which was compiled to have a very small recursion stack, unlike Linux versions) and then use preg_last_error() to catch recursion errors, or... I could simply use my Goddess of All Regex trick. That's the name I gave (in reference to one of Karl's expressions) to the atomic grouping hack that I cooked up something like 5 years ago, and that sealed my descent into the abyss of PHP programming and regex madness. That's it: turning a simple '(?:' into '(?>' was enough to make Wess behave. I considered using it in the @is handling code path as well, but it's probably useless because inline code is generally extremely short and doesn't suffer from backtracking issues. (Class-CSS.php)
! Opera 12.1+ supports the new flex model, but it's buggy. To be specific, sometimes divs will overflow out of their defined boundaries, and I couldn't find any workarounds for that, unlike Firefox and Chrome quirks I met during development. Because I'm now using a Chrome fork as my main browser, and my beloved Opera will switch to WebKit later this year, I don't think it's worth the hassle, so I'm removing Opera from the list of browsers aliases by the 'can_flex' constant. (Class-CSS.php)
3348
Archived fixes / Re: flexbox and opera 12.14
« on March 26th, 2013, 07:33 PM »
I renamed last_msg to last everywhere (sorry, that was before I saw your post). Checked against [^_]last_msg to make sure I caught everything. There was a surprising amount of crap that was left over. Heck, there was even a reference to that form entry in post.js...! Meaning Preview wouldn't tell us about new posts, either.
I'll commit once I'm done with my current work. I've got tons of things to commit, actually... And in all areas! (Fixes in Skeleton code, fixes in Notifications, template changes for Notifications, now this...)
PS: I prefer last to last_msg personally, perhaps because I have an aversion for underscores in 'visible' HTML code, as you may have noticed today, ah ah... Also, err, I think 'last', as a variable, is ONLY used in this situation. So there shouldn't be any conflicts...
I'll commit once I'm done with my current work. I've got tons of things to commit, actually... And in all areas! (Fixes in Skeleton code, fixes in Notifications, template changes for Notifications, now this...)
PS: I prefer last to last_msg personally, perhaps because I have an aversion for underscores in 'visible' HTML code, as you may have noticed today, ah ah... Also, err, I think 'last', as a variable, is ONLY used in this situation. So there shouldn't be any conflicts...
3349
Archived fixes / Re: flexbox and opera 12.14
« on March 26th, 2013, 07:21 PM »
Done.
One of the things I noticed, is that the Reply button has a last_msg param, instead of 'last'. Thus, it won't go through the code path for last post checks... (I think.)
Now, in Post2.php, it checks for $_POST['last']. I double-checked, and guess what..? Post pages don't have that one. They have (drum roll)... last_msg!
So, I'm thinking at some point I renamed last_msg to last, and forgot to rename all of them.
It's in rev 1112, by the way.
What should I do...? Rename the rest?
One of the things I noticed, is that the Reply button has a last_msg param, instead of 'last'. Thus, it won't go through the code path for last post checks... (I think.)
Now, in Post2.php, it checks for $_POST['last']. I double-checked, and guess what..? Post pages don't have that one. They have (drum roll)... last_msg!
So, I'm thinking at some point I renamed last_msg to last, and forgot to rename all of them.
It's in rev 1112, by the way.
What should I do...? Rename the rest?
3350
Features / Re: Additional formatting of user names
« on March 26th, 2013, 06:22 PM »
Oh, interesting...
Code: [Select]
The post above has a bug I can systematically reproduce. Click Quick Edit on edit, then cancel. The post loses its bottom margin, and more importantly, the code block's horizontal scrollbar is no longer accessible. Odd...
I suspect it's related to the flexbox bugs that were reported before.
I'm reproducing the code block above so I can see if it's always like that.
:edit: Yes, it doesn't depend on its placement. Also... The whitespace below the block is also eaten after a quick edit. DEFINITELY that Chrome bug with flexbox.
$buffer = preg_replace('~(class|id)="([^"]+)"~e', '\'$1\' . \'="\' . str_replace(\'_\', \'-\', \'$2\') . \'"\'', $buffer);The post above has a bug I can systematically reproduce. Click Quick Edit on edit, then cancel. The post loses its bottom margin, and more importantly, the code block's horizontal scrollbar is no longer accessible. Odd...
I suspect it's related to the flexbox bugs that were reported before.
I'm reproducing the code block above so I can see if it's always like that.
:edit: Yes, it doesn't depend on its placement. Also... The whitespace below the block is also eaten after a quick edit. DEFINITELY that Chrome bug with flexbox.
3351
Features / Re: Additional formatting of user names
« on March 26th, 2013, 06:19 PM »
Yeah, I suppose group1 is okay, too..! Lol, I didn't consider removing the dash entirely, because it began with "group-admin" in my mind, then I shortened it to a group IP...
Icons: maybe it's time to look into a proper 12x12 set or something...
Compression: in HTML pages, everything uses dashes. "data-id", "accept-charset", etc...
Where can we see underscores...?
In classes and IDs.
Well, also in inline JavaScript code. I made a quick test to convert all underscores to dashes in class and id attributes, and the resulting gzipped code was 7 bytes larger, so maybe it's not such a good argument...
The resulting HTML did look way better, though... :^^;:
Add this somewhere in ob_sess:
Code: [Select]
Icons: maybe it's time to look into a proper 12x12 set or something...
Compression: in HTML pages, everything uses dashes. "data-id", "accept-charset", etc...
Where can we see underscores...?
In classes and IDs.
Well, also in inline JavaScript code. I made a quick test to convert all underscores to dashes in class and id attributes, and the resulting gzipped code was 7 bytes larger, so maybe it's not such a good argument...
The resulting HTML did look way better, though... :^^;:
Add this somewhere in ob_sess:
$buffer = preg_replace('~(class|id)="([^"]+)"~e', '\'$1\' . \'="\' . str_replace(\'_\', \'-\', \'$2\') . \'"\'', $buffer);3352
Archived fixes / Re: flexbox and opera 12.14
« on March 26th, 2013, 06:10 PM »
Pete, I just noticed reply #17 from yours... Posted 2 minutes before mine.
I can certify I never got a mention about it being posted in the meantime.
This really, really should be looked into, because it's been a problem for a long time, and I hate the idea of missing a post...!
If it helps, my post was sent from the regular post box (it's easy to tell with me -- if it's a long post with quotes, it's the post page, otherwise it's likely to be a quick reply, like here.)
I can certify I never got a mention about it being posted in the meantime.
This really, really should be looked into, because it's been a problem for a long time, and I hate the idea of missing a post...!
If it helps, my post was sent from the regular post box (it's easy to tell with me -- if it's a long post with quotes, it's the post page, otherwise it's likely to be a quick reply, like here.)
3353
Off-topic / Re: Linux distributions dump MySQL.
« on March 26th, 2013, 05:13 PM »
It happened a few weeks ago. I'm sure I read a news about it.
As long as it answers your question... ;)
As long as it answers your question... ;)
3354
Plugins / [Plugin] Re: Notifications system (1.0)
« on March 26th, 2013, 05:11 PM »
@Arantor> I'm not getting the error but I suspect it's in /do/notification..? I'm not visiting the page, I'm focusing on the popup first :P
I tried fixing it, please tell me if it works.
The popup width will be increased soon enough, once I move the item to the header (instead of the sidebar). It will no longer be limited by an arbitrary width.
Isn't the font size okay..?
@Dragooon> There's a bug with @Dismal Shadow :whistle: Also, you can only blame yourself for the bug you mention... Honestly, I spent my entire morning on the notification code, and all I got out of it was a headache. It's interesting to split tasks into several tasks (Notifier, Notification and weNotifs), but really -- there's no obvious role to any of these. It looks like one is just there to hold pointers to notification objects, another is there for actual notification handling, and another has some helper functions. To me, it sounds like these three objects could be reduced to one. There's a lot of time wasted in calling getters and setters here, too.
Currently, I have "6 notifications", and clicking them shows me 4. But from time to time (and persistently), it'll show me all of them.
My goal, as I said, is to use the Notification.template.php template for the popup. It's what I'll be working on next. I'll be showing all items (read and unread), with a class to differentiate them.
Well, I'm pretty much emulating Facebook here, but in my own style, hopefully...
I tried fixing it, please tell me if it works.
The popup width will be increased soon enough, once I move the item to the header (instead of the sidebar). It will no longer be limited by an arbitrary width.
Isn't the font size okay..?
@Dragooon> There's a bug with @Dismal Shadow :whistle: Also, you can only blame yourself for the bug you mention... Honestly, I spent my entire morning on the notification code, and all I got out of it was a headache. It's interesting to split tasks into several tasks (Notifier, Notification and weNotifs), but really -- there's no obvious role to any of these. It looks like one is just there to hold pointers to notification objects, another is there for actual notification handling, and another has some helper functions. To me, it sounds like these three objects could be reduced to one. There's a lot of time wasted in calling getters and setters here, too.
Currently, I have "6 notifications", and clicking them shows me 4. But from time to time (and persistently), it'll show me all of them.
My goal, as I said, is to use the Notification.template.php template for the popup. It's what I'll be working on next. I'll be showing all items (read and unread), with a class to differentiate them.
Well, I'm pretty much emulating Facebook here, but in my own style, hopefully...
3355
Plugins / [Plugin] Re: Notifications system (1.0)
« on March 26th, 2013, 04:55 PM »3356
Off-topic / Re: Linux distributions dump MySQL.
« on March 26th, 2013, 04:41 PM »
Isn't MariaDB what Wikipedia has been using, these days...?
3357
Archived fixes / Re: flexbox and opera 12.14
« on March 26th, 2013, 03:54 PM »
I'll be committing that change in my next update.Quote from Arantor on March 26th, 2013, 02:08 AM Opera 14.x+ will be WebKit-based. (They're skipping version 13, just like I did for Kyôdai Mahjongg... No kidding :lol:)
But it's not planned to be in beta before at least this summer, IIRC.
And the final version is probably only coming at the end of the year. Which would allow Opera to resume its earlier version numbering system (right before 2011, they released version 11. They did that every year, at least in recent years.)
Also, Presto-based versions will still be out in the wild, and supported for quite some time.
However, I don't know if it's worth bothering. Opera 12+ is so unstable these days, very few power users keep using it. I know I was a die-hard Opera fan (see the topic I posted here about their move to WebKit), and only changed to another browser reluctantly after many weeks of suffering to their various recent versions that would all keep crashing on me -- even when installed fresh.
I know how hard it can be to keep a release stable on so many different machines, but I don't think I have an exotic rig at all.
And these days, I've started using Sleipnir, perhaps because it's Japanese and is based on Norse mythology (I love both cultures..?), or just because after Opera, it's probably the best browser for multi-tab support. It has grouped tabs, and vertical tabs. It's only missing the ability to scroll a vertical list, it will only reduce individual tab heights, but it's still better than using Opera and having to restart it every hour or so.... :-/
Yep, Sleipnir is a pretty good Chromium fork.Quote Let's just say, I've wasted way too much time on IE6, not because of its market share, but because I had a strong belief that if I was supporting Opera first thing, then I should be supporting to any browser that has a higher market share. Well, in the case of IE6, if you remove China from the picture, its market share is now less than Opera, so there's your first good reason for dropping support for IE6, but also -- I've made so many changes to Wess over the years, and every time I had to patch it for IE & co... One day, not so long ago, I realized I'd better support the most widely used browser (i.e. a WebKit-based one), and then, *when we go public*, fix bugs as they're reported on other browsers.
I'm not effectively doing that, but let's just say I'm in a better shape now that I stopped worrying and learned to love the chrome ;)Quote I would venture into saying it isn't.
wontfix means no changes will be made.
notabug is similar, but might imply a change. So this situation would be more of a notabug.
Anyway, since it's a browser bug and it happens so randomly, I'll be removing support for Opera in can_flex. You can always add it yourself in your CSS (i.e. "@if (can_flex, opera[12.1-])"...)
Another thing I'd like to point out, is that even Firefox and Chrome weren't cooperating with me when it came to adding flex support. The basic version failed to work when I would add a code block inside a post. I managed to patch them, but only because I found hints online about making them behave. NOT because I'd done something incorrectly in the first place, which is a bit worrying...
so, flexbox is a feature I love, but if it's not 'stable' by next year, might be worth considering to drop it entirely...
It will be going with Webkit in the next few versions, they already announced it, but when is another matter entirely?
But it's not planned to be in beta before at least this summer, IIRC.
And the final version is probably only coming at the end of the year. Which would allow Opera to resume its earlier version numbering system (right before 2011, they released version 11. They did that every year, at least in recent years.)
Also, Presto-based versions will still be out in the wild, and supported for quite some time.
However, I don't know if it's worth bothering. Opera 12+ is so unstable these days, very few power users keep using it. I know I was a die-hard Opera fan (see the topic I posted here about their move to WebKit), and only changed to another browser reluctantly after many weeks of suffering to their various recent versions that would all keep crashing on me -- even when installed fresh.
I know how hard it can be to keep a release stable on so many different machines, but I don't think I have an exotic rig at all.
And these days, I've started using Sleipnir, perhaps because it's Japanese and is based on Norse mythology (I love both cultures..?), or just because after Opera, it's probably the best browser for multi-tab support. It has grouped tabs, and vertical tabs. It's only missing the ability to scroll a vertical list, it will only reduce individual tab heights, but it's still better than using Opera and having to restart it every hour or so.... :-/
Yep, Sleipnir is a pretty good Chromium fork.
It won't be that long, but given how Opera's market share is even smaller than IE6's - and we largely already dropped IE 6 support, it does seem something of a lost cause.
I'm not effectively doing that, but let's just say I'm in a better shape now that I stopped worrying and learned to love the chrome ;)
You do realise that IS the "won't fix" solution, right?
wontfix means no changes will be made.
notabug is similar, but might imply a change. So this situation would be more of a notabug.
Anyway, since it's a browser bug and it happens so randomly, I'll be removing support for Opera in can_flex. You can always add it yourself in your CSS (i.e. "@if (can_flex, opera[12.1-])"...)
Another thing I'd like to point out, is that even Firefox and Chrome weren't cooperating with me when it came to adding flex support. The basic version failed to work when I would add a code block inside a post. I managed to patch them, but only because I found hints online about making them behave. NOT because I'd done something incorrectly in the first place, which is a bit worrying...
so, flexbox is a feature I love, but if it's not 'stable' by next year, might be worth considering to drop it entirely...
3358
Features / Re: Permissions UI, please help, everyone!
« on March 26th, 2013, 07:46 AM »
It's all so complicated.
Still my only suggestion is to add more complexity. Have a new 'by permission' area in addition to by member group or by board. Once the year chooses a permission, allow them to change it at once for all boards or members.
This would help with new plugins that add a new permission. Heck they could even quick link to this.
Still my only suggestion is to add more complexity. Have a new 'by permission' area in addition to by member group or by board. Once the year chooses a permission, allow them to change it at once for all boards or members.
This would help with new plugins that add a new permission. Heck they could even quick link to this.
3359
Features / Re: X-Content-Security-Policy
« on March 26th, 2013, 12:47 AM »
Well, all in all, that revision 2021 is a bad dream that @Dragooon should forget ASAP... Although it would help me save time if he could check his code for bugs before submitting patches..................... :whistle:
:niark:
Okay, time for bed........ Uh, actually it's nearly time to wake up for me ^^
:niark:
Okay, time for bed........ Uh, actually it's nearly time to wake up for me ^^
3360
Archived fixes / Re: flexbox and opera 12.14
« on March 26th, 2013, 12:46 AM »@Nao any progress on fixing this? I want to see if fixing this also fixes a scroll bar issue I am seeing with private messages using opera.