Skip to content
This repository has been archived by the owner on Jul 20, 2023. It is now read-only.

[pull] master from forem:master #2

Open
wants to merge 395 commits into
base: master
Choose a base branch
from
Open

Conversation

pull[bot]
Copy link

@pull pull bot commented Mar 4, 2021

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

@pull pull bot added the ⤵️ pull label Mar 4, 2021
dependabot bot and others added 29 commits March 23, 2021 12:41
* Ensure loggd out user data is not in the document

* Use delete operator to remove user property

Another function relies on this value not existing. If this property
exists, but is set to undefined, it will not behave as expected.

* Add tests to verify user data does not persist in the DOM after logout

* Update cypress/integration/loginFlows/userLogout.spec.js

Co-authored-by: Nick Taylor <[email protected]>

* Fixup: Test localStorage for user data

Co-authored-by: Nick Taylor <[email protected]>
Bumps [bootsnap](https://github.com/Shopify/bootsnap) from 1.7.2 to 1.7.3.
- [Release notes](https://github.com/Shopify/bootsnap/releases)
- [Changelog](https://github.com/Shopify/bootsnap/blob/master/CHANGELOG.md)
- [Commits](Shopify/bootsnap@v1.7.2...v1.7.3)

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [rubocop-performance](https://github.com/rubocop/rubocop-performance) from 1.10.1 to 1.10.2.
- [Release notes](https://github.com/rubocop/rubocop-performance/releases)
- [Changelog](https://github.com/rubocop/rubocop-performance/blob/master/CHANGELOG.md)
- [Commits](rubocop/rubocop-performance@v1.10.1...v1.10.2)

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [fog-aws](https://github.com/fog/fog-aws) from 3.9.0 to 3.10.0.
- [Release notes](https://github.com/fog/fog-aws/releases)
- [Changelog](https://github.com/fog/fog-aws/blob/master/CHANGELOG.md)
- [Commits](fog/fog-aws@v3.9.0...v3.10.0)

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Optimize Article.published scope

The index on `articles.published` is not being invoked due to lack of
diversity in the values in that column (it only has 2 possible values
because it's a boolean).

The index on `articles.published_at` is extremely diverse and will be
invoked any time it can reduce the scope of a query by an order of
magnitude or more.

On DEV, this does not change the row count for the scope:

    irb(main):001:0> Article.where(published: true).count == Article.where(published: true).where(Arel.sql("published_at < now()")).count
    => true

The query plan for the `Articles::Feeds::LargeForemExperimental` service
invoked in the `Stories::FeedController#show` endpoint goes from this:

    Planning Time: 0.271 ms
    Execution Time: 329.258 ms

to this:

    Planning Time: 0.330 ms
    Execution Time: 0.468 ms

This is a reduction in query time of 99.7%

* Set published_at in articles factory

An article that is published should always have a `published_at`
timestamp

* Use Time.current for Zonebie

* Add clarifying comment to Article.published scope

* Generate timestamp in Ruby instead of SQL

I think using transactions for specs was interfering with comparing
timestamps generated in SQL, so this commit generates the timestamp in
Ruby.

* Move published_at outside of the transient block

This was causing articles to be marked as `published_at` right now even
if `published_at` was specified in the `FactoryBot.create` call.

* published_at: nil is no longer the factory default

* published_at is no longer nil by default

* published_at is no longer nil by default

* We didn't actually want to clear this published_at

This was intentionally left out to show that published_at does not get
cleared when we flip published true->false.
* Add a failing test

This is failing because sponsorships are not removed by Users::Delete,
and raises a foreign key constraint error because user.destroy tries
to remove a referenced user.

* When destroying a user, destroy associated sponsorships

There is a `belongs_to` relationship in sponsorships, and a has_many
relationship in Organization, this adds a mirror relation on User with
the equivalent dependent destroy rules.

If an organization is removed, all sponsorships belonging to that
organization are removed too, and now, if a user is removed, all
sponsorships created by that user are removed.

Co-authored-by: djuber <[email protected]>
We have one for username and for old_old_username, but not the one in
between.
This one file seems to be associated with segfaults we're observing in
TravisCI.

To narrow down the source of the issue, disable this set of tests. (If
segfaults continue, this was not the cause and should be re-enabled).

Co-authored-by: djuber <[email protected]>
* Remove buffer gem and related code

* Remove more Buffer-related code

* Remove one more Buffer spec

* Remove DUS

* Remove more Buffer code
* Added credits_awarded to badges

* Data update script for updating credits_awarded

* Data update script for updating credits_awarded

* Added null: false to badges.credits_awarded
* add save_valid_attributes method in profile

* undo save_valid_attributes method

* Render the settings page with user entered params incase of failed update
Bumps [eslint-plugin-react](https://github.com/yannickcr/eslint-plugin-react) from 7.23.0 to 7.23.1.
- [Release notes](https://github.com/yannickcr/eslint-plugin-react/releases)
- [Changelog](https://github.com/yannickcr/eslint-plugin-react/blob/master/CHANGELOG.md)
- [Commits](jsx-eslint/eslint-plugin-react@v7.23.0...v7.23.1)

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Update with best practices

* Remove useCallback

* Update app/javascript/shared/components/useKeyboardShortcuts.js

Co-authored-by: Suzanne Aitchison <[email protected]>

* Fill out JSDoc

* Follow Prettier rules

* Resolve conflict

Co-authored-by: Suzanne Aitchison <[email protected]>
Bumps [listen](https://github.com/guard/listen) from 3.4.1 to 3.5.0.
- [Release notes](https://github.com/guard/listen/releases)
- [Commits](guard/listen@v3.4.1...v3.5.0)

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [dogstatsd-ruby](https://github.com/DataDog/dogstatsd-ruby) from 4.8.3 to 4.9.0.
- [Release notes](https://github.com/DataDog/dogstatsd-ruby/releases)
- [Changelog](https://github.com/DataDog/dogstatsd-ruby/blob/master/CHANGELOG.md)
- [Commits](DataDog/dogstatsd-ruby@v4.8.3...v4.9.0)

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [elasticsearch](https://github.com/elastic/elasticsearch-ruby) from 7.11.2 to 7.12.0.
- [Release notes](https://github.com/elastic/elasticsearch-ruby/releases)
- [Changelog](https://github.com/elastic/elasticsearch-ruby/blob/master/CHANGELOG.md)
- [Commits](elastic/elasticsearch-ruby@v7.11.2...v7.12.0)

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Step one in populating the reading list with PG

This first attempt tries to recycle the `Search::ArticleSerializer` which is only
used in input in ES, but we're using it in output in PG.
For this reason it's currently 15.55x times slower

* Serialize only what is requested by the frontend

`Search::ArticleSerializer` which is only used in ES in the indexing step aims
to add as much info as possible for broader purposes, in this case
(with serialization in output) we should aim to save only what's requested from
the frontend.

* Optimize selection of articles columns

* Select only needed columns for users

* Compute total of reading list items

* Attach the basic filtering based on PG on the search controller

* Restructure in methods

* Add tags support

* Use LIKE on articles.cached_tag_list

* Fix tags as nil

* Fix default pagination

* Add optional FTS for reading list

* Reworded the tags comment explaining why

* Add index to reactions.status

* Fix total counter in Preact readingList component

* Fix total count in reading list backend search

* Add GIN index to articles.cached_tag_list

* Add service tests

* Add search request specs

* Added missing early return

* Update spec/requests/search_spec.rb

Co-authored-by: Julianna Tetreault <[email protected]>

* Extract MAX_PER_PAGE constant and add comments

Co-authored-by: Julianna Tetreault <[email protected]>
Bumps [pusher](https://github.com/pusher/pusher-http-ruby) from 1.4.3 to 2.0.0.
- [Release notes](https://github.com/pusher/pusher-http-ruby/releases)
- [Changelog](https://github.com/pusher/pusher-http-ruby/blob/master/CHANGELOG.md)
- [Commits](pusher/pusher-http-ruby@v1.4.3...2.0.0)

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Add rake task to collect admin overview metrics

* Print the Forem Instance domain
* change tag to h2 to avoid the overflow

* delect commit

* make the font size bigger when screen size is more than 1000px

* Update chat.scss

Co-authored-by: Michael Kohl <[email protected]>
Co-authored-by: Michael Kohl <[email protected]>
* add skip link functionality to dashboard pages

* add skip link to listings dashboard

* add missed follow users dashboard
We have a btree index on this table but it is not invoked with a `LIKE`
operation that uses `%` - only when using `LIKE` with an exact match.

This query is DEV's second-most intense query by total time spent with
a p50 latency of ~130ms. This index brings it down to 5ms at p90.
dependabot bot and others added 28 commits April 14, 2021 14:39
Bumps [@storybook/addon-a11y](https://github.com/storybookjs/storybook/tree/HEAD/addons/a11y) from 6.2.7 to 6.2.8.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/v6.2.8/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v6.2.8/addons/a11y)

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [@storybook/addon-docs](https://github.com/storybookjs/storybook/tree/HEAD/addons/docs) from 6.2.7 to 6.2.8.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/v6.2.8/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v6.2.8/addons/docs)

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [@storybook/addon-actions](https://github.com/storybookjs/storybook/tree/HEAD/addons/actions) from 6.2.7 to 6.2.8.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/v6.2.8/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v6.2.8/addons/actions)

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Small UI refactor that makes the stats page resonsive (to some degree)

* Add import to scss file

* Whoops

* Implement feedback from review

* Extract flex value into variable

* Update app/javascript/analytics/dashboard.js

Co-authored-by: Suzanne Aitchison <[email protected]>

Co-authored-by: Suzanne Aitchison <[email protected]>
Bumps [@reach/combobox](https://github.com/reach/reach-ui/tree/HEAD/packages/combobox) from 0.14.0 to 0.15.0.
- [Release notes](https://github.com/reach/reach-ui/releases)
- [Commits](https://github.com/reach/reach-ui/commits/v0.15.0/packages/combobox)

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [@storybook/addon-links](https://github.com/storybookjs/storybook/tree/HEAD/addons/links) from 6.2.7 to 6.2.8.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/v6.2.8/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v6.2.8/addons/links)

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* disable reply with autocomplete test due to flakiness

* change to use skip
* feat: make the sidebar more dynamic

* refactor: use the action in the same controller instead of the whole path

* feat: remove hardcoded routes

* feat: move routes into file

* feat: use rails 6 draw for the admin routes

* add a helper method

* oops: fix super

* feat: add the hacky helper methods :( )

* WIP: created different path helpers for the new routes and point the old helpers to the new ones if the FF is toggled

* feat: update the module

* chore: add new paths

* feat: change link_to's use paths instead

* feat: feedback_messages to scoped admin route

* chore: update the feature flag urls helpers

* feat: feedback_messages issue

* chore: remove all the workarounds

* chore: rubucop

* fix: oops remove helper

* chore: comment out the tests that touch the tabbed navbar which is affected by the rails application needing to be reloaded

* feat: ensure that we chcek if the db table exists
Bumps [@storybook/preact](https://github.com/storybookjs/storybook/tree/HEAD/app/preact) from 6.2.7 to 6.2.8.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/v6.2.8/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v6.2.8/app/preact)

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [oj](https://github.com/ohler55/oj) from 3.11.3 to 3.11.4.
- [Release notes](https://github.com/ohler55/oj/releases)
- [Changelog](https://github.com/ohler55/oj/blob/develop/CHANGELOG.md)
- [Commits](ohler55/oj@v3.11.3...v3.11.4)

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [@testing-library/user-event](https://github.com/testing-library/user-event) from 13.1.2 to 13.1.3.
- [Release notes](https://github.com/testing-library/user-event/releases)
- [Changelog](https://github.com/testing-library/user-event/blob/master/CHANGELOG.md)
- [Commits](testing-library/user-event@v13.1.2...v13.1.3)

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [cypress-file-upload](https://github.com/abramenal/cypress-file-upload) from 5.0.5 to 5.0.6.
- [Release notes](https://github.com/abramenal/cypress-file-upload/releases)
- [Commits](abramenal/cypress-file-upload@v5.0.5...v5.0.6)

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [redoc-cli](https://github.com/Redocly/redoc) from 0.11.3 to 0.11.4.
- [Release notes](https://github.com/Redocly/redoc/releases)
- [Changelog](https://github.com/Redocly/redoc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Redocly/redoc/commits)

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
When building containers, when there is no postgresql instance, this
check to AR::Base.connection is raising an error. We'd like to be able
to continue running `rake assets:precompile` without needing a live db
to check the schema for a table.

Handle connection errors as though they were a table missing.
Bumps [ibm-openapi-validator](https://github.com/IBM/openapi-validator) from 0.40.1 to 0.42.0.
- [Release notes](https://github.com/IBM/openapi-validator/releases)
- [Changelog](https://github.com/IBM/openapi-validator/blob/main/CHANGELOG.md)
- [Commits](IBM/openapi-validator@v0.40.1...v0.42.0)

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) from 8.1.0 to 8.2.0.
- [Release notes](https://github.com/prettier/eslint-config-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md)
- [Commits](prettier/eslint-config-prettier@v8.1.0...v8.2.0)

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [oj](https://github.com/ohler55/oj) from 3.11.4 to 3.11.5.
- [Release notes](https://github.com/ohler55/oj/releases)
- [Changelog](https://github.com/ohler55/oj/blob/develop/CHANGELOG.md)
- [Commits](ohler55/oj@v3.11.4...v3.11.5)

Signed-off-by: dependabot[bot] <[email protected]>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
We added a check for ConnectionNotEstablished, which causes the check
to return false if there is no database available (the case in
buildkite for rake tasks like assets:precompile), this changed the
implementation from an existence check (I can connect to the database,
but the table is not present, the situation when we have created a db,
but not yet populated the schema) to an availability check (either the
db is live but the table is absent, or the db is absent, in either
case we know we can't read from the table yet).

Change table_exists? to table_available? to indicate the new
behavior and update the two call sites.
@joshpuetz joshpuetz deleted the branch MadeByThePinsHub:master April 16, 2021 15:35
@joshpuetz joshpuetz deleted the master branch April 16, 2021 15:35
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.