mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 09:52:26 +01:00
Prevent Logout Timer that's longer than a week. (#7253)
This commit is contained in:
parent
3d1f214cb0
commit
9d9f3685bb
@ -741,6 +741,9 @@
|
|||||||
"logout": {
|
"logout": {
|
||||||
"message": "Log out"
|
"message": "Log out"
|
||||||
},
|
},
|
||||||
|
"logoutTimeTooGreat": {
|
||||||
|
"message": "Logout time is too great"
|
||||||
|
},
|
||||||
"mainnet": {
|
"mainnet": {
|
||||||
"message": "Main Ethereum Network"
|
"message": "Main Ethereum Network"
|
||||||
},
|
},
|
||||||
|
@ -34,7 +34,10 @@ export default class AdvancedTab extends PureComponent {
|
|||||||
threeBoxDisabled: PropTypes.bool.isRequired,
|
threeBoxDisabled: PropTypes.bool.isRequired,
|
||||||
}
|
}
|
||||||
|
|
||||||
state = { autoLogoutTimeLimit: this.props.autoLogoutTimeLimit }
|
state = {
|
||||||
|
autoLogoutTimeLimit: this.props.autoLogoutTimeLimit,
|
||||||
|
logoutTimeError: '',
|
||||||
|
}
|
||||||
|
|
||||||
renderMobileSync () {
|
renderMobileSync () {
|
||||||
const { t } = this.context
|
const { t } = this.context
|
||||||
@ -240,8 +243,27 @@ export default class AdvancedTab extends PureComponent {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
handleLogoutChange (time) {
|
||||||
|
const { t } = this.context
|
||||||
|
const autoLogoutTimeLimit = Math.max(Number(time), 0)
|
||||||
|
|
||||||
|
this.setState(() => {
|
||||||
|
let logoutTimeError = ''
|
||||||
|
|
||||||
|
if (autoLogoutTimeLimit > 10080) {
|
||||||
|
logoutTimeError = t('logoutTimeTooGreat')
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
autoLogoutTimeLimit,
|
||||||
|
logoutTimeError,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
renderAutoLogoutTimeLimit () {
|
renderAutoLogoutTimeLimit () {
|
||||||
const { t } = this.context
|
const { t } = this.context
|
||||||
|
const { logoutTimeError } = this.state
|
||||||
const {
|
const {
|
||||||
autoLogoutTimeLimit,
|
autoLogoutTimeLimit,
|
||||||
setAutoLogoutTimeLimit,
|
setAutoLogoutTimeLimit,
|
||||||
@ -263,19 +285,22 @@ export default class AdvancedTab extends PureComponent {
|
|||||||
placeholder="5"
|
placeholder="5"
|
||||||
value={this.state.autoLogoutTimeLimit}
|
value={this.state.autoLogoutTimeLimit}
|
||||||
defaultValue={autoLogoutTimeLimit}
|
defaultValue={autoLogoutTimeLimit}
|
||||||
onChange={e => this.setState({ autoLogoutTimeLimit: Math.max(Number(e.target.value), 0) })}
|
onChange={e => this.handleLogoutChange(e.target.value)}
|
||||||
|
error={logoutTimeError}
|
||||||
fullWidth
|
fullWidth
|
||||||
margin="dense"
|
margin="dense"
|
||||||
min={0}
|
min={0}
|
||||||
/>
|
/>
|
||||||
<button
|
<Button
|
||||||
className="button btn-primary settings-tab__rpc-save-button"
|
type="primary"
|
||||||
|
className="settings-tab__rpc-save-button"
|
||||||
|
disabled={logoutTimeError !== ''}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
setAutoLogoutTimeLimit(this.state.autoLogoutTimeLimit)
|
setAutoLogoutTimeLimit(this.state.autoLogoutTimeLimit)
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
{ t('save') }
|
{ t('save') }
|
||||||
</button>
|
</Button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -38,7 +38,7 @@ describe('AdvancedTab Component', () => {
|
|||||||
textField.props().onChange({ target: { value: 1440 } })
|
textField.props().onChange({ target: { value: 1440 } })
|
||||||
assert.equal(root.state().autoLogoutTimeLimit, 1440)
|
assert.equal(root.state().autoLogoutTimeLimit, 1440)
|
||||||
|
|
||||||
autoTimeout.find('button').simulate('click')
|
autoTimeout.find('.settings-tab__rpc-save-button').simulate('click')
|
||||||
assert.equal(setAutoLogoutTimeLimitSpy.args[0][0], 1440)
|
assert.equal(setAutoLogoutTimeLimitSpy.args[0][0], 1440)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
Loading…
Reference in New Issue
Block a user