Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


 Content Type 


Release Notes

IPS4 Guides

IPS4 Developer Documentation

Invision Community Blog

Development Blog

Deprecation Tracker

Providers Directory


Release Notes v5





Everything posted by teraßyte

  1. From which version to which version are you trying to upgrade? For example, if you are still on a version that uses PHP 7.4, the automatic upgrade won't work because you also need to update PHP to version 8.0/8.1. In this case, you can only proceed with a manual upgrade.
  2. You likely have a huge achievements activity log, and the bigger the table grows, the slower the site is. I've seen it happen before. Try enabling the setting to prune the old logs and see if it helps:
  3. It's been broken for months now... 🙄
  4. Let me ask you a quick question: is your admin account in at least 1 club? I have looked at the code, and unless the member editing the stream is in at least 1 club, the field with the club options won't appear. I consider it a bug since IPS shouldn't check if the specific user is in any clubs from the ACP: /** * Fetch our clubs and cache * * @return array */ protected function _getOurClubs() { if( static::$ourClubs === NULL ) { static::$ourClubs = \IPS\Member\Club::clubs( \IPS\Member::loggedIn(), NULL, 'name', TRUE, array(), \IPS\Settings::i()->clubs_require_approval ? array( 'approved=1' ) : NULL ); static::$ourClubs = static::$ourClubs ? iterator_to_array( static::$ourClubs ) : array(); } return static::$ourClubs; } For the admin dispatcher, they should pass NULL rather than \IPS\Member::loggedIn() as the first parameter.
  5. The core_output_cache table holds only temporary caches that can be recreated at any time. You can forget about it.
  6. Are you talking about the Topic Feed widget or some other area? If it's the widget, I do have a modification for it: https://invisionbyte.net/files/file/294-tb-enhanced-topic-feed-for-clubs/
  7. As far as I know, since IPS offers hosting (cloud), we're not allowed to mention any other hosting here. 😅 Just for the record, I'm self-hosted. I switched hosting ~1 year ago and I haven't had any issues so far. Instead, let me say that you should avoid HostGator like the pest. They have a hidden rule for their servers that cronjobs can only run every 15 minutes, you can't set them to run each minute (which is what Invision Community needs). If you do set one lower than 15 minutes, they'll simply edit the value silently without telling you anything.
  8. @Nigel Moore You need to edit the streams in ACP:
  9. With the way it works now when someone likes a content you post (topic, post, file, image, etc), it shows up in your profile's activity, and you can also look up all the reputation a user has received in their profile. For example, if you look at my profile right now, you'll see this item in it: A list of reputations given and received is also available on this page: https://invisioncommunity.com/profile/145950-teraßyte/reputation/?type=forums_topic_post&change_section=1 If you follow a link from there, and the post is anonymous, you'll be able to figure out who made the post. It doesn't work like this right now, it's a function that IPS would need to implement in the framework. I guess you can ask for this topic moved to the Feedback forum instead. And no, it's not possible to create a custom modification to change this behavior, either. Because of the way reputation is currently implemented (traits), it's not possible to overload/extend the necessary code.
  10. Reactions are tied to a user profile, if you allow reactions it would defeat the purpose of posting anonymously. Your members would see right away who that anonymous post is from when they see the reaction info.
  11. No, the only way is to manually click the Mark site read link. You have 2 options: Create an alert in your Moderator CP that shows only to new members, and include that they can click that link to reset the new content flag. Have someone create a custom modification for you that marks the site as read after a member registers. I think the alert should do just fine in your case. That way you can warn only new members about the feature existing.
  12. When adding a URL Field to a database that stores revisions the comparison output is done between parsed <A> elements, and the HTML for the Current column is broken, too. For example, I changed the URL https://invisionbyte.net/ to https://www.google.com/ and this is what is being shown: There are 2 separate issues: The HTML for the "Current" column is broken: extra line breaks and unparsed entities. I expect the comparison to actually be done only on the URLs I entered in the field rather than on a fully parsed <A> element with attributes and all. === P.S.: It's the same location as this other bug report:
  13. You're nowhere near your limits in that screenshot. Is it possible that your site/server was hit by a DDOS attack? I'd check that with your hosting.
  14. Only the domain name changes. You won't lose your website/content. That said, it will probably take a while before you get a reply:
  15. I noticed the issue when this topic showed up on the activity page: The embed above and the activity stream show a complete arrow in the title: However, when you're viewing the topic itself the arrow is shown split into 2 parts: It seems the site's font has ligatures enabled, but not everywhere.
  16. Nothing will change. The CSS only hides the HTML content, but the <script> in this case will still be executed on page load regardless.
  17. Topics have no custom fields. If you have the Pages/CMS application you can use a custom database instead:
  18. On another note, the preSave function is not even included in the file added by the developer center when you add the extension from ACP. That's another thing that should be double-checked: update example files with all available functions and clearly indicate which ones are required. EDIT Nevermind, I actually mixed up ModeratorPermissions with ContentModeratorPermissions (that doesn't support preSave). It's still something that should be double-checked for all extensions anyway.
  19. They'll break it again in a few days. It's been like that for a long while now. They constantly change things and the user experience has taken a nosedive. I've given up on Twitter/X. 😋
  20. In case you don't want to put the whole site offline but only a specific application, for example only Calendar/Events, you can put it offline by going to ACP > System > SITE FEATURES > Applications > Events > Lock Icon (on the right).
  21. I figured I'd bump this one as a reminder for v5. 😛 I use attributes in several custom applications, and I always have to remember to add spaces for them to work. 🙄
  22. Please keep the extension's behavior consistent across all the functions. Some extensions first check if the extension implements a certain function before calling it, while others expect the function to exist at all times and throw errors if they're missing. For example, the core/ModeratorPermissions currently has 4 functions available (preSave, getPermissions, onChange, onDelete) but only preSave checks if the function is available before calling it: /* Allow extensions an opportunity to inspect the values and make adjustments */ foreach ( \IPS\Application::allExtensions( 'core', 'ModeratorPermissions', FALSE ) as $k => $ext ) { if( method_exists( $ext, 'preSave' ) ) { $ext->preSave( $values ); } } The other functions instead are called without any check: foreach ( \IPS\Application::allExtensions( 'core', 'ModeratorPermissions', FALSE, 'core' ) as $k => $ext ) { foreach( $ext->getPermissions( array() ) as $name => $data ) { // ... } } === foreach ( \IPS\Application::allExtensions( 'core', 'ModeratorPermissions', FALSE ) as $k => $ext ) { $ext->onChange( $current, $changed ); } === foreach ( \IPS\Application::allExtensions( 'core', 'ModeratorPermissions', FALSE ) as $k => $ext ) { $ext->onDelete( $current ); } While I understand that getPermission() must be always implemented (the extension would have no meaning otherwise), the other 2 functions onChange() and onDelete() are completely optional and cause empty functions to be left around. For example, this code below comes from the Blog's extension: /** * After change * * @param array $moderator The moderator * @param array $changed Values that were changed * @return void */ public function onChange( $moderator, $changed ) { } /** * After delete * * @param array $moderator The moderator * @return void */ public function onDelete( $moderator ) { }
  23. That is most likely a modification that shows the group icon for secondary groups: https://www.invisioneer.org/files/file/350-axen-secondary-groups-indicator/
  24. No, there is no equivalent you can use in IF checks. What IPS does is include the multiple HTML blocks in the page output and then show/hide them with the CSS classes: With outputting all of them, it won't matter even if the size changes. For example, the browser's window can be resized on desktop, or you can use the web developer tools to emulate a phone/table.
  • Create New...