mirror of
https://github.com/mattermost/mattermost.git
synced 2026-10-13 09:27:38 +08:00
* Decouple pin/unpin from ServiceSettings.PostEditTimeLimit The post edit time limit was extended to cover pin state, so posts older than ServiceSettings.PostEditTimeLimit could no longer be pinned or unpinned. Scope the limit back to post content (message, props, files) so pin state can always be changed, and drop the pinning no-op shortcut that only existed to soften that check. Co-authored-by: mattermost-code <matty-code@mattermost.com> * Broaden pin/unpin time limit coverage Derive the content check from PostPatch.IsEmpty so a future patch field is gated by the edit time limit by default, and cover the helper directly, an unpin through updatePost, a non-author pin/unpin, and EditAt staying put. Co-authored-by: mattermost-code <matty-code@mattermost.com> * Guard PostPatch.IsEmpty against silently exempting new fields The edit time limit now derives its content check from IsEmpty, so cover IsEmpty directly next to the struct it mirrors and assert the field count so a new field cannot slip past unnoticed. Co-authored-by: mattermost-code <matty-code@mattermost.com> * Tighten test comments and use reflect.TypeFor Co-authored-by: mattermost-code <matty-code@mattermost.com> --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: mattermost-code <matty-code@mattermost.com>