[pull] master from mattermost:master#776
Merged
Merged
Conversation
* MM-68846 - add canonical CEL AST masking walker and model resolver interface * add canonical masking methods to PAP einterface and update mock * Migrate app-layer masking to canonical CEL AST walker * Remove Visual AST masking dead code and obsolete i18n key * Update simulation masking tests to mock MaskExpressionForCaller * reject persisted tokens and enforce merge shape match and add corresponding tests * MM-68900 - abac masking add e2e back * add missing config values and split the tests * implement coderabbit feedback * adjust timeout and disable button logic * enhance masking logic and tests for access control policies * refactor masking tests and database setup for improved field deletion handling * Enhance error handling in TestMergeStoredPolicyExpressions to verify error ID and status code * Refactor error handling in access control policy methods for clarity * Refactor masking logic and improve clarity in access control methods * Allow deny-all 'false' policies by dropping the redundant sentinel check in rejectMaskedTokens; add tests * Add masking-related error messages and update test descriptions with tags * Add error handling for uninitialized Policy Administration Point in access control
* phase 8f * Fix slot-filtering test to actually exercise the slot gate The previous test used the correct slot with matcher: () => false, so it only validated matcher behavior. Removing the slot-filter code path would not have broken it. Cast to a wrong slot with matcher: () => true so the test fails if slot filtering regresses. Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com> * remove unregisterPostDecorator The unregister method dispatched REMOVED_PLUGIN_COMPONENT_BY_ID, which was dropped along with the parallel unregisterChannelDecorator and unregisterComposerPlaceholderSuffix in the 8d/8e fix passes. Restore is not warranted: plugin lifecycle already sweeps all registrations on uninstall and bundle-path-changed reload via REMOVED_WEBAPP_PLUGIN, and the matcher contract handles dynamic on/off without re-registration. Drop the unregister method and its tests; move clearLoggedPostDecoratorErrors into register so the log-once tracker still resets on re-registration. Replace the deleted tests with a REMOVED_WEBAPP_PLUGIN sweep test mirroring the 8b/8d/8e pattern. See /Users/chris/git/pbe/phase-8-unregister-removal-plan.md for cross-phase rationale. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * phase 8f: gate post_header_badge on timestamp visibility Slot docstring already promised "immediately after the post timestamp", but the badge rendered unconditionally — leaving the icon stranded on a phantom header row of consecutive CENTER posts, visually overlapped by the next post. Hoist the existing PostTime visibility predicate into a showTimestamp boolean and reuse it for the post_header_badge group, so the badge appears (and disappears) together with the timestamp. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * phase 8f: also gate post_header_badge on narrow-timestamp reflow The previous gate (timestamp visibility) wasn't enough: for a consecutive non-compact post (CENTER on hover, or any non-CENTER), the host renders the timestamp in narrow style, and CSS reflows it out of badges-wrapper onto the post body's left margin. The badge stayed in badges-wrapper, producing the same phantom-row orphan above the post. Add a second clause — when timestamp goes narrow, the badge follows it out of the header. compactDisplay disables narrow style and keeps the timestamp in badges-wrapper, so the badge stays. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * collapse registerPostDecorator into a Pluggable --------- Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
* Tighten thread membership cleanup on team membership changes Ensure ThreadMembership rows are cleaned up when a user is removed from or leaves a team, add a defense-in-depth filter on the thread retrieval path so memberships referencing channels the user is no longer a member of are excluded, and add a one-time migration to clean up stale records on existing deployments. https://mattermost.atlassian.net/browse/MM-69008 * Centralize per-channel membership removal and tighten tests Extract the combined channel-member and thread-membership removal into a shared helper used by both removeUserFromChannel and LeaveTeam, so future code paths cannot revoke channel access without dropping the dependent thread state. The channel-leave event is now logged after the combined removal completes. Also drop verbose test header comments and rename a test to a behavior-focused name. * Backfill channel members in thread storetest setups The new ChannelMembers predicate on thread read queries filters out ThreadMembership rows whose user has no ChannelMembers row for the thread's channel. Several existing storetest setups bypassed the normal write path and inserted threads/memberships without channel members. Add the missing channel-member rows so the test data matches the real-world invariant. * Retrigger enterprise CI Pick up enterprise merge e6953d4 (master into MM-69008-thread-membership-team-leave) in the combined Enterprise CI/tests lane, which pins the enterprise SHA at mattermost-side dispatch time. Co-authored-by: Maria A Nunez <maria.nunez@mattermost.com> --------- Co-authored-by: Mattermost Build <build@mattermost.com> Co-authored-by: Cursor Agent <cursoragent@cursor.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )