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

Support locking window #318

Closed
Keith-CY opened this issue Nov 13, 2023 · 17 comments
Closed

Support locking window #318

Keith-CY opened this issue Nov 13, 2023 · 17 comments
Assignees
Labels
enhancement New feature or request

Comments

@Keith-CY
Copy link
Member

This feature request comes from the community.


The case is that Neuron may be running on a communal computer of a group or friends while the owner wants to keep Neuron private. It's not feasible now because Neuron doesn't require authorization to access to balance/history.

So the feature required is that the window could be locked actively by the owner, and only unlock is allowed when the window is locked.


This feature is just an enhancement, but necessary or of high-priority.

@Keith-CY Keith-CY added the enhancement New feature or request label Nov 13, 2023
@Keith-CY Keith-CY added this to Neuron Nov 13, 2023
@Danie0918 Danie0918 moved this to 📌Planning in Neuron Nov 14, 2023
@Danie0918 Danie0918 moved this from 📌Planning to 🎨 Designing in Neuron Jan 2, 2024
@Danie0918
Copy link
Contributor

Danie0918 commented Jan 2, 2024

【Support locking window】

  • Requirement Description: The case is that Neuron may be running on a communal computer of a group of friends while the owner wants to keep Neuron private.

support_locking_window

  • Requirement Contents
  1. Add the Lock Window option to the Window menu. (Set Comand/Ctrl + L as the shortcut key)
  2. Only window adjustment and closing are supported when the Neuron is locked.
  3. In the locked state, click the Unlock button and enter the password to unlock it.

@Keith-CY
Copy link
Member Author

Keith-CY commented Jan 2, 2024

Maybe we can use the native dialog for unlocking
image

BTW, will there be an independent password for unlocking? I think the security level should be different.


Update:
Native dialog is not flexible enough for extension

@Danie0918
Copy link
Contributor

BTW, will there be an independent password for unlocking? I think the security level should be different.

Currently designed to be a universal password, an independent password could perhaps be introduced when there are more requirements. This is because an independent password means additional memorization and management.

@yanguoyu
Copy link

yanguoyu commented Jan 2, 2024

If someone restarts the Neuron wallet, does it should still locked if Neuron is locked before quitting?

@Danie0918
Copy link
Contributor

If someone restarts the Neuron wallet, does it should still locked if Neuron is locked before quitting?

Remains locked until it is unlocked.

@Kirl70
Copy link

Kirl70 commented Jan 8, 2024

@Keith-CY
Copy link
Member Author

Keith-CY commented Jan 8, 2024

I've found a detail that may be confusing

image

The menu item is lock window but the information is wallet is locked.

I think lock window and window is locked are clearer because lock wallet is a bit scary, and I would worry if the synchronization stops.


And as mentioned at #318 (comment), I'd suggest using an independent password for window unlocking because it's of a lower level of security. I would keep my wallet password used as little as possible.


Ah, I missed this message

Currently designed to be a universal password, an independent password could perhaps be introduced when there are more requirements. This is because an independent password means additional memorization and management.

The password to unlock window could be relatively simple, such as a PIN code, that doesn't require much memorization. Besides, the wallet can be backed up technically, so it won't block users if the PIN code is lost.

@Danie0918
Copy link
Contributor

Currently designed to be a universal password, an independent password could perhaps be introduced when there are more requirements. This is because an independent password means additional memorization and management.

The password to unlock window could be relatively simple, such as a PIN code, that doesn't require much memorization. Besides, the wallet can be backed up technically, so it won't block users if the PIN code is lost.

Does this mean that Neuron needs to add a PIN setup process or can Neuron use the system PIN?

@Keith-CY
Copy link
Member Author

Keith-CY commented Jan 9, 2024

Currently designed to be a universal password, an independent password could perhaps be introduced when there are more requirements. This is because an independent password means additional memorization and management.

The password to unlock window could be relatively simple, such as a PIN code, that doesn't require much memorization. Besides, the wallet can be backed up technically, so it won't block users if the PIN code is lost.

Does this mean that Neuron needs to add a PIN setup process or can Neuron use the system PIN?

