Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prevent abuse case, fix desynch bug, prevent unintentional adding of non-scene participants via web portal #14

Closed

Conversation

Ell-Ares
Copy link

@Ell-Ares Ell-Ares commented Nov 8, 2020

Prevented unapproved characters from sending text messages.

Previously there were no checks to see if characters were approved before texting, which enabled the txt plugin to be abused to spam characters ICly. This is no longer possible.

Fixed a bug that caused de-synchronization between client and web portal last-texted states in certain scenarios.

This solves the following web portal texting issue:

  1. txt Alice/122=message
  2. txt/newscene Brandon=message (scene 123 is created)
  3. (in the webportal, in scene 123) hello
  • Message goes to Alice and adds Alice to scene 123, despite Alice not being last texted.

Prevented unintentional addition of non-scene participants to scene via web portal text messages.

This solves the following web portal texting issue:

Assuming the last person you texted was A:

  1. Send a text in scene 1 (members: you, A) without specifying the recipient.
  • Result: Your message is sent to A (the other participant in your scene).
  1. Switch to scene 2 (members: you, B) and send a text without specifying the recipient
  • Result: Your message is sent to A (not a member of the scene) and A is added to the scene.

With this change, the second case will instead return an error message to the web portal and require that you explicitly make them a member of the scene first. It recommends that you add them to the scene with name[ name...]=message to send the message seamlessly, but any method of including them will work.

…portal unless you specifically tell it to. This solves the following webportal texting issue:

Assuming the last person you texted was A:

1) Send a text in scene 1 (members: you, A) without specifying the recipient.
- Result: Your message is sent to A (the other participant in your scene).

2) Switch to scene 2 in the play menu (members: you, B) and send a text without specifying the recipient
- Result: Your message is sent to A (not a member of the scene) and A is added to the scene.

With this change, the second case will instead return an error message to the web portal and require that you explicitly add them to the scene with `name[ name...]=message`.
@lynnfaraday
Copy link
Contributor

Appreciate the contribution. It's up to the original authors (Tat/skew) to decide whether to accept the change, though. I would suggest contacting them on the Ares discord or forums.

Fixed a bug that could cause desynchronization between client and webportal last-texted states.
@Ell-Ares Ell-Ares changed the title Prevent unintentional adding of characters to txt scenes in the web portal Prevent abuse case, fix desynch bug, prevent unintentional adding of non-scene participants via web portal Nov 18, 2020
…t here- if the check succeeds, it returns immediately, so there is no case where the check succeeds and subsequent code is executed.
Now includes a helpful hint:

> Headwiz isn't in this scene yet. Please use `Headwiz tester=message` if you want them added.
…pport it, use the shortcut command instead).
@Ell-Ares
Copy link
Author

Similar functionality has been implemented by Tat, so this PR is no longer needed.

@Ell-Ares Ell-Ares closed this Nov 23, 2020
@spiritlake
Copy link
Contributor

I've made a number of changes to how texting works, including the default assumption on the webportal. I added in a check for unapproved characters on text/send and text/newscene - thanks for the catch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants