Conversation Essentials

Conversation Essentials [Paid] 2.8.5

No permission to buy ($45.00)
Anyway I think "Prevent conversation hard-delete" should not prevent an admin from using that function via the Admin CP. Does it do this, currently? What is your take on this? @Xon
Conversations should be deleted if that flag isn't set, but if the flag is set it does need todo additional work to ensure users can't access it them via the "trash" feature so I'll release a fix for that one.

Can you try disabling the add-on then trying to delete conversations? This would indicate it is an add-on issue.
 
FYI: I have Conversation Essentials enabled, and the ACP delete conversations function works as expected.
 
Just tested again with Conversation Improvements enabled. Still works as it should. (Prevent Hard delete is not ticked)
 
Xon updated Conversation Essentials with a new update entry:

2.3.15 - Bugfix update

  • Work-around that "Prevent conversation hard-delete" feature would trigger an XF bug resulting in conversations with more than 1 active recipient not being hard deleted
  • Fix conversation pop-up not having the whole row clickable
  • Fix conversation preview on conversation popup
  • Fix admincp conversation & conversation message count counting soft-deleted content

Read the rest of this update entry...
 
Hello @Xon, any news about the errors I reported a while back?

I still get a couple of these errors a few times in a day:

Code:
    ErrorException: [E_WARNING] array_push() expects at least 2 parameters, 1 given src/addons/SV/ConversationEssentials/Repository/ConversationExportLog.php:107

    Generated by: psykho May 31, 2020 at 9:55 PM

Stack trace

#0 [internal function]: XF::handlePhpError(2, '[E_WARNING] arr...', '/home/site/p...', 107, Array)
#1 src/addons/SV/ConversationEssentials/Repository/ConversationExportLog.php(107): array_push(Array)
#2 src/addons/SV/ConversationEssentials/XF/Pub/Controller/Account.php(66): SV\ConversationEssentials\Repository\ConversationExportLog->associateConversationsToLogs(Object(XF\Mvc\Entity\ArrayCollection))
#3 src/XF/Mvc/Dispatcher.php(350): SV\ConversationEssentials\XF\Pub\Controller\Account->actionExportedConversations(Object(XF\Mvc\ParameterBag))
#4 src/XF/Mvc/Dispatcher.php(261): XF\Mvc\Dispatcher->dispatchClass('XF:Account', 'ExportedConvers...', Object(XF\Mvc\RouteMatch), Object(SV\ElasticSearchEssentials\XF\Pub\Controller\Account), NULL)
#5 src/XF/Mvc/Dispatcher.php(113): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(SV\ElasticSearchEssentials\XF\Pub\Controller\Account), NULL)
#6 src/XF/Mvc/Dispatcher.php(55): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#7 src/XF/App.php(2190): XF\Mvc\Dispatcher->run()
#8 src/XF.php(391): XF\App->run()
#9 index.php(20): XF::runApp('XF\\Pub\\App')
#10 {main}

Request state

array(4) {
  ["url"] => string(31) "/account/exported-conversations/"
  ["referrer"] => string(40) "https://www.site.com/account/favorites"
  ["_GET"] => array(0) {
  }
  ["_POST"] => array(0) {
  }
}
 
Xon updated Conversation Essentials with a new update entry:

2.3.16 - Bugfix update

  • Add "xf-rebuild:sv-conversation-prune CLI command
  • Adjust "prune inactive conversations" to use smarter batch sizing (rather than load every conversation to be pruned)
  • Fix "Call to a member function recipientRemoved() on null" when "prune inactive conversations" is called.
  • Fix "array_push() expects at least 2 parameters, 1 given" from conversation export

Read the rest of this update entry...
 
@Xon

Odd issue, I've looked everywhere and can't figure it out so I'm wondering if it's in the PHP.

The Conversation Participants block should be using the conversation_participants phrase, but the block says Conversation Info regardless of what I do (this happens with default style and language, too).

1591292045250.webp

1591292197783.webp

