Viewer.title can not be updated

after change viewer title, run command DOpus.viewers.Update();
but still get nothing

function OnClick(clickData)
{
	// --------------------------------------------------------
	DOpus.ClearOutput();
	// --------------------------------------------------------
		var i=0
		for (var e = new Enumerator(DOpus.viewers); !e.atEnd(); e.moveNext()) {
			var v=e.item()
			i+=1
			v.title="hello   " +i
			DOpus.Output("viewer title: "+ v.title)
		}
		DOpus.viewers.Update();
		DOpus.Delay(2000);

		for (var e = new Enumerator(DOpus.viewers); !e.atEnd(); e.moveNext()) {
			var v=e.item()
			DOpus.Output("title : "+ v.title)
		}

}

output is:

viewer title: hello   1
viewer title: hello   2
viewer title: hello   3
title : undefined
title : undefined
title : undefined

If the delay is needed, it would be needed before the call to Update, not after.

still not work

		DOpus.Delay(5000);
		DOpus.viewers.Update();
		DOpus.Delay(2000);

not work

Not fully unexpected:

Updating will reset the title.

Viewers

Use

function OnClick(clickData) {
    DOpus.ClearOutput();
    for (var e = new Enumerator(DOpus.viewers); !e.atEnd(); e.moveNext()) {
        var v = e.item();
        DOpus.Output('title : ' + v.title);
    }
    var i = 0;
    for (var e = new Enumerator(DOpus.viewers); !e.atEnd(); e.moveNext()) {
        var v = e.item();
        i += 1;
        v.title = 'hello   ' + i;
        DOpus.Output('viewer title: ' + v.title);
    }
    for (var e = new Enumerator(DOpus.viewers); !e.atEnd(); e.moveNext()) {
        var v = e.item();
        DOpus.Output('title : ' + v.title);
    }
}

and you'll get

title : undefined
viewer title: hello   1
title : hello   1

We'll fix this in the next beta so the title property returns the correct string after calling Update.

so strange .

by the way, is there a way to let viewer remember user-defined comment or info, like this

		    var i = 0;
		    for (var e = new Enumerator(DOpus.viewers); !e.atEnd(); e.moveNext()) {
		        var v = e.item();
		        i += 1;
		        v.title = 'hello   ' + i;
				// add comment to property
				v.myComment='this is viewer '+i
				// or vars.Set
				v.vars.Set('myComment', 'this is viewer '+i)
                                // or record info in global vars with viewer id as key
                                var info={ myComment:    'this is viewer '+i}
                              DOpus.vars.set(v.id , info)

					
		        DOpus.Output('viewer title: ' + v.title);
		    }

Currently i use viewer.title to do this, but it has some bug and can only record string info
thanks