* schema and backend for warning users
* allow warning and warning acknowledgement
* include warning actions in user history drawer
* fix fixture
* add copy to warn modal
* style warning on stream side
* localize strings
* update warning form
* fix fixtures
* copy updates
* clean up error messaging
* userefetch for users
* ensure user status is refreshed on warn error
* add details about warning to user status details
* update copy for unacknowledged warning
* fix merge conflict
* update copy
* remove unused code
* clean up warning css
* sort imports
* fix copy in comments
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Will mark the comment's metdata as a word list
time out if it happens and also tag them with
suspect or banned word.
Then we show "possible suspect/banned word"
markers on the moderate card so moderators can
manually review them.
CORL-1264
Co-authored-by: Wyatt Johnson <wyattjoh@gmail.com>
2020-08-11 22:05:50 +00:00
Nick FunkGitHubkodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* Create preliminary media preferences
Allows user to select whether they want to
automatically show media or not.
CORL-1248
* Fix up the copy around media preferences
CORL-1248
* Rename EmbedPreferences to UserMediaSettings
CORL-1248
* Add error/validation messages to media prefs
CORL-1248
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
If the feature flag READ_MORE_NEW_TAB is
set, then clicking on "Read more of this
conversation" will open a new tab.
CORL-1246
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* feat: Added Site.topStories edge
* feat: Added User.ongoingDiscussions edge
* connect discussions tab to relay
* style discussions tab
* add message if no ongoing discussions
* style site name in story row
* fix: make line-heights relative
* add custom class hooks
* feat: condition display based on feature flag
* add target attribute to story links
* fix: expose some featureFlags
* fix: fixed sorting
* fix: copy fixes
Co-authored-by: tessalt <tessathornton@gmail.com>
Co-authored-by: Chi Vinh Le <vinh@vinh.tech>
* Create Twitter and YouTube embed components
Uses the `/api/oembed` endpoint to proxy the
oembed requests that the embed components drop
into an iframe.
CORL-1012
* Create preliminary embed link parsing/storage
CORL-1012
* Create preliminary embed section on comments
CORL-1012
* Preliminarily add admin embed config options
CORL-1012
* Show a "missing" message when embed is unavailable
CORL-1012
* Simplify naming of embeds in schema
embedLinks -> embed
CORL-1012
* Rename oEmbedHandler to oembedHandler
CORL-1012
* add backend services for giphy
* search gifs on frontend
* display selected gif
* show gif previews
* display giphy attribution and no results text
* save a gif to a comment
* use embeds feature for gif embeds
* clean up gif/video/tweet display
* style and configure post comment form
* preview and confirm twitter and youtube embeds
* moderate embeds on server
* update reply and edit forms
* update snaps
* fix some of the tests
* fix tests and types
* fix tests
* fix types
* show gifs in moderate cards
* correctly attach embeds to comments
* make gif rating configurable
* make gif rating configurable
* configure giphy api key
* refactor comment form
* only allow embeds if settings enabled
* scale youtube
* resize embeds if necessary
* make tweets and videos responsive
* set maxwidth on tweet embeds
* update copy for embed config
* force gif search results to fit container
* prevent double posting of gifs
* undo hiding html if empmty because now it doesn't contain random break tags
* use downsampled preview images
* update fixtures and snapshots
* remove unused css
* add i18n string
* remove console logs
* Fix styles on logged-out comment form
* click to pause gif in moderation
* style youtube and twitter embeds in mod stream"
* use mp4s for stream gifs
* use mp4 for moderation gifs
* clean up commentform
* fix dom tests
* update rte
* import oembed module with correct casing
* bump rte
* add correct return type for setInterval
* add migration for embeds config
* catch errors from gif search
* return early from iframe container size calculation if width and height are set
* remove unused classnames
* make giphy api key protected
* reorganize tenant embed settings schema
* update schema on backend to support single comment embed instead of array
* move findEmbedLinks to common
* wrap error
* return function for linkify instead of ternary
* remove unused url param
* clean up oembed service
* remove conditional in repeat post check
* use joi to validate giphy responses
* fix types for embeds
* fix optimistic responses
* move attachEmbeds function
* update snapshots
* fix: improved repeatPost checking
* force case change on oembed
* force rename file name
* feat: Rename Embed -> Media
* fix: cleanup of service functions
* fix: moved types
* fix: fixed logic bug
* fix: fixed translation
* show embeds on history comments
* fix: fixed iframe csp and query param bug
* correct validation for twitter oembed
* feat: save youtube still
* fix: typeerror
* fix: fixed errors related to final form
* fix: fixed issue with types
* fix: added docs to the schema
* fix: linting + tests
Co-authored-by: nick-funk <nick.funk@outlook.com>
Co-authored-by: Wyatt Johnson <me@wyattjoh.ca>
* feat: added server support for site moderators
* feat: added unscoped property to @auth directive
* feat: added frontend support for site moderator feature
* feat: added site moderator support to stream
* fix: linting
* fix: updated snapshots
* [CORL-901] Rebrand comment actions and body (#2889)
* [ADR] Use Relay over Apollo (#2881)
* chore: ADR on Relay and Apollo
* chore: typo
* chore: add neg cons
* chore: add another pos
* chore: remove neg, because apollo needed an introspection query as a build step too..
* chore: fix number
* chore: deco
* chore: typo
* chore: clarification
Co-authored-by: Wyatt Johnson <wyattjoh@gmail.com>
* chore: bump 6.0.0 (#2891)
* fix: added more checks to migration (#2894)
* Update stream username to new branding variables
CORL-901
* Update badges/tags to use new v2 controls
CORL-901
* Update timestamps to use new branding stream side
CORL-901
* Update stream edit action to new branding
CORL-901
* Update comment html body to new branding
CORL-901
* Update comment action buttons to new branding
CORL-901
* Update responsive styles for action buttons
CORL-901
* Set comment link colors to new branding blue
CORL-901
* Add children prop on ButtonsBar to align with tests
CORL-901
* Make Reported button text bolded and vivid red
CORL-901
* Make reaction buttons stream blue when reacted
CORL-901
* Make user badges bold text
CORL-901
* Set margins on comment action buttons
CORL-901
* Set aria-labels on reaction buttons
Ensures that we always have a usable aria
even when the reaction button is just an icon.
CORL-901
* Set aria-label's on Reply and Share button's
CORL-901
* Update tests to match stream branding changes
CORL-901
* Update color of "Read More of this conversation"
CORL-901
Co-authored-by: Vinh <vinh@vinh.tech>
Co-authored-by: Wyatt Johnson <wyattjoh@gmail.com>
* [CORL-942] In-Stream Mod rebranding (#2902)
* [ADR] Use Relay over Apollo (#2881)
* chore: ADR on Relay and Apollo
* chore: typo
* chore: add neg cons
* chore: add another pos
* chore: remove neg, because apollo needed an introspection query as a build step too..
* chore: fix number
* chore: deco
* chore: typo
* chore: clarification
Co-authored-by: Wyatt Johnson <wyattjoh@gmail.com>
* chore: bump 6.0.0 (#2891)
* fix: added more checks to migration (#2894)
* Update stream username to new branding variables
CORL-901
* Update badges/tags to use new v2 controls
CORL-901
* Update timestamps to use new branding stream side
CORL-901
* Update stream edit action to new branding
CORL-901
* Update comment html body to new branding
CORL-901
* Update comment action buttons to new branding
CORL-901
* Update responsive styles for action buttons
CORL-901
* Set comment link colors to new branding blue
CORL-901
* Add children prop on ButtonsBar to align with tests
CORL-901
* Make Reported button text bolded and vivid red
CORL-901
* Make reaction buttons stream blue when reacted
CORL-901
* Make user badges bold text
CORL-901
* Set margins on comment action buttons
CORL-901
* Set aria-labels on reaction buttons
Ensures that we always have a usable aria
even when the reaction button is just an icon.
CORL-901
* Set aria-label's on Reply and Share button's
CORL-901
* Update tests to match stream branding changes
CORL-901
* Update color of "Read More of this conversation"
CORL-901
* Update caret container to new branding
CORL-942
* Update moderation menu buttons to new branding
CORL-942
* Update in-stream ban popover to new branding
CORL-942
* Update reject tombstone to new branding
CORL-942
Co-authored-by: Vinh <vinh@vinh.tech>
Co-authored-by: Wyatt Johnson <wyattjoh@gmail.com>
* [CORL-939] Rebrand RTE and reply (#2904)
* [ADR] Use Relay over Apollo (#2881)
* chore: ADR on Relay and Apollo
* chore: typo
* chore: add neg cons
* chore: add another pos
* chore: remove neg, because apollo needed an introspection query as a build step too..
* chore: fix number
* chore: deco
* chore: typo
* chore: clarification
Co-authored-by: Wyatt Johnson <wyattjoh@gmail.com>
* chore: bump 6.0.0 (#2891)
* fix: added more checks to migration (#2894)
* Update stream username to new branding variables
CORL-901
* Update badges/tags to use new v2 controls
CORL-901
* Update timestamps to use new branding stream side
CORL-901
* Update stream edit action to new branding
CORL-901
* Update comment html body to new branding
CORL-901
* Update comment action buttons to new branding
CORL-901
* Update responsive styles for action buttons
CORL-901
* Set comment link colors to new branding blue
CORL-901
* Add children prop on ButtonsBar to align with tests
CORL-901
* Make Reported button text bolded and vivid red
CORL-901
* Make reaction buttons stream blue when reacted
CORL-901
* Make user badges bold text
CORL-901
* Set margins on comment action buttons
CORL-901
* Set aria-labels on reaction buttons
Ensures that we always have a usable aria
even when the reaction button is just an icon.
CORL-901
* Set aria-label's on Reply and Share button's
CORL-901
* Update tests to match stream branding changes
CORL-901
* Update color of "Read More of this conversation"
CORL-901
* Update caret container to new branding
CORL-942
* Update moderation menu buttons to new branding
CORL-942
* Update in-stream ban popover to new branding
CORL-942
* Update reject tombstone to new branding
CORL-942
* Update replyTo and rte to new branding
CORL-939
Co-authored-by: Vinh <vinh@vinh.tech>
Co-authored-by: Wyatt Johnson <wyattjoh@gmail.com>
* Update message box to new branding
CORL-981
* Update user profile comment history to new branding
CORL-983
* Update stream tabs to new branding
CORL-982
* Update my profile tab bar to new branding
CORL-902
* Update download comments to new branding
CORL-902
* The Lord of the Buttons: Return of the Buttons
* Update the notification settings area to new branding
CORL-984
* Update the ignored users area to new branding
CORL-984
* Update change username to new branding
CORL-984
* Fixing snaps after rebase
* Use label instead of div for InputLabel's
Root element is now a label so that axe
will stop complaining that it can't find
the 'for' id on the label elements.
CORL-984
* More spacing tweaks for change username
CORL-903
* Update change email address to new branding
CORL-984
* Update change password to new branding
CORL-984
* Flesh out colour styles for v3 buttons
CORL-984
* Preliminarily update delete account to new branding
CORL-984
* Ensure client CSS style compatibility
CORL-984
* Update delete flow to new branding
CORL-984
* Add client classes to the delete account modal
CORL-984
* Further tweaks to the delete account modal
Modal callouts updated to new branding.
Deletion request callout updated to new
branding.
Fixing up tests that somehow were passing
before?
Fixing some margins and spacing around
deletion section.
* Move the account deletion callout to top
Puts it at the top of the my profile tab
so that it's clearly visible you are
deleting your account.
CORL-998
* Add first-class icon and title support to callouts
CORL-969
* Bold checkbox text when checked
CORL-984
* Finalize v3 buttons to match spec
This should be the last major change to
v3 buttons as the spec seems to have
solidified.
CORL-969
* Add in new stream red to colours
Use it for the negative v3 callouts
CORL-969
* Touch up some spacing on delete account
CORL-984
* Create tombstone component
Use it for ignored and deleted account
tombstones instead of the old callout.
CORL-969
* Use new tombstones in comment stream
CORL-969
* Update banned callout to new branding
CORL-969
* Set callout body text to regular font weight
CORL-969
* Update suspended callout to new branding
CORL-969
* Update closed stream callouts to new branding
CORL-969
* Update in-moderation callouts to new branding
CORL-969
* Update stream validation message to v3
CORL-969
* Improve ignored commenter management
Show "you are no longer ignoring" a
commenter when you choose to no longer
ignore them.
CORL-457
* Prettier cleanup after rebase off master
Somehow this was missed, probably needed to
kill and reload VSCode before I committed the
rebase.
* Switch previous callouts to use icon and title
CORL-969
* Update configure checkboxes to new branding
CORL-903
* Update Config > Q&A to new branding
CORL-903
* Update Config > Open/Close Stream to new branding
CORL-903
* Add validation message to config stream checkboxes
CORL-903
* Remove double list handling for Pref>Ignored
CORL-969
* Show experimental tag beside Q&A config
CORL-1051
* Move live update setting to its own section
CORL-903
* Remove moderation link from config area
CORL-903
* De-capitalize all the labels in configure
CORL-903
* Update message box config to new branding
Also moves it to new location in config.
CORL-903
* Re-brand the sign in/out field on the stream
CORL-1042
* Update tests for add message flow
CORl-903
* Rebrand Sign In/Up modals
CORL-999
* Re-brand SSO sign in/up modals
CORL-999
* Re-brand stream sorting controls
CORL-1043
* Create new stream focused colorFromMeta variant
* Rebrand go to moderation buttons
CORL-799
* Rebrand stream moderation drop-down
CORL-799
* Rebrand the report comment flow
Expands the report comment dialogs under
the comment instead of as a popover.
Also adds in the new branding styles.
CORL-941
* Rebrand the main stream tab bar
CORL-799
* Add new abusive reporting options
CORL-1009
* Rebrand featured comments
CORL-968
* Rebrand the community guidelines
CORL-1041
* Rebrand the share button
CORL-940
* Update style names on buttons
marginSize -> paddingSize
textSize -> fontSize
* Rebrand single conversation view
CORL-904
* Make indented comments grey coloured
CORL-904
* Make indented comment borders thinner
CORL-904
* Tweak colours/margins on single conversation view
CORL-904
* Add show comment on single conversation tombstones
CORL-412
* Rebrand single conversation view title
CORL-904
* Add clean target to package.json
Allows us to direct call gulp clean easily.
* Rebrand client side not found page
CORL-1025
* Rebrand password reset flow
CORL-1025
* Rebrand unsubscribe from notifications flow
CORL-1025
* Rebrand email confirmation flow
CORL-1025
* Rebrand download comments flow
CORL-1025
* Fix up account tests after rebrand
CORL-1025
* Add COMMENT_REPORTED_ABUSIVE to moderate card fragment
* Rebrand user ignore flow
Somehow this slipped through the cracks, fixed
it up now
* [CORL 1010] Collapse comment threads (#2976)
* toggle open and closed comment + replies
* show username and date for collapsed comment
* toggle comments and replies open and closed
* keep collapsed state of comments in reply list
* style collapsed comment toggle
* add css class overrides
* style answered comments when collapsed
* adjust spacing on collapse button:
* add hover styles
* add aria labels and update snapshots
* Fix tests and snaps after rebase
* Make main stream tabs visible on mobile (iPhone 5)
* Remove double horizontal rule under My Comments
Horizontal rule wasn't conditionally showing
when we toggled ability to let users download
comments on and off.
* Add aria labelling to main stream tabs
Can now pass in a localization id to assign
aria-label/title to the tab.
* Add localization to account not found
* Update snapshots
Co-authored-by: Vinh <vinh@vinh.tech>
Co-authored-by: Wyatt Johnson <wyattjoh@gmail.com>
Co-authored-by: Tessa Thornton <tessathornton@gmail.com>
* fix: improved count handler for stories not found
* feat: removed performance-now
* feat: cleaned up processors, exposed counts
* feat: increased verb of schd jobs
* fix: removed dead code
* add allcomments option to slack config
* create separate class for hadnling slack event publishing
* add strings
Co-authored-by: Wyatt Johnson <wyattjoh@gmail.com>
Co-authored-by: Kim Gardner <kgardnr@gmail.com>
* feat: initial impl
* Create preliminary SSO rotation components
CORL-929
* Create rotateSSOKey mutation
CORL-929
* Fix sorting by date for SSO keys
CORL-929
* Show tool tips beside expiring/expired statuses
CORL-929
* Hook up Deactivate and Delete SSO key mutations
CORL-929
* Tweak expired tooltip on SSO keys
CORL-929
* Replace old SSO key config with key rotation
CORL-929
* Fix copy button for SSO key's secret
CORL-929
* Refactor SSOKeyCard func's into components
All the func's building the sub-components
were prime targets for component's with props.
CORL-929
* Update tests to match SSO Key rotation
CORL-929
* Fix typo in translation id
CORL-929
* Test key rotation
CORL-929
* Plumb disabled through SSO key rotation
CORL-929
* Remove duplicate input/payload pairs from schema
For some reason it perfectly duplicated the
input/payload pairs for SSO key rotation on
rebase.
CORL-929
* Remove debug logging
CORL-929
* Use switch instead of if's to compute SSO date field
CORL-929
* Use switch to compute SSO action button state
CORL-929
* Use switch to compute SSO StatusField state
CORL-929
* Remove 10 second key rotation option
CORL-929
* Use memo in sorting SSO keys
CORL-929
Co-authored-by: Wyatt Johnson <wyattjoh@gmail.com>
* [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: added new linking backend
* feat: added duplicateEmail to hash
* fix: stored the duplicate email on the user
* feat: initial implmentation of account linking in auth
* test: fix unit tests
* fix+test: translations and tests added
* chore+test: rename view to LINK_ACCOUNT + more tests
* feat+test: account linking admin + more tests
* feat: Handle incomplete accounts
* chore: add some comments
* feat: expose duplicateEmail through graphql and impl for stream
* feat: admin to use duplicateEmail from graphql
* fix: no need to validate password for account linking
* fix: dont validate password
* fix: no need to render error message when account was incomplete
* chore: log to console when encountering incomplete account
* chore: adjust comment
* chore: simplify + add comments
* chore: wording
* chore: comments
Co-authored-by: Vinh <vinh@vinh.tech>
Co-authored-by: Kim Gardner <kgardnr@gmail.com>
* move download comments to my comments tab
* only show download comments if available
* move ignored users management to same tab as notifications, rename to preferences
* fix query and ts defs
* add url to jwt
* make account tab go to external url if provided
* ensure url is an optional jwt field
* update tabs for stream profile
* update classnames for tabs
* fix tests
* 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>
* Create activeStories GraphQL query endpoint
Set lastCommentedAt on stories when they are
commented upon.
Use lastCommentedAt to retrieve the activeStories.
Create a migration to partial index
lastCommentedAt on stories to make retrieval fast.
CORL-836
* fix: adjusted query to use index, more @auth directives
Co-authored-by: Wyatt Johnson <accounts+github@wyattjoh.ca>
* Allow sending of moderation decisions to Google
If enabled in the config, moderation decisions can
be sent to Google.
Simplify OnOffField test id's
Consolidate guard clauses
Reconstruct tenant url's when sending perspective feedback
Use the comment revision id when sending perspective feedback
Use retrieveStory instead of findStory
Clarify logging warning levels on perspective feedback
Clean html tags from sent comment body
Fix include to match new graph context refactors
CORL-825
* Handle asynchronous perspective operation more cleanly
CORL-825
* feat: initial impl
* Create preliminary comment moderation slices
CORL-688
* Move slices logic into stacks
CORL-688
* Create user comment counts
CORL-688
* Create naive mutation that initializes user comment counts
CORL-688
* Use bulk updates in user counts migration
CORL-688
* fix: review
* fix: fixed issue with aggregation
* Migrate creating comment into stacks
CORL-688
* Migrate editing a comment to the stacks
CORL-688
* Break publishing comment status out of updateAllCounts
CORL-688
* review: removed variable scoping in favor of export
* revert: feb8e8196cd448f5cd24f1ca2eb0b91fe9bd43c7
* review: simplification of stacks implementation
This simplifies the stacks implementation to better reuse code related
to count management and event publishing. This can be used to great
effect with the upcomming events PR #2738.
* Consolidate the tenant and common context together
CORL-688
* review: removed variable scoping in favor of export
* revert: feb8e8196cd448f5cd24f1ca2eb0b91fe9bd43c7
* review: simplification of stacks implementation
This simplifies the stacks implementation to better reuse code related
to count management and event publishing. This can be used to great
effect with the upcomming events PR #2738.
* fix: check if authorID is null before update user counts
CORL-688
* Consolidate common/tenant context supporting files
CORL-688
* feat: renamed TenantContext -> GraphContext
Co-authored-by: Wyatt Johnson <accounts+github@wyattjoh.ca>