mirror of
https://github.com/cyberarm/w3d_hub_linux_launcher.git
synced 2026-03-21 19:56:14 +00:00
Change nickname validation to match classic launcher
This commit is contained in:
@@ -54,51 +54,49 @@ class W3DHub
|
||||
end
|
||||
|
||||
def self.prompt_for_nickname(accept_callback: nil, cancel_callback: nil)
|
||||
CyberarmEngine::Window.instance.push_state(
|
||||
W3DHub::States::PromptDialog,
|
||||
title: I18n.t(:"server_browser.set_nickname"),
|
||||
message: I18n.t(:"server_browser.set_nickname_message"),
|
||||
prefill: Store.settings[:server_list_username],
|
||||
accept_callback: accept_callback,
|
||||
cancel_callback: cancel_callback,
|
||||
# See: https://gitlab.com/danpaul88/brenbot/-/blob/master/Source/renlog.pm#L136-175
|
||||
valid_callback: proc do |entry|
|
||||
entry.length > 1 && entry.length < 30 && (entry =~ /(:|!|&|%| )/i).nil? &&
|
||||
(entry =~ /[\001\002\037]/).nil? && (entry =~ /\\/).nil?
|
||||
end
|
||||
)
|
||||
CyberarmEngine::Window.instance.push_state(
|
||||
W3DHub::States::PromptDialog,
|
||||
title: I18n.t(:"server_browser.set_nickname"),
|
||||
message: I18n.t(:"server_browser.set_nickname_message"),
|
||||
prefill: Store.settings[:server_list_username],
|
||||
accept_callback: accept_callback,
|
||||
cancel_callback: cancel_callback,
|
||||
valid_callback: proc do |entry|
|
||||
entry.length.between?(3, 40) && (entry =~ /^[a-z0-9_\-\[\]]+$/i)
|
||||
end
|
||||
)
|
||||
end
|
||||
|
||||
def self.prompt_for_password(accept_callback: nil, cancel_callback: nil)
|
||||
CyberarmEngine::Window.instance.push_state(
|
||||
W3DHub::States::PromptDialog,
|
||||
title: I18n.t(:"server_browser.enter_password"),
|
||||
message: I18n.t(:"server_browser.enter_password_message"),
|
||||
input_type: :password,
|
||||
accept_callback: accept_callback,
|
||||
cancel_callback: cancel_callback,
|
||||
valid_callback: proc { |entry| entry.length.positive? }
|
||||
)
|
||||
end
|
||||
def self.prompt_for_password(accept_callback: nil, cancel_callback: nil)
|
||||
CyberarmEngine::Window.instance.push_state(
|
||||
W3DHub::States::PromptDialog,
|
||||
title: I18n.t(:"server_browser.enter_password"),
|
||||
message: I18n.t(:"server_browser.enter_password_message"),
|
||||
input_type: :password,
|
||||
accept_callback: accept_callback,
|
||||
cancel_callback: cancel_callback,
|
||||
valid_callback: proc { |entry| entry.length.positive? }
|
||||
)
|
||||
end
|
||||
|
||||
def self.join_server(server:, username: Store.settings[:server_list_username], password: nil, multi: false)
|
||||
if (
|
||||
(server.status.password && password.length.positive?) ||
|
||||
!server.status.password) &&
|
||||
username.to_s.length.positive?
|
||||
def self.join_server(server:, username: Store.settings[:server_list_username], password: nil, multi: false)
|
||||
if (
|
||||
(server.status.password && password.length.positive?) ||
|
||||
!server.status.password) &&
|
||||
username.to_s.length.positive?
|
||||
|
||||
Store.application_manager.join_server(
|
||||
server.game,
|
||||
server.channel,
|
||||
server,
|
||||
username,
|
||||
password,
|
||||
multi
|
||||
)
|
||||
else
|
||||
CyberarmEngine::Window.instance.push_state(W3DHub::States::MessageDialog, type: "?", title: "?", message: "?")
|
||||
end
|
||||
end
|
||||
Store.application_manager.join_server(
|
||||
server.game,
|
||||
server.channel,
|
||||
server,
|
||||
username,
|
||||
password,
|
||||
multi
|
||||
)
|
||||
else
|
||||
CyberarmEngine::Window.instance.push_state(W3DHub::States::MessageDialog, type: "?", title: "?", message: "?")
|
||||
end
|
||||
end
|
||||
|
||||
def self.command(command, &block)
|
||||
if windows?
|
||||
@@ -123,7 +121,6 @@ class W3DHub
|
||||
process_info = Process.create(**hash)
|
||||
|
||||
pid = process_info.process_id
|
||||
status = -1
|
||||
|
||||
until (status = Process.get_exitcode(pid))
|
||||
if block
|
||||
|
||||
Reference in New Issue
Block a user