Commit graph

10238 commits

Author SHA1 Message Date
dependabot[bot]
d3c87e33d8
Bump eslint-plugin-react from 7.27.0 to 7.27.1 (#15448)
Bumps [eslint-plugin-react](https://github.com/yannickcr/eslint-plugin-react) from 7.27.0 to 7.27.1.
- [Release notes](https://github.com/yannickcr/eslint-plugin-react/releases)
- [Changelog](https://github.com/yannickcr/eslint-plugin-react/blob/master/CHANGELOG.md)
- [Commits](https://github.com/yannickcr/eslint-plugin-react/compare/v7.27.0...v7.27.1)

---
updated-dependencies:
- dependency-name: eslint-plugin-react
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-22 14:04:51 -05:00
Jeremy Friesen
3f3659c276
Adding program language lens for Code Ownership (#15431)
The goal is to consider different means of determining who might be able
to help review this code.

After we merge this, we're going to want to have folks self-identify in
the three groups:

- [@forem/ruby](https://github.com/orgs/forem/teams/ruby)
- [@forem/javascript](https://github.com/orgs/forem/teams/javascript)
- [@forem/css](https://github.com/orgs/forem/teams/css)
2021-11-22 11:28:35 -05:00
Julianna Tetreault
363c099bab
Provide COC and TOS Checkboxes During Creator Onboarding (#15430)
* WIP: Add COC and TOS checkboxes to Creator Settings form

* Adds assertions to the creatorSettings.spec.js E2E test

* Removes comments and unnecessary code from Admin::CreatorSettingsController

* Removes params from transaction

* Updates creatorSettings.spec.js to fix checkbox-related failures

* Adds a note to the COC and TOS checkboxes
2021-11-22 07:41:05 -07:00
Suzanne Aitchison
e5cda63391
reflect search query in page title (#15434) 2021-11-22 13:32:28 +00:00
ludwiczakpawel
50f8cb21fc
Mod tools trigger (#15400)
* init

* init

* test

* test
2021-11-22 08:22:26 +01:00
dependabot[bot]
5a5a0a723a
Bump view_component from 2.43.1 to 2.44.0 (#15439)
Bumps [view_component](https://github.com/github/view_component) from 2.43.1 to 2.44.0.
- [Release notes](https://github.com/github/view_component/releases)
- [Changelog](https://github.com/github/view_component/blob/main/docs/CHANGELOG.md)
- [Commits](https://github.com/github/view_component/compare/v2.43.1...v2.44.0)

---
updated-dependencies:
- dependency-name: view_component
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-19 11:44:09 -07:00
Daniel Uber
7c540abc8d
Gitpod: wait for postgresql to be listening before startup (#15429)
* Wait for postgresql to be listening on port before setup and startup

 https://github.com/forem/forem/issues/15428 points out an issue where
 the command sequence runs (foreman starts the Procfile.dev)
 but rails exits early because the database is not up.

Await the db port before proceeding.

* Await database in gitpod before starting up

* Move await-port to before: action

see https://www.gitpod.io/docs/config-start-tasks - init is only run
as needed (prebuild, new workspace) once, before is run every time a
workspace starts or restarts.

* When in doubt, sleep
2021-11-19 11:35:46 -06:00
Jeremy Friesen
9687760056
Updating valid domain registration (#15436)
* Updating valid domain registration

Prior to this commit, our regular expression did not account for the `-`
character as valid within the domain.  The `-` character cannot be the
first nor last character of the domain (e.g. `-hello.com` nor
`hello-.com` are invalid but `hell-o.com` is valid).

In addition I tidied up the default value of the
`blocked_registration_email_domains` to match it's sibling `allowed_registration_email_domains`.

This relates to the spammer seo-hunt.com

* Adding validator domain validator spec

* Moving request spec to unit spec

This change does two things:

1) Allows for 2 character domains
2) Moves the spec for 2 character domains from an expensive spec to a
   cheaper to run spec (e.g., request-cycle to unit-test validator)

It preserves PR #12268
2021-11-19 10:05:00 -05:00
Suzanne Aitchison
460d2f433a
Markdown toolbar - update new line logic for block syntaxes (#15343)
* update new line logic for block syntaxes

* use padStart
2021-11-19 06:59:21 +00:00
Jeremy Friesen
7ba0b49ea8
Parameterizing featured story requiring main image (#15333)
* Parameterizing featured story requiring main image

This begins to ease the resolution of #15292.

If we merge #15240, I could see setting an `Article` constant for this
value and allowing the administrator to choose the particular behavior.

Once we have insight from the product team, we can move forward with a
more comprehensive solution.

* Adding default parameter

While this is an `@api private` method, I am aligning the defaults with
it's `@api public` caller.  Yes, only specs call the method, but I'd
rather not fiddle with the specs at this moment in time.

* Reworking logic to be more scannable
2021-11-18 16:28:58 -05:00
Jeremy Friesen
21abe8cb34
Guarding against spam from OAuth Sources (#15404)
* Guarding against spam from OAuth Sources

Prior to this commit, when an administrator had indicated blocked email
domains, those blocks were not applied to identities created via the
OAuth sources (e.g., Twitter, Facebook, etc).  With this change, we're
hooking into the similar logic flow as suspended email accounts.

Related to #15403, #15397, and forem/rfcs#281

* Adding class documentation to exception

* Update app/services/authentication/authenticator.rb

Co-authored-by: Ridhwana <Ridhwana.Khan16@gmail.com>

Co-authored-by: Ridhwana <Ridhwana.Khan16@gmail.com>
2021-11-18 16:26:39 -05:00
Mac Siri
58f6bbb07b
Increase Blazer's timeout (#15427) 2021-11-18 14:50:18 -05:00
Arit Amana
dda559bca0
complete changes (#15420) 2021-11-18 14:19:45 -05:00
Jamie Gaskins
b64909acdd
Remove Pusher route (#15426)
We removed the controller in #15418, but some clients are still sending
requests to this endpoint, causing routing errors.
2021-11-18 14:04:06 -05:00
dependabot[bot]
fa00dea247
Bump ddtrace from 0.53.0 to 0.54.0 (#15425)
Bumps [ddtrace](https://github.com/DataDog/dd-trace-rb) from 0.53.0 to 0.54.0.
- [Release notes](https://github.com/DataDog/dd-trace-rb/releases)
- [Changelog](https://github.com/DataDog/dd-trace-rb/blob/master/CHANGELOG.md)
- [Commits](https://github.com/DataDog/dd-trace-rb/compare/v0.53.0...v0.54.0)

---
updated-dependencies:
- dependency-name: ddtrace
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-18 12:00:16 -07:00
Nick Taylor
ca0db28fc4
Add logo preview to creator settings form (#15363) 2021-11-18 12:23:24 -05:00
Mac Siri
ef83f0b07b
Unfreeze models in RecordDataCountsWorker (#15419) 2021-11-18 11:30:40 -05:00
dependabot[bot]
9f084b635c
Bump store_attribute from 0.9.2 to 0.9.3 (#15405)
Bumps [store_attribute](https://github.com/palkan/store_attribute) from 0.9.2 to 0.9.3.
- [Release notes](https://github.com/palkan/store_attribute/releases)
- [Changelog](https://github.com/palkan/store_attribute/blob/master/CHANGELOG.md)
- [Commits](https://github.com/palkan/store_attribute/compare/v0.9.2...v0.9.3)

---
updated-dependencies:
- dependency-name: store_attribute
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-18 08:10:05 -07:00
dependabot[bot]
96236a0783
Bump web-console from 4.1.0 to 4.2.0 (#15406)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-18 10:07:44 -05:00
Michael Kohl
09828853f6
✂✂✂ Remove Connect (#14734)
* Remove Connect

* Remove more Connect specs

* Remove a lot more Connect code

* 🚮

* It all has to go

* Explicitly add httpclient

* Update application layout

* Remove messages association from User

* Start fixing specs

* reintroduce util function and refactor references

* Remove Connect Cypress test

* Fix more specs

* Remove Connect from listings

* Ignore contact_via_connect column on listings

* Remove contact_via_connect usages

* Ignore mod_chat_channel_id on tags

* Drop Connect tables

* Remove email_connect_messages from user notification settings

* Re-add httpclient 2.8.3

This was mistakenly removed as a merge conflict

* Don't need to exclude removed chat channel file

* Remove unneeded style for chat channels

* Remove unneeded channel list prop type

* Remove chat channels index/connect-link from getPageEntries

* Re-add comment from httpclient in Gemfile

* Remove connect references from mailers

Tag Moderators no longer have a chat channel

No longer will users be notified about new messages (there won't be
any)

No longer will users be notified about channel invites (you can't
invite anyone anymore)

* Don't configure Pusher and remove PUSHER_* from .env_sample

since it's removed from gemfile, the Pusher constant will not resolve, if this is
configured in the environment variables we'll fail to boot.

Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
Co-authored-by: Dan Uber <dan@forem.com>
2021-11-18 08:21:00 -06:00
Ridhwana
83b4a6db81
feat: update the description to more concise (#15416) 2021-11-18 15:47:50 +02:00
Suzanne Aitchison
15fed1cce4
Revise skip link behaviour (#15401)
* Revise skip link route change behaviour

* remove cypress test for divergent behaviour no longer needed

* fix import path

* remove duplicate styles - woops

* use translated string
2021-11-18 13:45:08 +00:00
Anna Buianova
4cab190285
Hiding comments: an option to hide or keep children (#15178)
* Optional hiding child comments (start)

* Changed confirm button in comments hide form

* Hide children comments if hide_children was passed

* Added a spec for hidden child comment notifications

* Hide only explicitly hidden comments

* Hide comment modal on article page

* Prevent default behaviour for hide comment link

* Improved hide comments modal looks

* Improved hide comments modal looks

* Removed unused code

* Send hide comment form via fetch

* Hide comment descendants when hide_children was passed

* Don't hide hidden comments descendants on permalink

* Removed unnecesary span

* Improved hide comments modal styling

* Removed unused styles and js, improved styling

* Clickable label

Co-authored-by: ludwiczakpawel <ludwiczakpawel@gmail.com>

* Fixed showing hidden comments spoiler for article author

* Fixed hideArticleComments.spec.js

* Fixed displaying hidden comments text for artice author, added specs

* Target hide comments modal inside the modal when adding a listener

Co-authored-by: Suzanne Aitchison <suzanne@forem.com>

* Replaced hide comment link with a button

* Refactored adding hide_children url param

Co-authored-by: Suzanne Aitchison <suzanne@forem.com>

* Fixed cypress hide comments test

* Removed aria-label for submit on the hide comments modal

* Fixed formatting

Co-authored-by: ludwiczakpawel <ludwiczakpawel@gmail.com>
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
2021-11-18 11:57:40 +03:00
Jeremy Friesen
91b951eb05
Refactoring and extending article spam behavior (#15399)
* Refactoring and extending article spam behavior

Prior to this refactor, we were checking an Article's title for
spaminess.  This change now checks the Article's title and
body_markdown.

In addition, the encapsulates the regular expression implementations in
favor of asking the Settings::RateLimit class to determine if the passed
in text is "spammy".

Furthermore, instead of having lots of inline logic within the article,
this refactor introduces a `Spam::ArticleHandler` class.  This helps
tidy up the already busy Article specs by delegating the business logic
of Spam handling to it's own class.

There are further refactors for Comments and Users that would follow
this pattern, but this change is more important to get out the door.

Closes #15396

* Adding comments to clarify behavior of spam handling

* Adding missing expectation to spec
2021-11-17 17:09:17 -05:00
Nick Taylor
52ec967de5
Fixed issue where element didn't exist in the config Stimulus controller. (#15408) 2021-11-17 15:25:17 -05:00
Julianna Tetreault
4d3237ecfb
Remove Setup Banner from Creator Onboarding Flow (#15310)
* Removes the 'Setup not complete' banner from the Creator Onboarding flow

* Chains the safe navigation operator to current_user in #creator_setup_mode?

* Replaces current_user with User.with_role(:creator) in creator_setup_mode?

* Checks for URL rather than path helper in #creator_setup_path?

* Consistently remove setup banner on the creator settings form

* Reverts changes to verify_setup_complete.rb

* Adds a setup-banner ID for removal of the gobal setup banner

* Replaces Rspec test with creatorSettings E2E test

* Wraps setup text in regex in creatorSettings.js.spec
2021-11-17 13:20:16 -07:00
Daniel Uber
8c44bf46a4
Remove broken link "events" from the admin sidebar (#15407)
Gives a 404 (no route /admin/apps/events).
2021-11-17 13:57:56 -06:00
Jeremy Friesen
7aa9c5b0eb
Moving blocked registration domains up (#15403)
* Moving blocked registration domains up

Prior to this commit, the field "worked" but you had to toggle email
authentication to enabled, then fill it out.  You could then disable
email notification and it would work.

This builds on #15397

* Update app/views/admin/settings/forms/_authentication.html.erb

Co-authored-by: Suzanne Aitchison <suzanne@forem.com>

Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
2021-11-17 11:28:37 -05:00
Lewis Sparlin
ca6719b9b1
Issue #9077 has already been resolved, added specs (#15342)
* Prove #9077 has been resolved

* Do no create mentions for any @mention-like syntax from embedded liquid, add spec
2021-11-17 11:27:50 +02:00
Jeremy Friesen
3782db891a
Adding ability to block domains from registration (#15397)
Prior to this commit, we had filtering options for email registration:

1. Specific allowed domains.
2. Implicitly allow all domains if no allowed domains specified.

With this commit, we add another option: The adminstrator may block one
or more domains from registering.

Closes forem/rfcs#281
2021-11-16 18:56:01 -05:00
Christina
ad0c5c8ae3
Updating to GitHub discussions for feature requests 2021-11-16 15:27:06 -06:00
dependabot[bot]
0862b7ed3f
Bump stripe from 5.40.0 to 5.41.0 (#15395)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-16 14:50:49 -05:00
ludwiczakpawel
1f685d93d1
Remove unused assets (#15367)
* remove unused assets

* spec update

* spec

* spec

* minus

* whoops

* whoops
2021-11-16 19:57:37 +01:00
Jeremy Friesen
f5243ea844
Normalizing feed page size (#15326)
This commit removes a handful of magic numbers and instead relies on a
constant.

This has a small impact in that the Basic feed will now return 50
articles instead of 25.  However, normalizing the feed pagination window
size helps reduce some oddities in reporting.

In addition, this might be something we consider giving administrators
the ability to set (with default options, because we shouldn't allow
page sizes of 10_000 as that's a massive memory hog).

Related to #14709
2021-11-16 11:12:01 -05:00
dependabot[bot]
f712b796b2
Bump @testing-library/dom from 8.11.0 to 8.11.1 (#15384)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-15 17:13:32 -05:00
dependabot[bot]
318632809e
Bump eslint-plugin-jsx-a11y from 6.4.1 to 6.5.1 (#15376)
Bumps [eslint-plugin-jsx-a11y](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y) from 6.4.1 to 6.5.1.
- [Release notes](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/releases)
- [Changelog](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/compare/v6.4.1...v6.5.1)

---
updated-dependencies:
- dependency-name: eslint-plugin-jsx-a11y
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-15 14:22:57 -07:00
dependabot[bot]
4d12d25cd7
Bump eslint-plugin-react from 7.26.1 to 7.27.0 (#15375)
Bumps [eslint-plugin-react](https://github.com/yannickcr/eslint-plugin-react) from 7.26.1 to 7.27.0.
- [Release notes](https://github.com/yannickcr/eslint-plugin-react/releases)
- [Changelog](https://github.com/yannickcr/eslint-plugin-react/blob/master/CHANGELOG.md)
- [Commits](https://github.com/yannickcr/eslint-plugin-react/compare/v7.26.1...v7.27.0)

---
updated-dependencies:
- dependency-name: eslint-plugin-react
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-15 14:03:10 -07:00
Daniel Uber
845bc01c69
Remove name from allowed tag params in admin (#15382)
Don't allow passing `tag[name]=` in post params to admin tag update.

There's no field for this in the view, it's not expected that someone
change the name (it serves as a natural key) - it's preferrable to
alias an old name to a new tag if a renaming is desired.
2021-11-15 14:58:24 -06:00
dependabot[bot]
321bc8d5cc
Bump jsdom from 18.0.1 to 18.1.0 (#15380)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-15 15:35:16 -05:00
dependabot[bot]
9cac7b63c9
Bump eslint-plugin-import from 2.25.2 to 2.25.3 (#15383)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-15 15:34:39 -05:00
dependabot[bot]
2c5c332638
Bump pg_query from 2.1.1 to 2.1.2 (#15377)
Bumps [pg_query](https://github.com/pganalyze/pg_query) from 2.1.1 to 2.1.2.
- [Release notes](https://github.com/pganalyze/pg_query/releases)
- [Changelog](https://github.com/pganalyze/pg_query/blob/main/CHANGELOG.md)
- [Commits](https://github.com/pganalyze/pg_query/compare/v2.1.1...v2.1.2)

---
updated-dependencies:
- dependency-name: pg_query
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-15 15:10:06 -05:00
dependabot[bot]
566fd5f273
Bump jbuilder from 2.11.2 to 2.11.3 (#15379)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-15 13:53:39 -06:00
dependabot[bot]
e99d8f28a2
Bump rubocop from 1.22.3 to 1.23.0 (#15381)
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.22.3 to 1.23.0.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.22.3...v1.23.0)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-15 12:50:36 -07:00
dependabot[bot]
3c0e3fc2c9
Bump lint-staged from 11.2.6 to 12.0.2 (#15378)
Bumps [lint-staged](https://github.com/okonet/lint-staged) from 11.2.6 to 12.0.2.
- [Release notes](https://github.com/okonet/lint-staged/releases)
- [Commits](https://github.com/okonet/lint-staged/compare/v11.2.6...v12.0.2)

---
updated-dependencies:
- dependency-name: lint-staged
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-15 12:45:20 -07:00
Suzanne Aitchison
41e0ac9e63
Fix timestamp typo (#15369) 2021-11-15 17:04:04 +00:00
Nick Taylor
9f998b470d
Now labels with the CSS class crayons-btn that wrap inputs of type file have focus states (#15368) 2021-11-15 11:12:01 -05:00
Jeferson S. Brito
a0e15f7bd6
Add Snackbar component on reading list (#15235) 2021-11-15 13:06:21 +02:00
Daniel Uber
90c3ee2e6a
Nullify invalid tag colors (#15361)
* Nullify invalid tag colors

Set bg_color_hex and text_color_hex to nil when they were an empty
string.

This is a cleanup of legacy data (from form submissions, when the
field was unset and another attribute was updated, the value could be
saved as '' rather than set nil). This is no longer possible due to
validations added in #10495 so only needs to be handled once.
2021-11-12 14:35:08 -06:00
dependabot[bot]
3ef4da21b2
Bump stripe from 5.39.0 to 5.40.0 (#15362)
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 5.39.0 to 5.40.0.
- [Release notes](https://github.com/stripe/stripe-ruby/releases)
- [Changelog](https://github.com/stripe/stripe-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/stripe-ruby/compare/v5.39.0...v5.40.0)

---
updated-dependencies:
- dependency-name: stripe
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-11-12 12:05:56 -07:00
Jeremy Friesen
e35f4880d9
Using same markdown config as other instances (#15341)
Prior to this commit, this instantiation of `Redcarpet::Markdown` was
different from the other instantiations.  The other ones all included
the second paramenter (e.g., `Constants::Redcarpet::CONFIG`).

My question is, should we (or can we) be using the same configuration in
all cases?
2021-11-12 09:25:33 -05:00