| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
I added this as part of a separate PR that was deferred for now, but
figured the unit test coverage would still be useful.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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.
|
|\| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* rename variables in testPostStoreGetPostsWithDetails
This helps to clarify the structure of the posts under test.
* clarify and expand existing testPostStoreGetPostsWithDetails assertions
* expand testPostStoreGetPostsWithDetails assertions
This verifies that replies to posts in the window, themselves not in the
window (because of a non-zero offset) are still fetched. They were
previously missing.
* MM-9770: rewrite getParentsPosts to improve performance
See discussion on ~developers-performance, but the basic idea here is to
force the database to use the `PRIMARY` index when fetching posts
instead of trying to filter down by channel and doing a scan.
|
|\| |
|
| | |
|
| |
| |
| |
| | |
activation/deactivation (#8415)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* sort by lastActivity
* added status ordering to Users
* sort offline before dnd
* remove data not needed
* added seperate call for when order=‘status’ is on GetUser request
* remove PrintLn
* styling fix
* remove mistake
* mistake 2
* better comment
* explicit if statemnt
* writing tests
* removed manually added mocks
* generated mock
* ICU-668 Added unit tests
* style fix
* sort by lastActivity
* added status ordering to Users
* sort offline before dnd
* remove data not needed
* added seperate call for when order=‘status’ is on GetUser request
* remove PrintLn
* styling fix
* remove mistake
* mistake 2
* better comment
* explicit if statemnt
* writing tests
* removed manually added mocks
* generated mock
* ICU-668 Added unit tests
* style fix
* reverse dnd and offline
* Fixed app.SaveStatusAndBroadcast
* Fixed incorrect merge
* Fixing incorrect merge again
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Adding ChannelMemberHistory table records when DM channels are created. This ensures that both participants in a DM are shown in compliance export, even if only one of them typed anything
* Direct/Group Message channels now get pretty display names for the purpose of compliance exports
* Fixed string formatting in t.Fatal calls
* Changed uses of ChannelMemberHistory over to ChannelMemberHistoryResult in tests. This should have been done as a part of the work in XYZ-110, but seems to have been missed in this branch for some reason
|
| |
| |
| |
| |
| |
| |
| |
| | |
* Add invalidation metrics for store caches
* Increment session invalidation metric
* Fix tests
|
|\| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* PLT-7567: Integration of Team Icons
* PLT-7567: Read replica workaround, upgrade logic moved, more concrete i18n key
* PLT-7567: Read replica workaround, corrections
* PLT-7567: upgrade correction
|
|\| |
|
| |
| |
| |
| |
| |
| |
| |
| | |
* Cherry-picking 7b2861de3a09cf00d00b0872cc537d54302c4bfa to master because enterprise/master has code in it that enterprise/release-4.7 does not, and I don't want enterprise/master to break the next time somebody merges enterprise/release-4.7 to enterprise/master
* Renamed file to match existing scheme
(cherry picked from commit 8c22c5c6c6f835a6e73faf19036bad2a51bb9127)
|
|\| |
|
| |
| |
| |
| |
| |
| |
| |
| | |
* Update GetPosts caching to work for non-60 limits
* Only cache on limits of 30/60 and add test
* Add comments clarifying 30 and 60 limits
|
|\| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* Added username to ChannelMemberHistory struct in anticipation of supporting GlobalRelay in Compliance Export
* Removed translation from debug output - this makes it complicated to use utils functions from tests in the enterprise repo
* Added an advanced email function that allows for greater control over message details. Updated MessageExport config to support GlobalRelay. Added attachment support to InBucket unit tests
* Moving templates in from enterprise to solve test issues
* Added export format to diagnostics
* Changed email attachment code to use FileBackend so that S3 storage is properly supported
|
|\| |
|
| |
| |
| |
| |
| |
| | |
* optimize channel autocomplete query
* move to new autocomplete endpoint
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* XYZ-13: Update Permission and Role structs to new design.
* XYZ-10: Role store.
* XYZ-9/XYZ-44: Roles API endpoints and WebSocket message.
* XYZ-8: Switch server permissions checks to store backed roles.
* XYZ-58: Proper validation of roles where required.
* XYZ-11/XYZ-55: Migration to store backed roles from policy config.
* XYZ-37: Update unit tests to work with database roles.
* XYZ-56: Remove the "guest" role.
* Changes to SetDefaultRolesFromConfig.
* Short-circuit the store if nothing has changed.
* Address first round of review comments.
* Address second round of review comments.
|
|
|
|
|
|
| |
* Add POST /emoji/search and GET /emoji/autocomplete API endpoints
* Add constant to be clearer
|
| |
|
|
|
|
|
|
| |
* Move session clean-up to daily task
* Split delete query into batches
|
|
|
|
|
|
|
|
| |
* Add /users/tokens/search endpoint + tests
* Fix check-style
* Unnecessary deletion
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Added /users/tokens/all endpoint
- UserAccessStore now has getAll method
- Added tests
- Added route
- Added handler
* Remove space fix check-style
* Remove blank space check-style
* Fixes for make check-style
* Remove extra code that is un-needed in user_test.go
* Rename endpoint + grammar
- Renamed /users/tokens/all to /users/tokens
- Renamed getUserAccessTokens to getUserAccessTokensForUser
- Renamed getAllUserAccessTokens to getUserAccessTokens
- Minor Grammar changes
* Add localization for sql_user_access_token.get_all
* Fix minor plural spelling
|
|
|
|
|
|
|
|
|
|
| |
* PLT-8312: Use combined LIKE/Full Text search for channels.
* Code tidyup
* Get it working consistently and update unit tests.
* Fix code style.
|
|
|
|
|
|
|
|
| |
* fix races
* revert unintentional change
* fix test as intended
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ChannelMemberHistory Data is Missing (#7951)
* Added a less accurate ChannelMembers fallback that is used if export period occurs before MessageExport was enabled
* Fixed test names
* Improved testing
* Made hasDataFromBefore() a little less strict
* Fixed the test to cleanly truncate the ChannelMemberHistory table without exposing the db via the interface
* Renamed a function for better clarity
* Binary logic is hard
|
|
|
|
|
|
|
|
|
|
| |
* Changed the channel member history purge function to match pattern established by other data retention purge methods
* Simplifying the channel member history store and associated tests
* Regenerating mocks
* Using a constant
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Created message export scheduled task
* Added CLI command to immediately kick off an export job
* Added email addresses for users joining and leaving the channel to the export
* Added support for both MySQL and PostgreSQL
* Fixing gofmt error
* Added a new ChannelMemberHistory store and associated tests
* Updating the ChannelMemberHistory channel as users create/join/leave channels
* Added user email to the message export object so it can be included in the actiance export xml
* Don't fail to log a leave event if a corresponding join event wasn't logged
* Adding copyright notices
* Adding message export settings to daily diagnostics report
* Added System Console integration for message export
* Cleaned up TODOs
* Made batch size configurable
* Added export from timestamp to CLI command
* Made ChannelMemberHistory table updates best effort
* Added a context-based timeout option to the message export CLI
* Minor PR updates/improvements
* Removed unnecessary fields from MessageExport object to reduce query overhead
* Removed JSON functions from the message export query in an effort to optimize performance
* Changed the way that channel member history queries and purges work to better account for edge cases
* Fixing a test I missed with the last refactor
* Added file copy functionality to file backend, improved config validation, added default config values
* Fixed file copy tests
* More concise use of the testing libraries
* Fixed context leak error
* Changed default export path to correctly place an 'export' directory under the 'data' directory
* Can't delete records from a read replica
* Fixed copy file tests
* Start job workers when license is applied, if configured to do so
* Suggestions from the PR
* Moar unit tests
* Fixed test imports
|
|
|
|
|
|
|
|
|
|
|
|
| |
to, it doesn't render properly (#7833)
* add channel link hints to post props
* optimization
* update regex, add unit test
* fix rebase issue
|
|
|
|
|
|
|
|
| |
* Add plugin key value store support
* Add localization strings
* Updates per feedback
|
|
|
|
|
|
|
|
| |
* role refactor
* add missing file
* fix web test
|
| |
|
| |
|
|
|
|
|
|
| |
* remove unused variables / code
* fix bug in testPostStoreGetOldest
|
| |
|
|
|
|
|
|
| |
* store mocks
* add example
|
|
|
|
|
|
| |
* [PLT-7364] Ability to Direct Message yourself
* [PLT-7364] add tests
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add column to UserAccessTokens table
* PLT-7794 Add user access token enable/disable endpoints
* replaced eliminated global variable
* updates to user_access_token_store and upgrade.go
* style fix and cleanup
|
|
|
|
|
|
|
|
|
|
|
|
| |
* use tmpfs containers for api/api4, move and speed up cli tests
* minor optimizations
* add missing files, fix pre-existing race condition
* add . to TestMain check
* add requested log message
|
|
|
|
|
|
|
|
|
|
| |
(#7603)
* fix in:channel search when channel name/displayname includes `-`
* fix failing test in PostgreSQL
* add lowercase indexes of channel's name and displayname to postgresql, and add unit tests
|
|
|
|
|
|
|
|
|
|
|
|
| |
* app cleanup
* whoops, forgot a file
* some minor cleanup
* longer container deadline
* defensive checks
|