RivetsJS "if" binder issue

Illustrates bug with "if" binder, where logic is not always re-applied correctly.

by dswitzer

HTML

<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script src="https://rawgit.com/mikeric/rivets/v0.9.6/dist/rivets.bundled.min.js"></script>
<h1>
  RivetsJS "if" binder issue
</h1>

<ul id="rivets">
  <li rv-each-person="scope.people">
    {person.name}
    <span rv-if="person.starter">[Starter]</span>
  </li>
</ul>

JavaScript

var scope = {
	people: [
      {name: "Ben", starter: true}
    , {name: "Landry", starter: false}
	]
};

rivets.bind($('#rivets'), {scope: scope});

setTimeout(function (){
	scope.people.splice(0, 1);
  
  setTimeout(function (){
  	scope.people[0].starter = true;
  }, 1000);
}, 3000);