- Skip draft persistence once a post is published so the sheet's
onDisappear no longer re-saves the published text as a draft.
- Add NewPostOptions.sanitizeTags: strips leading #, accepts commas,
drops invalid characters. Applied on compose and edit.
- Parse :TAGS: tolerantly per token (strip leading #, skip invalid
tokens) instead of discarding the whole property, so tags written
with # by older builds or other clients now render.