* [CORL-863] Allow streams to be converted/configured to Q&A (#2809)
* Create preliminary schema changes for Q&A
Adds a mode and expert User onto the StorySettings.
Adds a mode selection drop down on a story's
Configure tab.
CORL-863
* Allow multiple experts, remove form elements from search
Makes the previous expert user on a Q&A story now
an array of users who can be assigned.
Converts the previous form based search that was
pulled from the admin community area into a set
of events built on callbacks.
CORL-863
* Create addExpertToStory mutation
CORL-863
* Create removeExpertFromStory mutation
CORL-863
* Conditionally show the the expert selection options
CORL-863
* Create a dropdown search control for Q&A experts
CORL-863
* Fixing up tests to match new QA stream options
Adds a few localization fixes to make sure tests
pass.
Updates existing snapshots.
CORL-863
* Add load more button to expert search list
CORL-863
* Update experts query to match react upgrades
CORL-863
* Move the Q&A config to its own section under stream config
Create enable and disable Q&A mutations/button toggle.
CORL-863
* Fix alignment and layout of expert list items
CORL-863
* Define translations and update tests
CORL-863
* Use official copy for Q&A config
CORL-863
* [CORL-856] Show expert badge on comments (#2829)
* Create preliminary schema changes for Q&A
Adds a mode and expert User onto the StorySettings.
Adds a mode selection drop down on a story's
Configure tab.
CORL-863
* Allow multiple experts, remove form elements from search
Makes the previous expert user on a Q&A story now
an array of users who can be assigned.
Converts the previous form based search that was
pulled from the admin community area into a set
of events built on callbacks.
CORL-863
* Create addExpertToStory mutation
CORL-863
* Create removeExpertFromStory mutation
CORL-863
* Conditionally show the the expert selection options
CORL-863
* Create a dropdown search control for Q&A experts
CORL-863
* Fixing up tests to match new QA stream options
Adds a few localization fixes to make sure tests
pass.
Updates existing snapshots.
CORL-863
* Add load more button to expert search list
CORL-863
* Update experts query to match react upgrades
CORL-863
* Move the Q&A config to its own section under stream config
Create enable and disable Q&A mutations/button toggle.
CORL-863
* Fix alignment and layout of expert list items
CORL-863
* Define translations and update tests
CORL-863
* Use official copy for Q&A config
CORL-863
* Show expert badges on comments when Q&A is enabled
CORL-856
* Update mutation responses and tests due to added expert fields
CORL-856
* Use EXPERT user tags to denote expert users
Removes the need for viewerIsExpert and
authorIsExpert loader/resolvers on Stories
and Comments respectively.
CORL-856
* [CORL-879] Add an unanswered tab to stream when in Q&A mode (#2838)
* Create preliminary schema changes for Q&A
Adds a mode and expert User onto the StorySettings.
Adds a mode selection drop down on a story's
Configure tab.
CORL-863
* Allow multiple experts, remove form elements from search
Makes the previous expert user on a Q&A story now
an array of users who can be assigned.
Converts the previous form based search that was
pulled from the admin community area into a set
of events built on callbacks.
CORL-863
* Create addExpertToStory mutation
CORL-863
* Create removeExpertFromStory mutation
CORL-863
* Conditionally show the the expert selection options
CORL-863
* Create a dropdown search control for Q&A experts
CORL-863
* Fixing up tests to match new QA stream options
Adds a few localization fixes to make sure tests
pass.
Updates existing snapshots.
CORL-863
* Add load more button to expert search list
CORL-863
* Update experts query to match react upgrades
CORL-863
* Move the Q&A config to its own section under stream config
Create enable and disable Q&A mutations/button toggle.
CORL-863
* Fix alignment and layout of expert list items
CORL-863
* Define translations and update tests
CORL-863
* Use official copy for Q&A config
CORL-863
* Show expert badges on comments when Q&A is enabled
CORL-856
* Update mutation responses and tests due to added expert fields
CORL-856
* Use EXPERT user tags to denote expert users
Removes the need for viewerIsExpert and
authorIsExpert loader/resolvers on Stories
and Comments respectively.
CORL-856
* Show an unanswered comment stream when Q&A is enabled
CORL-879
* Do not visually show the unanswered tag
CORL-879
* [CORL-859] Convert Featured stream into Answered for Q&A (#2842)
* Create preliminary schema changes for Q&A
Adds a mode and expert User onto the StorySettings.
Adds a mode selection drop down on a story's
Configure tab.
CORL-863
* Allow multiple experts, remove form elements from search
Makes the previous expert user on a Q&A story now
an array of users who can be assigned.
Converts the previous form based search that was
pulled from the admin community area into a set
of events built on callbacks.
CORL-863
* Create addExpertToStory mutation
CORL-863
* Create removeExpertFromStory mutation
CORL-863
* Conditionally show the the expert selection options
CORL-863
* Create a dropdown search control for Q&A experts
CORL-863
* Fixing up tests to match new QA stream options
Adds a few localization fixes to make sure tests
pass.
Updates existing snapshots.
CORL-863
* Add load more button to expert search list
CORL-863
* Update experts query to match react upgrades
CORL-863
* Move the Q&A config to its own section under stream config
Create enable and disable Q&A mutations/button toggle.
CORL-863
* Fix alignment and layout of expert list items
CORL-863
* Define translations and update tests
CORL-863
* Use official copy for Q&A config
CORL-863
* Show expert badges on comments when Q&A is enabled
CORL-856
* Update mutation responses and tests due to added expert fields
CORL-856
* Use EXPERT user tags to denote expert users
Removes the need for viewerIsExpert and
authorIsExpert loader/resolvers on Stories
and Comments respectively.
CORL-856
* Show an unanswered comment stream when Q&A is enabled
CORL-879
* Create preliminary schema changes for Q&A
Adds a mode and expert User onto the StorySettings.
Adds a mode selection drop down on a story's
Configure tab.
CORL-863
* Do not visually show the unanswered tag
CORL-879
* Allow multiple experts, remove form elements from search
Makes the previous expert user on a Q&A story now
an array of users who can be assigned.
Converts the previous form based search that was
pulled from the admin community area into a set
of events built on callbacks.
CORL-863
* Create addExpertToStory mutation
CORL-863
* Create removeExpertFromStory mutation
CORL-863
* Create a dropdown search control for Q&A experts
CORL-863
* Fixing up tests to match new QA stream options
Adds a few localization fixes to make sure tests
pass.
Updates existing snapshots.
CORL-863
* Add load more button to expert search list
CORL-863
* Update experts query to match react upgrades
CORL-863
* Move the Q&A config to its own section under stream config
Create enable and disable Q&A mutations/button toggle.
CORL-863
* Fix alignment and layout of expert list items
CORL-863
* Define translations and update tests
CORL-863
* Show expert badges on comments when Q&A is enabled
CORL-856
* Use official copy for Q&A config
CORL-863
* Update mutation responses and tests due to added expert fields
CORL-856
* Use EXPERT user tags to denote expert users
Removes the need for viewerIsExpert and
authorIsExpert loader/resolvers on Stories
and Comments respectively.
CORL-856
* Create the answered stream for Q&A
CORL-859
* Sort the Q&A on Most Voted by default
CORL-859
* Fix type mismatch between post comment form and fragments
CORL-859
* Adding localizations for Q&A tags
* Hide feature flags in Q&A streams
* Allow experts to clear answered questions
Can click a button that shows up in the unanswered
tab under answered questions to refresh the stream,
clearing the answered questions from that tab.
* Show arrow upvote icon when in Q&A mode
Also localized the upvote text so it can
be translated.
* Hide mod/report buttons on answered questions
* Remove unnecessary fragment container
* Remove errant debug console log
* Make story mode required on story settings
* Make remove button outlined, not filled
* Further schema changes around Q&A and experts
Rename add/remove story expert to removeStoryExpert
and addStoryExpert naming.
Replace enableQA and disableQA mutators with single
updateStoryMode mutator.
* Remove story mode from UpdateStorySettings
* Replace inline string val's with enum
* add dependencies to useEffect
* docs cleanup around tags.type index check
* Approve a question when it is answered in Q&A
Approves using the author's id as the moderator
* Add comment around use of TAG on comments edge
* Use tagFilter instead of $elemMatch to filter by tags
* Improve responsive styles for expert list items
* Update copy to "Done" from "Remove answered questions"
* Text styling for no users found text
Styles the expert search list to have proper
text styling when no users are found for the
search keyword.
* Remove duplicate checks around story experts
Not necessary as Mongo does this for us.
* Fix a missed "sort imports" during rebase
* Refactor Q&A moderation phases for clarity
Simplify logic and update comments.
Rename: "answered" -> "tagExpertAnswers"
Rename: "unanswered" -> "tagUnansweredQuestions"
* Remove username & email from add expert mutation
* Format expert list emails with Localized
* Break out no comments logic into fragment
* Remove ref handling from expert search field
Use value assignment on TextField instead.
* Replace Box with Flex and CSS
* Show Q&A tooltip on Answered tab
Co-authored-by: Kim Gardner <kgardnr@gmail.com>
* feat: initial webhook impl
* feat: added support for key rotation
* feat: harmonized fetcher
* feat: added expired secrets cleaning
* feat: event system refactor
* feat: added story event
* feat: simplfiied webhook handler
* feat: added ref's to locations where user events can be added
* feat: added UI to support webhooks
* fix: renaming some Webhook -> WebhookEndpoint
* fix: review comments to adjuist flow
* feat: added localizations
* fix: linting, updated snapshots
* fix: adapted for new fluent
* fix: rearranged folders
* fix: linting
* feat: added webhooks documentation
* feat: improved toc generation
* feat: added some tests to webhooks
* fix: chain transition hooks
* feat: added tests around webhook ui
* fix: renamed events
* fix: adjusted circle markdown linting
* fix: adjusted doctoc script call
* review: review fixes
* review: review comments
* review: adjusted signing secret confirmation
* review: adjusted styles to harmonize button usage
* fix: updated snapshots and tests
* review: move form out of webhooks
Moved the form out of the webhooks by relocating the layout used for the
route associated with the configure routes.
* fix: fixed bugs and snapshots with tests
* feat: revised slack message format to use block api
* fix: fixed a small text bug
Co-authored-by: Vinh <vinh@vinh.tech>
Co-authored-by: Kim Gardner <kgardnr@gmail.com>
* resovle import error by removing useContext from ui component
* update snaps
* create useUIContext hook
* add site and community models
* create sites and communities on install
* add site name to install wizard
* add site id to stories
* pass site id to stream query in embed
* fix spec
* add sites query
* list sites in organization config
* add route for new sites
* add create site mutation
* view and update sites
* show embed codes for sites
* add site id to comments
* allow filtering moderation queues by site id
* add site selector to queue
* move sites config routes
* Revert "move sites config routes"
This reverts commit 4ed5345d3e1df6263f8390b64214956c43c4d8cd.
* update sites routes
* show site name in moderate card
* remove site selector from queue selector
* style create site form
* edit site form
* clean up ts
* move :storyID paths to /storeis/:storyID
* make queues respect site id
* add site switcher
* styles for site selector
* add global notifications
* style app notifications
* clear notifications after x miliseconds
* use notification component in add site form
* fix types
* make notifications dismissable
* dismiss site created notification
* remove button letter spacing if lowercase
* filter stories by site in search
* add site name to story search results
* add site column to stories table
* filter stories table by site
* make sure notification displays after site creation
* paginate sites table
* paginage site selector
* add paginated site filter to stories table
* fix merge conflicts
* sort by createdAt
* default to 20 sites
* delete comments
* add translation tags
* make site ID not mandatory
* Fix tests and specs
* only include site id in embed code for multisite
* update tenant cache when adding first site
* only show site selector if multiple sites
* use story url instead of site id for story upsert
* update snaps
* make ui conditional on multisite
* update snaps and remove unnecessary site ID
* sloppily calculate counts for filtered queues
* get origins of allowed domains
* add migration
* enable migration
* only show permitted domains if mulltisite is false
* remove site id from embed code
* update snaps
* undo updates to singletonresolver
* remove refernces to communities
* fix mints
* remove community reference
* update copy in installation
* use sites services in installer
* remove unused loader
* correct error text for useNotification
* order sites by name
* make multisite a computed property
* use map/filter instead of for/of for url origins
* add missing/incorrect translations
* remove references to siteID
* remove references to tenant isURLpermitted
* add comments to schema updates
* simplify filtering stories by site
* remove domains config from advanced
* fix: adjusted CSP header generation
* add migration to create indexes on site
* clear notifications on navigate
* remove count for filtering by site
* throw duplicate error for allowed domains
* handle errors for create/update sites
* remove contacturl and contactemail from sites
* fix types for counts
* sort imports
* ensure props get passed down to link version of button component
* add url and email fields back into organization config
* sort imports
* fix moderation queues resolver types
* fix appearance of sites dropdown
* add status role to notificaiton
* remove duplicate layout file
* fix: rename allowedDomains -> allowdOrigins
* move Link conditional from button to basebutton component
* fix merge conflict
* fix mutation optimistic response
* make sure to prop gets passed to link
* change labels on install steps
* show story's site in site selector when moderating by story
* feat: support site counting
* update snap
* remove multisite from settings
* move paginated select to admin/components
* fix circular import errors
* remove uicontext component from v2 timestamp
Co-authored-by: Wyatt Johnson <accounts+github@wyattjoh.ca>
* CRUD announcements
* only show announcement if not disabled
* make announcements dismissable
* add announcement mutations
* update announcement form logic
* style announcements on stream
* update snap
* localize strings
* close form if announcement is removed
* move announcement config below sitewide commenting config
* move date calculation inside useMemo
* move announcementconfig code to announcementconfigcontainer
* use coralContext for localStorage
* fix type of announcement createdAt
* move announcement form to modal
* remove payload pruning from configure route
* simplify announcement display logic
* make validation message full width
Co-authored-by: Kim Gardner <kgardnr@gmail.com>
We don't want to clog up the variables list with every
design token from AirTable. Instead, more efficient to
use Post CSS var's that compile down into the CSS bundle
more efficiently.
CORL-748
* Semi-bold selected text on radio buttons
Makes it very obvious which item is selected.
CORL-875
* fix: updated snapshots
Co-authored-by: Wyatt Johnson <accounts+github@wyattjoh.ca>
* fix: addresses CORL-848
Fixed copy for new commenters feature.
* fix: address CORL-847
Revert the line hight changes on select fields for now.
* fix: addressed CORL-851
Changed copy on CSS field.
* fix: addressed CORL-840
Changed deletion window to 24 hours.
Refactored durations to use TIME enum.
* Bump line-height on select to account for hanging font characters
Prevents characters like "g" or "j" being cut off at the
bottom of the select.
CORL-829
* Create new tall line height
Use it for the select boxes to allow for dangling
characters like 'g' and 'j'.
CORL-829
* CORL-729 Upgrade final form, fix and improve tests
This is a squashed rebase from these commits:
a300b31c23ab11e5e6f0668bc03ece7697360aaa feat: error on optimisic response warnings during test
dd8a9776865ec41d346e23ae0743d0d4fb0caa21 fix: turn off @typescript-eslint/prefer-regexp-exec rule
b995daacf1722cace60d755e672cb6a3a20d6bc2 feat: mute false warnings in test
e44f9e28307cd63a82c1fb7ac013667dd7b7bc46 fix: wrap remaining tests with act
afbd4329b97f3dbc9f873ea4ff234d98bb651ccf feat: fail when act(async () => ...) without await warnings
51dfb60b7d75411ba2e1a28db33f4aba5cf84de1 feat: fail tests with act warnings
97f93546ed8113e207882411eb4cdb7675b0796c fix: mock window.resizeTo globally in tests
850958b8c4d2fc0aca67ae580296433af223f8ab fix: more tests with act
24c05ab88e9a416e4962acc3f20f2c764ba07657 fix: wrap charCountEditComment test in acts
ed590b82d147470bba74055dc682e6b70d2e76fb fix signInWithEmail
4a2b9402cb6ce9565d99ae1a950eaa422ff603c3 fix: PostCommentFormContainer
815ebe6ef364d954d4bd0a35495934c9d014170b fix: use final form initialize instead of reset and remove obsolete
d3101f2112ed3ffe8d06609620e31e6655d2cf6d Merge branch 'feature/CORL-729-final-form' of https://github.com/coralproject/talk into feature/CORL-729-final-form
a0658da610a5f39b6fae78ffb8dd291b22d54e50 fix: addEmailAddress
60f7fc99a44dfa49dfd401a0ef49c60973b3e8e3 fix: use proper act pattern in renderConfigure.spec.tsx
d66bdfc2245c2b1ee03a1b3a3a56f1d5ba14ddc4 Stop propagation of Modal content click events (#2706)
ec6689594136e22a5b9f05ea284162702dc4955d fix: use proper act pattern in createUsername.spec.tsx
ef239496964a5f9a91ee1c4424ad81537c4f47fe fix: stream configuration
c7e06a0c6aef6b299c41392af81f8a20855028bf fix: user proper act pattern in streamConfiguration
9712e659e394a898500ed649464ff14d4870e589 Merge branch 'feature/CORL-729-final-form' of https://github.com/coralproject/talk into feature/CORL-729-final-form
9e5cfbaf3593615b457055de23f187fa07edd4c4 fix: signIn test
99b44a4a1bbb7ff2cd44c6821ad33b80f90c4a99 fix: user proper act pattern in stories.spec.tsx
ed7c1a92f93ab9aaa85ff92837b0ed21560cb358 fix: user proper act pattern in addEmailAddress
a04b392cb2148b9a24791b062027796c409d053e fix: remove obsolete snapshots
59df67c0f9b9d26c74e2cca7d333f5868b0b202d fix: signUp test
7656f179df95b4cd96b37afbc88a1c3a2944fdf4 fix: use proper act pattern on createPassword
85246fbf1f9ab49ad3a09c11ab79bf537059b548 fix: use correct act() pattern in createUsername.spec.tsx
d5239373a2d1bbed0bfe8c1ca62ef6a70ef5c7d9 fix: the correct way to use act on form submit :-)
d84ecd168354f4acb422a5ddb725fb8faf9c3184 fix: moderation test
d8df62ab1a6486144684ff917c47e6e375ffbe03 fix: reportComment test
2756e3184bb292168e8d34e201f340c3799941e6 fix: auth tests
a28695dbdd313a7bc3dade9ac1f92d6ef0061526 Properly handle final-form actions in tests
2fafc8ea3458c5b15b66f3d65f0947672dd1a516 Update snapshots now that final form isn't overwriting props
1f9bbaec8678a7653124898ba4a2e84ddc1ef243 fix: prevent final form from overwriting field props
f6c66c003d1917db2dcb3f757e8a303266c381fa fix: prevent final form fields overwrite out props
48d1fc7318ee4ba7bf72839127e9a0b1487c1729 chore: rename translation string
728373da5728a4e7c039bd0c3a3cf0037e9f5177 fix: purge relay metadata from request
7cdea925087a6b9b6e318bbb1b31b798be87dc2f fix: radiobuttons
9735bae79222219a81a28d458976a596201b650b chore: revert obsolete checks
0b556e1693584430a5814e81d87b0f233efd1a30 fix: refactor admin configure
b245afc7b196035bcb454e031c966e63c77ce522 fix: implement withForm HOC
5787400051211f5d2e1773d7207f32b66b02a2a1 Update the Configure page form state to properly load form values
8c2af3e22a96a3d2e50e7f06fb45d1fb79cf0c8e Replace form.reset() with setTimeout(form.reset)
27d9c90e3f0166cc2db45db461619be15a3cb950 Update radio buttons and on/off fields to work with final-form updates
b852dd14af85b14ff8e0d2823e1e83bf278b29b9 Replace any on OnSubmit with typed form submission interfaces
f049a70aaf4872825ac3b2aa62dc5cb7f945290a (f) Preliminarily get Coral compiling with latest final-form libraries
* feat: act is now actAndReturn
* fix: print original filename and line number in custom console impl
* feat: trace process warnings
* fix: server warnings about potentially memory leak with too many listeners
* add comment revisions
* add strings
* update fixtures
* fix fixtures
* [CORL-629] Update admin moderation containers to use new branding tokens (#2600)
* Convert the moderation card components to use new styles
CORL-629
* Style the details area in the moderate card using new font and color styles
CORL-629
* Update FlagDetails on Moderate Card to match new branding styles
CORL-629
* Remove typography from ModerateCard Username
CORL-629
* Remove unnecessary new typography tokens created while experimenting
CORL-629
* Update background colors of username buttons on moderate card
CORL-629
* Update approve reject buttons to use new colors
CORL-629
* Fix alignment of username and "Reply to" in InReplyTo component
CORL-629
* Update moderated by on moderate card to match new branding
CORL-629
* Create distinct admin marker and counter components with new branding styles
Update moderate card components to use these distinct newly branded styles.
CORL-629
* Create independent Tabs control with new styling for admin area
Use it on the moderate card details area.
CORL-629
* Remove letter spacing from moderate card styles
CORL-629
* Update "DETAILS" tab on moderate card to be named "INFO"
CORL-629
* Update some missing v2 css variables
CORL-629
* Tweak the spacing of the COMMENT link and title on the moderate card
CORL-629
* Update details font color on moderate card
CORL-629
* Update spacing on newly styled Admin Tab component
CORL-629
* Update spacing of reply to username on the moderate card
CORL-629
* Update moderate card comment text area minimum width and height
CORL-629
* Update vertical divider on moderate card to updated branding
CORL-629
* Introduce new bold open sans font face
Downgrades all existing bold's to semi-bold as they were equivalent before.
CORL-629
* Update moderate card details tabs to use new bold open sans font
CORL-629
* Create an admin specific timestamp control that implements new branding
CORL-629
* Migrate shared moderate card styles into child component files
CORL-629
* [CORL-631] Update admin side main navigation to new branding styles (#2625)
* Convert the moderation card components to use new styles
CORL-629
* Style the details area in the moderate card using new font and color styles
CORL-629
* Update FlagDetails on Moderate Card to match new branding styles
CORL-629
* Remove typography from ModerateCard Username
CORL-629
* Remove unnecessary new typography tokens created while experimenting
CORL-629
* Update background colors of username buttons on moderate card
CORL-629
* Update approve reject buttons to use new colors
CORL-629
* Fix alignment of username and "Reply to" in InReplyTo component
CORL-629
* Update moderated by on moderate card to match new branding
CORL-629
* Create distinct admin marker and counter components with new branding styles
Update moderate card components to use these distinct newly branded styles.
CORL-629
* Create independent Tabs control with new styling for admin area
Use it on the moderate card details area.
CORL-629
* Remove letter spacing from moderate card styles
CORL-629
* Update "DETAILS" tab on moderate card to be named "INFO"
CORL-629
* Update some missing v2 css variables
CORL-629
* Tweak the spacing of the COMMENT link and title on the moderate card
CORL-629
* Update details font color on moderate card
CORL-629
* Update spacing on newly styled Admin Tab component
CORL-629
* Update spacing of reply to username on the moderate card
CORL-629
* Update moderate card comment text area minimum width and height
CORL-629
* Update vertical divider on moderate card to updated branding
CORL-629
* Introduce new bold open sans font face
Downgrades all existing bold's to semi-bold as they were equivalent before.
CORL-629
* Update moderate card details tabs to use new bold open sans font
CORL-629
* Create an admin specific timestamp control that implements new branding
CORL-629
* Migrate shared moderate card styles into child component files
CORL-629
* Update main navigation admin side to use new branding styles
CORL-631
* Bring in some preliminary color and font styles for the search bar
This helps it match navigation, but does not update all the sub-styles of
the search bar's many child components.
CORL-631
* [CORL-694] use new styles for decision history (#2644)
* use new styles for decision history
* remove reference to nonexistent variable
* update snaps
* [CORL 695] admin branding - user menu (#2650)
* update user menu, popover, and dropdown to new design tokens
* fix feature button colours
* use v2 spacing vars
* admin branding: tables (#2651)
* update user menu, popover, and dropdown to new design tokens
* fix feature button colours
* use v2 spacing vars
* style stories and users table
* update snap
* update user status font weight
* remove duplicate declaration
* fix line height references
* update design tokens for text inputs and selects (#2658)
* use box shadow instead of outline for focus states
* Update snapshots to adjust for resolved merge conflicts
* Bring new branding styles to button components (#2667)
* Create preliminary filled and outline buttons that match branding
* Add adornment button variant to newly branded button
* Add the ghost variant to the newly branded button component
* Add underlined variant to the newly branded button component
* Remove external Icon composes property
* Convert camel-case button variables to kebab-case
* [CORL-672] Configuration pages new branding (#2673)
* style config side nav
* general configuration tab branding
* organization tab branding
* moderation configuration branding
* banned/suspect words config branding
* email config branding
* advanced settings branding
* auth config branding
* move helpertext and fieldset components
* add textarea component
* add back gutters on table search
* update snaps
* fix header component to accept labels
* use new spacing form components
* use spacing components for advanced config
* fix tests
* fix line height of radio buttons
* update validation message branding
* update snaps
* fix paths casing
* try lowercase then
* add docs for new form components
* move description component
* update snaps
* move components to /ui/v2
* [CORL-673] Update the moderate area search menu to use new branding styles (#2672)
* Create preliminary filled and outline buttons that match branding
* Add adornment button variant to newly branded button
* Add the ghost variant to the newly branded button component
* Add underlined variant to the newly branded button component
* Remove external Icon composes property
* Convert camel-case button variables to kebab-case
* Preliminarily migrate raw components into v2 to prep for branding updates
CORL-673
* Preliminarily update the search results bar to use new branding tokens
CORL-673
* Update styles to new branding on migrated v2 client-ui components
CORL-673
* Update see all and moderate all search option icons
CORL-673
* style config side nav
* general configuration tab branding
* organization tab branding
* moderation configuration branding
* banned/suspect words config branding
* email config branding
* advanced settings branding
* auth config branding
* move helpertext and fieldset components
* add textarea component
* add back gutters on table search
* update snaps
* fix header component to accept labels
* use new spacing form components
* use spacing components for advanced config
* fix tests
* fix line height of radio buttons
* update validation message branding
* update snaps
* fix paths casing
* try lowercase then
* add docs for new form components
* move description component
* update snaps
* move components to /ui/v2
* Set size="md" on the Icon component and not the Localized component
CORL-673
* tag component
* [CORL-669] user drawer + misc branding (#2686)
* tag component
* top of user drawer branding
* recent history in drawer
* add tooltips component
* use correct spacing prop
* history tabs
* user history and rejected comments
* move callout component'
* moderator notes components
* account history table
* table user row
* swap in tabs components
* remove overflow:hidden on buttons
* update snaps
* replace overflow scroll with auto
* clean up from rebasing vs master
* fix ts
* sort exports
* fix confusing linting errors
* update snaps
* clean up nav bar design
* adjust nav hover colors
* comment content component
* update nav hover styles
* fix search bar border
* clean up moderate card components
* more user drawer cleanup
* user role switcher
* update textfield vars and variants
* update components in community page
* move clickoutside component
* clean up stories table
* moderate route components
* single moderate view
* queue components
* delay component
* relative time component
* decision history components
* user drawer components cleanup
* configure components
* clean up buttons
* update snaps
* add all exports
* [CORL-674] admin branding: modals (#2695)
* update hotkeys modal components
* hotkeys modal
* user status change modals
* user status change modals
* invite users modal
* fix tests
* fix incorrect i18n string
* resolve merge conflicts
* move fonts to devdeps
* Fix username props interface
* fix dom nesting in components
* update formatting in strings
* rewrite delay component as functional component
* remove tslint comments
* change configure header component props
* feature: use react-axe and fix some a11y issues in stream
* fix: adapt snapshots
* chore: fix axe warnings in auth and account bundle
* chore: improve accessibility in install bundle
* chore: add some comments
* make comments selectable in queue
* manage focus
* switching focus works
* keyboard navigation sort of works
* scroll into view
* prev, next, approve, reject
* shortcuts for queue switching
* ban modal?
* focus search bar with ctrl f
* keyboards shortcuts modal
* zen mode
* single comment view
* ban users from moderate cards
* clean up ts and lints
* update snaps
* add strings
* update smaps
* remove single comment view shortcut
* add single comment view to moderation queue
* clean up types
* fix deps for useEffect/useCallback hooks
* feat: added toggable help
* Add solid background to Moderate > Config area headers
CORL-560
* Update Config > General section text and font weight
CORL-560
* Update ordering of Config > Moderation page items
CORL-560
* Update text and font weights in Configure > Moderation page
CORL-560
* Update text and font weight on Configure > Organization page
CORL-560
* Update text and font weight on Configure > Banned and Suspect Words page
CORL-560
* Update text and font weight on Configure > Authentication page
CORL-560
* Update text and font weights on Configure > Email page
CORL-560
* Update text and font weights on Configure > Advanced page
CORL-560
* Repair tests around the styling changes made to the moderation config area
CORL-560
* Fix capitalization on the Config > General page
CORL-560
* Make email checkbox light themed so its text shows up on new headers
CORL-560
* Update Header width to account for padding
Prevents it from sticking out over the edge of the page layout
CORL-560
* Align "Sort by" text to the drop down in Admin > Config > General > Reactions
CORL-560
* Update Admin > Config > General snapshot to adjust for vertical aligned text
Vertical flex aligned the "Sort by" text to a combo box in a previous changed
CORL-560
* Rename "Perspective Toxic Comment Filter" header to "Toxic Comment Filter"
CORL-560
* Use overlay scrolling if available to prevent scroll bar width popping
CORL-560
* Remove overflow-y: overlay
CORL-560
* Rename Akismet Spam Detection to Spam Detection
CORL-560
* Make all non-complex text fields full width in Admin > Config
CORL-560
* Remove Authentication Integrations header
Area underneath was empty
CORL-560
* Re-arrange SSO Key Field layout
CORL-560
* Create new typography types for bodyShort and fieldDescription
CORL-560
* Update Admin > Config to use bodyShort, fieldDescription typography
CORL-560
* Add a slight padding on InputLabel
CORL-560
* Add padding on either side of Admin > Config section content
CORL-560
* feat: more stable css classes
* chore: renamee ValidationMessageHelper to FormValidationMessage
* chore: Rename FormValidationMessage to FieldValidationMessage
* feat: more css classes, icons use <i> tag
* feat: stable classnames for gdpr features
* feat: more css stable classnames
* Create preliminary account deletion program flow
Does not validate password as of yet.
Does not submit a mutation to begin deletion scheduling.
CORL-236
* Create preliminary account deletion confirmation form and schema mutation
Hooks up validation and error handling to confirm the user's
password during account deletion.
Scheduling the account deletion is not implemented yet.
CORL-236
* Update requestAccountDeletion to set the user's scheduled deletion date
CORL-236
* Create preliminary cron job for scheduled account deletions
CORL-236
* Show tombstoned comments when the user has deleted their account and comments
CORL-236
* Pull in client locales for date formatting on account deletion steps
CORL-236
* Update more areas due to comment revision being nullable
CORL-236
* Allow users to cancel their account deletion request
CORL-236
* Show account deletion callout at the top of the profile stream tab
CORL-236
* Further comments and edge case handling for deleted comments site wide
CORL-236
* Show account deletion callout in the comments stream tab
CORL-236
* Send out emails during relevant account deletion events
- Confirm deletion requested
- Cancellation of deletion request
- Account deletion completed
CORL-236
* Unset emails when deleting user accounts instead of setting to null
Fixes email index collision error from setting multiple emails to null.
CORL-236
* Show organization email in account deletion steps
CORL-236
* Mark comments as deleted so that we can properly tombstone them in the stream
CORL-236
* Fix improper templating for account deletion completed emails
Sub organization name in where previously we were using the account username.
CORL-236
* Disable user drawer and display deleted flag on users in community
CORL-236
* Check for author before passing inReplyTo in ModerateCardContainer
Sometimes null when user is deleted.
CORL-236
* Tombstone moderate cards when the underlying comment is deleted
CORL-236
* Re-add deleted field to CommentContainer fragment
CORL-236
* Disable commenting or replying when user is scheduled for deletion
CORL-236
* Add snapshot tests around deletion states for comment cards and forms
CORL-236
* Add tests around the account deletion steps
CORL-236
* Set account deletion to run every 30 minutes
CORL-236
* Rename DELETION authorization to PENDING_DELETION
CORL-236
* Change log message for when account deletion tasks finds no more users to delete
CORL-236
* Update snapshots to handle proper deleted flag for scheduled deleting users
CORL-236
* Fix import ordering on various files to match coding standards
CORL-236
* Specify tenantID when querying for user during deletion
CORL-236
* Add back missing clientMutationId on cancelAccountDeletion mutation
CORL-236
* Use $unset to clear the scheduledDeletionDate
CORL-236
* Simplify create of scheduledAccountDeletion CRON function
CORL-236
* Rename and organize scheduledTask creation logic
- Rename startCronJobs to startScheduledTasks
- Return an object of named ScheduledTask items instead of an array of tasks
CORL-236
* Add comment about returning updated user when clearing scheduledDeletionDate
CORL-236
* Remove unnecessary array around tenant.locale in dateTime formatter
CORL-236
* Remove unnecessary non-null enforcement on tenant.id
CORL-236
* Remove string templated React element content
CORL-236
* Move english translated validation error to correct language file
CORL-236
* Simplify rendering of DeletionRequestCallout when deletionDate isn't available
CORL-236
* Use ternary expression instead of multiple {bool && (...)} checks
CORL-236
* Use classes object with line child style to style the step bar
CORL-236
* Update StepBar so that children of Step nodes can be undefined
Allows us to not have to insert empty placeholder strings/elements when
we want to have an empty step node.
CORL-236
* Remove use of luxon from account deletion request callouts for now
We need to decide if the extra 15KB from luxon is worth it in our bundles
before making this change.
CORL-236
* Remove unnecessary embed/deleteAccount endpoint
CORL-236
* Move DeleteAccountModal contents into a separate component
Cleans up the state management when user closes the modal and we
need the modal steps to restart.
CORL-236
* Remove localization around delete account button icon
CORL-236
* Use inline `collection(mongo)` in clearing and setting deletion date
CORL-236
* Simplify form state validation on account deletion confirm page
CORL-236
* Add todo to iterate over tenants in account deletion
CORL-236
* Remove punctuation and add context to logger messages during account deletion
CORL-236
* Break out mongo collection initialization into a shared object
Also adds a try catch error handling around the scheduled deletion
operations. Prevents errors from taking the server down.
CORL-236
* Add TODO to extract out a common formatter for date times
CORL-236
* Update translations for account deletion details
CORL-236
* Update translations for account deletion completion page
CORL-236
* During scheduled deletion, when locking deletion date, return modified user
CORL-236
* Remove un-necessary fragment container around deletion steps component
CORL-236
* Move preventSubmit outside of render function on ConfirmPage
CORL-236
* Convert collections into object of Mongo db collection initializers
Allows us to only initialize the collections we need with our
Mongo instance.
CORL-236
* Remove un-necessary lambda wrapping around collections initializer functions
CORL-236
* Add a ban user action to the stream moderation drop down
CORL-382
* Show banned stated for user in stream moderation drop down
If the user is actively banned, the ban user option will be
disabled and show a status of "banned".
CORL-382
* Create utility for generating random stories, comments, and users
CORL-382
* Add ban and suspension values to baseUser in fixtures
CORL-382
* Updated banned.spec.tsx to use new test utilities for generating fixture data
CORL-382
* Prevent users from being able to ban themselves in the moderation dropdown
CORL-382
* Kill optimistic response errors for comment mutations
Set the author.status.current to an empty array so it stops
complaining about it being unused.
CORL-382
* Rename util in tests to helpers/fixture.ts
CORL-382
* Remove unused import from CreateCommentReplyMutation.ts
CORL-382
* Put back the optimistic ban responses into comment mutations
The warnings spewing out during tests are false, for further
detail please see: https://github.com/facebook/relay/pull/2760
CORL-382
* Denormalize generated stories and comments
CORL-382
* Clean up import ordering in ModerationActionsContainer.tsx
CORL-382
* Inject appropriate scoped items into callbacks for moderation dropdown
CORL-382
* Set optimistic response author status from known viewer status
CORL-382
* fix: Make in stream banning work
* feat: Send translated email + reject comment + fix tests
* test: add feature test
* feat: add copy mentioning comment rejection
* chore: improve loading state
* chore: add tiny comment
* fix: bug in lookup not checking object properly before accessing
* fix: Recursive types not handling optional arrays
* add user badges component
* create user badges from sso token
* update badges type
* revert src/core/client/embed/index.html
* remove duplicated line
* add user badges component
* create user badges from sso token
* revert src/core/client/embed/index.html
* remove duplicated line
* fix types
* fix tests and snaps
* add user badges to user drawer
* update snaps
* update readme
* [CORL-476] add user role from SSO token (#2475)
* add role from token
* use joi to validate role values
Co-Authored-By: Wyatt Johnson <wyattjoh@gmail.com>
* simplify sso.role validation
* add test for invalid role in sso token
* Center sign in popovers in the browser window so they are always visible
* Set popover window feature by default using interfaced parameters
* Update snapshots to account for feature parameters on popup windows
* Lowercase the bar in menubar for Popup so it matches window api
* fix: externalized feature reconciliation
* add types for username updates
* add update username methods
* add types and resolvers for username history
* connect frontend to username history and change history mutation
* style update username box
* show username changes in user history drawer
* new users have 1 username entry
* add translations for username change
* allow new users to change username once
* add tests for change username ui
* send email to users after username change
* add types to tests
* treat status.username.history as mandatory
* remove hardcoded 14 day username update frequency
* use framework translation directives
* add account history action component
* clean up strings
* fix imports in change username container
* fix templates
* rename update username methods
* fix nunjucks formatting
* add warning if user missing email
* add fixme
* fix spacing