* [MM-62587] Hide thread_footer when root post is deleted
* Also remove the replies line from the RHS
* Fix logic to make sure post.delete_at exists
* Fix playwright test
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* MM-62288 - add e2e to RHS focus functionality
* remove describe only
* Use existence check before closing RHS
* modify close rhs function to not fail when rhs is not opened
* avoid body to not get found
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* instantiate page in pw
* update spec
* fix storage key and require user when logging in via API
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* [MM-59089] Add a compliance export constant (#27919)
* add a useful constant
* i18n
* another constant
* another i18n
* [MM-60422] Add GetChannelsWithActivityDuring (#28301)
* modify GetUsersInChannelDuring to accept a slice of channelIds
* add GetChannelsWithActivityDuring
* add compliance export progress message; remove unused custom status
* linting
* tests running too fast
* add batch size config settings
* add store tests
* linting
* empty commit
* i18n changes
* fix i18n ordering
* MM-60570 - Server-side changes consolidating the export CLI with server/ent code (#28640)
* add an i18n field; add the CLI's export directory
* int64 -> int
* Add UntilUpdateAt for MessageExport and AnalyticsPostCount
to merge
* remove now-unused i18n strings
* add TranslationsPreInitFromBuffer to allow CLI to use i18n
* use GetBuilder to simplify; rename TranslationsPreInitFromFileBytes
* [MM-59089] Improve compliance export timings (#1733 - Enterprise repo)
* MM-60422 - Performance and logic fixes for Compliance Exports (#1757 - Enterprise repo)
* MM-60570 - Enterprise-side changes consolidating the export CLI with server/ent code (#1769 - Enterprise repo)
* merge conflicts; missed file from ent branch
* MM-61038 - Add an option to sqlstore.New (#28702)
remove useless comment
add test
add an option to sqlstore.New
* MM-60976: Remove RunExport command from Mattermost binary (#28805)
* remove RunExport command from mattermost binary
* remove the code it was calling
* fix i18n
* remove test (was only testing license, not functionality)
* empty commit
* fix flaky GetChannelsWithActivityDuring test
* MM-60063: Dedicated Export Filestore fix, redo of #1772 (enterprise) (#28803)
* redo filestore fix#1772 (enterprise repo) on top of MM-59966 feature
* add new e2e tests for export filestore
* golint
* ok, note to self: shadowing bad, actually (when there's a defer)
* empty commit
* MM-61137 - Message export: Support 7.8.11 era dbs (#28824)
* support 7.8.11 era dbs by wrapping the store using only what we need
* fix flaky GetChannelsWithActivityDuring test
* add a comment
* only need to define the MEFileInfoStore (the one that'll be overridden)
* blank commit
* MM-60974 - Message Export: Add performance metrics (#28836)
* support 7.8.11 era dbs by wrapping the store using only what we need
* fix flaky GetChannelsWithActivityDuring test
* add a comment
* only need to define the MEFileInfoStore (the one that'll be overridden)
* performance metrics
* cleanup unneeded named returns
* blank commit
* MM-60975 - Message export: Add startTime and endTime to export folder name (#28840)
* support 7.8.11 era dbs by wrapping the store using only what we need
* fix flaky GetChannelsWithActivityDuring test
* add a comment
* only need to define the MEFileInfoStore (the one that'll be overridden)
* performance metrics
* output startTime and endTime in export folder
* empty commit
* merge conflict
* MM-60978 - Message export: Improve xml fields; fix delete semantics (#28873)
* support 7.8.11 era dbs by wrapping the store using only what we need
* fix flaky GetChannelsWithActivityDuring test
* add a comment
* only need to define the MEFileInfoStore (the one that'll be overridden)
* performance metrics
* output startTime and endTime in export folder
* empty commit
* add xml fields, omit when empty, tests
* fix delete semantics; test (and test for update semantics)
* clarify comments
* simplify edited post detection, now there's no edge case.
* add some spacing to help fast running tests
* merge conflicts/updates needed for new deleted post semantics
* linting; fixing tests from upstream merge
* use SafeDereference
* linting
* stronger typing; better wrapped errors; better formatting
* blank commit
* goimports formatting
* fix merge mistake
* minor fixes due to changes in master
* MM-61755 - Simplifying and Support reporting to the db from the CLI (#29281)
* finally clean up JobData struct and stringMap; prep for CLI using db
* and now simplify using StringMapToJobDataWithZeroValues
* remove unused fn
* create JobDataExported; clean up errors
* MM-60176 - Message Export: Global relay cleanup (#29168)
* move global relay logic into global_relay_export
* blank commit
* blank commit
* improve errors
* MM-60693 - Refactor CSV to use same codepath as Actiance (#29191)
* move global relay logic into global_relay_export
* blank commit
* refactor (and simplify) ExportParams into shared
* blank commit
* remove unused fn
* csv now uses pre-calculated joins/leaves like actiance
* improve errors
* remove nil post check; remove ignoredPosts metric
* remove unneeded copy
* MM-61696 - Refactor GlobalRelay to use same codepath as Actiance (#29225)
* move global relay logic into global_relay_export
* blank commit
* refactor (and simplify) ExportParams into shared
* blank commit
* remove unused fn
* csv now uses pre-calculated joins/leaves like actiance
* remove newly unneeded function and its test. goodbye.
* refactor GetPostAttachments for csv + global relay to share
* refactor global_relay_export and fix tests (no changes to output)
* improve errors
* remove nil post check; remove ignoredPosts metric
* remove unneeded copy
* remove unneeded nil check
* PR comments
* MM-61715 - Generalize e2e to all export types 🤖 (#29369)
* move global relay logic into global_relay_export
* blank commit
* refactor (and simplify) ExportParams into shared
* blank commit
* remove unused fn
* csv now uses pre-calculated joins/leaves like actiance
* remove newly unneeded function and its test. goodbye.
* refactor GetPostAttachments for csv + global relay to share
* refactor global_relay_export and fix tests (no changes to output)
* improve errors
* remove nil post check; remove ignoredPosts metric
* remove unneeded copy
* remove unneeded nil check
* PR comments
* refactor isDeletedMsg for all export types
* fix start and endtime, nasty csv createAt bug; bring closer to Actiance
* align unit tests with new logic (e.g. starttime / endtime)
* refactor a TimestampConvert fn for code + tests
* bug: pass templates to global relay (hurray for e2e tests, otherwise...)
* add global relay zip to allowed list (only for tests)
* test helpers
* new templates for e2e tests
* e2e tests... phew.
* linting
* merge conflicts
* unexport PostToRow; add test helper marker
* cleanup, shortening, thanks to PR comments
* MM-61972 - Generalize export data path - Actiance (#29399)
* extract and generalize the export data generation functions
* finish moving test (bc of previous extraction)
* lift a function from common -> shared (to break an import cycle)
* actiance now takes general export data, processes it into actiance data
* bring tests in line with correct sorting rules (upadateAt, messageId)
* fixups, PR comments
* turn strings.Repeat into a more descriptive const
amended: one letter fix; bad rebase
* MM-62009 - e2e clock heisenbug (#29434)
* consolidate assertions; output debuggable diffs (keeping for future)
* refactor test output generator to generators file
* waitUntilZeroPosts + pass through until to job = fix all clock issues
* simplify messages to model.NewId(); remove unneeded waitUntilZeroPosts
* model.NewId() -> storetest.NewTestID()
* MM-61980 - Generalize export data path - CSV (#29482)
* simple refactoring
* increase sleep times for (very) rare test failures
* add extra information to the generic export for CSV
* adj Actiance to handle new generic export (no difference in its output)
* no longer need mergePosts (yay), move getJoinLeavePosts for everyone
* adjust tests for new csv semantics (detailed in summary)
* and need to add the new exported data to the export_data_tests
* rearrange csv writing to happen after data export (more logical)
* linting
* remove debug statements
* figured out what was wrong with global relay e2e test 3; solid now
* PR comments
* MM-61718 - Generalize export data path - Global Relay (#29508)
* move global relay over to using the generalized export data
* performance pass -- not much can be done
* Update server/enterprise/message_export/global_relay_export/global_relay_export.go
Co-authored-by: Claudio Costa <cstcld91@gmail.com>
---------
Co-authored-by: Claudio Costa <cstcld91@gmail.com>
* MM-62058 - Align CSV with Actiance (#29551)
* refactoring actiance files and var names for clarity
* bug found in exported attachments (we used to miss some start/ends)
* changes needed for actiance due to new generic exports
* bringing CSV up to actiance standards
* fixing global relay b/c of new semantics (adding a note on an edge case)
* aligning e2e tests, adding comments to clarify what is expected/tested
* necessary changes; 1 more test for added functionality (ignoreDeleted)
* comment style
* MM-62059 - Align Global Relay with Actiance/CSV; many fixes (#29665)
* core logic changes to general export_data and the specific export paths
* unit tests and e2e tests, covering all new edge cases and all logic
* linting
* better var naming, const value, and cleaning up functions calls
* MM-62436 - Temporarily skip cypress tests that require download link (#29772)
---------
Co-authored-by: Claudio Costa <cstcld91@gmail.com>
* [MA-12]: Add label to form field in channel header
* [MA-12]: Update aria attributes and tests
* [MA-12]: Update snapshots, fix e2e test
* [MA-12]: Fix E2E tests
* [MA-12]: Fix type in test
* add Standard message priority and system setting test
* Refactor message priority config and test.
* Refactor to use new priority dialog locators and checks, ensuring default standard option is correctly verified.
* Fix whitespace and formatting in message priority components.
---------
Co-authored-by: Fume <contact@fumedev.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
* [BST-183]: Removed unnecessary role and aria-level from channel header
* [BST-183]: Fix failing E2E test case
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* replace inside of comp/withtooltip
* remove overlay trigger eslint rl
* update location of prev migrated new tooltips
* copy button
* shared_channel_indicator, shared_user_indicator.tsx, size_aware_image
* actions_menu, old_admin_settings, schema_admin_settings, admin_settings
* billing_summary, brand_image_setting, edit_section_edit_table_row, elapsed_duration_cell
* permissions_scheme_summary,secure_connections/controls,system_users_column_toggler_menu,system_users_export,group/group_users/users_to_remove_groups
* team_profile,user_grid_role_dropdown,priority_labels,toggle_formatting_bar,use_emoji_picker,formatting_icon
* show_formatting,alert_banner others
* more
* snap fix
* add disabled prop to menu
* test fix for avatar
feat: Add id to WithTooltip in Avatars component to fix test failures
* combine refs in withtooltip
* channel header title favorite test fix
* priority label comp changes
* types check for children
* Update avatar.tsx
* e2e fixes
* fix E2E tests
* Remove memo from WithTooltip
I found that the web app leaks a fair bit less memory when this is removed. See https://community.mattermost.com/core/pl/gwyyoww9gtbg8fddoic9meq84y for more information
* e2e lint fixes
* e2e fixes
* Fix test style issue
---------
Co-authored-by: yasserfaraazkhan <attitude3cena.yf@gmail.com>
Co-authored-by: Harrison Healey <harrisonmhealey@gmail.com>
Co-authored-by: Mattermost Build <build@mattermost.com>
* footer
* changes
* edit
* some changes
* form submit
* ci fixes
* rev fix 1
* ci fix
* Fixed some styles
* Added delete on empty post option
* fix E2E tests
* fix more tests
* Fixed UI isses when editing post in RHS
* Fixed formatting bar behjaviour
* Reset draft to original post when cancelling or escaping
* DFisplayed @mention warning
* fixed existing test
* Added test for @mention during editing
* Displayed long message warning during edit post
* Removed a console log:
* Handled message with image links when using image proxy
* Fixed a11y styling for button
* Fixed emoji picker keyboard shortcut
* Checnged edit box ID
* Added draft test
* Fixed edit text box id
* e2e fix
* e2e fix
* handled deleting empty fposts
* Fixed e2e test
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: Harshil Sharma <harshil.sharma@mattermost.com>
Co-authored-by: yasserfaraazkhan <attitude3cena.yf@gmail.com>
* Remove label from add_user_to_channel_modal.tsx
The label isn't needed here because it was incorrectly used for error
text. I had to add the display: block to the .modal__error class to
ensure the top margin was the same as before, but I could remove the
font-weight from that class since it was only needed to counteract
the weight that Bootstrap adds for labels.
:
* Remove label from bleve_settings.tsx and replace with SettingSet
It doesn't seem correct to use a label here because it isn't tied to a
single form field. Since this component is a set of fields (a fieldset,
if you will) that looks like a setting, it seemed like a good place to
use SettingSet.
* Remove label from brand_image_setting.tsx, replace with SettingSet, and improve a11y of upload button
Like the last commit for BleveSettings, this setting is multiple inputs,
so it makes more sense as a fieldset/SettingSet.
While doing that, I also changed how the file upload button in
BrandImageSetting works because the new HTML broke how it worked before.
Previously, we overlayed an transparent file input over the button for it,
but the sizing for that got messed up, and that causes some weird
accessibility and breaks some things like hover effects. Instead, the
file input is now fully hidden, and clicking on the button triggers the
file input programatically. The behaviour is otherwise the same, but the
button now shows the hover style and there's only one keyboard focus for
the button.
* Remove some more labels from PluginManagement and use SettingSet there
* Add for attribute to labels in compliance_reports.tsx
* Use SettingSet and add the for attribute to another label in DatabaseSettings
* Use SettingSet in ElasticsearchSettings
* Add for attribute to label in GroupProfile
* Don't use label for help text in TeamEditionRightPanel
For this, I had to add a new CSS class to make the element appear as if
it was a label element as affected by Bootstrap. There's likely some
cases that this won't work, but it applies the same margin and
font-weight.
* Don't use label for help text in TrialBanner
* Don't use label for a heading in PasswordSettings
* Don't use label element in table in ChannelModeration
This text is more like a legend element in SettingSet, but I didn't use
that because it's in a table. This could possibly be given its own
CSS class.
* Don't use label element for error text in AdvancedTextEditor and MessageSubmitError
* Don't use label for help text and add for attribute in RenameChannelModal
* Don't use label for error text in SelectTeam
* Add for attribute to labels in various components
* Turn jsx-a11y/label-has-associated-control to an error
* Fix E2E test
* Enable eslint-plugin-jsx-a11y and add standard rules as warnings or errors
* Fix jsx-a11y/anchor-has-content in BooleanSetting and add SettingSet
The invisible anchor was presumably supposed to let people jump from one
setting's help text to another setting. That didn't work for boolean
settings because there's no element with the ID of the setting. Instead
of an empty anchor, we needed to give something else that ID.
To improve the semantics of those settings, I also put those settings
into a fieldset with a legend containing the setting's label text
instead of using an actual label element as per how it's done on the
MDN. We'll probably end up using the SettingSet for other settings as
well.
Finally, I also fixed the link used by admin.service.useLetsEncryptDescription.disabled
to point to the right place and made it so that the link would open in
the current tab. Ideally, I'd also remove the Markdown from that help
text, but there's a lot here already.
* Fix jsx-a11y/anchor-has-content in CheckboxSetting
* Use SettingSet in PasswordSettings to improve semantics and layout
The main reason for doing this is to use a proper legend and fieldset
for these settings, but it also has the benefit of removing the extra
spacing from in between these settings.
* Change CopyText to use a button and require an aria-label for it
This fixes two ESLint warnings:
- This was failing jsx-a11y/anchor-has-content because it was an empty
anchor element. I fixed that by giving it an aria-label matching the
tooltip of the CopyText, but that required that the label was a string,
so I had to change how CopyText is used. I also made the label required
so that people give an accessible explanation of what is being copied.
- This was also failing jsx-a11y/anchor-is-valid because it should be a
button instead of a link. I applied the btn-link class and made it so
that that doesn't override the link's height which hopefully doesn't
cause problems anywhere else.
This is to fix jsx-a11y/anchor-has-content and jsx-a11y/anchor-is-valid
in the component. The ESLint plugin is complaining that this component
is using an anchor instead of a button element, so I changed that
* Turn jsx-a11y/anchor-has-content to be an error
* Update snapshots
* Remove lingering reference to nested prop which has been removed
* Changing system console password settings to a list and update padding for alerts in it
* Fix typo in SettingSet
* Update E2E tests to enable Elasticsearch by ID and remove duplicate enableElasticSearch helper
* Update E2E test to look for a legend instead of a label
* Fix typo in snapshot
* reduce usage of Utils.localizeMessage
As we begin to transition to react-intl's `formatjs` for extraction, our custom wrappers like `Utils.localizeMessage` prevent an adoption roadblock.
This is the first in a series of PRs to begin to migrate away in favour of:
* `useIntl` when inside React functional component
* use `injectIntl` and use access the `intl` prop from class components
* use the new `getIntl`, leveraging a memoized `createIntl` and the store outside of React components
I'm pausing in this effort to get a feel from peers on both the substance of these changes and best practices in supporting them.
* prefer shallowWithIntl, renderWithContext, and local injectIntl wrapping
* revert unintentional whitespaces
* clarify getIntl, add minor unit test
* avoid triggering mmjstool
* update e2e tests
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
* feat: Migrate MM-53377 regression test from Cypress to Playwright
* fix: Update mm_53377 regression test to use admin client for setup
* fix: Correct admin client usage in mm_53377 regression test
* refactor: Standardize mm_53377 Playwright test with consistent naming and imports
* fix: Mark MM-T53377 test as fixme for investigation
* Migrating mm_53377_regression_test_spec.js cypress test to playwright
* Fixing linter errors
* Addressing PR review comment
* Fixing broken test
* Added support for S3 storage classes
* Added missing translations for S3 storage class
* Changed default storage class values to preserve original behaviour
* Changed storage class description and example
* Fix translations ordering
* Change configuration defaults to empty strings
* Remove redundant empty string check
* Validate storage class variable against constants from S3 API docs
* Validate export storage class against constants
* Use slices for config validation
* Applied patch for translation ordering
* Add test notification tool
* Add frontend styles
* Remove option from admin view
* Refactor create post and add translations
* Fix several CI errors
* Fix API and frontend snapshots
* Refactor trailing and leading icon on buttons
* Add different button states
* i18n-extract
* Fix wrong text
* Add tests
* Fix wrong string
* Fix test
* feat: E2E send test notifications (#28371)
* Refactor send desktop notification
* Address rest of the feedback
* Fix tests
* Add correct link
* Fix test
---------
Co-authored-by: Mattermost Build <build@mattermost.com>
Co-authored-by: yasserfaraazkhan <attitude3cena.yf@gmail.com>