ecency / esteem

eSteem Mobile - Application for Android and iOS users, start earning cryptocurrency!
https://esteem.app
MIT License
85 stars 58 forks source link

Editing DSound/DTube and possibly other apps posts with eSteem removes important metadata from the post #266

Open prcolaco opened 6 years ago

prcolaco commented 6 years ago

Hi there @feruzm! I had a report of a DSound user that used eSteem to edit a post and the post didn't work anymore... Went to check it out and verified that eSteem app is substituting the json_metadata of the post with it's own. I find it strange that nobody already reported this with DTube posts for instance...

So the recommended solution would be to incorporate the already existing metadata when updating and only change what makes sense to eSteem app. This way eSteem would be keeping all apps extra data intact as it should be... Thanks! :)

feruzm commented 6 years ago

Hi, I believe you are referring to app section in json?! Edits overwrites json_metadata.app as it is done similarly on steemit.com.

prcolaco commented 6 years ago

no problem with the json_metdata.app :) the problem is that in that case the json_metadata.audio disappeared... and instead there was a images and other data that wasn't on the original post by dsound. so it seems that when updating a post, your app is creating json_metadata from a {} instead of from {...old_json_metadata} and substituting what needs to be substituted. if eSteem is not doing that, then sorry, but some other app should be removing the data...

feruzm commented 6 years ago

eSteem merges into old json metadata when editing, not sure about steemit. But eSteem uses steemit standard and was wondering you could consider adding json_metadata.image field with links of images within post because we use first image from that array as a thumbnail and if dlive or dsound doesn't add them, it fallsback to default cover image... Busy, Steepshot and Dtube following that standard now, but some apps still in progress to update that. Steemit does that by default as well.