xedziu / keepmypassword-desktop Goto Github PK
View Code? Open in Web Editor NEWKeepMyPassword for Desktop - keep your passwords locally and secure.
License: MIT License
KeepMyPassword for Desktop - keep your passwords locally and secure.
License: MIT License
The main app window that shows after successful login (with lists of passwords and buttons) has wired lag.
The content is shown up immediately (after 1-2 seconds), but ONLY if I move the window. If i don't touch it after logging, i can wait event 3 to 5 minutes till window refreshes its content. Its definitely lack of some refresh/rerender screen method.
OS: Linux Ubuntu 18.04 LTS
UI: Gnome Shell
Java: openjdk 17.0.2 2022-01-18
App: 3.0.0
After genereting password of lenght bigger then 7-8 digits long whole app freeze and it is using more RAM then Chrome(so almost all) and after entering more then 10 digits nothing happen. No error no anything
App should throw error that password is too long
Steps to reproduce the behavior:
Go to password generator and try to enter in lenght numbers
Add option to change leangue of app
In menu add button to change between polish-english
Users store passwords in your app. They are only managing them. But it could be a nice feature to have a password strength checker. If user inputs a password you might say to a user that the password is vulnerable. Somebody might have a really easy-to-break password and you could suggest changing it.
It might be a challenging feature request but I believe users will appreciate this feature. Seriously, hardly anyone really knows about their password strength.
I suggest using a regex to check if the password meets some criteria. Maybe even could exist a java library that could simplify the idea. Try to do your best. Users will really value this work.
The eye icon indicates, that passwords are showed up, while they are hidden behind the asterisk. When i click the icon the Eye becomes crossed out and passwords are visible. It is hard and confusing, because i.e. in GIMP it is opposite: crossed out eye indicates the layer is hidden and uncrossed indicates the layer is visible. This same goes with Inkscape.
There was an error with stacktrace when I deleted data in conf file
You should be able to register once more
Steps to reproduce the behavior:
If applicable, add screenshots to help explain your problem.
java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1 at me.goral.keepmypassworddesktop.controllers.MainAppController.lambda$onLoginButtonClick$2(MainAppController.java:131) at java.base/java.util.Optional.ifPresent(Optional.java:178) at me.goral.keepmypassworddesktop.controllers.MainAppController.onLoginButtonClick(MainAppController.java:115) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at com.sun.javafx.reflect.Trampoline.invoke(MethodUtil.java:77) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at com.sun.javafx.reflect.MethodUtil.invoke(MethodUtil.java:275) at com.sun.javafx.fxml.MethodHelper.invoke(MethodHelper.java:84) at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1854) at javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(FXMLLoader.java:1724) at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86) at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:234) at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191) at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74) at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49) at javafx.event.Event.fireEvent(Event.java:198) at javafx.scene.Node.fireEvent(Node.java:8792) at javafx.scene.control.Button.fire(Button.java:203) at com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:208) at com.sun.javafx.scene.control.inputmap.InputMap.handle(InputMap.java:274) at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:247) at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80) at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:234) at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191) at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74) at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54) at javafx.event.Event.fireEvent(Event.java:198) at javafx.scene.Scene$MouseHandler.process(Scene.java:3897) at javafx.scene.Scene.processMouseEvent(Scene.java:1878) at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2623) at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:411) at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:301) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(GlassViewEventHandler.java:450) at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:424) at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:449) at com.sun.glass.ui.View.handleMouseEvent(View.java:557) at com.sun.glass.ui.View.notifyMouse(View.java:943) at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) at com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:184) at java.base/java.lang.Thread.run(Thread.java:833)
Grouping passwords would be lovely to have :D With labels to quick filter them and Icon to collapse.
After deleting account you logout but button still says that you need to login not to register and menu dialog is still open before you accept information dialog.
Text on the button should be Register not Login and the menu window should close before that dialog
Steps to reproduce the behavior:
Delate account and do not click ok button
I'm frustrated when entering password i cannot see what i just entered.
Add button on right site of input to hide or visible your password as plain text
Since v3.0.0
I have added multi-language support for my application, so it is time to access wider audience.
For now (29.03.2022) only polish and english languages are supported. I wish that my app would be more accessible for people from another countries.
So if you are interested in translating my app, here's a complete guide how to do it: Translation Guide
If you have any questions, feel free to start a discussion or comment this issue!
No, it isn't
Instead of creating files in execute location, create directory in Local appdata(in windows) to avoid losing files or simple for convenience
User could set files location manually (or both)
Once login is finished, entries appear in the order they were created. The option to sort them with alphabetical order isn't saved. This is ofcourse a minor inconvinience but it would make sense to save it for users, like me, who like would like different accounts they have on the same application be grouped together.
Once login is finished, entries appear in the order they were last sorted to. ( This could also be made into an option instead of redifining the default )
Steps to reproduce the behavior:
Please add an .desktop file to launch application not from Terminal, like the below code:
KeepMyPassword.desktop
[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=Keep My Password
Comment=Keep My Password
Exec=java -jar /opt/KeepMyPassword/KeepMyPassword-Desktop-3.0.0-linux.jar
Terminal=false
Icon=/opt/KeepMyPassword/access-32.png
Or even add an Linux install script, something like:
INSTALL.sh
#!/bin/bash
sudo mkdir -p /opt/KeepMyPassword
sudo cp $PWD/KeepMyPassword-Desktop-3.0.0-linux.jar /opt/KeepMyPassword/
sudo cp $PWD/access-32.png /opt/KeepMyPassword/
Partially tested - files in one dir: INSTALL.sh access-32.png KeepMyPassword-Desktop-3.0.0-linux.jar
It's a bit miss leading if the Eye and Gear icons are clickable and functioning or only part of design (i.e. a window background images).
Also you have to guess that you can edit your password entries while clicking at them - no no Edit icons suggests it is possible.
registration incomplete
registration complete
Steps to reproduce the behavior:
java.io.IOException: The system cannot find path specified
at java.base/java.io.WinNTFileSystem.createFileExclusively0(Native Method)
at java.base/java.io.WinNTFileSystem.createFileExclusively(WinNTFileSystem.java:645)
at java.base/java.io.File.createNewFile(File.java:1043)
at me.goral.keepmypassworddesktop.util.ConfUtil.createConfFiles(ConfUtil.java:83)
at me.goral.keepmypassworddesktop.controllers.MainAppController.lambda$onLoginButtonClick$3(MainAppController.java:232)
at java.base/java.util.Optional.ifPresent(Optional.java:178)
at me.goral.keepmypassworddesktop.controllers.MainAppController.onLoginButtonClick(MainAppController.java:169)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:578)
at com.sun.javafx.reflect.Trampoline.invoke(MethodUtil.java:77)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:578)
at com.sun.javafx.reflect.MethodUtil.invoke(MethodUtil.java:275)
at com.sun.javafx.fxml.MethodHelper.invoke(MethodHelper.java:84)
at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1854)
at javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(FXMLLoader.java:1724)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:234)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
at javafx.event.Event.fireEvent(Event.java:198)
at javafx.scene.Node.fireEvent(Node.java:8792)
at javafx.scene.control.Button.fire(Button.java:203)
at com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:208)
at com.sun.javafx.scene.control.inputmap.InputMap.handle(InputMap.java:274)
at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:247)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:234)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
at javafx.event.Event.fireEvent(Event.java:198)
at javafx.scene.Scene$MouseHandler.process(Scene.java:3897)
at javafx.scene.Scene.processMouseEvent(Scene.java:1878)
at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2623)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:411)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:301)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(GlassViewEventHandler.java:450)
at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:424)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:449)
at com.sun.glass.ui.View.handleMouseEvent(View.java:557)
at com.sun.glass.ui.View.notifyMouse(View.java:943)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:184)
at java.base/java.lang.Thread.run(Thread.java:1589)
After that, can't log in
java.nio.file.NoSuchFileException: C:\Users\user\AppData\Roaming\KeepMyPassword\config.conf
at java.base/sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:85)
at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103)
at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:108)
at java.base/sun.nio.fs.WindowsFileSystemProvider.newByteChannel(WindowsFileSystemProvider.java:236)
at java.base/java.nio.file.Files.newByteChannel(Files.java:380)
at java.base/java.nio.file.Files.newByteChannel(Files.java:432)
at java.base/java.nio.file.Files.readAllBytes(Files.java:3287)
at java.base/java.nio.file.Files.readString(Files.java:3365)
at java.base/java.nio.file.Files.readString(Files.java:3324)
at me.goral.keepmypassworddesktop.util.ConfUtil.readConfigFile(ConfUtil.java:118)
at me.goral.keepmypassworddesktop.controllers.MainAppController.lambda$onLoginButtonClick$3(MainAppController.java:182)
at java.base/java.util.Optional.ifPresent(Optional.java:178)
at me.goral.keepmypassworddesktop.controllers.MainAppController.onLoginButtonClick(MainAppController.java:169)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:578)
at com.sun.javafx.reflect.Trampoline.invoke(MethodUtil.java:77)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:578)
at com.sun.javafx.reflect.MethodUtil.invoke(MethodUtil.java:275)
at com.sun.javafx.fxml.MethodHelper.invoke(MethodHelper.java:84)
at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1854)
at javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(FXMLLoader.java:1724)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:234)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:49)
at javafx.event.Event.fireEvent(Event.java:198)
at javafx.scene.Node.fireEvent(Node.java:8792)
at javafx.scene.control.Button.fire(Button.java:203)
at com.sun.javafx.scene.control.behavior.ButtonBehavior.mouseReleased(ButtonBehavior.java:208)
at com.sun.javafx.scene.control.inputmap.InputMap.handle(InputMap.java:274)
at com.sun.javafx.event.CompositeEventHandler$NormalEventHandlerRecord.handleBubblingEvent(CompositeEventHandler.java:247)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:80)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:234)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
at javafx.event.Event.fireEvent(Event.java:198)
at javafx.scene.Scene$MouseHandler.process(Scene.java:3897)
at javafx.scene.Scene.processMouseEvent(Scene.java:1878)
at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2623)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:411)
at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:301)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$2(GlassViewEventHandler.java:450)
at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:424)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:449)
at com.sun.glass.ui.View.handleMouseEvent(View.java:557)
at com.sun.glass.ui.View.notifyMouse(View.java:943)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:184)
at java.base/java.lang.Thread.run(Thread.java:1589)
An application that stores passwords should be secured so that you cannot enter a blank password
The application should verify that the password provided during registration is good enough
There should be 2 password inputs: "password" and "repeat password" and there should be an option to see the entered password as plain text
By default, all passwords are visible directly to a user. This is correct behavior, but what if somebody is looking at us while we are watching our data?
I want to have my passwords hidden on startup unless I'd mark them as visible.
It will be best if it'd look like HTML input with type password - it's dotted (You can use asterisks - a matter of your preference).
When I add a new credential (Description, Login and Password) with the same informations as an other that already exist. The new one is inserted even if it already exist.
A verification before adding new credentials should be done in order to prevent new credentials if (Login and Password) already exist
Steps to reproduce the behavior:
When entering the password during registration, if it is too weak, an error pops up. After clicking on ok button, the entire registration window closes, which is very annoying.
Window should stay open with entered values from user
Steps to reproduce the behavior:
Go to te register window and try to enter week password
I am wondering, if a Quick logout icon could be placed next to settings Gear. Or closing window is a logout equivalent?
App should return password with 4 upper case characters or app should throw other error like:
Inputs can't be empty
App throw error that sum of all arguments is greater then general lenght. Which is false, because empty in this situation is like 0 so 4+0+0+0<5.
Steps to reproduce the behavior:
Generate password like in screenshot below
When entering the password, there should be information on how strong the password is and what the user should do to make it stronger
Text on the bottom of register dialog telling how strong the password is and in poput message what to do to make it stronger or something like that
As a Linux user I see new directory in my Home:
/home/USER/KeepMyPassword
with config.conf and database.db which is not a good idea.
It would be better to move this directory to one of below places:
$USER/.config/KeepMyPassword
like some apps do (discord, evince, filezilla, google-chrome) or$USER/.KeepMyPassword/
like Mozilla with FF and TB, MySql or IntelliJ doesThere should be option to change your account password in app
In option there should be button to change your password to another
Cannot register using a username that starts with 'err' even though a strong password is entered.
The apps reloads the registration window and the 'err' is now removed from the username.
Should be able to register using a username that starts with 'err'.
Steps to reproduce the behavior:
There is not an error with stacktrace.
Add the ability to register multiple users on one device
Password with any length more than 0 should have let me create password with only one or few parameters
When password has 0 in all inputs(expect lenght input) it's work but if one of them contains value ~67% (eg. lenght = 6 any number = 4) password didn't create
Steps to reproduce the behavior:
After trying to register with a weak password, language options change and are shown as language tags.
After trying to register with a weak password, the language options should not change.
Steps to reproduce the behavior:
There is not an error with stacktrace.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.