Commit graph

11226 commits

Author SHA1 Message Date
Michael Kohl
33195929aa
Bump to Rails 7.0.2.2 MVP (#15908)
* Update gems

* Update more gems

* Update @rails/ujs package

* Explicitly add sprockets-rails

* Gemfile update

* Run bin/rails app:setup

* Update redis-actionpack

* Update stats initializer autoloading

* Update acts-as-taggable-on

* Disable signed: true option in session store

* Switch back to released version of redis-actionpack

* Update Gemfile.lock

* WIP

* Update Rails and gems

* Move hair_trigger back to released gem

* Add explicit requires to initializers

* Update Rails version

* Add more explicit require_relative calls

* Re-enable ForemStatsDriver

* Update schema

* Temp spec changes

* Bullet started raising errors?

* Fix broken spec

* Temporarily disable hair_trigger_spec

* Refactor

* Fix spec

* Enable use_rfc4122_namespaced_uuids

* Revert "Enable use_rfc4122_namespaced_uuids"

This reverts commit 5dac3722284bb08049586bfa943405f8a01289df.

* Temporarily deploy to canary

* Revert "Temporarily deploy to canary"

This reverts commit 04f8469501fab2a3177450baf051ff6259c41827.

* Update Containerfile

* Add comments to specs

Co-authored-by: Mac Siri <krairit.siri@gmail.com>
2022-03-30 15:00:33 -04:00
Mac Siri
463af8fd27
Update .gitignore (#17057) 2022-03-30 13:44:56 -05:00
dependabot[bot]
7c3fe43d23
Bump puma from 5.6.2 to 5.6.4 (#17060)
Bumps [puma](https://github.com/puma/puma) from 5.6.2 to 5.6.4.
- [Release notes](https://github.com/puma/puma/releases)
- [Changelog](https://github.com/puma/puma/blob/master/History.md)
- [Commits](https://github.com/puma/puma/compare/v5.6.2...v5.6.4)

---
updated-dependencies:
- dependency-name: puma
  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>
2022-03-30 12:38:05 -06:00
dependabot[bot]
1e701e8939
Bump stripe from 5.47.0 to 5.48.0 (#17059)
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 5.47.0 to 5.48.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.47.0...v5.48.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>
2022-03-30 13:27:55 -05:00
Suzanne Aitchison
38a9ac41f7
Admin member index: initial small screen skeleton layout (#17046)
* initial skeleton

* tweaks

* tweaks to header

* Update cypress spec for small screens

* nudge Travis
2022-03-30 16:59:39 +01:00
Miguel Nieto A
148f242892
Replace listings tag component (#16855)
* wip

* feat:  Use MultiSelectAutocomplete for Tags

* feat:  Add additional tags for listings

* refactor: ♻️ Use preact/hooks and refactor propTypes

* fix: 🐛 Fix addiional tags support depending on the selected category

- Add slug to returned array in select_options_for_categories helper
- Differentiate the fields categoryId and categorySlug

* fix: 🐛 Adjust propTypes

* test: 🚨 Change test for select_options_for_categories helper

* refactor: ♻️ Apply requested changes

* refactor: ♻️ Remove border prop - default is true

* test: 🚨 Add test suite for ListingTagsField component

* refactor: ♻️ Apply requested changes

* refactor: ♻️ Remove unnecessary forEach + Improve code legibility

* docs: 📚 Remove topTags from hook documentation

* refactor: ♻️ Use the alias for crayons folder + Use loclaCompare in sort

* test: 🚨 Clean up mock response

* fix: 🐛 Reorder styles

* style: 🎨 Add comment to TagAutocompleteOption/Selection components
2022-03-30 16:51:40 +01:00
dependabot[bot]
8e6981aac5
Bump stripe from 5.46.0 to 5.47.0 (#17048)
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 5.46.0 to 5.47.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.46.0...v5.47.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>
2022-03-29 15:10:06 -04:00
Jeremy Friesen
0fc1a401e7
Adding some docs for ApplicationHelper (#17022)
* Adding some docs for ApplicationHelper

This is the happy byproduct of my waiting for Heroku's git server to
come back online.

What follows is my attempt to provide inline documentation for
application helper methods.  I haven't done all of them, but this is my
effort to inch forward the state of our internal documents.

Along the way, I've discovered a discrepency (and noted it but am not
going to proceed with any refactor).

* Update app/helpers/application_helper.rb

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

Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
2022-03-29 14:13:06 -04:00
Jeremy Friesen
6e81773319
Favoring explicit class declaration (#17042)
In helping track down forem/forem#17041 I was looking at our cache
busting logic.  We were looking up a constant via the `.const_get` call
from a string already defined inline.  This refactor short-circuits
naming a string, capitalizing it, then looking in the class's registered
constants.

There's also a subtle bug in the original; When `provider` equals
"another_cache", the `#capitalize` method would return
`"Another_cache"`, whereas `#classify` will return `"AnotherCache"`.

Below are some benchmarks for the change.

```ruby
require "benchmark"

module EdgeCache
  class Bust
    def by_class
      Fastly
    end

    def by_const_get
      self.class.const_get("fastly".classify)
    end
  end
end

Benchmark.bmbm do |x|
  x.report("by_class") do
    1000.times do
      EdgeCache::Bust.new.by_class
    end
  end
  x.report("by_const_get") do
    1000.times do
      EdgeCache::Bust.new.by_const_get
    end
  end
end
```

```shell
> bin/rails runner /Users/jfriesen/git/forem/bench.rb

Rehearsal ------------------------------------------------
by_class       0.001239   0.000186   0.001425 (  0.001342)
by_const_get   0.011398   0.000136   0.011534 (  0.011538)
--------------------------------------- total: 0.012959sec

                   user     system      total        real
by_class       0.000973   0.000030   0.001003 (  0.000969)
by_const_get   0.011102   0.000032   0.011134 (  0.011104)
```
2022-03-29 13:52:11 -04:00
Dwight Scott
1cb45995cb
conditionally render create post button for admins #16490 (#16606)
* Trigger Build

* WIP - use turbo to render html for create post button

todos and discussion topics
[] add tests (probably gonna be a lot of cypress 😅😭)
[] nominclature & file structure for authorization controller/routes
[] is this "authorizations" namespace approach the best?
[] authorization strategy relies on current user and caching doesn't
like `current_user`

* Use URL helper and not change the policy just yet

* put the turbo frame behind a feature flag

* Trigger Build

* Use URL helper and not change the policy just yet

* :)

* Add some test coverage and use same feature flag for consistency

* rubocop

* more rubocop

* trigger build

* adding a small sleep to see if specs pass 😩

* remove sleep

* disable Turbo session drive

* WIP

* Revert "WIP"

This reverts commit ce838672069fd703122156a0d82e5e6ad5398e0a.

* Moving spec from dashboard to root

With forem/forem#16913 the underlying test broke because we were
redirecting on the dashboard.

Co-authored-by: Jeremy Friesen <jeremy.n.friesen@gmail.com>
2022-03-29 13:04:57 -04:00
Mac Siri
3ddda918cb
Make onboarding_background_image nullable (#17045) 2022-03-29 11:47:17 -04:00
Jeremy Friesen
6049271dcb
Bust cache when changing spaces (#17040)
In the [app/views/layouts/application.html.erb][1] we use
[ApplicationHelper#release_adjusted_cache_key][2] to define a cache
key.  That cache key includes the
`Settings::General.admin_action_taken_at` time field.

The [ApplicationController#bust_content_change_caches][3] method is
responsible for updating the `Settings::General.admin_action_taken_at` column.

[1]:f5ae2900b5/app/views/layouts/application.html.erb (L48)
[2]:f5ae2900b5/app/helpers/application_helper.rb (L193-L198)
[3]:f5ae2900b5/app/controllers/application_controller.rb (L255-L258)

This relates to forem/forem#16606 and may be necessary for the
following:

- forem/forem#16783
- forem/forem#16836
- forem/forem#16837
- forem/forem#16965
- forem/forem#17008
2022-03-29 11:09:09 -04:00
Julianna Tetreault
ced3933932
Updates the github-actions bot feature request link and team tag (#17044) 2022-03-29 08:38:58 -06:00
Suzanne Aitchison
70a5e9437f
Admin member index: show/hide search and filter controls (#17009)
* initial work to show the expand/collapse search and filter on member index

* replace icon with actual button

* simplify logic in pack

* add cypress tests

* make sure both fields part of same form

* add an indicator in mobile view when field has a value

* make sure empty params treated same as missing params

* make sure indicators stay in step with current user input

* partials for inputs

* rename pack file
2022-03-29 15:37:37 +01:00
MrFuku
847cd594ba
Add toggle button to 'New Forem Secret' form (#17016)
* Add toggle button to 'New Forem Secret' form

* Display messages using i18n

* Fix from snake case to kebab case

* Fix a bug when the specified class did not exist
2022-03-29 08:29:29 -06:00
dependabot[bot]
6aebd9335f
Bump @babel/core from 7.17.7 to 7.17.8 (#17026)
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.17.7 to 7.17.8.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.17.8/packages/babel-core)

---
updated-dependencies:
- dependency-name: "@babel/core"
  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>
2022-03-29 10:48:18 +01:00
dependabot[bot]
34c7caa8ca
Bump babel-loader from 8.2.3 to 8.2.4 (#17027)
Bumps [babel-loader](https://github.com/babel/babel-loader) from 8.2.3 to 8.2.4.
- [Release notes](https://github.com/babel/babel-loader/releases)
- [Changelog](https://github.com/babel/babel-loader/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel-loader/compare/v8.2.3...v8.2.4)

---
updated-dependencies:
- dependency-name: babel-loader
  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>
2022-03-29 10:10:48 +01:00
dependabot[bot]
f5ae2900b5
Bump @testing-library/dom from 8.11.3 to 8.12.0 (#17025)
Bumps [@testing-library/dom](https://github.com/testing-library/dom-testing-library) from 8.11.3 to 8.12.0.
- [Release notes](https://github.com/testing-library/dom-testing-library/releases)
- [Changelog](https://github.com/testing-library/dom-testing-library/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/dom-testing-library/compare/v8.11.3...v8.12.0)

---
updated-dependencies:
- dependency-name: "@testing-library/dom"
  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>
2022-03-28 14:21:34 -06:00
Daniel Uber
286ca21f46
Revert ERB comment tag work-around from #17012 (#17035)
Since i18n-tasks resolved the issue in 1.0.5, and we've upgraded, the
erb comment tags can use the original (natural) syntax.
2022-03-28 15:16:24 -05:00
ludwiczakpawel
0bf6839a81
Admin analytics (#16528) 2022-03-28 21:51:51 +02:00
dependabot[bot]
416bcbed76
Bump @testing-library/jest-dom from 5.16.2 to 5.16.3 (#17028)
Bumps [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) from 5.16.2 to 5.16.3.
- [Release notes](https://github.com/testing-library/jest-dom/releases)
- [Changelog](https://github.com/testing-library/jest-dom/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testing-library/jest-dom/compare/v5.16.2...v5.16.3)

---
updated-dependencies:
- dependency-name: "@testing-library/jest-dom"
  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>
2022-03-28 14:38:31 -05:00
Daniel Uber
39c339247b
Avoid using robohash for factory generated article cover images (#17024)
* Avoid using robohash for article cover images

If their service slows down, loading the cover image times out in
system tests.

Use a locally served image file instead.

* Specify expected image format for view object test

We were relying on the internals of Faker to return a robohash.org url
and checking that we included that in the cloudinary url.

Rather than relying on the default behavior, explicitly pass a
robohash url in the main image for this spec.
2022-03-28 14:01:29 -05:00
Daniel Uber
6c319b8eb7
Prefer "listing" to "classified_listing" in the api (#17021)
This aligns our behavior with some of the documentation examples,
while permitting the original name (don't break the api).

Fixes #16927
2022-03-28 13:40:00 -05:00
dependabot[bot]
2c73745a26
Bump parallel from 1.22.0 to 1.22.1 (#17031)
Bumps [parallel](https://github.com/grosser/parallel) from 1.22.0 to 1.22.1.
- [Release notes](https://github.com/grosser/parallel/releases)
- [Commits](https://github.com/grosser/parallel/compare/v1.22.0...v1.22.1)

---
updated-dependencies:
- dependency-name: parallel
  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>
2022-03-28 14:39:00 -04:00
dependabot[bot]
4a67305a84
Bump eslint from 8.11.0 to 8.12.0 (#17029)
Bumps [eslint](https://github.com/eslint/eslint) from 8.11.0 to 8.12.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v8.11.0...v8.12.0)

---
updated-dependencies:
- dependency-name: eslint
  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>
2022-03-28 14:38:42 -04:00
dependabot[bot]
bfef4f91ab
Bump i18n-tasks from 1.0.4 to 1.0.5 (#17030)
Bumps [i18n-tasks](https://github.com/glebm/i18n-tasks) from 1.0.4 to 1.0.5.
- [Release notes](https://github.com/glebm/i18n-tasks/releases)
- [Changelog](https://github.com/glebm/i18n-tasks/blob/main/CHANGES.md)
- [Commits](https://github.com/glebm/i18n-tasks/compare/v1.0.4...v1.0.5)

---
updated-dependencies:
- dependency-name: i18n-tasks
  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>
2022-03-28 14:38:16 -04:00
Jamie Gaskins
5dc11719be
Instrument AS::Cache#fetch_multi in Honeycomb (#17023)
See:
- https://api.rubyonrails.org/classes/ActiveSupport/Cache/Store.html#method-i-fetch_multi
- https://guides.rubyonrails.org/v6.1.4.7/active_support_instrumentation.html#cache-fetch-hit-active-support
2022-03-28 13:37:26 -04:00
Ridhwana
1473e58284
add a named blank option to the dropdown (#17019) 2022-03-28 17:44:10 +02:00
Daniel Uber
d9a5c204e1
Skip tests for profile preview cards on the home feed (#17014)
This is failing for me (and had been flaky previously).

https://app.travis-ci.com/forem/forem/builds/248455560 blocked a
deployment because of an error (`@followsRequest` timed out waiting).

I'm able to reproduce this locally and disabling until we can find a
stable fix.
2022-03-25 14:23:40 -05:00
Jeremy Friesen
4509e81dd5
Ensuring the same policies for analytics (#16997)
Prior to this commit the following situation existed:

> The path /dashboard/analytics/org/:id requires user
> authentication (e.g. signed in). However, it does not enforce
> authorization. Anyone can see this page. The page, however, uses
> javascript to populate the data. So no information, aside from the org
> name associated with the :id leaks out. The javascript API end point
> enforces organization membership.
>
> I would expect that the authorization in the HTML rendering would be
> the same as the javascript API end point.

This commit ensures that the dashboards#analytics end point uses the
same policy logic as the API analytics end points.  Further, it keeps
folks who aren't org members out of the base HTML page for other orgs.

Closes forem/forem/#16985
2022-03-25 14:57:01 -04:00
Jeremy Friesen
e2940e75ca
Adding :internal auditing for admin/spaces#update (#17010)
There are two existing listeners for the `Audit::Logger`: `:moderator`
and `:internal`.  (Note: during tests we ignore the :moderator and
:internal logs as defined in [config/initializers/audit_events.rb][1].)

Using `rg "Audit::Logger\.log\(:internal," --files-with-matches`, the
`:internal` listener is found in:

- app/controllers/admin/secrets_controller.rb
- app/controllers/admin/settings/base_controller.rb
- app/controllers/admin/settings/general_settings_controller.rb

Using `rg "Audit::Logger\.log\(:moderator," --files-with-matches`, the
`:moderator` listener is used in:

- app/controllers/rating_votes_controller.rb
- app/controllers/comments_controller.rb
- app/controllers/stories/pinned_articles_controller.rb
- app/controllers/admin/response_templates_controller.rb
- app/controllers/admin/tags_controller.rb
- app/controllers/admin/articles_controller.rb
- app/controllers/admin/users_controller.rb
- app/controllers/admin/reactions_controller.rb
- app/controllers/admin/tags/moderators_controller.rb
- app/controllers/tag_adjustments_controller.rb
- app/controllers/reactions_controller.rb

The `admin/spaces#update` action is most similar to the `admin#settings`
actions, which is why I chose `:internal`.  I am looking for further
guidance on documenting this little area of the application (in
particular providing a data dictionary of :internal and :moderator).

Closes forem/forem#16957

[1]:https://github.com/forem/forem/blob/main/config/initializers/audit_events.rb#L9-L11
2022-03-25 14:25:13 -04:00
Jeremy Friesen
75041ff93f
Conditionally reducing dashboard chatter for users (#16999)
This commit provides two things:

1.  Some notes related to my analysis regarding the dashboard
2.  Conditional redirects and rendering based on article policies

The code comments say most of what I want to say, but to reiterate:

When a user can't create articles nor do they already have published
articles, then we don't want to avoid showing them stats related to
articles.

Closes forem/forem#16913
Related to forem/forem#16908 and forem/forem#16931
2022-03-25 13:59:53 -04:00
Suzanne Aitchison
fcdb9d3fe5
Improvements to home feed profile preview card cypress spec (#17011)
* improvements to profile preview card cypress spec

* woops - missed staging files

* make sure follow buttons have been initialized

* wait on follow button fetching on load
2022-03-25 13:57:48 -04:00
Daniel Uber
6a9b58ca81
Update i18n-tasks to 1.0.4 (#17012)
* Update i18n-tasks to 1.0.4

See changelog
https://github.com/glebm/i18n-tasks/blob/main/CHANGES.md#v104 and
discussion at https://github.com/forem/forem/pull/17003

* Use multiple comment markers for multiline erb comments

This appeases a Parser::SyntaxError raised by the i18n
test (parser-3.1.1.0 gem, via I18n::Tasks::Scanners::ErbAstProcessor).

upstream issue opened with maintainer

* Realign-tags
2022-03-25 11:14:14 -05:00
Suzanne Aitchison
c5ffa8be92
Admin member index: Update pagination layout & styles (#16995)
* pagination theme for new admin view

* align pagination widget correctly in desktop view

* remove bottom pagination

* re-add pagination to the bottom

* use block styling for the links
2022-03-25 07:50:50 +00:00
dependabot[bot]
706ec6a388
Bump honeycomb-beeline from 2.8.2 to 2.9.0 (#17002)
Bumps [honeycomb-beeline](https://github.com/honeycombio/beeline-ruby) from 2.8.2 to 2.9.0.
- [Release notes](https://github.com/honeycombio/beeline-ruby/releases)
- [Changelog](https://github.com/honeycombio/beeline-ruby/blob/main/CHANGELOG.md)
- [Commits](https://github.com/honeycombio/beeline-ruby/compare/v2.8.2...v2.9.0)

---
updated-dependencies:
- dependency-name: honeycomb-beeline
  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>
2022-03-24 16:19:16 -04:00
dependabot[bot]
57ec784132
Bump knapsack_pro from 3.2.0 to 3.2.1 (#17004)
Bumps [knapsack_pro](https://github.com/KnapsackPro/knapsack_pro-ruby) from 3.2.0 to 3.2.1.
- [Release notes](https://github.com/KnapsackPro/knapsack_pro-ruby/releases)
- [Changelog](https://github.com/KnapsackPro/knapsack_pro-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/KnapsackPro/knapsack_pro-ruby/compare/v3.2.0...v3.2.1)

---
updated-dependencies:
- dependency-name: knapsack_pro
  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>
2022-03-24 12:41:16 -06:00
Jamie Gaskins
92c8c1a760
Add unscoped index on articles.feed_source_url (#16984)
We already have a partial unique index for this column scoped on
`published = true`, which is still useful. This index does not make that
index redundant because that index is used to enforce a constraint that
we *only* want to apply to published articles. This index will be used
when `WHERE published` is not part of the query.
2022-03-24 11:57:55 -04:00
Daniel Uber
659ddb8829
Add a safe default value for cloudinary secure (#16989)
* Add a comment, and a safe default value for cloudinary

When moving a site from imgproxy to cloudinary, we observed that
wrapping the cloud name in quotes caused off-looking urls (with the
user name in %22 escaped quotes).

Additionally, if cloudinary is enabled, cloudinary secure should
be set to true. We leave the others blank to prevent conditionally enabling this
service (we check for ENV var presence) mistakenly, but the secure
flag won't turn it on or off and is safe to keep a default value.

* remove unnecessary comment

quoting the env vars had no effect when tested.
2022-03-24 09:29:07 -05:00
Ridhwana
df0efd57d9
feat: change people to members (#16994) 2022-03-24 15:44:46 +02:00
dependabot[bot]
cd3e42fe82
Bump minimist from 1.2.5 to 1.2.6 (#16990)
Bumps [minimist](https://github.com/substack/minimist) from 1.2.5 to 1.2.6.
- [Release notes](https://github.com/substack/minimist/releases)
- [Commits](https://github.com/substack/minimist/compare/1.2.5...1.2.6)

---
updated-dependencies:
- dependency-name: minimist
  dependency-type: indirect
...

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-24 06:51:33 -06:00
dependabot[bot]
b4699938ed
Bump liquid from 5.2.0 to 5.3.0 (#16987)
Bumps [liquid](https://github.com/Shopify/liquid) from 5.2.0 to 5.3.0.
- [Release notes](https://github.com/Shopify/liquid/releases)
- [Changelog](https://github.com/Shopify/liquid/blob/master/History.md)
- [Commits](https://github.com/Shopify/liquid/compare/v5.2.0...v5.3.0)

---
updated-dependencies:
- dependency-name: liquid
  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>
2022-03-24 06:48:40 -06:00
Jeremy Friesen
301c0c1d22
Reducing duplication of knowledge (#16991)
As part of my AuthN/AuthZ work I'm reviewing policies.  I've been
looking at Dashboard pseudo-policies.  The dashboard has some implicit
organization policies that I'm looking to expose and describe.

This refactor simply leverages methods already on the user.

Discovered while working on forem/forem#16985
2022-03-24 08:16:53 -04:00
Jeremy Friesen
e6b26c7ed4
Favoring re-use of authorization error (#16992)
We only have one reference to the UnauthorizedError, which is shadows
the ApplicationPolicy::NotAuthorizedError.  This commit removes the
exception.

Related to forem/forem#16985 but only barely
2022-03-24 08:16:28 -04:00
Anna Buianova
b08c1a2285
Fix redundant slack notifications when article was published (#16977)
* Don't send redundant slack messages when article was published

* Move Article callbacks

* Moved callbacks for rubocop
2022-03-24 09:59:01 +03:00
dependabot[bot]
25404a9f34
Bump stripe from 5.45.0 to 5.46.0 (#16988)
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 5.45.0 to 5.46.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.45.0...v5.46.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>
2022-03-23 17:36:23 -04:00
dependabot[bot]
0db3770959
Bump peter-evans/create-or-update-comment from 1.4.5 to 2 (#16969)
Bumps [peter-evans/create-or-update-comment](https://github.com/peter-evans/create-or-update-comment) from 1.4.5 to 2.
- [Release notes](https://github.com/peter-evans/create-or-update-comment/releases)
- [Commits](https://github.com/peter-evans/create-or-update-comment/compare/v1.4.5...v2)

---
updated-dependencies:
- dependency-name: peter-evans/create-or-update-comment
  dependency-type: direct:production
  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>
2022-03-23 12:26:06 -06:00
Jeremy Friesen
ea3bc697e2
Removing a JS message about connect (#16982)
* Removing a JS message about connect

Related to forem/forem#14734

* Remvoing another reference

I ran `rg Connect[^i]` to see about any remaining references to
Connect.  This one seems to be the last.
2022-03-23 12:30:59 -04:00
Jeremy Friesen
38ef49a2f2
Adjusting article copy to be more general (#16973)
* Adjusting article copy to be more general

Our language regarding articles needs minor revisions to speak a bit
more generally about content.  This follows on the features of
AuthN/AuthZ work to allow forem admins to configure their forems such
that a subset of their forem members may not have the ability to create
articles.

Closes forem/forem#16890
Closes forem/forem#16891

* Update app/views/users/_notifications.html.erb

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

Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
2022-03-23 11:34:33 -04:00
Jeremy Friesen
aa3d6c8104
Refactoring methods to remove duplication (#16974)
As I'm looking at the dashboard, there's lots of small duplication.
This refactor is a way to help me collect my thoughts regarding how to
approach the larger issue at hand.
2022-03-23 09:07:47 -04:00