If I set a task to have a finish-to-finish predecessor and then change the finish date, it accepts the new finish date and is now floating, not following any scheduling logic.
For example:
Before: B has A as an FF predecessor. B's finish date matches A's finish date.
After: I manually changed B's finish date to one day later. B's start date remained the same and B's duration increased by a day. Now B's dates are not being held in place by any predecessor relationship and no constraints have been added. I think a finish constraint should probably be added here.
If I change B's duration at this point, it snaps back to following the predecessor.
Thanks for the report. Ticket here: https://app.assembla.com/spaces/bryntum/tickets/9640-changing-end-date-breaks-finish-to-finish-dependency-constraint/details
After: I manually changed B's finish date to one day later. B's start date remained the same and B's duration increased by a day. Now B's dates are not being held in place by any predecessor relationship and no constraints have been added. I think a finish constraint should probably be added here.
Yes setting Finish No Earlier Than constraint seems like a proper way to go.
The same thing happens with a Finish No Earlier Than constraint. Here I manually set B's Finish No Earlier Than constraint to 1/24. Then I manually entered 1/25 in as the finish date. The task duration increased to 2 days and now neither of the dates are being held in place by anything. If I change the duration, the finish will correctly snap back to the constraint.
As I said setting a constraint on the task end date will help keeping its position. The problem is it does not set a constraint when user changes end date.
As you can see you set end date to 1/25 and still see the constraint date as 1/24.. That's the problem to be resolved in the ticket mentioned above.