Refactor: chat sanitization into NetworkChat proc
This commit is contained in:
parent
97c74323d8
commit
00ec796c7a
2 changed files with 4 additions and 5 deletions
|
|
@ -15,8 +15,8 @@ enum Kind { PLAYER, SYSTEM }
|
|||
static func sanitize_body(value: Variant) -> String:
|
||||
if typeof(value) != TYPE_STRING:
|
||||
return ""
|
||||
var result: String = str(value).replace("\r", " ").replace("\n", " ")
|
||||
result = result.replace("\t", " ").strip_edges()
|
||||
var strippable_whitespace = RegEx.create_from_string("^[\\s\\p{Z}\\p{Cf}\\x{2800}]+|[\\s\\p{Z}\\p{Cf}\\x{2800}]+$")
|
||||
var result := strippable_whitespace.sub(value, "")
|
||||
if result.is_empty() or result.length() > MAX_VISIBLE_CHARACTERS:
|
||||
return ""
|
||||
if result.to_utf8_buffer().size() > MAX_UTF8_BYTES:
|
||||
|
|
|
|||
|
|
@ -893,15 +893,14 @@ func _on_entry_text_submitted(_value: String) -> void:
|
|||
func _send() -> void:
|
||||
if _send_pending:
|
||||
return
|
||||
var strippable_spaces := RegEx.create_from_string("(^\\s+|\\s+$)")
|
||||
var body := strippable_spaces.sub(_entry.text, "", true)
|
||||
var body := NetworkChatProtocol.sanitize_body(_entry.text)
|
||||
if body.is_empty():
|
||||
close_chat()
|
||||
return
|
||||
if _handle_editor_world_command(body):
|
||||
return
|
||||
_send_pending = true
|
||||
_pending_send_body = NetworkChatProtocol.sanitize_body(body)
|
||||
_pending_send_body = body
|
||||
_entry.editable = false
|
||||
if not _service.send_local_message(
|
||||
body,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue