Mattermost is an open source platform for secure collaboration across the entire software development lifecycle..
Go to file
Kyriakos Z a24111f9bd
MM-45009: Delete ThreadMemberships from "left" channels (#22559)
* MM-50550: Filter out threads from "left" channels v2

Currently leaving a channel doesn't affect the thread memberships of
that user/channel combination.
This PR aims to filter out all threads from those channels for the user.

Adds a DeleteAt column in the ThreadMemberships table, and filter out
all thread memberships that are "deleted".
Each time a user leaves a channel all thread memberships are going to be
marked as deleted, and when a user joins a channel again all those
existing thread memberships will be re-instantiated.

Adds a migration to mark all existing thread memberships as deleted
depending on whether there exists a channel membership for that
channel/user.

* Added migration files into list

* Fixes tests

* Fixes case where DeleteAt would be null

* Guard thread API endpoints with appropriate perms

* Deletes ThreadMembership rows upon leaving channel

* Minor style changes

* Use NoTranslation error

* Refactors tests

* Adds API tests to assert permissions on Team

* Adds tests, and fixes migrations

* Fixes test description

* Fix test

* Removes check on DM/GMs

* Change the MySQL query in the migration

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2023-04-19 15:20:34 +03:00
.github [fix] CI Correctly identify artifact downloads 2023-04-10 19:27:47 +03:00
e2e-tests MM-50122 : Remove and test refetching of channels on browser focus change (#22973) 2023-04-19 11:48:27 +05:30
server MM-45009: Delete ThreadMemberships from "left" channels (#22559) 2023-04-19 15:20:34 +03:00
webapp MM-50123 : Identify causes of removal of channel and channel members re fetching on team switch (#22984) 2023-04-19 16:21:10 +05:30
.gitignore Merge branch 'master' into fix-boards-webapp-unit-tests 2023-03-29 09:37:24 -05:00
.gitlab-ci.yml Trigger master branch for builds (#22616) 2023-03-27 10:01:02 +03:00
.gitpod.yml Add .gitpod.yml to use mattermost-gitpod-config repo for Gitpod configuration (#19984) 2022-04-14 11:02:50 -04:00
.nvmrc Mono repo -> Master (#22553) 2023-03-22 17:22:27 -04:00
CHANGELOG.md Changelog link (#8805) 2018-05-30 10:23:25 -04:00
CODEOWNERS Deprecate Toolkit CODEOWNERS (#22907) 2023-04-11 18:10:27 -03:00
CONTRIBUTING.md Remove outdated information from contributing file (#10749) 2019-05-01 23:46:00 +02:00
LICENSE.txt update LICENSE.txt (#22659) 2023-03-27 10:54:06 -03:00
NOTICE.txt Update Licences at Notice.txt to reflect dependency changes. (#21751) 2022-11-29 13:30:18 +03:00
README.md Adjustments to README (#20494) 2022-06-24 13:18:39 +03:00
SECURITY.md MM-41988 Updated links to legacy domain about.mm.com (#19552) 2022-03-16 19:47:57 +08:00

Mattermost

Mattermost is an open source platform for secure collaboration across the entire software development lifecycle. This repo is the primary source for core development on the Mattermost platform; it's written in Go and React and runs as a single Linux binary with MySQL or PostgreSQL. A new compiled version is released under an MIT license every month on the 16th.

Use it for free in Mattermost Cloud or deploy on-premises.

mattermost-hero

Learn more about the following use cases with Mattermost:

Other useful resources:

Table of contents

Install Mattermost

Other install guides:

Native mobile and desktop apps

In addition to the web interface, you can also download Mattermost clients for Android, iOS, Windows PC, macOS, and Linux.

Google Play App Store Windows PC Mac OSX Linux

Get security bulletins

Receive notifications of critical security updates. The sophistication of online attackers is perpetually increasing. If you're deploying Mattermost it's highly recommended you subscribe to the Mattermost Security Bulletin mailing list for updates on critical security releases.

Subscribe here

Get involved

Learn more

License

See the LICENSE file for license rights and limitations.

Get the latest news

Contributing

Please see CONTRIBUTING.md. Join the Mattermost Contributors server to join community discussions about contributions, development, and more.