Forward filled webxdc app

When I spend some time to fill an app (for example creating a shopping list on Traero) I want to resend that list to a new group. However, it is empty when I send it. →

Expected behavior

I resend or forward an app that has been used and it keeps the data in the new conversation (or saved messages) →

Actual behavior

When I forward an app, it sends the empty app. This is not usefull, I could have created a new empty app in the new conversation (or saved messages). →

Maybe there should be a double forward option? Empty or full?

This would be usefull also when a person joins a group after an app being send and used. We could resend the app to the same group (Split Bill app for example) with the data (this is the point) and it wouldn’t be necessary to rewrite all data for the newcome member

There is a “Resend” option for this, it resends the message with all the data.

Thank you! I didn’t understand that option! It says “sending…” maybe it should add something more like: “now all members of the group can access the app”

1 Like

Thank you for the suggestion, @mikelgs! I’ve recategorized this post as a user-interface Feature request. Though maybe that is not a good idea: it seems more likely to be seen when revisions are being made, but maybe less likely to be seen by someone with the same problem.

You are welcome, I love DC and like to give feedback. I still don’t know how to share or forward an app (with the data) outside a conversation. For example, if I have a Split Bill with my friends in a group but I want to have the app with the data in my saved messages.

Anyway, it was great to learn about the resend feature!

Can confirm, saving an app empties it, which does not seem like a useful functionality.

yeah this is a bit unexpected, but if you forward with all data, people will also expect then that if you use the app in one chat, it will update the data in the app in the other chats, because people are used to these kind of apps to be centralized, ex. see the equivalent in Telegram, there if you forward a game to another chat your score is also in the new chat and if you play in one chat it is updated in all chats where you have the app because mini-apps there are just some random website so the website knows your scores from every chat

what we have works differently, we could forward with all state, but:

  • The app might be huge by then, several MBs and it will fail to send due to limits in email (as few as 2-25mb)
  • It will still be unexpected to the user that after sending the state is not synchronized across chats between the two instances of the same app you forwarded, so users will still not be satisfied with the result

maybe the forwarding dialog could show some information and a checkmark checked by default “:white_check_mark: include app state (10mb)” but even then there are technical limitations by one decision we took in the past:

every user have a different random ID inside webxdc, per instance of a mini-app, so when you send it with old state, the IDs of the people will be different than in the previous instance and you can’t map back what is your highscores etc.

if user ID would be global/the same in all webxdc apps then this could work better and the shared state could be re-used, right now it can’t

this also affects apps that have an “export data” function, ex. let’s say a game adds an “export high scores” there is no way you will be able to successfully import that highscores again in a new instance, you can only export+import your own scores, not from everyone

I see that this is more complicated than I could expect, as usual :grinning_face_with_smiling_eyes:

Export import did work for me with traero. I had a large shopping item list with my wife and I shared it with my parents. My mother sent an empty Traero to my father and then imported our list. This is a workaround but at list it is possible. And, more importantly, this is not necessary in groups when a new member comes, understanding resend option was great.

Thank you all for the answers!

2 Likes