It might be impossible to get the system pin code. PIN code is just an example, the point is that users may use a simple code to protect the window, while using a complex password to protect the wallet.

Besides, when it's the hardware wallet, a user has to expose the password on the computer if the wallet password is used in this case.

@Kirl70
Copy link

Kirl70 commented Jan 11, 2024

To make the page more dynamic, I suggest placing the password input box on the outer layer.
Demo:
Unlock

demo1.mp4

Wrong Password

demo2.mp4

Mp4 animation resources:
lock.zip

@Danie0918
Copy link
Contributor

drawing_unlock

To differentiate passwords and reduce the cost of memorization for the user, consider using a pattern password.

  • Requirement Contents
  1. Add the Lock Window option to the Window menu. (Set Comand/Ctrl + L as the shortcut key)
    • When the user uses the lock window for the first time, open the pattern password setting and lock the window when finished.
  2. Add the setting pattern password in settings.
    • First time setting, display 'Set unlock pattern'.
    • Set it again to show 'Modify unlock pattern' (Requires verification of the set pattern password)
  3. Only window adjustment and closing are supported when the Neuron is locked.
  4. In the locked state, click the Unlock button and enter the password to unlock it.
    • Draw the pattern password successfully to unlock the window.
    • The retry time is increased to 5 minutes, 30 minutes, and 24 hours in order if the pattern code fails more than a multiple of 3 times during the same locking window period. (Maximum is 24 hours, failing again more than 3 times still locks for 24 hours)

@yanguoyu
Copy link

why not add a four-number password to lock and unlock? Is it too complex to use pattern on the computer?

@Keith-CY
Copy link
Member Author

why not add a four-number password to lock and unlock? Is it too complex to use pattern on the computer?

I agree that gesture pattern is too complex on a computer unless the screen is touchable.

@Danie0918
Copy link
Contributor

why not add a four-number password to lock and unlock? Is it too complex to use pattern on the computer?

I agree that gesture pattern is too complex on a computer unless the screen is touchable.

This only requires a long press on the mouse, though it may be a little harder with a trackpad.

For four-number password, it may create memory confusion with the original password, I'll think about it.

@Danie0918
Copy link
Contributor

Danie0918 commented Jan 17, 2024

pin

  • Requirement Contents
  1. Add the Lock Window option to the Window menu. (Set Comand/Ctrl + L as the shortcut key)
    • When the user uses the lock window for the first time, open the unlock code setting and lock the window when finished.
  2. Add the setting unlock code in settings.
    • First time setting, display 'Set unlock code'.
    • Set it again to show 'Modify unlock code' (Requires verification of the set unlock code)
  3. Only window adjustment and closing are supported when the Neuron is locked.
  4. In the locked state, click the Unlock button and enter the unlock code to unlock it.
    • Enter the unlock code successfully to unlock the window.
    • The retry time is increased to 5 minutes, 30 minutes, and 24 hours in order if the unlock code fails more than a multiple of 3 times during the same locking window period. (Maximum is 24 hours, failing again more than 3 times still locks for 24 hours)

@Danie0918 Danie0918 mentioned this issue Jan 18, 2024
@Danie0918 Danie0918 moved this from 🎨 Designing to 🏗 In Progress in Neuron Jan 19, 2024
@Danie0918 Danie0918 moved this from 🏗 In Progress to 🎨 Designing in Neuron Jan 25, 2024
@Danie0918 Danie0918 moved this from 🎨 Designing to 🏗 In Progress in Neuron Feb 26, 2024
@yanguoyu
Copy link

yanguoyu commented Mar 8, 2024

@Danie0918 Danie0918 moved this from 🏗 In Progress to 🔎 Code Review in Neuron Mar 8, 2024
@Danie0918 Danie0918 moved this from 🔎 Code Review to 👀 Testing in Neuron Apr 19, 2024
@Danie0918 Danie0918 assigned silySuper and unassigned yanguoyu Apr 19, 2024
@Danie0918 Danie0918 moved this from 👀 Testing to 🚩Pre Release in Neuron May 6, 2024
@Danie0918 Danie0918 moved this from 🚩Pre Release to ✅ Done in Neuron Aug 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: ✅ Done
Development

No branches or pull requests

7 participants