This seems to happen pretty consistently to our diffs. We use git for VCS if that matters.
I'm unsure of the exact cause, but I have a couple example workflows which may result in this happening:
# Create diff
# Update the diff with some new changes (perhaps multiple times)
# Land the diff with arc
# Observe changes on the diff do not represent the last revision of the diff or the changes that were actually landed (if different)
# Create diff
# Rebase branch onto updated master (may also happen if merging master into the branch)
# Update diff with changes (arc diff --update <diff id>)
# Land the diff with arc
# Observe changes on the diff do not represent the last revision of the diff or the changes that were actually landed (if different)
It *seems* like the changes shown are the changes for the original revision of the diff. I haven't gone through and verified that's always the case, however.