Jump to content

Makoto

Clients
  • Posts

    5,279
  • Joined

  • Last visited

  • Days Won

    32

 Content Type 

Downloads

Release Notes

IPS4 Guides

IPS4 Developer Documentation

Invision Community Blog

Development Blog

Deprecation Tracker

Providers Directory

Forums

Events

Store

Gallery

Posts posted by Makoto

  1. 7 hours ago, Ryan Ashbrook said:

    You can still email in, as always. Send an email to support@invisionpower.com and we can take a look for you.

    I know e-mail replies to existing support tickets do not work, but maybe creating a support ticket via e-mail will.

    Regardless I'd rather not deal with the support ticket system until those issues are resolved.

  2. I'm going to use this thread for reporting minor API bugs (still using the forums as my support area is still bugged and I can't submit or reply to support tickets.)

    • POST /api/core/members/{id}/follows :: Does not update the front-facing following counter for content items when a member is added through the API
    • datetime fields do not accept timestamp inputs
      • >>> $r = $api->system()->members()->addWarning(49, ['moderator' => 1, 'reason' => 'For <strong>science</strong>', 'points' => 2, 'memberNote' => 'you food', 'moderatorNote' => 'they food', 'modQueue' => -1, 'expire' => 1601742513])
        InvisionApi/Exceptions/ServerException with message 'DateTime::__construct(): Failed to parse time string (1601742513) at position 8 (1): Unexpected character'
    • POST /api/core/members/{id}/warnings :: Setting modQueue, restrictPosts, etc. results in an undefined index exception
      • >>> $r = $api->system()->members()->addWarning(49, ['moderator' => 1, 'reason' => 'For <strong>science</strong>', 'points' => 2, 'memberNote' => 'you food', 'moderatorNote' => 'they food', 'modQueue' => -1, 'expire' => '2020-10-03T16:31:26+0000'])
        InvisionApi/Exceptions/ServerException with message 'Undefined index: warn_-1'
    • DELETE /core/members/{id}/warnings/{warning} :: The undoOnly parameter is no longer functional. Assume this is because there's no longer a "revoke only" option, only "revoke and delete". Should probably be replaced with deleteOnly.
  3. My stance is if you want WebP support, just use a good CDN service like CloudFlare.

    It's a much more sensible solution. CloudFlare converts images to WebP, optionally performing only lossless or lossy compression, ensures WebP images are only served to clients that support it, and requires absolutely no additional processing power or storage on your end.

    The same can be done with other reputable CDN services I believe.

    If you are bare metal and absolutely don't want to use Cloudflare or so on, there is also mod_pagespeed as mentioned above.

  4. 23 minutes ago, optrexnz said:

    I'm also getting this error on 4.5.3 new install

    Did you recently upgrade / move from using Advanced Tags & Prefixes to Radical Tags?

    Can you send me a PM here and set me up with temporary AdminCP access? I can have this resolved for you in a few minutes.

  5. 3 minutes ago, Fred Krugger said:

    The watermark has only one fixed position .. ??? it is possible in future versions to have the option of:

    upper left,
    top right
    lower left
    lower right
    centered

    for example...

    image.thumb.png.b717a826523e4c61cd7c081d79a6ac22.png

    Currently it is a fixed position, but I will add more positions in the next release.

  6. This is not something that is going to be relevant to 98% of clients, but for certain enterprise configurations this can be helpful.

    On load balanced setups, the database server can saturate a 1Gbps connection line on larger more active communities far before it's actually CPU constrained.

    Though I'm currently looking at getting this client set up with an upgraded 10Gbps network cable to accommodate for this as our NIC supports it, simply enabling network compression for TCP based database connections can significantly reduce the bandwidth overhead as long as you can afford expending a bit of extra CPU cycles for the compression/decompression.

    I looked into making a plugin for this, but as you're calling parent::real_connect() in \IPS\Db, we can't overload it to apply the flags this way, so the only solution is to apply a manual patch. Which isn't a huge deal for this alone, but it'd still be a small QoL improvement to have an official flag for it.

  7. Due to a lack of proper communication from the IPS team on a change in standards, the most recent update including the above mentioned bug fix has been delayed and will probably not be live until at least the end of the week.

    I apologize for the delay and will work to ensure this does not happen again going forward.

  8. 14 hours ago, Runar said:

    I'd love to hear more about how you've configured Cloudflare for your community, what features you use, and anything else you'd like to share!

    I also recommend upgrading to Cloudflare's Pro plan personally, at least. Business has some useful things, but they usually have additional pricing associated with them and you need a good budget to be able to afford these optimizations. Pro is the perfect balance for 98% of clients I'd say.

    Outside of security, here are the general settings I recommend enabling to improve performance on Cloudflare,

    Essentially, basically all of them but Railgun. Lossy vs Lossless image optimization comes down to preference but I cannot tolerate lossy optimizations, but even lossless optimizations with WebP enabled can be extremely useful.

    Outside of performance, it cannot be understated how much of a boon Cloudflare can be for security as well. As @Paul E. said, the security features of Cloudflare alone make it worth using. The performance boons are secondary, but potentially great as well.

    On top of that, Cloudflare can even work as a good load balancer for larger communities that need it, so that's there for you if you ever need to scale to that point.

  9. Your cache level should definitively be Standard, the default setting. Using anything else will break IPS' cache busting feature, which is needed to recache static assets.

    Cache TTL can come down to a matter of preference. Considering important resources like CSS and Javascript assets are cache busted as needed, it's safe to use values up to even 30 days if you so wish.

    The potential concern with this is, if image attachments are deleted but left embedded into posts as an example, they will still display as cached in the users browser for however long you set this to. So, it can be a minor privacy concern, as IPS currently does not automatically remove image embeds from posts when attachments are deleted from the users control panel.

    That's really the only thing to keep in mind. Otherwise, I recommend at least 7-days personally.

     

    Outside of these, there are several useful features Cloudflare provides that I recommend taking advantage of.

    Note, some of these features are Pro only, but if you're a Free user, use the ones that aren't. They help if even a little bit and there's no reason not to.

    Now, if you have a high traffic website and you can afford it, I personally believe it's worth upgrading to the Pro plan.

     

    But to get started with the optimizations, under the Speed tab, go to Optimization and make sure these settings are enabled.

    image.thumb.png.65961006782955c1d9cde7d397476d2f.png

    Polish with WebP enabled can be hugely useful if you have a lot of PNG attachments / avatar uploads on your site, as WebP can provide substantially better lossless image compression compared to PNG.

    Auto Minify is disabled by default and you should enable it. The actual performance improvement is small, but it's still an improvement with no risks, so there's no reason not to use it.

    Brotli, again, small improvements, but no risks and and no reason not to use it for clients that support it. All the overhead involved in performing the compression is handled by Cloudflare here after all.

    image.thumb.png.83a93644a0195a763b8320975196e406.png

    Enhanced HTTP/2 Prioritization and TCP Turbo are again zero risk performance improvements and if you have access to them you should enable them.

    Mirage can be great in theory for mobile browsers by automatically optimizing images on slow networks. It's in beta, but I do definitely recommend enabling this. Roughly half the of the internets traffic today is mobile. These optimizations can yield huge benefits to your users.

    Rocket Loader I do not recommend enabling, as it can cause functional and perceptional issues with IPB. It makes things look and act in strange ways, and can potentially just break things. Rocket Loader is one of those things that works well for some sites, but is awful for others. It's not great for IPB in my experience. I say the same for PageSpeed JS optimizations and so on as well.

    Under the Network tab, make sure these settings are enabled.

    image.thumb.png.a5c587173c15095da99151f87ca27760.png

    All of these are, again, zero risk performance optimizations. No reason not to use them.

    Argo tunnel can potentially be useful as well, but note that it can be extremely expensive depending on your bandwidth requirements. It's an additional $0.10/GB of bandwidth. Do not enable it until you have at least a months worth of bandwidth analytics logged from Cloudflare so you have an idea of how much you can expect to pay if you enable this feature.

  10. For the record I'm hired to manage servers with up to 16 million posts on servers running MariaDB 10.5 with no performance issues, so I would take anecdotal performance concerns with a grain of salt unless there's documented issues that can be reproduced. Otherwise it's generally safe to assume the latest compatible build is the best to be using.

    I assume you're referring to MDEV-20519 though, which impacted all releases prior to 10.5 up to a certain maintenance build and is, again, why you should always keep updated,
    https://jira.mariadb.org/browse/MDEV-20519

  11. 45 minutes ago, Iwooo said:

    Is there a way no to use prefix in H1 tag in this application? Now it adds prefix on beginining of h1 tag in html.

    Or maybe it is possible in yours @Makoto? Thanks for any information

    Can you elaborate on what you are after specifically? Are you trying to use prefixes, but keep them invisible (I'm not sure why you would want to do this, so please elaborate why if so!), or do you want the prefixes to be displayed somewhere else?

  12. Hey abobader!

    There are some minor non-breaking issues with the plugin at the moment, but it otherwise should be compatible and work with IPS 4.5 right now.

    The reputation overview is currently not displaying when you have expanded topic view toggled, but otherwise it should work and display as normal. Expanded topic view is the only thing I've seen that isn't functioning in 4.5, but please let me know if you're seeing other issues / errors!

    I am still working on implementing support for sorting by reputation as well, it's definitely high on my priority list and will try and get that in as soon as I can.

  13. This should be fixed now and an update has been submitted to a marketplace. As soon as you see 1.5.3 live, this should include the fix you need for the above issue.

    Let me know if you run into any other problems in the meantime!

  14. On 9/15/2020 at 12:17 PM, Paul E. said:

    We found that performance is much improved with Guest caching turned off and with sessions & threadviews sent to MySQL. Using Redis 5, php 7.3

    FWIW it's the same for us, on a site getting millions of pageviews a month. YMMV on if it actually improves performance or not.

    MySQL overhead is very low for us because our database server is well optimized and runs on a powerful server. If MySQL overhead is high on your server, Redis will likely help. If not, it may do nothing or can actually make performance worse in some cases, as hard as it is to believe.

    This isn't placebo either. I've benchmarked and monitored the performance impact over time using NewRelic and confirmed this for our specific server environment.

    On the other hand, I've had a client where it made portions of his site that were inaccessible (e.g. the online users list from session handling) functional again once Redis was set up and configured.

    So it all depends.

  15. Hey @breatheheavy!

    Thank you for the report and sorry for the inconvenience! I'll look into this for you today and let you know as soon as I have more information.

    If I'm able to reproduce the bug I'll have a fix ready by the end of today, but it may take a few days for IPS to review and approve the marketplace update.

  16. First, please excuse me reporting bugs here, my client area account is currently bugged and I can't submit support tickets do to my e-mail being changed and some kind of issue with the support desk software.

    In short, this is an issue specific only when uploads are being chunked. Non-chunked uploads do not produce the error.

    Say you have a video file with a really long filename like this,
    ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))).mp4

    If you try and upload it as a file submission without needing to chunk it, it will upload file, and you'll get a filename like this returned,
    ))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))-))))))))))))))))))))))))))))))))))))))))))))))))))))))))))).mp4.2ca3c24a17116f9fe2ebe688bf7cb0ee.mp4

    Which is 201 characters and has no problem being saved on Windows or Unix systems.

    Now, here's what IPS tries to rename that file to when the upload is chunked,
    )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))).mp4.2a847996b9a6ec8384c1b621e41e0038.mp4

    This is 265 characters in length and produces an error on Windows systems,

    msedge_oNyzxu8DRS.png.16954a63f4b6bb435acceddc85d7927b.png

    But simply fails silently on Unix (and the file returns 404'd).

    Looks like you're skipping the setFilename call when processing chunked uploads and just trying to rename the file directly, which skips this necessary check in the aforementioned method,

    		/* Most operating systems allow a max filename length of 255 bytes, so we should make sure we don't go over that */
    		if( \strlen( $filename ) > 200 )
    		{
    			/* If the filename is over 200 chars, grab the first 100 and the last 100 and concatenate with a dash - this should help ensure we retain the most useful info */
    			$filename = mb_substr( $filename, 0, 100 ) . '-' . mb_substr( $filename, -100 );
    		}
    
    		$this->filename = $filename;

     

×
×
  • Create New...