Revisions are part of the job. Unlimited rework is not.
Your allowance
Whatever your accepted proposal stated. This is why stating it explicitly matters. See Submitting proposals.
Revision or scope change?
Revision: the deliverable does not match the agreed scope. Fix it, within your allowance.
Scope change: the client wants something the proposal did not cover. Propose a new milestone.
Say it plainly and without apology: "That's outside what we scoped. Happy to do it as a second milestone at X."
Handling a vague request
Ask for specifics against the proposal. "Which part of the agreed scope isn't met?" turns an unactionable complaint into a fixable one, and creates a record if it becomes a dispute.
While a revision is open
Escrow stays funded. You have not lost the money; it has not released yet.
If you disagree
If you believe the delivery does meet scope and the client does not, say so in the chat with reference to the proposal. Either side can raise a dispute, which is decided on proposal against delivery.