diff options
author | Dessalines <happydooby@gmail.com> | 2019-04-26 07:34:04 -0700 |
---|---|---|
committer | Dessalines <happydooby@gmail.com> | 2019-04-26 07:34:04 -0700 |
commit | 018cbe1feef64a8985b76175b50923344e89cfc1 (patch) | |
tree | a146070aa946b78d43a948ad0ee623ae92ac0ada | |
parent | 009b3b50793ffb42790eb4949860e8f079823762 (diff) |
Fixing rust warning.
- Fixes #111
-rw-r--r-- | server/Cargo.toml | 1 | ||||
-rw-r--r-- | server/src/websocket_server/server.rs | 5 | ||||
-rw-r--r-- | ui/src/components/login.tsx | 14 | ||||
-rw-r--r-- | ui/src/interfaces.ts | 1 |
4 files changed, 15 insertions, 6 deletions
diff --git a/server/Cargo.toml b/server/Cargo.toml index 93bd6acb..1daaca66 100644 --- a/server/Cargo.toml +++ b/server/Cargo.toml @@ -2,6 +2,7 @@ name = "server" version = "0.0.1" authors = ["Dessalines <happydooby@gmail.com>"] +autobins = false [[bin]] name = "lemmy" diff --git a/server/src/websocket_server/server.rs b/server/src/websocket_server/server.rs index dbd1be8d..d6a9226b 100644 --- a/server/src/websocket_server/server.rs +++ b/server/src/websocket_server/server.rs @@ -92,6 +92,7 @@ pub struct Register { password: String, password_verify: String, admin: bool, + spam_timer: i64, } #[derive(Serialize, Deserialize)] @@ -789,6 +790,10 @@ impl Perform for Register { return Err(self.error("Passwords do not match."))? } + if self.spam_timer < 1142 { + return Err(self.error("Too fast"))? + } + if has_slurs(&self.username) { return Err(self.error("No slurs"))? } diff --git a/ui/src/components/login.tsx b/ui/src/components/login.tsx index e6dec2d2..0713b776 100644 --- a/ui/src/components/login.tsx +++ b/ui/src/components/login.tsx @@ -10,7 +10,6 @@ interface State { registerForm: RegisterForm; loginLoading: boolean; registerLoading: boolean; - spamTimer: number; } @@ -27,10 +26,10 @@ export class Login extends Component<any, State> { password: undefined, password_verify: undefined, admin: false, + spam_timer: undefined, }, loginLoading: false, registerLoading: false, - spamTimer: new Date().getTime() } constructor(props: any, context: any) { @@ -126,7 +125,7 @@ export class Login extends Component<any, State> { <input type="password" value={this.state.registerForm.password_verify} onInput={linkEvent(this, this.handleRegisterPasswordVerifyChange)} class="form-control" required /> </div> </div> - <input type="hidden" value={this.state.spamTimer} /> + <input type="hidden" value={this.state.registerForm.spam_timer} /> <div class="form-group row"> <div class="col-sm-10"> <button type="submit" class="btn btn-secondary">{this.state.registerLoading ? @@ -162,16 +161,19 @@ export class Login extends Component<any, State> { event.preventDefault(); let endTimer = new Date().getTime(); - let elapsed = endTimer - i.state.spamTimer; - if (elapsed > 4500) { + let elapsed = endTimer - i.state.registerForm.spam_timer; + + i.state.registerForm.spam_timer = elapsed; + if (elapsed > 1142) { WebSocketService.Instance.register(i.state.registerForm); } else { - location.reload(true); + window.location.href = "https://github.com/dessalines/lemmy"; } } handleRegisterUsernameChange(i: Login, event: any) { i.state.registerForm.username = event.target.value; + i.state.registerForm.spam_timer = new Date().getTime(); i.setState(i.state); } diff --git a/ui/src/interfaces.ts b/ui/src/interfaces.ts index 68d1b412..4fa30d18 100644 --- a/ui/src/interfaces.ts +++ b/ui/src/interfaces.ts @@ -330,6 +330,7 @@ export interface RegisterForm { email?: string; password: string; password_verify: string; + spam_timer: number; admin: boolean; } |