Take it on a case-by-case basis but typically I'd rather not auto-squash anything unless it only handles commit messages explicitly prefixed with fixup! or squash!. If a feature has multiple commits, I tend to believe it's because the developer did the work in logical stages that are separate enough to be units of work that could possibly get reverted independently of the rest of the changes in the branch.
Certainly have your developers do any final interactive rebasing and manual squashing/fixing up before merging the pull request though.
We’re a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.