If I add an "a" at the end of the phrase it displays the phrase and the "a" as it should.

1591292236709.webp

1591292256763.webp
 
Have a look at the svConvEss_conversation_view_left_recipient_hider template which uses the phrase conversation_info instead due to how the participants block is rewritten.

Part of the issue is XF2 ripped out the 'view template modifications' feature on each template so actually seeing the template as XF does is missing.
 
I have a suggestion.

Banned users should have the possibility to create new conversations or reply to conversations to mods and admins.

This would be very helpful!
 
If you want to allow disciplined users to create conversations, use the warning system and user groups.

Personally, I'ld recommend creating a forum people can't see threads started by others and when you warn someone it dumps them in a group which has NEVER to post in all other parent forums but that one "appeals" forum.
 
Error when inviting a member into a conversation

Code:
    Error: Call to a member function isIgnoring() on null src/addons/SV/ConversationEssentials/XF/Repository/Conversation.php:322

    Generated by: Pete Thomas Jun 6, 2020 at 6:59 PM

Stack trace

#0 src/addons/SV/WarningImprovements/XF/Repository/Conversation.php(24): SV\ConversationEssentials\XF\Repository\Conversation->insertRecipients(Object(SV\ConversationEssentials\XF\Entity\ConversationMaster), Array, Object(SV\ConversationEssentials\XF\Entity\User))
#1 src/XF/Service/Conversation/Inviter.php(115): SV\WarningImprovements\XF\Repository\Conversation->insertRecipients(Object(SV\ConversationEssentials\XF\Entity\ConversationMaster), Array, Object(SV\ConversationEssentials\XF\Entity\User))
#2 src/addons/SV/ConversationEssentials/XF/Service/Conversation/Inviter.php(15): XF\Service\Conversation\Inviter->_save()
#3 src/XF/Service/ValidateAndSavableTrait.php(40): SV\ConversationEssentials\XF\Service\Conversation\Inviter->_save()
#4 src/XF/Pub/Controller/Conversation.php(814): XF\Service\Conversation\Inviter->save()
#5 src/XF/Mvc/Dispatcher.php(350): XF\Pub\Controller\Conversation->actionInvite(Object(XF\Mvc\ParameterBag))
#6 src/XF/Mvc/Dispatcher.php(257): XF\Mvc\Dispatcher->dispatchClass('XF:Conversation', 'Invite', Object(XF\Mvc\RouteMatch), Object(SV\ConversationEssentials\XF\Pub\Controller\Conversation), NULL)
#7 src/XF/Mvc/Dispatcher.php(113): XF\Mvc\Dispatcher->dispatchFromMatch(Object(XF\Mvc\RouteMatch), Object(SV\ConversationEssentials\XF\Pub\Controller\Conversation), NULL)
#8 src/XF/Mvc/Dispatcher.php(55): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#9 src/XF/App.php(2190): XF\Mvc\Dispatcher->run()
#10 src/XF.php(391): XF\App->run()
#11 index.php(20): XF::runApp('XF\\Pub\\App')
#12 {main}

Request state

array(4) {
  ["url"] => string(52) "/conversations/welcome-to-cafesaxophone.20751/invite"
  ["referrer"] => string(71) "https://cafesaxophone.com/conversations/welcome-to-cafesaxophone.20751/"
  ["_GET"] => array(0) {
  }
  ["_POST"] => array(6) {
    ["tokens_select"] => string(7) "BUMNOTE"
    ["recipients"] => string(7) "BUMNOTE"
    ["_xfToken"] => string(8) "********"
    ["_xfRequestUri"] => string(46) "/conversations/welcome-to-cafesaxophone.20751/"
    ["_xfWithData"] => string(1) "1"
    ["_xfResponseType"] => string(4) "json"
  }
}
 
Just tested a different conversation and I could invite more no problems.

The one that I got the error for included a member who had been deleted at some stage during the conversation, could that be the issue?
 
Last edited:
Back
Top Bottom