summaryrefslogtreecommitdiffstats
path: root/model/post.go
Commit message (Collapse)AuthorAgeFilesLines
* Add ChannelId and TeamId to PostActionIntegrationRequest (#9384)Hanzei2018-09-191-0/+2
| | | | | | * Add ChannelId and TeamId to PostActionIntegrationRequest * Add tests
* MM-11781: Basic Data Export Command Line. (#9296)George Goldberg2018-09-171-0/+13
| | | | | | | | | | | | | | | | * MM-11781: Basic Data Export Command Line. * ChannelStore new unit tests. * TeamStore new unit tests. * Unit test for new UserStore function. * Unit tests for post store new methods. * Review fixes. * Fix duplicate command name.
* Feature/search after before on (#9219)Dmitry Samuylov2018-08-281-0/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | * initial implementation of after, before, on search flags allowing to restrict the search to a specific day or a date range * missed setting beforeDate in SearchParams in one place * fixed condition when only flags are used for search without any plain terms * changed date format used for after/before/on flags to be in ISO8601 format as suggested in PR comments, added a helper function to pad month and day with zeroes allowing the user user either format, with or without leading zeroes * corrected expected compare to date setting for the TestParseDateFilterToTimeISO8601 test * fixed a bug for the scenario when you only have the date flags without any terms, added a couple of tests for that scenario * updated the date filter logic to use parameters to construct the query instead of simply appending strings together, as suggested in the pull request comments * added search unit test using date flags * added a helper function to create a test post with a createat date manually set, updated the test for search using date flags to create test posts with different createat dates to be able to better test the functionality * MM-11817 Add support for after/before/on search flags with Elasticsearch * add support to search posts to perform the search in context of the client's timezone when filtering by createat date using on: after: before: flags * updated tests to match the new signature
* Support for interactive menus in message attachments (#9285)Joram Wilander2018-08-241-3/+25
|
* Add ToJson() to PostActionIntegrationResponse (#9247)Hanzei2018-08-201-0/+23
| | | | | | | | | | | | | | | | * Add ToJson() to PostActionIntegrationResponse This commits adds a ToJson() methode to PostActionIntegrationResponse. It also adds tests for other ToJson() methods * Add PostActionIntegrationResponseFromJson function * Add PostActionIntegrationRequesteFromJson() function * Fix test names * Add testcase
* Add PostId to PostActionIntegrationRequest (#9270)Hanzei2018-08-181-0/+1
|
* MM-10833: send down computed channel props (#8953)Jesse Hallam2018-06-261-15/+2
| | | | | | | | | | | | | | | * MM-10833: send down computed channel props This allows channel headers to reference channel mentions for a client that doesn't already know about the channels in question. We intentionally don't send down the props for the autocomplete and search endpoints since they aren't used in that context, and would add unnecessary overhead. * update channel props on patch * revert to treating channel purpose as plaintext
* MM-10412: Adds deleteBy prop to posts. (#8896)Martin Kraft2018-06-011-0/+1
|
* MM-10122: Adds a mention for added-to-channel messages even when 'username ↵Martin Kraft2018-04-191-0/+1
| | | | mentions' are disabled. (#8648)
* Initial Commit of Ephemeral Message Support for System Admins (#8611)Daniel Schalla2018-04-171-0/+10
| | | | | | | | | Fixed Permission Test Fixed and extended ephemeral message tests; Removed Online/Activity Updates Set Create Time to current time gofmt
* Add Auto Responder handler (#8386)Stan Chan2018-04-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WIP Out Of Office Return error for status command if user status is OOO Ignore notifications if Out Of Office Disable AutoResponder if status is set to online Add test for AutoResponder DisableAutoResponse when manually setting status Remove check on status slash command return early if user does not exists in SendAutoResponse method Add proper error handling Add a newline after error handling Revert back to err == nil in api4/status.go Remove a.Go when using a.Publish Add name consistency with the feature auto responder Last changes for name consistency, also fix failing test with auto_responder Fix names of functions in auto responder test Add ExperimentalEnableAutomaticReplies flag Auto Responder reply to a post
* post a system message after a channel is converted from public to private ↵Saturnino Abril2018-03-271-0/+2
| | | | (#8501)
* Relax 4k post message limit (#8478)Jesse Hallam2018-03-261-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * MM-9661: rename POST_MESSAGE_MAX_RUNES to \0_v1 * MM-9661: s/4000/POST_MESSAGE_MAX_RUNES_V1/ in tests * MM-9661: introduce POST_MESSAGE_MAX_RUNES_V2 * MM-9661: migrate Postgres Posts.Message column to TEXT from VARCHAR(4000) This is safe to do in a production instance since the underyling type is not changing. We explicitly don't do this automatically for MySQL, but also don't need to since the ORM would have already created a TEXT column for MySQL in that case. * MM-9661: emit MaxPostSize in client config This value remains unconfigurable at this time, but exposes the current limit to the client. The limit remains at 4k in this commit. * MM-9661: introduce and use SqlPostStore.GetMaxPostSize Enforce a byte limitation in the database, and use 1/4 of that value as the rune count limitation (assuming a worst case UTF-8 representation). * move maxPostSizeCached, lastPostsCache and lastPostTimeCache out of the global context and onto the SqlPostStore * address feedback from code review: * ensure sqlstore unit tests are actually being run * move global caches into SqlPostStore * leverage sync.Once to address a race condition * modify upgrade semantics to match new db semantics gorp's behaviour on creating columns with a maximum length on Postgres differs from MySQL: * Postgres * gorp uses TEXT for string columns without a maximum length * gorp uses VARCHAR(N) for string columns with a maximum length of N * MySQL * gorp uses TEXT for string columns with a maximum length >= 256 * gorp uses VARCHAR(N) for string columns with a maximum length of N * gorp defaults to a maximum length of 255, implying VARCHAR(255) So the Message column has been TEXT on MySQL but VARCHAR(4000) on Postgres. With the new, longer limits of 65535, and without changes to gorp, the expected behaviour is TEXT on MySQL and VARCHAR(65535) on Postgres. This commit makes the upgrade semantics match the new database semantics. Ideally, we'd revisit the gorp behaviour at a later time. * allow TestMaxPostSize test cases to actually run in parallel * default maxPostSizeCached to POST_MESSAGE_MAX_RUNES_V1 in case the once initializer panics * fix casting error * MM-9661: skip the schema migration for Postgres It turns out resizing VARCHAR requires a rewrite in some versions of Postgres, but migrating VARCHAR to TEXT does not. Given the increasing complexity, let's defer the migration to the enduser instead.
* fix client4 post sanitization (#8219)Chris2018-02-081-6/+7
|
* PLT-7537: Move channel CLI command posts system message to channel. (#8161)Vordimous2018-02-071-0/+2
| | | | | | | | | | | | * [PTL-7537] implement feature and test * [PTL-7537] Update feature to post the the room requiring a username flag to be used * [PTL-7537] update tests with username * update test to remove changes to the test helper struct * use the basic team and user
* unnamed return (#8170)Chris2018-01-301-14/+5
|
* Merge branch 'release-4.6'Harrison Healey2018-01-231-3/+5
|\
| * PLT-8522 Added separate messages for being removed from channel or team (#8078)Harrison Healey2018-01-101-3/+5
| |
* | PLT-3383: image proxy support (#7991)Chris2018-01-221-12/+114
| | | | | | | | | | | | | | | | | | | | | | | | * image proxy support * go vet fix, remove mistakenly added coverage file * fix test compile error * add validation to config settings and documentation to model functions * add message_source field to post
* | Post a system message to the affected channel by CLI command (#7877) (#7968)Evgeniy2018-01-181-27/+29
|/
* PLT-6217-bis Fixes system message posted to Town Square when a user joins a ↵Tsilavina Razafinirina2017-12-081-7/+22
| | | | | | | | team #7863 (#7864) * Adds new string post message when a user has joined a team (#6483) * Simplifies long if statement in post.go (#6483)
* PLT-5458: If someone posts a channel link to channel_A that you don't belong ↵Chris2017-11-281-0/+17
| | | | | | | | | | | | to, it doesn't render properly (#7833) * add channel link hints to post props * optimization * update regex, add unit test * fix rebase issue
* PLT-6217 Fixes system message posted to Town Square when a member leaves a ↵Tsilavina Razafinirina2017-11-201-2/+4
| | | | | | | | | | | | | | | | | | team (#7752) * Fixes system message posted to Town Square when adding/removing team member (#6483) Fixes unit test method call to match RemoveUserFromTeam modification (#6483) Fixes system message posted to Town Square when adding/removing team member (#6483) Removes unnessary error message * Updates system message when a user leaves a team (#6483) * Changes system message when a user is removed from team (#6483) * Adds a new string to be post to town-square when a member is added to a team (#6483)
* PLT-7599: webhook post splitting (#7707)Chris2017-10-241-0/+1
| | | | | | | | * webhook post splitting * style fix * update old webhook test
* [PLT-7362] Option to add user to channel if mentioned user is not currently ↵Saturnino Abril2017-10-211-0/+13
| | | | | | | | | | | | | | | | in the channel (#7619) * Option to add user to channel if mentioned user is not currently in the channel * instead of link from server, just add component on client side to add channel member * change implementation using post.props * do clean up and add test * sanitize post.props['add_channel_member'] on post creation * move sanitize to app.CreatePost and also apply to app.UpdatePost
* Allow custom post types (#7468)Joram Wilander2017-09-271-2/+4
|
* interactive post update fix (#7477)Chris2017-09-191-10/+20
|
* Model: NewLocAppError -> NewAppError (#7450)George Goldberg2017-09-151-15/+16
|
* PLT-6403: Interactive messages (#7274)Chris2017-08-291-1/+84
| | | | | | | | | | * wip * finish first pass * requested changes * add DoPostAction to Client4
* Revert " #4755 Combining consecutive user join/leave system messages to ↵Saturnino Abril2017-08-011-9/+0
| | | | | | | | | | | | single message and few other changes." (#7072) * Revert "PLT-6603: Don't return all posts on invalid query. (#7061)" This reverts commit 25a2013890c7e07b4621fa9b18342e7f35363049. * Revert " #4755 Combining consecutive user join/leave system messages to single message and few other changes. (#5945)" This reverts commit 8a91235fb3cdc8d094dbc2eaa0d7baa447132b3c.
* #4755 Combining consecutive user join/leave system messages to single ↵Debanshu Kundu2017-08-011-0/+9
| | | | | | | | | message and few other changes. (#5945) fix 7 and 8 remove @ at "{username} joined the channel" refactor and update test
* PLT-6475: Elasticsearch Indexing Worker. (#6879)George Goldberg2017-07-111-0/+6
|
* PLT-5860 Updated copyright date (#6058)Harrison Healey2017-04-121-1/+1
| | | | | | | | | | | | * PLT-5860 Updated copyright date in about modal * PLT-5860 Updated copyright notice in JSX files * PLT-5860 Updated copyright notice in go files * Fixed misc copyright dates * Fixed component snapshots
* APIv4 put /posts/{post_id}/patch (#5883)Saturnino Abril2017-03-291-0/+50
| | | | | | * APIv4 put /posts/{post_id}/patch * Add props and edit permission
* Add pinned posts (#4217)Gabin Aureche2017-03-131-0/+1
|
* PLT-5225 Added separate post types for certain system messages (#5193)Harrison Healey2017-01-271-2/+8
| | | | | | | | | | | | * Added separate post types for system_join_leave and system_add_remove posts * Added username prop to channel deleted posts * Changed slack import to properly generate the new join/leave messages * Added username prop to channel update posts * Moved Post(AddTo/RemoveFrom)ChanneMessage into app package
* PLT-2978: Add channel purpose change system message. (#5094)George Goldberg2017-01-171-1/+2
| | | Completes original patch by David Lu.
* PLT-135 Showing "(Edited)" indicator if a message has been edited. (#4923)Debanshu Kundu2017-01-121-0/+1
|
* Fix channel_deleted post type (#4841)enahum2016-12-201-1/+3
|
* GH-4685 Post a System Message when channel is renamed (#4762)Nick Frazier2016-12-201-1/+2
| | | | | | | | | | * test changes * added system message when displayname changed * added test * gofmt
* PLT-4839 Split too-long Slack messages on import. (#4679)George Goldberg2016-12-021-5/+10
| | | | | | | | | | * PLT-4839 Split too-long Slack messages on import. This PR also takes the opportunity to make the max values for Post properties into constants for easier use elsewhere, as has previously been done for Channel properties. * Only count runes once.
* PLT-1378 Initial version of emoji reactions (#4520)Harrison Healey2016-11-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Refactored emoji.json to support multiple aliases and emoji categories * Added custom category to emoji.jsx and stabilized all fields * Removed conflicting aliases for :mattermost: and :ca: * fixup after store changes * Added emoji reactions * Removed reactions for an emoji when that emoji is deleted * Fixed incorrect test case * Renamed ReactionList to ReactionListView * Fixed :+1: and :-1: not showing up as possible reactions * Removed text emoticons from emoji reaction autocomplete * Changed emoji reactions to be sorted by the order that they were first created * Set a maximum number of listeners for the ReactionStore * Removed unused code from Textbox component * Fixed reaction permissions * Changed error code when trying to modify reactions for another user * Fixed merge conflicts * Properly applied theme colours to reactions * Fixed ESLint and gofmt errors * Fixed ReactionListContainer to properly update when its post prop changes * Removed unnecessary escape characters from reaction regexes * Shared reaction message pattern between CreatePost and CreateComment * Removed an unnecessary select query when saving a reaction * Changed reactions route to be under /reactions * Fixed copyright dates on newly added files * Removed debug code that prevented all unit tests from being ran * Cleaned up unnecessary code for reactions * Renamed ReactionStore.List to ReactionStore.GetForPost
* PLT-3105 Files table migration (#4068)Harrison Healey2016-09-301-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Implemented initial changes for files table * Removed *_benchmark_test.go files * Re-implemented GetPublicFile and added support for old path * Localization for files table * Moved file system code into utils package * Finished server-side changes and added initial upgrade script * Added getPostFiles api * Re-add Extension and HasPreviewImage fields to FileInfo * Removed unused translation * Fixed merge conflicts left over after permissions changes * Forced FileInfo.extension to be lower case * Changed FileUploadResponse to contain the FileInfos instead of FileIds * Fixed permissions on getFile* calls * Fixed notifications for file uploads * Added initial version of client code for files changes * Permanently added FileIds field to Post object and removed Post.HasFiles * Updated PostStore.Update to be usable in more circumstances * Re-added Filenames field and switched file migration to be entirely lazy-loaded * Increased max listener count for FileStore * Removed unused fileInfoCache * Moved file system code back into api * Removed duplicate test case * Fixed unit test running on ports other than 8065 * Renamed HasPermissionToPostContext to HasPermissionToChannelByPostContext * Refactored handleImages to make it more easily understandable * Renamed getPostFiles to getFileInfosForPost * Re-added pre-FileIds posts to analytics * Changed files to be saved as their ids as opposed to id/filename.ext * Renamed FileInfo.UserId to FileInfo.CreatorId * Fixed detection of language in CodePreview * Fixed switching between threads in the RHS not loading new files * Add serverside protection against a rare bug where the client sends the same file twice for a single post * Refactored the important parts of uploadFile api call into a function that can be called without a web context
* PLT-3754 EE: Add a Display Option to disable Join/Leave messages (#3808)enahum2016-08-181-1/+2
| | | | | | | | * PLT-3754 EE: Add a Display Option to disable Join/Leave messages * Differentiate between join/leave add/remove messages * Update user removed from channel text message
* Cleaning up old export code (#3601)Christopher Speller2016-07-151-3/+0
|
* Add websocket event and cache invalidation for deleting channels (#2807)Joram Wilander2016-04-271-0/+1
|
* Changed how posts are marked ephemeralhmhealey2016-02-041-7/+7
|
* Added ephemeral messages sent when a user mentions someone not in the channelhmhealey2016-02-041-5/+7
|
* PLT-7: Refactoring models to use translations (chunk 6)Elias Nahum2016-01-251-14/+14
| | | | - Add spanish translations
* PLT-1380: Post system message when user updates channel headerFlorian Orben2015-12-041-1/+2
|