Actual steps to reproduce this:
1) Add person A
2) Edit Person A during the 3 secs grace period
Actual Result : 1) header status bar shows Add Person A(full name is the edited name) completed successfully.
2) Card shows Adding 3 .. 2.. 1.. etc
Expected Result: 1) header status bar should show Edit Person A completed successfully.
2) Card should show Editing 3 .. 2 .. 1 etc
[JavaFX-Launcher] | I 18:56:32.491 (MainApp) Initializing app ...
[JavaFX-Launcher] | I 18:56:32.498 (DependencyChecker) Not run from Jar, skipping dependencies check
[JavaFX-Launcher] | I 18:56:32.503 (StorageManager) Config file config.json found, attempting to read.
[JavaFX-Launcher] | I 18:56:32.916 (LoggerManager) currentLogLevel: INFO
[JavaFX-Launcher] | I 18:56:32.916 (LoggerManager) specialLogLevels: {}
[JavaFX-Launcher] | I 18:56:33.524 (SyncManager) Active addressbook set to MyAddressBook
69 [Thread-5] INFO com.tulskiy.keymaster.windows.WindowsProvider - Starting Windows global hotkey provider
[JavaFX Application Thread]| I 18:56:33.737 (MainApp) Starting application: V1.6.1ea
[JavaFX Application Thread]| I 18:56:33.738 (MainController) Starting main controller.
[JavaFX Application Thread]| I 18:56:33.739 (BrowserManager) Initializing browser with 3 pages
1884 [Thread-5] INFO com.tulskiy.keymaster.windows.WindowsProvider - Registering hotkey: HotKey{ctrl alt X}
1884 [Thread-5] INFO com.tulskiy.keymaster.windows.WindowsProvider - Registering hotkey: HotKey{meta alt X}
1884 [Thread-5] INFO com.tulskiy.keymaster.windows.WindowsProvider - Registering hotkey: HotKey{shift ctrl X}
1884 [Thread-5] INFO com.tulskiy.keymaster.windows.WindowsProvider - Registering hotkey: HotKey{shift meta X}
[JavaFX Application Thread]| I 18:56:37.507 (EventManager) ApplicationUpdateFinishedEvent: Developer env detected; not updating
[JavaFX Application Thread]| I 18:56:37.519 (StorageManager) Starting storage manager.
[JavaFX Application Thread]| I 18:56:37.738 (SyncManager) Starting sync manager.
[pool-6-thread-1] | I 18:56:37.771 (GetUpdatesFromRemoteTask) Attempting to run periodic update.
[pool-6-thread-1] | I 18:56:37.808 (EventManager) SyncStartedEvent: Synchronization with server has started.
[pool-6-thread-1] | I 18:56:37.810 (RemoteManager) Getting updated persons from remote.
[pool-6-thread-1] | I 18:56:37.810 (CloudSimulator) Current quota left: 5000
[pool-6-thread-1] | I 18:56:37.894 (RemoteManager) 5 updated persons.
[pool-6-thread-1] | I 18:56:37.895 (RemoteManager) Getting tags list from remote.
[pool-6-thread-1] | I 18:56:37.895 (CloudSimulator) Current quota left: 4999
[pool-6-thread-1] | I 18:56:37.956 (EventManager) SyncCompletedEvent: 5 updatedPersons and 2 latest tags
[pool-6-thread-1] | I 18:56:38.737 (EventManager) LocalModelChangedEvent: number of persons 11, number of tags 2
[pool-6-thread-1] | I 18:56:38.738 (StorageManager) Local data changed, saving to primary data file
[JavaFX Application Thread]| I 18:56:45.794 (KeyBindingsManager) Handling Accelerator PERSON_EDIT_ACCELERATOR E
[JavaFX Application Thread]| I 18:56:45.795 (EventManager) AcceleratorIgnoredEvent: AcceleratorIgnoredEvent PERSON_EDIT_ACCELERATOR
[pool-6-thread-1] | I 18:56:48.770 (GetUpdatesFromRemoteTask) Attempting to run periodic update.
[pool-6-thread-1] | I 18:56:48.770 (EventManager) SyncStartedEvent: Synchronization with server has started.
[pool-6-thread-1] | I 18:56:48.771 (RemoteManager) Getting updated persons from remote.
[pool-6-thread-1] | I 18:56:48.771 (CloudSimulator) Current quota left: 4998
[pool-6-thread-1] | W 18:56:48.805 (GetUpdatesFromRemoteTask) Exception occurred in update task: java.lang.NullPointerException
[pool-6-thread-1] | I 18:56:48.806 (EventManager) SyncFailedEvent: null
[pool-3-thread-1] | I 18:56:50.105 (EventManager) SingleTargetCommandResultEvent: User command #1 finished execution (Cancelled): Target [Person #TBD]
Exception in thread "pool-3-thread-2" java.lang.IllegalStateException: Not on FX application thread; currentThread = pool-3-thread-2
at com.sun.javafx.tk.Toolkit.checkFxUserThread(Toolkit.java:236)
at com.sun.javafx.tk.quantum.QuantumToolkit.checkFxUserThread(QuantumToolkit.java:423)
at javafx.scene.Parent$2.onProposedChange(Parent.java:367)
at com.sun.javafx.collections.VetoableListDecorator.setAll(VetoableListDecorator.java:113)
at com.sun.javafx.collections.VetoableListDecorator.setAll(VetoableListDecorator.java:108)
at com.sun.javafx.scene.control.skin.LabeledSkinBase.updateChildren(LabeledSkinBase.java:575)
at com.sun.javafx.scene.control.skin.LabeledSkinBase.handleControlPropertyChanged(LabeledSkinBase.java:204)
at com.sun.javafx.scene.control.skin.LabelSkin.handleControlPropertyChanged(LabelSkin.java:49)
at com.sun.javafx.scene.control.skin.BehaviorSkinBase.lambda$registerChangeListener$61(BehaviorSkinBase.java:197)
at com.sun.javafx.scene.control.MultiplePropertyChangeListenerHandler$1.changed(MultiplePropertyChangeListenerHandler.java:55)
at javafx.beans.value.WeakChangeListener.changed(WeakChangeListener.java:89)
at com.sun.javafx.binding.ExpressionHelper$SingleChange.fireValueChangedEvent(ExpressionHelper.java:182)
at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
at javafx.beans.property.StringPropertyBase.fireValueChangedEvent(StringPropertyBase.java:103)
at javafx.beans.property.StringPropertyBase.markInvalid(StringPropertyBase.java:110)
at javafx.beans.property.StringPropertyBase.set(StringPropertyBase.java:144)
at javafx.beans.property.StringPropertyBase.set(StringPropertyBase.java:49)
at javafx.beans.property.StringProperty.setValue(StringProperty.java:65)
at javafx.scene.control.Labeled.setText(Labeled.java:145)
at address.controller.PersonCardController.lambda$initCommandStateDisplay$2(PersonCardController.java:126)
at com.sun.javafx.binding.ExpressionHelper$SingleChange.fireValueChangedEvent(ExpressionHelper.java:182)
at com.sun.javafx.binding.ExpressionHelper.fireValueChangedEvent(ExpressionHelper.java:81)
at javafx.beans.property.ObjectPropertyBase.fireValueChangedEvent(ObjectPropertyBase.java:105)
at javafx.beans.property.ObjectPropertyBase.markInvalid(ObjectPropertyBase.java:112)
[pool-3-thread-2] | I 18:56:53.132 (EventManager) CreatePersonOnRemoteRequestEvent: Request to create person on remote MyAddressBook: Person [#TBD][avas haha][Street:][City:][Postal code:][Birthday:][GitHub Username:][]
[pool-5-thread-1] | I 18:56:53.136 (CreatePersonOnRemoteTask) Creating Person [#TBD][avas haha][Street:][City:][Postal code:][Birthday:][GitHub Username:][] in MyAddressBook on remote
[pool-5-thread-1] | I 18:56:53.138 (CloudSimulator) Current quota left: 4998
[pool-5-thread-1] | I 18:56:53.176 (CloudFileHandler) Writing to cloud file 'MyAddressBook'.
[pool-5-thread-1] | W 18:56:53.207 (RemoteManager) Create person on remote request response code : 201
at javafx.beans.property.ObjectPropertyBase.set(ObjectPropertyBase.java:146)
at javafx.beans.property.ObjectProperty.setValue(ObjectProperty.java:69)
at address.model.datatypes.person.ViewablePerson.setOngoingCommandType(ViewablePerson.java:162)
at address.model.datatypes.person.ViewablePerson.clearOngoingCommand(ViewablePerson.java:170)
at address.model.AddPersonCommand.after(AddPersonCommand.java:65)
at address.model.ChangeObjectInModelCommand.run(ChangeObjectInModelCommand.java:178)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
[pool-3-thread-2] | I 18:56:53.257 (EventManager) SingleTargetCommandResultEvent: User command #2 finished execution (Successful): Target [Person #6]
[pool-6-thread-1] | I 18:56:58.808 (GetUpdatesFromRemoteTask) Attempting to run periodic update.
[pool-6-thread-1] | I 18:56:58.808 (EventManager) SyncStartedEvent: Synchronization with server has started.
[pool-6-thread-1] | I 18:56:58.809 (RemoteManager) Getting updated persons from remote.
[pool-6-thread-1] | I 18:56:58.809 (CloudSimulator) Current quota left: 4997
[pool-6-thread-1] | W 18:56:58.842 (GetUpdatesFromRemoteTask) Exception occurred in update task: java.lang.NullPointerException
[pool-6-thread-1] | I 18:56:58.842 (EventManager) SyncFailedEvent: null
[pool-6-thread-1] | I 18:57:08.844 (GetUpdatesFromRemoteTask) Attempting to run periodic update.
[pool-6-thread-1] | I 18:57:08.844 (EventManager) SyncStartedEvent: Synchronization with server has started.
[pool-6-thread-1] | I 18:57:08.844 (RemoteManager) Getting updated persons from remote.
[pool-6-thread-1] | I 18:57:08.845 (CloudSimulator) Current quota left: 4997
[pool-6-thread-1] | W 18:57:08.891 (GetUpdatesFromRemoteTask) Exception occurred in update task: java.lang.NullPointerException
[pool-6-thread-1] | I 18:57:08.891 (EventManager) SyncFailedEvent: null
[pool-6-thread-1] | I 18:57:18.893 (GetUpdatesFromRemoteTask) Attempting to run periodic update.
[pool-6-thread-1] | I 18:57:18.893 (EventManager) SyncStartedEvent: Synchronization with server has started.
[pool-6-thread-1] | I 18:57:18.893 (RemoteManager) Getting updated persons from remote.
[pool-6-thread-1] | I 18:57:18.894 (CloudSimulator) Current quota left: 4997
[pool-6-thread-1] | W 18:57:18.930 (GetUpdatesFromRemoteTask) Exception occurred in update task: java.lang.NullPointerException
[pool-6-thread-1] | I 18:57:18.930 (EventManager) SyncFailedEvent: null
[pool-6-thread-1] | I 18:57:28.932 (GetUpdatesFromRemoteTask) Attempting to run periodic update.
[pool-6-thread-1] | I 18:57:28.932 (EventManager) SyncStartedEvent: Synchronization with server has started.
[pool-6-thread-1] | I 18:57:28.932 (RemoteManager) Getting updated persons from remote.
[pool-6-thread-1] | I 18:57:28.933 (CloudSimulator) Current quota left: 4997
[pool-6-thread-1] | W 18:57:28.976 (GetUpdatesFromRemoteTask) Exception occurred in update task: java.lang.NullPointerException
[pool-6-thread-1] | I 18:57:28.976 (EventManager) SyncFailedEvent: null
[pool-6-thread-1] | I 18:57:38.977 (GetUpdatesFromRemoteTask) Attempting to run periodic update.
[pool-6-thread-1] | I 18:57:38.978 (EventManager) SyncStartedEvent: Synchronization with server has started.
[pool-6-thread-1] | I 18:57:38.978 (RemoteManager) Getting updated persons from remote.
[pool-6-thread-1] | I 18:57:38.979 (CloudSimulator) Current quota left: 4997
[pool-6-thread-1] | W 18:57:39.010 (GetUpdatesFromRemoteTask) Exception occurred in update task: java.lang.NullPointerException
[pool-6-thread-1] | I 18:57:39.010 (EventManager) SyncFailedEvent: null
[JavaFX Application Thread]| I 18:57:45.204 (MainApp) Stopping application.
[JavaFX Application Thread]| I 18:57:45.222 (SyncManager) Stopping sync manager.
71675 [Thread-5] INFO com.tulskiy.keymaster.windows.WindowsProvider - Reset hotkeys
71975 [Thread-5] INFO com.tulskiy.keymaster.windows.WindowsProvider - Exit listening thread
[JavaFX Application Thread]| I 18:57:45.568 (UpdateManager) Not running updater.
Managed to found a bug during testing.
Actual steps to reproduce this: 1) Add person A 2) Edit Person A during the 3 secs grace period Actual Result : 1) header status bar shows Add Person A(full name is the edited name) completed successfully. 2) Card shows Adding 3 .. 2.. 1.. etc Expected Result: 1) header status bar should show Edit Person A completed successfully. 2) Card should show Editing 3 .. 2 .. 1 etc