We're tracking this issue internally at a high priority, but so far haven't been able to reproduce it reliably enough to isolate the root cause.
At the current time, we're planning to fix it in 8.1 and "forward port" to 8.3.
We're tracking this issue internally at a high priority, but so far haven't been able to reproduce it reliably enough to isolate the root cause.
At the current time, we're planning to fix it in 8.1 and "forward port" to 8.3.
Adding my experience with 8.3 in case its useful. I’ve had this issue happen three times now, when I try to save in the Designer, I get the error below. In the past, when this error has occurred, I’ve lost all my session props after reopening the Designer.
However, this time when the error came up, I had another developer working in the same project try to save, and he was able to save successfully. When I reopened my Designer afterward, my session props were still intact.
Not sure if this points to something with individual Designer instances or gateway communication, but figured I’d share in case it helps.
java.util.concurrent.ExecutionException: java.util.NoSuchElementException: No value present
	at java.base/java.util.concurrent.CompletableFuture.reportGet(Unknown Source)
	at java.base/java.util.concurrent.CompletableFuture.get(Unknown Source)
	at com.inductiveautomation.perspective.designer.workspace.pageconfig.SessionPropsAdapter.commit(SessionPropsAdapter.java:212)
	at com.inductiveautomation.perspective.designer.workspace.pageconfig.WorkspaceRootConfig.commit(WorkspaceRootConfig.java:22)
	at com.inductiveautomation.perspective.designer.workspace.ViewWorkspace.notifyProjectSaveStart(ViewWorkspace.java:398)
	at com.inductiveautomation.perspective.designer.DesignerHook.notifyProjectSaveStart(DesignerHook.java:638)
	at com.inductiveautomation.ignition.designer.IgnitionDesigner.lambda$getCommitTasks$46(IgnitionDesigner.java:1667)
	at com.inductiveautomation.ignition.designer.IgnitionDesigner.lambda$commitAll$41(IgnitionDesigner.java:1618)
	at java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
	at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)
	at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
	at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source)
	at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source)
	at java.base/java.util.stream.ReferencePipeline.reduce(Unknown Source)
	at com.inductiveautomation.ignition.designer.IgnitionDesigner.commitAll(IgnitionDesigner.java:1626)
	at com.inductiveautomation.ignition.designer.IgnitionDesigner.handleSave(IgnitionDesigner.java:1377)
	at com.inductiveautomation.ignition.designer.IgnitionDesigner$Handler.lambda$handleSaveAction$12(IgnitionDesigner.java:2668)
	at com.inductiveautomation.ignition.client.util.gui.progress.Task$FunctionWrapper.apply(Task.java:247)
	at com.inductiveautomation.ignition.client.util.gui.progress.Task$FunctionWrapper.apply(Task.java:237)
	at com.inductiveautomation.ignition.client.util.gui.progress.Task.lambda$runInternal$3(Task.java:205)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
	at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.util.NoSuchElementException: No value present
	at java.base/java.util.Optional.orElseThrow(Unknown Source)
	at com.inductiveautomation.perspective.designer.workspace.pageconfig.SessionPropsAdapter.lambda$commit$10(SessionPropsAdapter.java:211)
	at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(Unknown Source)
	at java.base/java.util.concurrent.CompletableFuture.postComplete(Unknown Source)
	at java.base/java.util.concurrent.CompletableFuture.complete(Unknown Source)
	at com.inductiveautomation.perspective.designer.workspace.JavaJsBridge.lambda$invokeFunction$2(JavaJsBridge.java:288)
	at com.teamdev.jxbrowser.frame.internal.FrameImpl$1.onNext(FrameImpl.java:359)
	at com.teamdev.jxbrowser.frame.internal.FrameImpl$1.onNext(FrameImpl.java:355)
	at com.teamdev.jxbrowser.internal.rpc.ServiceConnectionImpl.lambda$invokeAsync$6(ServiceConnectionImpl.java:229)
	at com.teamdev.jxbrowser.internal.RpcThreadImpl$TaskRunner.processTasks(RpcThreadImpl.java:175)
	... 1 more