mattermost / mattermost-plugin-legal-hold

Plugin to create and manage legal holds in Mattermost
Other
5 stars 5 forks source link

The changes implemented for updating GetChannelMetadataForIDs are still not making the plugin work for MySQL #80

Closed AayushChaudhary0001 closed 2 months ago

AayushChaudhary0001 commented 3 months ago

This issue is regarding the changes implemented after #67

Even after implementing the changes, the plugin is still not working fine for me on MM server, which has a MySQL database. The zip file downloaded is not getting converted to HTML files. Although the logs issue has been resolved, but still the data is not getting verified.

Note:- The change that I have noticed is regarding the naming conventions in the name of the zip file getting downloaded (the ID is not covered under parenthesis). Not sure this could be a reason for this or not.

wiggin77 commented 3 months ago

Even after implementing the changes, the plugin is still not working fine for me on MM server, which has a MySQL database.

@AayushChaudhary0001 did this pass testing before https://github.com/mattermost/mattermost-plugin-legal-hold/pull/67 was merged? The weekly report showed all passing last week.

AayushChaudhary0001 commented 2 months ago

The download button was working fine, and the zip file was getting downloaded which consisted some data(according to its size) which was quite similar to that for the postgress database MM server. Since, the size of the file was similar, I didn't tried to convert it to HTML, which I should have done before which would have resulted in catching this before. The problem is that I am not able to convert this file to HTML(naming converntions might be a reason for this). So it was not working before #67 was merged.

Even after the fix, the PR is not working as expected and consists the issues reported above.

fmartingr commented 2 months ago

Can you provide the resulting ZIP file that you downloaded?

fmartingr commented 2 months ago

Please check #83

AayushChaudhary0001 commented 2 months ago

@fmartingr I have tested #83 , the issue still remains the same, do I need to share the error I am facing?

fmartingr commented 2 months ago

@fmartingr I have tested #83 , the issue still remains the same, do I need to share the error I am facing?

Yes please.

AayushChaudhary0001 commented 2 months ago

@fmartingr On testing this #83 again, it was found to be working fine, the processor tool is able to convert the ZIP file to the HTML file. But still, the actual functionality is not working properly. The HTML file generated does not contain the complete data for the MySQL database, whereas it works fine for Postgres. So the actual issue is not getting solved through this PR. There was no error in the logs while the file was getting generated and then downloaded.

I even tried to manually create multiple posts in multiple channels and DMs, but the converted HTML file does not even contain all the manually created data.

I am adding screenshots of the empty HTML files. Please find them attached below:

image

image

image

Please let me know if I am missing anything here.

fmartingr commented 2 months ago

I even tried to manually create multiple posts in multiple channels and DMs, but the converted HTML file does not even contain all the manually created data.

The legal hold background job runs every 24h, so if you don't see the messages it may be because of that (if you didn't modify the code to run earlier, that is). I will take a look myself to see what's going on. thank you.

AayushChaudhary0001 commented 2 months ago

@fmartingr I am aware of the fact that the job runs every 24 hours, but for testing, I schedule the run time by updating the config setting: Time of the day, of the job myself, so I am able to run the job at the desired time of the day.

fmartingr commented 2 months ago

Hey @AayushChaudhary0001, did you try getting the data the day after you created the content? Due on how the plugin retrieves messages it won't get the ones for the day until the day after. Also I believe that modifying the time of day setting won't make it run on the same day. I use #43 for running legal holds on demand.

Yesterday I created a DM and a post, I run the legal hold today and got results:

Screenshot 2024-07-18 at 09 44 25

That said and related to this, I find out a bit confusing knowing if a legal hold has run or not and until which point it does contain data.

I also saw that you get empty files likes the one you mention when the user belongs to that particular channel in the time period of the hold but no message was posted during that time.

AayushChaudhary0001 commented 2 months ago

Hey @fmartingr , I will re-check the scenario you have mentioned and let you know about this. Also, that being said, can we implement or add any feature or config in the plugin configs, which can help us to run the job multiple times in a day, since any normal user won't be able to and would not prefer to use #43 to run the job multiple times.

fmartingr commented 2 months ago

Hey @fmartingr , I will re-check the scenario you have mentioned and let you know about this. Also, that being said, can we implement or add any feature or config in the plugin configs, which can help us to run the job multiple times in a day, since any normal user won't be able to and would not prefer to use #43 to run the job multiple times.

I will check with the team. Regarding #43, this is used to run legal holds that you have just created. If you run it twice you wont get new data until the day after. Something like this would be in your logs in that scenario:

{"timestamp":"2024-07-18 10:23:14.639 +02:00","level":"debug","msg":"Legal Hold s7aogmwdp7djtgrscn1ich9j5a is not yet ready to be executed again.","caller":"app/plugin_api.go:1005","plugin_id":"com.mattermost.plugin-legal-hold"}
fmartingr commented 2 months ago

Confimed the main issue was fixed by #83