mattermost/server/public/model
Jesse Hallam 41e5c7286b
Remove vestigial MySQL support (#34865)
* Remove legacy quoteColumnName() utility

Since Mattermost only supports PostgreSQL, the quoteColumnName() helper
that was designed to handle database-specific column quoting is no longer
needed. The function was a no-op that simply returned the column name
unchanged.

Remove the function from utils.go and update status_store.go to use
the "Manual" column name directly.

* Remove legacy driver checks from store.go

Since Mattermost only supports PostgreSQL, remove conditional checks
for different database drivers:

- Simplify specialSearchChars() to always return PostgreSQL-compatible chars
- Remove driver check from computeBinaryParam()
- Remove driver check from computeDefaultTextSearchConfig()
- Simplify GetDbVersion() to use PostgreSQL syntax directly
- Remove switch statement from ensureMinimumDBVersion()
- Remove unused driver parameter from versionString()

* Remove MySQL alternatives for batch delete operations

Since Mattermost only supports PostgreSQL, remove the MySQL-specific
DELETE...LIMIT syntax and keep only the PostgreSQL array-based approach:

- reaction_store.go: Use PostgreSQL array syntax for PermanentDeleteBatch
- file_info_store.go: Use PostgreSQL array syntax for PermanentDeleteBatch
- preference_store.go: Use PostgreSQL tuple IN subquery for DeleteInvalidVisibleDmsGms

* Remove MySQL alternatives for UPDATE...FROM syntax

Since Mattermost only supports PostgreSQL, remove the MySQL-specific
UPDATE syntax that joins tables differently:

- thread_store.go: Use PostgreSQL UPDATE...FROM syntax in
  MarkAllAsReadByChannels and MarkAllAsReadByTeam
- post_store.go: Use PostgreSQL UPDATE...FROM syntax in deleteThreadFiles

* Remove MySQL alternatives for JSON and subquery operations

Since Mattermost only supports PostgreSQL, remove the MySQL-specific
JSON and subquery syntax:

- thread_store.go: Use PostgreSQL JSONB operators for updating participants
- access_control_policy_store.go: Use PostgreSQL JSONB @> operator for
  querying JSON imports
- session_store.go: Use PostgreSQL subquery syntax for Cleanup
- job_store.go: Use PostgreSQL subquery syntax for Cleanup

* Remove MySQL alternatives for CTE queries

Since Mattermost only supports PostgreSQL, simplify code that
uses CTEs (Common Table Expressions):

- channel_store.go: Remove MySQL CASE-based fallback in
  UpdateLastViewedAt and use PostgreSQL CTE exclusively
- draft_store.go: Remove driver checks in DeleteEmptyDraftsByCreateAtAndUserId,
  DeleteOrphanDraftsByCreateAtAndUserId, and determineMaxDraftSize

* Remove driver checks in migrate.go and schema_dump.go

Simplify migration code to use PostgreSQL driver directly since
PostgreSQL is the only supported database.

* Remove driver checks in sqlx_wrapper.go

Always apply lowercase named parameter transformation since PostgreSQL
is the only supported database.

* Remove driver checks in user_store.go

Simplify user store functions to use PostgreSQL-only code paths:
- Remove isPostgreSQL parameter from helper functions
- Use LEFT JOIN pattern instead of subqueries for bot filtering
- Always use case-insensitive LIKE with lower() for search
- Remove MySQL-specific role filtering alternatives

* Remove driver checks in post_store.go

Simplify post_store.go to use PostgreSQL-only code paths:
- Inline getParentsPostsPostgreSQL into getParentsPosts
- Use PostgreSQL TO_CHAR/TO_TIMESTAMP for date formatting in analytics
- Use PostgreSQL array syntax for batch deletes
- Simplify determineMaxPostSize to always use information_schema
- Use PostgreSQL jsonb subtraction for thread participants
- Always execute RefreshPostStats (PostgreSQL materialized views)
- Use materialized views for AnalyticsPostCountsByDay
- Simplify AnalyticsPostCountByTeam to always use countByTeam

* Remove driver checks in channel_store.go

Simplify channel_store.go to use PostgreSQL-only code paths:
- Always use sq.Dollar.ReplacePlaceholders for UNION queries
- Use PostgreSQL LEFT JOIN for retention policy exclusion
- Use PostgreSQL jsonb @> operator for access control policy imports
- Simplify buildLIKEClause to always use LOWER() for case-insensitive search
- Simplify buildFulltextClauseX to always use PostgreSQL to_tsvector/to_tsquery
- Simplify searchGroupChannelsQuery to use ARRAY_TO_STRING/ARRAY_AGG

* Remove driver checks in file_info_store.go

Simplify file_info_store.go to use PostgreSQL-only code paths:
- Always use PostgreSQL to_tsvector/to_tsquery for file search
- Use file_stats materialized view for CountAll()
- Use file_stats materialized view for GetStorageUsage() when not including deleted
- Always execute RefreshFileStats() for materialized view refresh

* Remove driver checks in attributes_store.go

Simplify attributes_store.go to use PostgreSQL-only code paths:
- Always execute RefreshAttributes() for materialized view refresh
- Remove isPostgreSQL parameter from generateSearchQueryForExpression
- Always use PostgreSQL LOWER() LIKE LOWER() syntax for case-insensitive search

* Remove driver checks in retention_policy_store.go

Simplify retention_policy_store.go to use PostgreSQL-only code paths:
- Remove isPostgres parameter from scanRetentionIdsForDeletion
- Always use pq.Array for scanning retention IDs
- Always use pq.Array for inserting retention IDs
- Remove unused json import

* Remove driver checks in property stores

Simplify property_field_store.go and property_value_store.go to use
PostgreSQL-only code paths:
- Always use PostgreSQL type casts (::text, ::jsonb, ::bigint, etc.)
- Remove isPostgres variable and conditionals

* Remove driver checks in channel_member_history_store.go

Simplify PermanentDeleteBatch to use PostgreSQL-only code path:
- Always use ctid-based subquery for DELETE with LIMIT

* Remove remaining driver checks in user_store.go

Simplify user_store.go to use PostgreSQL-only code paths:
- Use LEFT JOIN for bot exclusion in AnalyticsActiveCountForPeriod
- Use LEFT JOIN for bot exclusion in IsEmpty

* Simplify fulltext search by consolidating buildFulltextClause functions

Remove convertMySQLFullTextColumnsToPostgres and consolidate
buildFulltextClause and buildFulltextClauseX into a single function
that takes variadic column arguments and returns sq.Sqlizer.

* Simplify SQL stores leveraging PostgreSQL-only support

- Simplify UpdateMembersRole in channel_store.go and team_store.go
  to use UPDATE...RETURNING instead of SELECT + UPDATE
- Simplify GetPostReminders in post_store.go to use DELETE...RETURNING
- Simplify DeleteOrphanedRows queries by removing MySQL workarounds
  for subquery locking issues
- Simplify UpdateUserLastSyncAt to use UPDATE...FROM...RETURNING
  instead of fetching user first then updating
- Remove MySQL index hint workarounds in ORDER BY clauses
- Update outdated comments referencing MySQL
- Consolidate buildFulltextClause and remove convertMySQLFullTextColumnsToPostgres

* Remove MySQL-specific test artifacts

- Delete unused MySQLStopWords variable and stop_word.go file
- Remove redundant testSearchEmailAddressesWithQuotes test
  (already covered by testSearchEmailAddresses)
- Update comment that referenced MySQL query planning

* Remove MySQL references from server code outside sqlstore

- Update config example and DSN parsing docs to reflect PostgreSQL-only support
- Remove mysql:// scheme check from IsDatabaseDSN
- Simplify SanitizeDataSource to only handle PostgreSQL
- Remove outdated MySQL comments from model and plugin code

* Remove MySQL references from test files

- Update test DSNs to use PostgreSQL format
- Remove dead mysql-replica flag and replicaFlag variable
- Simplify tests that had MySQL/PostgreSQL branches

* Update docs and test config to use PostgreSQL

- Update mmctl config set example to use postgres driver
- Update test-config.json to use PostgreSQL DSN format

* Remove MySQL migration scripts, test data, and docker image

Delete MySQL-related files that are no longer needed:
- ESR upgrade scripts (esr.*.mysql.*.sql)
- MySQL schema dumps (mattermost-mysql-*.sql)
- MySQL replication test scripts (replica-*.sh, mysql-migration-test.sh)
- MySQL test warmup data (mysql_migration_warmup.sql)
- MySQL docker image reference from mirror-docker-images.json

* Remove MySQL references from webapp

- Simplify minimumHashtagLength description to remove MySQL-specific configuration note
- Remove unused HIDE_MYSQL_STATS_NOTIFICATION preference constant
- Update en.json i18n source file

* clean up e2e-tests

* rm server/tests/template.load

* Use teamMemberSliceColumns() in UpdateMembersRole RETURNING clause

Refactor to use the existing helper function instead of hardcoding
the column names, ensuring consistency if the columns are updated.

* u.id -> u.Id

* address code review feedback

---------

Co-authored-by: Mattermost Build <build@mattermost.com>
2026-01-20 21:01:59 +00:00
..
testdata Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
access.go Add support for resource parameter with OAuth (#33743) 2025-11-11 15:24:42 -05:00
access_policy.go [MM-65956] Tweak auto add to make it consistent with child policies (#33990) 2025-11-19 20:18:45 +00:00
access_policy_test.go Use golangci-lints's build-in modernize linter (#34341) 2025-11-04 12:09:11 +01:00
access_request.go MM-65618 - filter based on admin values (#33857) 2025-09-12 20:09:47 +02:00
access_test.go Add support for resource parameter with OAuth (#33743) 2025-11-11 15:24:42 -05:00
analytics_row.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
audit.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
audit_events.go Add audits for accessing posts without membership (#31266) 2026-01-20 10:38:27 +01:00
audit_record.go [MM-64654] Migrate to modern Go features (#31820) 2025-07-18 12:54:51 +02:00
auditconv.go Marks the RemoteTeamId field of RemoteClusters as deprecated (#27364) 2024-06-22 23:08:55 +02:00
auditconv_test.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
audits.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
authorize.go Add support for resource parameter with OAuth (#33743) 2025-11-11 15:24:42 -05:00
authorize_test.go Add support for resource parameter with OAuth (#33743) 2025-11-11 15:24:42 -05:00
autotranslation.go MM-65756 Database Migrations, Indexes and Methods for Auto-Translation (#34047) 2025-11-22 09:32:01 +08:00
bot.go Enforce use of any instead of interface{} (#30588) 2025-03-31 10:44:34 +02:00
bot_test.go [MM-61302] Use model.NewPointer throughout the code base (#28957) 2024-10-29 13:29:53 +01:00
builtin.go Fix IDE warninings about comment (#29818) 2025-01-10 17:33:12 -07:00
builtin_test.go OSF: Used model.NewPointer everywhere (#27838) 2024-08-06 09:15:00 +05:30
bulk_export.go [MM-57295] Bulk export: add roles and permission schemes (#26523) 2024-03-26 08:43:25 -06:00
bundle_info.go MM-53032: Fix module path after repo rename (#23689) 2023-06-11 10:54:35 +05:30
bundle_info_test.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
cel.go [MM-64833] Convert multiselect attribute types to CEL canonically (#33494) 2025-08-05 12:07:24 +03:00
channel.go MM-67119: Remove unused Channel.Etag (#34951) 2026-01-20 17:46:17 +01:00
channel_bookmark.go Enforce use of any instead of interface{} (#30588) 2025-03-31 10:44:34 +02:00
channel_bookmark_test.go fix(MM-60645): missing emoji on mobile (#30001) 2025-02-09 21:38:29 -07:00
channel_count.go Use golangci-lints's build-in modernize linter (#34341) 2025-11-04 12:09:11 +01:00
channel_data.go MM-52532: Fix golangci warnings (#23709) 2023-06-13 14:08:36 +05:30
channel_list.go Add whitespace linter (#24855) 2023-10-11 10:13:36 +02:00
channel_member.go Sanatize LastViewedAt and LastUpdateAt for other users on channel member object (#33835) 2025-09-05 08:06:16 -07:00
channel_member_history.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
channel_member_history_result.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
channel_member_test.go Sanatize LastViewedAt and LastUpdateAt for other users on channel member object (#33835) 2025-09-05 08:06:16 -07:00
channel_mentions.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
channel_search.go [MM-61756] Attribute Based Access Control - Phase 1 (#30785) 2025-05-15 11:33:08 +02:00
channel_sidebar.go Goodbye, GraphQL (#24827) 2023-10-12 09:47:35 +05:30
channel_sidebar_test.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
channel_stats.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
channel_test.go MM-67119: Remove unused Channel.Etag (#34951) 2026-01-20 17:46:17 +01:00
channel_view.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
client4.go MM-67119: Remove unused Channel.Etag (#34951) 2026-01-20 17:46:17 +01:00
client4_test.go [MM-64633] Rewrite Go client using Generics (#31805) 2025-10-07 12:19:21 +02:00
cloud.go Add support for dynamic fetching of preview modal content from S3 bucket (#33380) 2025-07-15 12:58:18 -04:00
cluster_discovery.go [MM-57106] Remove unused cluster settings (#26490) 2024-03-22 10:44:38 +01:00
cluster_discovery_test.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
cluster_info.go MM-53228: Adding schema version to cluster info (#24209) 2023-08-10 09:40:49 +05:30
cluster_message.go [MM-61758] Burn on read feature (#34703) 2025-12-11 07:59:50 +01:00
cluster_stats.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
command.go Enforce use of any instead of interface{} (#30588) 2025-03-31 10:44:34 +02:00
command_args.go Enforce use of any instead of interface{} (#30588) 2025-03-31 10:44:34 +02:00
command_args_test.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
command_autocomplete.go [MM-57356] Make use of go1.21 features (#26620) 2024-04-04 13:44:03 +02:00
command_autocomplete_test.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
command_request.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
command_response.go MM-53032: Fix module path after repo rename (#23689) 2023-06-11 10:54:35 +05:30
command_response_test.go Remove unnecessary copies of loop variables (#28138) 2024-09-11 16:51:30 +02:00
command_test.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
command_webhook.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
command_webhook_test.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
compliance.go Enforce use of any instead of interface{} (#30588) 2025-03-31 10:44:34 +02:00
compliance_post.go Add whitespace linter (#24855) 2023-10-11 10:13:36 +02:00
compliance_post_test.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
config.go Remove vestigial MySQL support (#34865) 2026-01-20 21:01:59 +00:00
config_test.go Remove vestigial MySQL support (#34865) 2026-01-20 21:01:59 +00:00
content_flagging.go Content flagging file downloads (#34480) 2025-11-19 14:22:07 +05:30
content_flagging_setting_request.go Migrate content flagging settings to database (#33989) 2025-10-13 12:24:01 +05:30
content_flagging_settings.go Migrate content flagging settings to database (#33989) 2025-10-13 12:24:01 +05:30
content_flagging_settings_test.go Migrate content flagging settings to database (#33989) 2025-10-13 12:24:01 +05:30
content_flagging_test.go Flag post API (#33765) 2025-10-02 20:24:29 +05:30
custom_profile_attributes.go Adds default values to the attrs of CPA fields and refactors the app layer (#34408) 2025-11-13 12:00:54 +01:00
custom_profile_attributes_test.go Adds default values to the attrs of CPA fields and refactors the app layer (#34408) 2025-11-13 12:00:54 +01:00
custom_status.go MM-56881 Validate and ensure valid CustomStatus is stored (#26287) 2024-03-04 15:53:55 -07:00
data_retention_policy.go [MM-64360] Data retention: optionally preserve pinned posts (#31165) 2025-06-09 15:41:07 -04:00
draft.go [MM-61758] Burn on read feature (#34703) 2025-12-11 07:59:50 +01:00
draft_test.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
email_notification.go [MM-64840] Add EmailNotificationWillBeSent Plugin Hook (#33421) 2025-08-05 09:09:07 -04:00
emoji.go Enforce use of any instead of interface{} (#30588) 2025-03-31 10:44:34 +02:00
emoji_data.go Revert "Add "thanks" and "thank you" to "pray" emoji (#24090)" (#24969) 2023-10-17 11:57:35 -04:00
emoji_search.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
emoji_test.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
example_channel_test.go MM-67119: Remove unused Channel.Etag (#34951) 2026-01-20 17:46:17 +01:00
feature_flags.go [MM-66359] Recaps MVP (#34337) 2026-01-13 11:59:22 -05:00
feature_flags_test.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
file.go [MM-53454] Add export file settings + slash command for public link (#23915) 2023-07-19 13:01:39 -07:00
file_info.go Remove vestigial MySQL support (#34865) 2026-01-20 21:01:59 +00:00
file_info_list.go MM-52532: Fix golangci warnings for public module (#23918) 2023-06-30 20:12:56 +05:30
file_info_search_results.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
file_info_test.go Channel Bookmarks (#25449) 2024-03-12 08:36:05 -06:00
github_release.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
gitlab.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
group.go Enforce use of any instead of interface{} (#30588) 2025-03-31 10:44:34 +02:00
group_member.go [MM-55323] Allow end users to fetch the group members list of groups which allow @-mentions (#26551) 2024-04-12 19:41:50 +02:00
group_syncable.go Enforce use of any instead of interface{} (#30588) 2025-03-31 10:44:34 +02:00
group_syncable_test.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
group_test.go Enforce use of any instead of interface{} (#30588) 2025-03-31 10:44:34 +02:00
guest_invite.go Enforce use of any instead of interface{} (#30588) 2025-03-31 10:44:34 +02:00
hosted_customer.go [CLD-7567] Deprecate Self Serve: Second Pass (#26853) 2024-05-02 09:15:15 -04:00
incoming_webhook.go Enforce use of any instead of interface{} (#30588) 2025-03-31 10:44:34 +02:00
incoming_webhook_test.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
initial_load.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
integration_action.go MM-66458: Fix panic in GenerateTriggerId with invalid signing keys (#34384) 2025-11-11 07:12:36 -04:00
integration_action_test.go MM-66458: Fix panic in GenerateTriggerId with invalid signing keys (#34384) 2025-11-11 07:12:36 -04:00
integrity.go OSF: Used model.NewPointer everywhere (#27838) 2024-08-06 09:15:00 +05:30
ip_filtering.go Enforce use of any instead of interface{} (#30588) 2025-03-31 10:44:34 +02:00
job.go [MM-66359] Recaps MVP (#34337) 2026-01-13 11:59:22 -05:00
job_test.go [MM-56074] mmctl job commands (#26855) 2024-06-17 12:07:05 -04:00
ldap.go [MM-63152] LDAP Wizard (#31417) 2025-06-16 16:19:33 -04:00
license.go [CLD-9487] Support for Entry + updates to Edition & License screen (#33672) 2025-08-27 10:05:39 -04:00
license_test.go Renamed premium SKU to Enterprise Advanced (#30882) 2025-05-02 11:34:46 +05:30
limits.go Message History Limits in Entry Edition (#33831) 2025-09-10 22:52:19 -04:00
link_metadata.go Remove vestigial MySQL support (#34865) 2026-01-20 21:01:59 +00:00
link_metadata_test.go Bugfix - Enforce URL length check in LinkMetadata before attempting to insert to database (#29589) 2025-01-08 20:02:39 +05:30
manifest.go [MM-66875][MM-66876] Implement RHS plugin popout (#34692) 2025-12-11 14:04:43 -05:00
manifest_test.go [MM-66875][MM-66876] Implement RHS plugin popout (#34692) 2025-12-11 14:04:43 -05:00
map.go Introduce model.AssertNotSameMap (#34058) 2025-10-27 13:16:59 -03:00
map_test.go Introduce model.AssertNotSameMap (#34058) 2025-10-27 13:16:59 -03:00
marketplace_plugin.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
member_invite.go Enforce use of any instead of interface{} (#30588) 2025-03-31 10:44:34 +02:00
mention_map.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
mention_map_test.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
message_export.go MM-59966 - Compliance Export overhaul - feature branch (#29789) 2025-01-10 16:56:02 -05:00
metrics.go MM-62365: Remove unused field from MetricSample (#30991) 2025-05-21 08:43:00 +05:30
metrics_test.go MM-61886: Add actionable page navigation metrics (#29332) 2024-11-29 11:24:35 +05:30
mfa_secret.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
migration.go Integration permission management changes (#34421) 2025-11-13 11:12:30 +00:00
modeltestlib_test.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
notification.go MM-65575: Fix server panic when bot posts trigger persistent notifications (#34174) 2025-12-08 20:41:29 +00:00
notify_admin.go [MM-53102] Add support for multi-word highlights without notifications in web (#24050) 2023-11-11 19:33:28 +05:30
oauth.go feat: Add Microsoft Intune MAM authentication support (#34577) 2025-12-10 08:31:53 +02:00
oauth_dcr.go OAuth public client support through DCR and PKCE support for public/confidential clients (#33664) 2025-11-11 17:43:37 +00:00
oauth_dcr_test.go OAuth public client support through DCR and PKCE support for public/confidential clients (#33664) 2025-11-11 17:43:37 +00:00
oauth_metadata.go [MM-66681] Update path matching (#34524) 2025-11-19 09:50:25 -05:00
oauth_test.go OAuth public client support through DCR and PKCE support for public/confidential clients (#33664) 2025-11-11 17:43:37 +00:00
onboarding.go Enforce use of any instead of interface{} (#30588) 2025-03-31 10:44:34 +02:00
outgoing_oauth_connection.go Enforce use of any instead of interface{} (#30588) 2025-03-31 10:44:34 +02:00
outgoing_oauth_connection_test.go OSF: Used model.NewPointer everywhere (#27838) 2024-08-06 09:15:00 +05:30
outgoing_webhook.go [MM-64654] Migrate to modern Go features (#31820) 2025-07-18 12:54:51 +02:00
outgoing_webhook_test.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
packet_metadata.go Migrate from gopkg.in/yaml.v3 to github.com/goccy/go-yaml (#34510) 2025-11-18 08:52:05 +01:00
packet_metadata_test.go Migrate from gopkg.in/yaml.v3 to github.com/goccy/go-yaml (#34510) 2025-11-18 08:52:05 +01:00
permalink.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
permission.go Integration permission management changes (#34421) 2025-11-13 11:12:30 +00:00
permission_test.go [MM-56061] Only render where field in model.AppError when it's present (#25648) 2023-12-11 10:27:51 +01:00
plugin_cluster_event.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
plugin_constants.go Enable to AI plugin by default (#28770) 2024-11-01 06:30:25 -07:00
plugin_event_data.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
plugin_key_value.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
plugin_key_value_test.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
plugin_kvset_options.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
plugin_on_install_event.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
plugin_reattach.go MM-57018: support reattaching plugins (#26421) 2024-04-11 11:10:25 -04:00
plugin_status.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
plugin_valid.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
plugin_valid_test.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
plugins_response.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
post.go Remove vestigial MySQL support (#34865) 2026-01-20 21:01:59 +00:00
post_acknowledgement.go MM-57326: [Shared Channels] Message priority, acknowledgement and persistent notifications need to be synced (#30736) 2025-06-16 02:30:21 +02:00
post_embed.go Sanitize post for audit with preview links (#23745) 2023-06-15 08:23:56 -04:00
post_info.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
post_list.go [MM-61758] Burn on read feature (#34703) 2025-12-11 07:59:50 +01:00
post_list_test.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
post_metadata.go [MM-61758] Burn on read feature (#34703) 2025-12-11 07:59:50 +01:00
post_reporting_test.go Add cursor-based Posts Reporting API for compliance and auditing (#34252) 2025-11-17 09:02:19 -07:00
post_search_results.go Enforce use of any instead of interface{} (#30588) 2025-03-31 10:44:34 +02:00
post_test.go [MM-64654] Migrate to modern Go features (#31820) 2025-07-18 12:54:51 +02:00
preference.go [MM-58834] Review user preferences export and import (#28286) 2024-10-11 12:28:37 +02:00
preference_test.go [MM-56904] Reduce the number of api requests made to fetch user information for GMs on page load (#27149) 2024-07-25 15:57:23 -04:00
product_notices.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
property_field.go [MM-65769] add updatedSince to field search (#34037) 2025-10-08 10:54:29 +00:00
property_field_test.go Adds upper limit validation to property fields and values (#33659) 2025-09-19 18:52:34 +00:00
property_group.go Adds the main Property System Architecture components (#29644) 2025-01-13 11:41:44 +00:00
property_value.go Reviewer search api (#34036) 2025-10-14 09:06:23 +05:30
property_value_test.go Adds upper limit validation to property fields and values (#33659) 2025-09-19 18:52:34 +00:00
push_notification.go Push Proxy Authentication (#34211) 2025-11-12 20:16:44 +02:00
push_notification_test.go Add whitespace linter (#24855) 2023-10-11 10:13:36 +02:00
push_response.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
push_response_test.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
reaction.go OSF: Used model.NewPointer everywhere (#27838) 2024-08-06 09:15:00 +05:30
reaction_test.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
read_receipt.go [MM-61758] Burn on read feature (#34703) 2025-12-11 07:59:50 +01:00
recap.go [MM-67160] Add audit logging for recap API endpoints (#34929) 2026-01-19 13:46:43 -05:00
remote_cluster.go MM-64878: FIPS Build (#33809) 2025-09-15 10:53:28 -03:00
remote_cluster_test.go MM-64522: Use PBKDF2 as the new key derivation for remote cluster invitation (#33493) 2025-07-21 19:08:31 +05:30
report.go [MM-64654] Migrate to modern Go features (#31820) 2025-07-18 12:54:51 +02:00
role.go Integration permission management changes (#34421) 2025-11-13 11:12:30 +00:00
role_test.go Permission changes (#29570) 2025-01-27 16:28:27 +00:00
saml.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
scheduled_post.go [MM-61758] Burn on read feature (#34703) 2025-12-11 07:59:50 +01:00
scheduled_task.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
scheduled_task_test.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
scheme.go Enforce use of any instead of interface{} (#30588) 2025-03-31 10:44:34 +02:00
search_params.go Thai tone marks and vowels at the end of the search term is wrongly removed. (#29071) 2024-11-21 13:47:48 +00:00
search_params_test.go Thai tone marks and vowels at the end of the search term is wrongly removed. (#29071) 2024-11-21 13:47:48 +00:00
security_bulletin.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
service_environment.go Service environment (#23443) 2023-06-07 10:15:33 -03:00
service_environment_dev_default.go Service environment (#23443) 2023-06-07 10:15:33 -03:00
service_environment_production_default.go Service environment (#23443) 2023-06-07 10:15:33 -03:00
service_environment_test.go fix TestGetServiceEnvironment (#24506) 2023-09-08 11:00:48 -03:00
session.go MM-63316: Guest access to channel (#30467) 2025-04-14 13:07:50 +02:00
session_serial_gen.go Add metrics for mobile versions snapshots (#28191) 2024-09-24 12:02:19 +02:00
session_test.go MM-52792: Update createPost, updatePost, & patchPost (#24195) 2023-10-03 09:51:07 -05:00
shared_channel.go MM-64531: [Shared Channels] Users on different remote servers should not communicate unless the remotes have established secure connection. (#30985) 2025-07-15 09:30:07 +02:00
shared_channel_test.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
slack_attachment.go [MM-64894] Check for non-primitive fields using DeepEqual (#33562) 2025-07-25 20:36:22 +00:00
slack_attachment_test.go [MM-64894] Check for non-primitive fields using DeepEqual (#33562) 2025-07-25 20:36:22 +00:00
slack_compatibility.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
slack_compatibility_test.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
status.go MM-61947 Run DND expiry job more often and round expiry time to match interval (#29938) 2025-02-25 16:20:00 -05:00
status_test.go Fix errcheck linter errors in helpers (#31578) 2025-11-12 13:00:51 +01:00
suggest_command.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
support_packet.go [MM-66840] Add CPU cores and total memory to Support Packet (#34658) 2026-01-13 16:23:32 +01:00
switch_request.go Enforce use of any instead of interface{} (#30588) 2025-03-31 10:44:34 +02:00
system.go Push Proxy Authentication (#34211) 2025-11-12 20:16:44 +02:00
team.go Enforce use of any instead of interface{} (#30588) 2025-03-31 10:44:34 +02:00
team_member.go Enforce use of any instead of interface{} (#30588) 2025-03-31 10:44:34 +02:00
team_member_serial_gen.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
team_member_test.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
team_search.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
team_stats.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
team_test.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
temporary_post.go [MM-61758] Burn on read feature (#34703) 2025-12-11 07:59:50 +01:00
terms_of_service.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
terms_of_service_test.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
thread.go optionally exclude threads in direct messages (#29042) 2024-11-14 16:57:15 +08:00
thread_test.go [MM-59367] export: enable exporting thread followers for CRT (#27623) 2024-08-29 14:06:41 +02:00
token.go Magic link (passwordless) authentication for guests (#34264) 2025-11-20 14:06:23 +01:00
typing_request.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
upload_session.go Enforce use of any instead of interface{} (#30588) 2025-03-31 10:44:34 +02:00
upload_session_test.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
usage.go Enable to AI plugin by default (#28770) 2024-11-01 06:30:25 -07:00
user.go Magic link (passwordless) authentication for guests (#34264) 2025-11-20 14:06:23 +01:00
user_access_token.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
user_access_token_search.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
user_access_token_test.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
user_autocomplete.go [MM-67118] Add Agents to @ mention autocomplete in channel (#34881) 2026-01-19 16:10:57 -05:00
user_count.go Remove remote users from the license counting and explicitly dissallow them to log in (#22582) 2023-08-14 17:54:10 +02:00
user_get.go MM-62751: [Shared Channels] Allow remote users to be discoverable in the create DM/GM modal (#30918) 2025-06-13 16:51:12 +02:00
user_search.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
user_serial_gen.go [MM-59069] Make sure OTP are actual One Time Password (#28074) 2024-09-17 00:44:32 +02:00
user_terms_of_service.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
user_terms_of_service_test.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
user_test.go MM-64692: Migrate passwords to PBKDF2 (#33830) 2025-09-11 16:43:34 +02:00
users_stats.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
utils.go perf: apply perfpsrint linter (#33967) 2025-11-28 11:23:51 -04:00
utils_serial_gen.go [MM-59069] Make sure OTP are actual One Time Password (#28074) 2024-09-17 00:44:32 +02:00
utils_test.go perf: apply perfpsrint linter (#33967) 2025-11-28 11:23:51 -04:00
version.go Update latest minor version to 11.4.0 (#34874) 2026-01-08 09:47:31 +02:00
version_test.go Expose public/ API as submodule (#23345) 2023-05-10 13:07:02 -03:00
websocket_client.go MM-56071: Track multiple threads (#25775) 2023-12-21 08:42:58 +05:30
websocket_client_test.go [MM-64654] Migrate to modern Go features (#31820) 2025-07-18 12:54:51 +02:00
websocket_message.go [MM-66359] Recaps MVP (#34337) 2026-01-13 11:59:22 -05:00
websocket_message_test.go Introduce model.AssertNotSameMap (#34058) 2025-10-27 13:16:59 -03:00
websocket_request.go Pass remote address in WebSocketMessageHasBeenPosted plugin hook (#27332) 2024-06-13 09:01:49 +02:00
wrangler.go Feature: Wrangler (#23602) 2023-12-11 15:27:34 -05:00