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.
2116
Off-topic / Re: Opinion on my new site format? Trying keep it simple...
« on December 20th, 2013, 03:33 PM »So Wedge should be released very soon. Jan/Feb 2014 (Nao's timeshift :niark:).
An 'official' package release, however, isn't in my plans right now. I'm waiting to get more feedback, and then I'll look into it.
Heck, even the installer was horribly broken following my partial removal of theme code. I had to write multiple fixes for it yesterday, ah ah, what fun.
And you can believe me: it's way more stable, feature complete and secure than SMF :)
Still, Wedge's main selling point is that it's effing cool. 8-)
2117
Features: Posts & Topics / Re: Auto-embedding
« on December 20th, 2013, 03:27 PM »
I don't know what a streaming profile is... :P
Frankly, I'd love to integrate AeMe more into Wedge, and to be honest, I don't have to do it: I could simply remove AeMe from the mod site at SMF, and then ensure that I have absolute exclusivity of AeMe code in the SMF world. I'm not interested in doing that, though, because as a user I would be pissed.
I haven't heard about AeMe bugs, though. If I did, I would fix them. In Wedge at the very least, and possibly in AeMe for SMF if they were security-related (or really bad for my reputation, lol.)
Frankly, I'd love to integrate AeMe more into Wedge, and to be honest, I don't have to do it: I could simply remove AeMe from the mod site at SMF, and then ensure that I have absolute exclusivity of AeMe code in the SMF world. I'm not interested in doing that, though, because as a user I would be pissed.
I haven't heard about AeMe bugs, though. If I did, I would fix them. In Wedge at the very least, and possibly in AeMe for SMF if they were security-related (or really bad for my reputation, lol.)
2118
The Pub / Re: Is the admin area in urgent need of an overhaul?
« on December 20th, 2013, 03:25 PM »
AFAIK Pete updated Wedge to SMF 2.0.5 along the years, so these patches should be in, if need was.
Regarding what I was talking about, let's say you have an admin form with ('check', 'MyValue'), where Wedge then generates an <input type="checkbox" name="MyValue">, etc. Once it gets submitted to the server, SMF (and previously Wedge) would:
1- build a list of variable types, including 'MyValue', so let's say this one is in $config_bools, corresponding to a checkbox type.
2- go through all variables, and test their recorded type.
3- When it reaches the one that interests us, it makes sure that it belongs to the $config_bools.
4- if yes, then it records it.
So, basically, it ensures that MyValue (likely defined in the same file AND SAME PAGE LOAD as ('check', 'MyValue') is part of what the same file defines as $config_bools. Which means, it's a complete waste of time, because $config_var is first defined, then immediately tested against.
The only thing that could pose a security risk, is if you have a mod that changes the definition to something else, or changes the $config_bools array to something else. Which, (1) they'd have no reason to do, (2) would likely have absolutely zero impact on security.
See what I mean..?
Regarding what I was talking about, let's say you have an admin form with ('check', 'MyValue'), where Wedge then generates an <input type="checkbox" name="MyValue">, etc. Once it gets submitted to the server, SMF (and previously Wedge) would:
1- build a list of variable types, including 'MyValue', so let's say this one is in $config_bools, corresponding to a checkbox type.
2- go through all variables, and test their recorded type.
3- When it reaches the one that interests us, it makes sure that it belongs to the $config_bools.
4- if yes, then it records it.
So, basically, it ensures that MyValue (likely defined in the same file AND SAME PAGE LOAD as ('check', 'MyValue') is part of what the same file defines as $config_bools. Which means, it's a complete waste of time, because $config_var is first defined, then immediately tested against.
The only thing that could pose a security risk, is if you have a mod that changes the definition to something else, or changes the $config_bools array to something else. Which, (1) they'd have no reason to do, (2) would likely have absolutely zero impact on security.
See what I mean..?
2119
Development blog / Re: Merry news and happy short delay!
« on December 20th, 2013, 03:15 PM »
It depends on the company, of course. There are those that are 'traditionally' eager to try out new things. Because that's the best way to stay in the game, of course.
2120
Features / Re: New revs
« on December 20th, 2013, 12:42 PM »
[php-cache 69c200a] -- mostly unrelated to PHP caching, but whatever, better than committing to byebye-themes :P
9 files changed, 34 insertions(+), 36 deletions(-), 2.34 KiB
- Not sure why calls to wesql::error_backtrace would insist on passing totally useless file names and line numbers, when the purpose of that function is to get the proper file/line. (Class-DB.php)
! If we can't load the index language file while processing an error (i.e. it was already loaded, and then erased from $txt, then another attempt was made to load it), then Wedge should insist a bit more. If it still fails, better show a raw page than a styled page full of error messages. (Class-DB.php)
- Removing the infamous 'your database may need upgrading' hint at the end of SQL errors. Seriously, when Wedge upgrades its database format, it'll do it without relying on a stupid upgrade script. (Class-DB.php, Errors.language.php)
! Since PHP caching tends to screw up line numbers in error messages, and preserving line numbers in minified files is possible (I did it in fix-globals last week) but still adds a few bytes I'd like to avoid, I'm disabling PHP cache on setups where debugging is enabled, so that you can keep, err... Debugging properly. (index.php)
! Fixed clean_cache() always removing index.php when using $force_folder outside of the recursive process (i.e. it's not a sub-folder we don't care about.) (Subs-Cache.php)
! Fixed a logic error in ViewFile. Funny thing is, it's not even the first one; but the previous bugs weren't mine. (ManageErrors.php)
! French grammar. (ManageSettings.french.php)
* Commenazi. (Profile-Actions.php)
9 files changed, 34 insertions(+), 36 deletions(-), 2.34 KiB
- Not sure why calls to wesql::error_backtrace would insist on passing totally useless file names and line numbers, when the purpose of that function is to get the proper file/line. (Class-DB.php)
! If we can't load the index language file while processing an error (i.e. it was already loaded, and then erased from $txt, then another attempt was made to load it), then Wedge should insist a bit more. If it still fails, better show a raw page than a styled page full of error messages. (Class-DB.php)
- Removing the infamous 'your database may need upgrading' hint at the end of SQL errors. Seriously, when Wedge upgrades its database format, it'll do it without relying on a stupid upgrade script. (Class-DB.php, Errors.language.php)
! Since PHP caching tends to screw up line numbers in error messages, and preserving line numbers in minified files is possible (I did it in fix-globals last week) but still adds a few bytes I'd like to avoid, I'm disabling PHP cache on setups where debugging is enabled, so that you can keep, err... Debugging properly. (index.php)
! Fixed clean_cache() always removing index.php when using $force_folder outside of the recursive process (i.e. it's not a sub-folder we don't care about.) (Subs-Cache.php)
! Fixed a logic error in ViewFile. Funny thing is, it's not even the first one; but the previous bugs weren't mine. (ManageErrors.php)
! French grammar. (ManageSettings.french.php)
* Commenazi. (Profile-Actions.php)
2121
Development blog / Re: Merry news and happy short delay!
« on December 19th, 2013, 08:27 AM »
- It also helps me actually. It's good to go through what you did, and determine if it was worth the time. I think it was. There are some things I'm not sure about (php caching being at the forefront right now; given that you have to disable minification if you want to be able to debug files, for instance), but it's version 0.1 alpha, I can wait for feedback. (Well actually I'd love to get feedback from all who got repo access, but...)
- he wouldn't say anything about stuff he disliked. Just like I wouldn't for him. I could complain about bugs and stuff but I couldn't complain about big features such as infractions or mod filters that meant so many changes under the hood for things I'd never use. But that's the thing. I'm not the only user of Wedge. Just like he wasn't. So there's bound to be people who only use Wedge because of features we didn't write.
- is he a good coder? Of course, aren't we all? It's all 1% inspiration and 99% perspiration.
He can be very hard to follow, whatever it means. But I'm not perfect either. He's currently shaping the future of SMF and you'll find that his version of it is "Wedge, without Nao's crap". Well I'm sure you'll find that this way, it'll be hard for SMF to ever catch up if he's not willing to acknowledge that Wedge's good ideas aren't limited to him. I have no problems doing that for him. Heck I have no problems acknowledging Facebook's good ideas either. They have a team of thousands of paid devs. Doesn't mean they're all monkeys uh?
- he wouldn't say anything about stuff he disliked. Just like I wouldn't for him. I could complain about bugs and stuff but I couldn't complain about big features such as infractions or mod filters that meant so many changes under the hood for things I'd never use. But that's the thing. I'm not the only user of Wedge. Just like he wasn't. So there's bound to be people who only use Wedge because of features we didn't write.
- is he a good coder? Of course, aren't we all? It's all 1% inspiration and 99% perspiration.
He can be very hard to follow, whatever it means. But I'm not perfect either. He's currently shaping the future of SMF and you'll find that his version of it is "Wedge, without Nao's crap". Well I'm sure you'll find that this way, it'll be hard for SMF to ever catch up if he's not willing to acknowledge that Wedge's good ideas aren't limited to him. I have no problems doing that for him. Heck I have no problems acknowledging Facebook's good ideas either. They have a team of thousands of paid devs. Doesn't mean they're all monkeys uh?
2122
Features: Posts & Topics / Re: Auto-embedding
« on December 18th, 2013, 11:51 PM »
This implies dropping the attachment system entirely, in favor of AeMe items.
This was part of my original plans for Wedge, but as TE wrote the importer, and didn't want to deal with AeMe at all, I postponed it to later... And it probably will not happen in Wedge 1.0, if ever. I'm upset about that, but I'm trying to be realistic.
Actually, I mentioned that in the blog post I wrote today... :whistle:
This was part of my original plans for Wedge, but as TE wrote the importer, and didn't want to deal with AeMe at all, I postponed it to later... And it probably will not happen in Wedge 1.0, if ever. I'm upset about that, but I'm trying to be realistic.
Actually, I mentioned that in the blog post I wrote today... :whistle:
2123
Features / Re: New revs
« on December 18th, 2013, 02:25 PM »
Hopefully, no longer giving rev numbers should encourage me to post one-liner fixes, and get into the 'git spirit' a little more... Uh?
[php-cache 7512df6]
! clean_cache() should also clean the PHP cache. (Subs-Cache.php)
1 file changed, 3 insertions(+), 457 bytes
[php-cache 7512df6]
! clean_cache() should also clean the PHP cache. (Subs-Cache.php)
1 file changed, 3 insertions(+), 457 bytes
2124
Development blog / Merry news and happy short delay!
« on December 18th, 2013, 11:30 AM »
Just to keep you posted on the latest news[1], I'll try to keep doing what Arantor used to do at Facebook. So, this is a follow-up to that news post from August 23. With a few differences, which are in line with my way of doing it: while he used to post more regular updates, his changelogs were a bit too exhaustive, and lacked any sorting. I'd rather just mention what really makes the user tick, and that is, the really nice additions to Wedge. If you'd rather have a full list, the New Revs topic is waiting for you, like it's always been.
:cool: » For everyone
New & overhauled features
- Quick Edit was completely overhauled. The textarea's height will now adjust to the original post height, making it easier to hit that 'Cancel' button if you change your mind. Also, the height expands or shrinks to follow the cursor when you're editing a post. Seriously, that's wicked. What? Facebook already does it? Oh, bugger...
- Relative dates on topic posts. Some people like seeing "5 hours ago" better than an actual date, so... That's for them! I started liking this, too, but I'm not using it everywhere. For now.
- PM menu is now a notification area in the header. It's clickable, and brings up a menu where you can preview your new PMs, or open your inbox. This was Arantor's final contribution to Wedge. Oddly, I never got used to it, and will probably add a link to your inbox in the profile menu, but I'm keeping the notification menu as it, out of respect. Also, I modified the system so that previewed PMs don't get marked read, so that you can preview a PM on a mobile device, and still be reminded to answer it when you're back on a desktop machine.
- New Stats template for daily/monthly stats. Instead of tabular data with a bunch of numbers, you now get a pretty little line chart (custom JS library based on another one), animated and all, and you can even zoom through parts of it, and choose any time span you want to analyze. I spent a week on this one; while it may take you some time to get used to it, eventually you'll have to recognize it's a real improvement.
Usability
- After marking a topic as unread, next time you visit that topic, you'll now be brought to the last page you were on.
- Previous/next topic links now properly lead you to the first unread post, if it's not in the first page.
- Now showing language flags in a select box, to avoid breaking layouts when adding or removing language packs.
Privacy & contacts
- I haven't done much on privacy, but I did some work in late October, and managed to get privacy running (when it didn't really work when I wrote the blog post), especially on thoughts. The code was simplified (a lot), and thus it should be easy for any plugins to add privacy to their own settings. I still need to fix privacy on 'children' of items that are using a contact list for privacy. Privacy options include: everyone, members, specific membergroup, specific contact list.
- Worked on contact lists at the same time as privacy, so it's in the same situation: working, but very basic for now. Your old buddy lists are now imported. You can put members into multiple contact lists (it took me some time to determine what to include, and the result is very close to Facebook's list types, so I guess they got that one pretty much right), and create custom lists. I have yet to write the UI for handling these lists, though, but it's a good start. The rest is just boring work that could be done by anyone, not just me.
- Contact lists include a 'restricted list' that acts as a 'cancel' (I wouldn't say 'ban') list for any other list, i.e. if someone is put there, they won't benefit from any access rights given by other lists they might also be in.
Skins
- Added a new skin, Wilde, which has proved so popular that it's now the default skin in Wedge.
Performance and tweaks
- Regular popups are now hardware accelerated. They look fantastic on mobile devices now.
- Zoomedia (the light and efficient JavaScript library that I wrote to replace Highslide in media embedding) is now fully hardware-accelerated, Retina/HD-friendly, and rewritten to better handle item descriptions.
- Improved (and fixed) homepage view in blogs, such as this one, notably in mobile devices.
- Improved the follow_me code to be pixel-perfect. You know, the trick that makes avatars stay on screen when scrolling through a long post. I'm planning to add support for a pure CSS technique that will save the JavaScript calls on each scroll event, but as it's not supported anywhere until it's a candidate recommendation, there's no hurry in doing that. Follow_me works right now, and on every (good) browser.
- Also overhauled infinite scrolling for a more 'expectable' approach and better performance.
Ich bin ein Berliner
- Added full German translation, courtesy of Pandos.
Bug fixin' for the masses
- Fixed spoiler tags to properly accept spaces in their button descriptions.
- Fixed a long-lasting bug where quick editing a message you'd just posted would mark this message as unread.
8-) » For admins/webmasters
- Rewrote admin area's setting page generators. They're now all unified under one function, and it's seriously for the best. Default member options are now developed by default, which is easier to handle.
- The sendmail() function now saves more bandwidth when sending e-mails, and properly does HTML and raw handling.
- You can now simply debug junk and only show SQL queries if you're not interested in getting template block lists. Saves some bandwidth for admins, so why not!
- Overhaul of the caching code for cache libraries such as memcached and Zend SHM.
- Tweaked board and topic permissions to make better sense out of some actions.
- Themes: turned all 'general' theme options into basic settings.
:geek: » For developers
- Development workflow is now based on git, as you may have already noticed from the numerous topics about it. I'm getting better at handling this every day, but I have to say, it's really, really not user-friendly, especially for those coming from Subversion, which is so much simpler. If I had the time, I'd make a fork of git that acts exactly like SVN in every aspect.
- This just in: PHP source file caching and minifying. It doesn't save a lot of time, but I'm not against a 0.01s improvement in page load, especially across many page loads. Your server will thank you for that. Also, it paves the way for the return of source file patching through plugins, but in a more secure way, as you'll be able to update your Wedge source files and still have your plugins running fine. That's called the future.
Skins
- Skins now allow you to override any template function without the need for a file edit. A serious milestone for me.
- Official support for IE 11 (although I've since uninstalled it), and interestingly, added a converter to automatically turn modern CSS flexbox into IE 10-compatible syntax (on IE 10 only, of course.)
- Skin options and actions can now be limited to a specific page, page type (board?) or action on the website. They can also be limited to a specific browser or anything accessed through we::is(). Finally, script and css tags allow including an external JS/CSS file in any of your targeted pages.
- Wess (CSS) files now accept the use of $txt, $settings, $context etc. variables directly in the code. Rewrote variable handling code for much better flexibility in @if tests (same for we::is PHP tests). Overall, this allowed me to remove a lot of CSS for non-members. Rewrote color functions to harmonize them. Rewrote math() function to allow a clear indication of variable types (int, float, boolean) and handle recursive brackets.
- And, best of all... Themes are now GONE. Well, almost. Removed thousands of lines of code pertaining to this outdated, horribly complicated system. More still to come. Skins in Wedge are powerful enough to replace 100% of a theme's capabilities, so it shouldn't be a problem -- just requires learning how to write a skin, which is just a matter of reading through a commented XML file!
Bug fixin'
- Removed hundreds of unneeded globals, and added many globals that were needed, but undeclared (I'm surprised I could find so many). This is all thanks to the fix-globals.php tool script I wrote for this very task. It's much, much easier than installing HHVM on a Linux VM, and running it on my site. Seriously.
- Fixed many old SMF bugs. And old Arantor bugs, too. And a few of mine, of course.
:ph34r: » Things left to do
- Remove themes entirely. Working on it.
- Modify folder structure. I'll move all non-code elements to a root /assets/ folder, and probably move the /skins/ folder to the root, too, although maybe under the '/themes/' name -- I'll decide when it comes up, it all depends on whether templates go to /themes/ or /templates/. Obviously.
- Flatten skin folder structure (as indicated in the previous blog post; the code for this is already written, I need to rewrite it a bit though, before I can commit.) This will allow you to have sub-folders in your skins, where you can put your assets, or even replacement templates.
- Moving AeMe comments to topics, and topic attachments to AeMe items: there's a very small chance it'll be in v1.0, though I certainly won't postpone it for these features. I put them aside for too long, I'll have to deal with writing an automatic import session, like I did for buddy lists.
- New personal target for first public alpha: January or February 2014. I could have said "late December", by giving up on visiting my family, watching new Doctor Who and Sherlock episodes, and having a life more generally. It was a tough choice.
So... What do you think about the post-Arantor era? Is it the same Wedge you've known all along, moving fast and in interesting directions?[2]
:cool: » For everyone
New & overhauled features
- Quick Edit was completely overhauled. The textarea's height will now adjust to the original post height, making it easier to hit that 'Cancel' button if you change your mind. Also, the height expands or shrinks to follow the cursor when you're editing a post. Seriously, that's wicked. What? Facebook already does it? Oh, bugger...
- Relative dates on topic posts. Some people like seeing "5 hours ago" better than an actual date, so... That's for them! I started liking this, too, but I'm not using it everywhere. For now.
- PM menu is now a notification area in the header. It's clickable, and brings up a menu where you can preview your new PMs, or open your inbox. This was Arantor's final contribution to Wedge. Oddly, I never got used to it, and will probably add a link to your inbox in the profile menu, but I'm keeping the notification menu as it, out of respect. Also, I modified the system so that previewed PMs don't get marked read, so that you can preview a PM on a mobile device, and still be reminded to answer it when you're back on a desktop machine.
- New Stats template for daily/monthly stats. Instead of tabular data with a bunch of numbers, you now get a pretty little line chart (custom JS library based on another one), animated and all, and you can even zoom through parts of it, and choose any time span you want to analyze. I spent a week on this one; while it may take you some time to get used to it, eventually you'll have to recognize it's a real improvement.
Usability
- After marking a topic as unread, next time you visit that topic, you'll now be brought to the last page you were on.
- Previous/next topic links now properly lead you to the first unread post, if it's not in the first page.
- Now showing language flags in a select box, to avoid breaking layouts when adding or removing language packs.
Privacy & contacts
- I haven't done much on privacy, but I did some work in late October, and managed to get privacy running (when it didn't really work when I wrote the blog post), especially on thoughts. The code was simplified (a lot), and thus it should be easy for any plugins to add privacy to their own settings. I still need to fix privacy on 'children' of items that are using a contact list for privacy. Privacy options include: everyone, members, specific membergroup, specific contact list.
- Worked on contact lists at the same time as privacy, so it's in the same situation: working, but very basic for now. Your old buddy lists are now imported. You can put members into multiple contact lists (it took me some time to determine what to include, and the result is very close to Facebook's list types, so I guess they got that one pretty much right), and create custom lists. I have yet to write the UI for handling these lists, though, but it's a good start. The rest is just boring work that could be done by anyone, not just me.
- Contact lists include a 'restricted list' that acts as a 'cancel' (I wouldn't say 'ban') list for any other list, i.e. if someone is put there, they won't benefit from any access rights given by other lists they might also be in.
Skins
- Added a new skin, Wilde, which has proved so popular that it's now the default skin in Wedge.
Performance and tweaks
- Regular popups are now hardware accelerated. They look fantastic on mobile devices now.
- Zoomedia (the light and efficient JavaScript library that I wrote to replace Highslide in media embedding) is now fully hardware-accelerated, Retina/HD-friendly, and rewritten to better handle item descriptions.
- Improved (and fixed) homepage view in blogs, such as this one, notably in mobile devices.
- Improved the follow_me code to be pixel-perfect. You know, the trick that makes avatars stay on screen when scrolling through a long post. I'm planning to add support for a pure CSS technique that will save the JavaScript calls on each scroll event, but as it's not supported anywhere until it's a candidate recommendation, there's no hurry in doing that. Follow_me works right now, and on every (good) browser.
- Also overhauled infinite scrolling for a more 'expectable' approach and better performance.
Ich bin ein Berliner
- Added full German translation, courtesy of Pandos.
Bug fixin' for the masses
- Fixed spoiler tags to properly accept spaces in their button descriptions.
- Fixed a long-lasting bug where quick editing a message you'd just posted would mark this message as unread.
8-) » For admins/webmasters
- Rewrote admin area's setting page generators. They're now all unified under one function, and it's seriously for the best. Default member options are now developed by default, which is easier to handle.
- The sendmail() function now saves more bandwidth when sending e-mails, and properly does HTML and raw handling.
- You can now simply debug junk and only show SQL queries if you're not interested in getting template block lists. Saves some bandwidth for admins, so why not!
- Overhaul of the caching code for cache libraries such as memcached and Zend SHM.
- Tweaked board and topic permissions to make better sense out of some actions.
- Themes: turned all 'general' theme options into basic settings.
:geek: » For developers
- Development workflow is now based on git, as you may have already noticed from the numerous topics about it. I'm getting better at handling this every day, but I have to say, it's really, really not user-friendly, especially for those coming from Subversion, which is so much simpler. If I had the time, I'd make a fork of git that acts exactly like SVN in every aspect.
- This just in: PHP source file caching and minifying. It doesn't save a lot of time, but I'm not against a 0.01s improvement in page load, especially across many page loads. Your server will thank you for that. Also, it paves the way for the return of source file patching through plugins, but in a more secure way, as you'll be able to update your Wedge source files and still have your plugins running fine. That's called the future.
Skins
- Skins now allow you to override any template function without the need for a file edit. A serious milestone for me.
- Official support for IE 11 (although I've since uninstalled it), and interestingly, added a converter to automatically turn modern CSS flexbox into IE 10-compatible syntax (on IE 10 only, of course.)
- Skin options and actions can now be limited to a specific page, page type (board?) or action on the website. They can also be limited to a specific browser or anything accessed through we::is(). Finally, script and css tags allow including an external JS/CSS file in any of your targeted pages.
- Wess (CSS) files now accept the use of $txt, $settings, $context etc. variables directly in the code. Rewrote variable handling code for much better flexibility in @if tests (same for we::is PHP tests). Overall, this allowed me to remove a lot of CSS for non-members. Rewrote color functions to harmonize them. Rewrote math() function to allow a clear indication of variable types (int, float, boolean) and handle recursive brackets.
- And, best of all... Themes are now GONE. Well, almost. Removed thousands of lines of code pertaining to this outdated, horribly complicated system. More still to come. Skins in Wedge are powerful enough to replace 100% of a theme's capabilities, so it shouldn't be a problem -- just requires learning how to write a skin, which is just a matter of reading through a commented XML file!
Bug fixin'
- Removed hundreds of unneeded globals, and added many globals that were needed, but undeclared (I'm surprised I could find so many). This is all thanks to the fix-globals.php tool script I wrote for this very task. It's much, much easier than installing HHVM on a Linux VM, and running it on my site. Seriously.
- Fixed many old SMF bugs. And old Arantor bugs, too. And a few of mine, of course.
:ph34r: » Things left to do
- Remove themes entirely. Working on it.
- Modify folder structure. I'll move all non-code elements to a root /assets/ folder, and probably move the /skins/ folder to the root, too, although maybe under the '/themes/' name -- I'll decide when it comes up, it all depends on whether templates go to /themes/ or /templates/. Obviously.
- Flatten skin folder structure (as indicated in the previous blog post; the code for this is already written, I need to rewrite it a bit though, before I can commit.) This will allow you to have sub-folders in your skins, where you can put your assets, or even replacement templates.
- Moving AeMe comments to topics, and topic attachments to AeMe items: there's a very small chance it'll be in v1.0, though I certainly won't postpone it for these features. I put them aside for too long, I'll have to deal with writing an automatic import session, like I did for buddy lists.
- New personal target for first public alpha: January or February 2014. I could have said "late December", by giving up on visiting my family, watching new Doctor Who and Sherlock episodes, and having a life more generally. It was a tough choice.
So... What do you think about the post-Arantor era? Is it the same Wedge you've known all along, moving fast and in interesting directions?[2]
| 1. | And also a good opportunity to celebrate wedge.org's 2001st topic? |
| 2. | Apparently, generic stupid questions that you already know the answer to are a must at the end of a blog post, as they're supposed to increase user engagement. Don't make me say I said it, though. Because I didn't! Do you think I did? Feel free to say it! |
2125
Off-topic / Re: Noisen.com?
« on December 17th, 2013, 09:02 PM »
Afaik = As far as I know. Get your web acronyms straight, or you'll have a hard time following conversations... :P
2126
Off-topic / Re: Noisen.com?
« on December 17th, 2013, 07:18 PM »
Afaik pretty URLs behave the same as in noisen.
You can also have sub domains but because it requires server tweaks, it's not enabled by default. Ie you have to change the URL in the database but it works. Noiaen is the same really.
Nao.noisen.com = sub domain
Noisen.com/nao = directory ;)
You can also have sub domains but because it requires server tweaks, it's not enabled by default. Ie you have to change the URL in the database but it works. Noiaen is the same really.
Nao.noisen.com = sub domain
Noisen.com/nao = directory ;)
2127
Features / Re: New revs
« on December 17th, 2013, 04:17 PM »
[php-cache 1b3bb92] -- done with rev numbers! <sad>
10 files changed, 189 insertions(+), 87 deletions(-), 4.16 KiB
rewrite cache/.htaccess (81%)
create mode 100644 cache/php/.htaccess
create mode 100644 cache/php/index.php
+ Added ability to minify and cache PHP source files. This saves about 0.01 to 0.02s per page load. (cache/php, index.php, Load.php, Subs-Template.php)
+ Moved loadSource to index.php, so that we can always call it, from the beginning. (SSI.php, Load.php, ScheduledTasks.php, Subs.php)
* Optimized htaccess for cache folder. (cache/.htaccess)
* Spacinazi. (Login.french.php)
@ While a dozen milliseconds isn't a spectacular speed gain (it's still a 20-30% improvement over regular file includes), it's also the first step towards enabling Wedge to do PHP editing for plugins, just like good old SMF, for situations where hooks aren't flexible enough, with a caveat: you can disable plugins (as opposed to uninstalling them) to easily find the ones that are breaking your site, and you can immediately restore a clean copy of your forum without any changes. Okay, this isn't done yet, and won't be done by the time Wedge goes public, but maybe someone will step up and help.
@ I also need to look into security implications of this change. Couldn't think of anything, but you never know. In any case, it's easy to disable PHP caching entirely, so it's enough to stop me from doing this.[/php]
10 files changed, 189 insertions(+), 87 deletions(-), 4.16 KiB
rewrite cache/.htaccess (81%)
create mode 100644 cache/php/.htaccess
create mode 100644 cache/php/index.php
+ Added ability to minify and cache PHP source files. This saves about 0.01 to 0.02s per page load. (cache/php, index.php, Load.php, Subs-Template.php)
+ Moved loadSource to index.php, so that we can always call it, from the beginning. (SSI.php, Load.php, ScheduledTasks.php, Subs.php)
* Optimized htaccess for cache folder. (cache/.htaccess)
* Spacinazi. (Login.french.php)
@ While a dozen milliseconds isn't a spectacular speed gain (it's still a 20-30% improvement over regular file includes), it's also the first step towards enabling Wedge to do PHP editing for plugins, just like good old SMF, for situations where hooks aren't flexible enough, with a caveat: you can disable plugins (as opposed to uninstalling them) to easily find the ones that are breaking your site, and you can immediately restore a clean copy of your forum without any changes. Okay, this isn't done yet, and won't be done by the time Wedge goes public, but maybe someone will step up and help.
@ I also need to look into security implications of this change. Couldn't think of anything, but you never know. In any case, it's easy to disable PHP caching entirely, so it's enough to stop me from doing this.[/php]
2128
Features / Re: New revs
« on December 16th, 2013, 10:41 AM »
[byebye-themes fab1826] rev 2346 -- Okay, I need to stop posting rev numbers... If you want one, just look at the post number, since they've always matched, and always will (at least approximately.)
11 files changed, 2 insertions(+), 2621 deletions(-)
! Fixed an occurrence of ROOT being called before being defined. (Subs-Cache.php)
- Removed unit tests. Never used, never will. (other/unittest/*)
11 files changed, 2 insertions(+), 2621 deletions(-)
! Fixed an occurrence of ROOT being called before being defined. (Subs-Cache.php)
- Removed unit tests. Never used, never will. (other/unittest/*)
2129
Features / Re: Plugin revs
« on December 15th, 2013, 11:55 PM »
rev 93
69 files changed, 403 insertions(+), 487 deletions(-), 53.10 KiB
* Many, many fixes that should allow plugins to work with the new Wedge codebase.
* Renamed a json_encode to we_json_encode.
* Renamed we::$id to MID.
- Removed dozens of unneeded globals.
+ Added many globals that were not brought into scope in WedgeDesk.
! Fixed a couple of outdated hook names.
69 files changed, 403 insertions(+), 487 deletions(-), 53.10 KiB
* Many, many fixes that should allow plugins to work with the new Wedge codebase.
* Renamed a json_encode to we_json_encode.
* Renamed we::$id to MID.
- Removed dozens of unneeded globals.
+ Added many globals that were not brought into scope in WedgeDesk.
! Fixed a couple of outdated hook names.
2130
Features / Re: New revs
« on December 15th, 2013, 11:12 PM »
rev 2345 -- this huge commit is NOT pushed to master yet; I'm pushing it to the byebye-themes branch, mainly to test branching. I may rebase my stuff, although I'll try to avoid that.
185 files changed, 1939 insertions(+), 2828 deletions(-), 169.14 KiB (record beaten! And unlikely to be beaten again :P The actual diff patch size is 717KB, and I'm going to go through it again, yay.)
delete mode 100644 Themes/default/languages/Settings.english-uk.php
delete mode 100644 Themes/default/languages/Settings.english.php
delete mode 100644 Themes/default/languages/Settings.french.php
delete mode 100644 Themes/default/languages/Settings.german.php
@ The previous commit, despite its size, was a joke compared to this one. Removing theme support (while keeping support for 99% of its features with intelligent skinning) saves a surprising amount of code. Most files get a few kilobytes shaved off their size. Everything done by hand (and triple-checked!), but I'm still expecting many things to be broken for a few days/weeks. I'll fix as bug reports come.
* Renamed all $theme variables to $settings equivalents. $theme, the equivalent of SMF's $settings, is gone. Forever. (There are 120 files or something in this commit, I'm not going to list them all.)
* Replaced $scripturl with SCRIPT and 'theme_url/theme_dir' with TEMPLATES/TEMPLATES_DIR everywhere. Lots of fun. Same with images_url/dir and ASSETS/ASSETS_DIR.
* And more importantly, renamed we::$id to MID most everywhere. This is about twice faster, and, I guess, easier to type and remember.
- Removed theme support from a lot of places. Again-- not listing these all. Basically, many areas will now consider there's only one theme, and that's all there is to say. They'll usually accept multiple skins, of course.
- Removed a suspicious $theme['smileys_url'] I couldn't find used anywhere. (Class-Editor.php)
- Removed theme settings page entirely, phew. (Admin.php Themes.php and Themes.template.php, ManageSettings.php, ManageSettings.language.php, and a few others.)
- Removed unused globals as found by the new version of my fix-globals script. (Class-Skeleton.php, Class-String.php, Notifications.php, and maybe a couple others.)
- This $theme['smileys_url'] alias hadn't been used for years. (Class-Editor.php)
- THEMEURL and DEFAULT_THEMEURL have never been used as variables in email templates. Time to go. (Subs-Post.php)
* Replaced $settings['images_aeva'] with just a hardlink to the /aeva assets folder.
* Renamed show_avatars and show_signatures user options to hide_* equivalents, as it used to be in SMF; this was partly motivated by the fact that most user options have a more sensible 'off' default (except for return to post and quick reply, where it makes more sense to enable these), but mostly because it was buggy and I had to fix it.
* Renamed reloadSettings() to loadSettings(). It's never called more than once... (index.php, Load.php)
* Renamed a few variables to use $context instead of a setting. For instance, if you want to play with templates to be loaded, you should now do it with $context['theme_templates']. Although this one will probably go at some point, too. Or be renamed. Or whatever. Also, $theme['output_buffers'] is now in $context. (Load.php, Subs-Template.php)
* Moved path settings from Server to basic settings. Seriously, this never had anything to do with 'database settings', why mix them up together..? (Admin.php, ManageServer.php, ManageSettings.php)
* Rewrote the $boardurl hack for url_parts(). Thus making $boardurl non-changing across the page lifetime. (Subs-Auth.php)
! News sender was incorrectly interpreting {$board_url} as the script URL, i.e. with 'index.php' in default situations. (ManageNews.php)
! Fixed query viewer not redirecting to the correct URL. (ViewQuery.php)
! Fixed thoughts being refreshed (after an Ajax post) in non-mobile mode even when posting from a mobile skin. (Ajax.php, Load.php, Subs-Cache.php)
! Fixed main menu showing error when the login process failed. (Subs.php)
! Fixed a Pete bug in loadEssentialThemeData stuff. Then removed all code related to the bug, including the fix. Because if you've been reading this changelog, I'm sure you won't mind reading an extra useless line. (ScheduledTasks.php)
* Harmonized member table column lists in loadMemberData; this saves something like 3KB, which is that less data the PHP parser has to load every page load. (Load.php)
* Slightly faster JS/CSS cache purging. (Subs-Cache.php)
Now, go ahead, Like like you've never liked a commit before!! Because that means I'm getting closer to a public release :P
185 files changed, 1939 insertions(+), 2828 deletions(-), 169.14 KiB (record beaten! And unlikely to be beaten again :P The actual diff patch size is 717KB, and I'm going to go through it again, yay.)
delete mode 100644 Themes/default/languages/Settings.english-uk.php
delete mode 100644 Themes/default/languages/Settings.english.php
delete mode 100644 Themes/default/languages/Settings.french.php
delete mode 100644 Themes/default/languages/Settings.german.php
@ The previous commit, despite its size, was a joke compared to this one. Removing theme support (while keeping support for 99% of its features with intelligent skinning) saves a surprising amount of code. Most files get a few kilobytes shaved off their size. Everything done by hand (and triple-checked!), but I'm still expecting many things to be broken for a few days/weeks. I'll fix as bug reports come.
* Renamed all $theme variables to $settings equivalents. $theme, the equivalent of SMF's $settings, is gone. Forever. (There are 120 files or something in this commit, I'm not going to list them all.)
* Replaced $scripturl with SCRIPT and 'theme_url/theme_dir' with TEMPLATES/TEMPLATES_DIR everywhere. Lots of fun. Same with images_url/dir and ASSETS/ASSETS_DIR.
* And more importantly, renamed we::$id to MID most everywhere. This is about twice faster, and, I guess, easier to type and remember.
- Removed theme support from a lot of places. Again-- not listing these all. Basically, many areas will now consider there's only one theme, and that's all there is to say. They'll usually accept multiple skins, of course.
- Removed a suspicious $theme['smileys_url'] I couldn't find used anywhere. (Class-Editor.php)
- Removed theme settings page entirely, phew. (Admin.php Themes.php and Themes.template.php, ManageSettings.php, ManageSettings.language.php, and a few others.)
- Removed unused globals as found by the new version of my fix-globals script. (Class-Skeleton.php, Class-String.php, Notifications.php, and maybe a couple others.)
- This $theme['smileys_url'] alias hadn't been used for years. (Class-Editor.php)
- THEMEURL and DEFAULT_THEMEURL have never been used as variables in email templates. Time to go. (Subs-Post.php)
* Replaced $settings['images_aeva'] with just a hardlink to the /aeva assets folder.
* Renamed show_avatars and show_signatures user options to hide_* equivalents, as it used to be in SMF; this was partly motivated by the fact that most user options have a more sensible 'off' default (except for return to post and quick reply, where it makes more sense to enable these), but mostly because it was buggy and I had to fix it.
* Renamed reloadSettings() to loadSettings(). It's never called more than once... (index.php, Load.php)
* Renamed a few variables to use $context instead of a setting. For instance, if you want to play with templates to be loaded, you should now do it with $context['theme_templates']. Although this one will probably go at some point, too. Or be renamed. Or whatever. Also, $theme['output_buffers'] is now in $context. (Load.php, Subs-Template.php)
* Moved path settings from Server to basic settings. Seriously, this never had anything to do with 'database settings', why mix them up together..? (Admin.php, ManageServer.php, ManageSettings.php)
* Rewrote the $boardurl hack for url_parts(). Thus making $boardurl non-changing across the page lifetime. (Subs-Auth.php)
! News sender was incorrectly interpreting {$board_url} as the script URL, i.e. with 'index.php' in default situations. (ManageNews.php)
! Fixed query viewer not redirecting to the correct URL. (ViewQuery.php)
! Fixed thoughts being refreshed (after an Ajax post) in non-mobile mode even when posting from a mobile skin. (Ajax.php, Load.php, Subs-Cache.php)
! Fixed main menu showing error when the login process failed. (Subs.php)
! Fixed a Pete bug in loadEssentialThemeData stuff. Then removed all code related to the bug, including the fix. Because if you've been reading this changelog, I'm sure you won't mind reading an extra useless line. (ScheduledTasks.php)
* Harmonized member table column lists in loadMemberData; this saves something like 3KB, which is that less data the PHP parser has to load every page load. (Load.php)
* Slightly faster JS/CSS cache purging. (Subs-Cache.php)
Now, go ahead, Like like you've never liked a commit before!! Because that means I'm getting closer to a public release :P