Chat d'équipe
Find a file
Caleb Roseland dc93745841
test(admin): cover PDND migration in list_table hooks and consumers
The react-beautiful-dnd → Pragmatic Drag and Drop migration in
list_table landed without unit coverage for the new hooks
(`use_list_table_dnd`, `use_list_table_row_dnd`), the new
`row_drop_indicator` component, or the keyboard-reorder path in
`list_table` itself. Add Jest coverage for all four, plus a regression
block in `user_properties_table.test.tsx` that confirms the
arrow-key reorder path on an existing list_table consumer still
calls back into `reorderField` after the migration.

- use_list_table_dnd: monitor registration lifecycle, canMonitor
  kind filtering, full getDropIndex truth table (top/bottom × source
  position), no-op when dropIndex == sourceIndex, useLatest pickup
  of onReorder without re-registration, dragKind change tears down
  and re-registers
- use_list_table_row_dnd: initial null edge, no registration when
  rowElement is null or enabled is false, draggable + dropTarget
  registration, canDrop kind + rowId filter, getData edge payload,
  onDrag/onDragLeave/onDrop edge state transitions, cleanup on
  unmount, custom preview wiring
- row_drop_indicator: render structure, edge prop forwarding,
  edge-change rerender (wrapped in act to settle floating-ui's
  flushSync autoUpdate)
- list_table: drag-handle render variants (no onReorder, enabled,
  isRowDragDisabled), keyboard ArrowUp/ArrowDown dispatch with
  bounds, non-arrow no-op, drag-handle click does not bubble into
  row onRowClick
- user_properties_table: regression coverage that the keyboard
  reorder path still resolves the correct UserPropertyField and
  next index for `reorderField`

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-27 21:35:59 -05:00
.agents/skills/agent-browser Add agent-browser skill and update cloud agent docs (#35534) 2026-03-09 11:13:00 -04:00
.cursor Add Docker Hub login to Cloud Agent start hook. (#36632) 2026-05-19 15:06:58 -04:00
.github Generate default_roles_permissions.js from a live server snapshot (#36698) 2026-05-25 15:03:11 -03:00
api MM-68787: Support sovereign-cloud endpoints for Azure Blob Storage (#36732) 2026-05-26 16:34:48 +00:00
e2e-tests fix(e2e): scope cleanup, harden selectors, and convert dnd row reorder to keyboard 2026-05-27 15:44:32 -05:00
server Merge branch 'master' into MM-67412-system-console-attribute-management 2026-05-27 01:25:57 +02:00
tools Upgrade Go to 1.26.3 and update deps in tool modules (#36658) 2026-05-20 17:25:49 -04:00
webapp test(admin): cover PDND migration in list_table hooks and consumers 2026-05-27 21:35:59 -05:00
.editorconfig Move .editorconfig to repo root (#24398) 2023-08-30 16:29:07 -04:00
.gitignore Add .envrc to .gitignore (#36567) 2026-05-14 14:19:03 +00: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 MM-66972 Upgrade to node 24 and main dependencies with babel, webpack and jest (#34760) 2026-01-14 13:14:01 +08:00
.yamllint ci: add yamllint workflow to detect duplicate YAML keys (#36010) 2026-04-20 17:25:12 -04:00
AGENTS.md Document Mattermost cloud startup flow (#36559) 2026-05-13 21:45:38 +00:00
CHANGELOG.md Changelog link (#8805) 2018-05-30 10:23:25 -04:00
CODEOWNERS simplify CODEOWNERS (#35770) 2026-04-01 13:03:36 +00:00
CONTRIBUTING.md update CONTRIBUTING.md and github ISSUE_TEMPLATE (#30862) 2025-04-29 15:42:40 +03:00
enable-claude-docs.sh Add optional Claude.md orchestration for Webapp folder (#34668) 2026-01-14 13:04:20 -05:00
LICENSE.enterprise Source available metrics (#24879) 2024-01-08 10:47:24 -04:00
LICENSE.txt Update LICENSE.txt to reflect new paths (#28241) 2024-10-01 09:47:09 -03:00
NOTICE.txt chore: Update NOTICE.txt file with updated dependencies (#36729) 2026-05-25 13:54:05 +02:00
README.md Update README first line to match new use cases (#31247) 2025-05-30 19:28:37 +00:00
SECURITY.md MM-41988 Updated links to legacy domain about.mm.com (#19552) 2022-03-16 19:47:57 +08:00
skills-lock.json Add agent-browser skill and update cloud agent docs (#35534) 2026-03-09 11:13:00 -04:00

Mattermost logo

Mattermost is an open core, self-hosted collaboration platform that offers chat, workflow automation, voice calling, screen sharing, and AI integration. This repo is the primary source for core development on the Mattermost platform; it's written in Go and React, runs as a single Linux binary, and relies on PostgreSQL. A new compiled version is released under an MIT license every month on the 16th.

Deploy Mattermost on-premises, or try it for free in the cloud.

mattermost user interface

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.

Get Mattermost on Google Play Get Mattermost on the App Store Get Mattermost on Windows PC Get Mattermost on Mac OSX Get Mattermost on 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

Small Image

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