Commit graph

5338 commits

Author SHA1 Message Date
Vaidehi Joshi
f9a6067662
Do not create mentions when embedded within a comment liquid tag (#13552)
Fixes https://github.com/forem/forem/issues/13348.
2021-04-28 08:27:26 -07:00
Jacob Herrington
c6d3628480
Remove empty file from version control (#13551) 2021-04-28 10:03:32 -05:00
Tushar Sadhwani
9cc4817e2e
Fix scroll-padding on article anchor links (#13501) 2021-04-28 14:30:58 +01:00
Alex
0211a7c341
[Search 2.0] Fix podcast values (#13550)
* Fix podcast values

* Also select slug from podcast_episodes
2021-04-28 08:58:45 -04:00
rhymes
8762815709
[Search 2.0] Match both word boundaries when filtering tags (#13554) 2021-04-28 11:24:45 +02:00
dependabot[bot]
1a48b3151a
Bump cypress from 6.9.1 to 7.2.0 (#13528)
* Bump cypress from 6.9.1 to 7.2.0

Bumps [cypress](https://github.com/cypress-io/cypress) from 6.9.1 to 7.2.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/.releaserc.base.js)
- [Commits](https://github.com/cypress-io/cypress/commits/v7.2.0)

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

* fix intercept and exception issues causing commentOnArticle specs to fail

* fix a typo while we're here

* stub the minimum search text

* update intercepts on post mention user

* Bump cypress from 6.9.1 to 7.2.0

Bumps [cypress](https://github.com/cypress-io/cypress) from 6.9.1 to 7.2.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/.releaserc.base.js)
- [Commits](https://github.com/cypress-io/cypress/commits/v7.2.0)

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

* fix unhandled exceptions in initScrolling causing tests to abort

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
2021-04-28 10:09:43 +01:00
Michael Kohl
1c7de11bef
Split Settings::UserExperience (#13495)
* Add Settings::UserExperience

* Add DUS

* Update usage

* Add controller

* Add e2e test

* Fix specs
2021-04-28 13:29:25 +07:00
Jamie Gaskins
d8f7518e5c
Optimize Articles::Suggest query (#13548) 2021-04-27 14:30:06 -04:00
rhymes
f48cf141a6
Use regexp operator to avoid matching partial tags (#13547) 2021-04-27 20:27:11 +02:00
Alex
315dca98c9
[Search 2.0] Podcasts on search page (#13475)
* Working MVP

* Add specs

* Add partial index on podcasts.published

* Add tsvector indexes to podcast_episodes

* Filter for reachable PodcastEpisodes

* Fix indentation/formatting

* Add podcast attribute to serializer
2021-04-27 13:29:22 -04:00
rhymes
2ff317687e
[Search 2.0] Articles (#13540)
* Rename the search scope to reflect its generic usage

* Add and use Search::Postgres::Article
2021-04-27 18:59:01 +02:00
dependabot[bot]
62e150f5af
Bump eslint-config-preact from 1.1.3 to 1.1.4 (#13516)
* Bump eslint-config-preact from 1.1.3 to 1.1.4

Bumps [eslint-config-preact](https://github.com/preactjs/eslint-config-preact) from 1.1.3 to 1.1.4.
- [Release notes](https://github.com/preactjs/eslint-config-preact/releases)
- [Commits](https://github.com/preactjs/eslint-config-preact/compare/v1.1.3...v1.1.4)

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

* Add missing key prop for elements in iterators where necessary

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Vaidehi Joshi <vaidehi.sj@gmail.com>
2021-04-27 18:54:43 +02:00
Jamie Gaskins
b167fb7fb1
Optimize GetUserStickies (#13541) 2021-04-27 12:47:49 -04:00
rhymes
4ca995e1a1
Serialize tag flares correctly in Homepage::ArticleSerializer (#13537) 2021-04-27 16:07:05 +02:00
Andy Zhao
dc30eadad8
Remove unused attributes from markdown parser (#13484)
* Remove definitely unused attributes

* Refactor and remove unused attributes

* Add parentheses

* Prevent alt tag from having Liquid tags inside

* Add test

* Remove more unused attributes

* Scrub any valid attributes

* Remove unused tags and add more tests

* Remove <i> tag; <em> is used by parser

* Remove <center> b/c it's deprecated though still valid

* <cite> is a safe tag and used by some

* Eh I changed my mind about center lol

* Add underline <u> back in

* Don't allow width changes

* Use frozen constant for regex

* Use #remove over #gsub
2021-04-27 09:33:01 -04:00
Suzanne Aitchison
7c7a0992b7
Reintroduce autocomplete Cypress test, refactor tests in same suite (#13506)
* reintroduce test, refactor tests

* make sure we always wait for comment box substitution before continuing
2021-04-27 12:01:51 +01:00
Suzanne Aitchison
6f4382719e
add skip link to connect and manage post (#13503) 2021-04-27 10:01:24 +01:00
rhymes
8a55c3e888
[Search 2.0] Add query filters for profile, organization and tag index pages (#13510)
* Re-order test cases to increase tests readability

* Add user_id filter for articles query

* Add organization_id and tags filters

* Add new params to SearchController#feed_content

* Add current_user param so that it can be tested for a small pool of users
2021-04-27 08:49:47 +02:00
Ridhwana
9db98d3031
chore: change aria:true to aria: hidden (#13515) 2021-04-26 19:30:04 +02:00
rhymes
23c661bb0a
Cleanup markup of editor guide (#13491)
* Improve HTML markup

* Implement some a11y changes

* Update app/views/pages/_v1_editor_guide_preamble.html.erb

Co-authored-by: Nick Taylor <nick@forem.com>

Co-authored-by: Nick Taylor <nick@forem.com>
2021-04-26 18:44:18 +02:00
Christian D
842a1cb9de
13230 Fix textarea out of bounds on resize (#13508) 2021-04-26 18:39:56 +02:00
Ridhwana
c5bcb4c021
RFC 50: fix some more hardcoded paths (#13473)
* fix: remove hardcoded paths

* fix: use path helpers

* swap href for link_to

* feat: use path helpers

* feat: use a data path to send through the path that we will be calling

* feat: pass route through to js

* dus index path

* chore: change to use path_helpers

* feat: update DUS controller

* chore: oops remove these paths
2021-04-26 17:49:54 +02:00
Michael Kohl
610f6151e6
Split Settings::Community from SiteConfig (#13403)
* Add settings_community_contents model

* Add settings_communities model

* Update usage

* Add controller and update code

* Add e2e test

* Add data update script

* Update schema.rb

* Fix specs

* PR feedback

* Remove experience_* from Settings::Community

* Update spec

* Fix spec
2021-04-26 10:46:35 +02:00
Michael Kohl
f2f5e911cf
Add Settings::Mascot (#13451)
* Add Settings::Mascot

* Add DUS

* Update usage

* Fix e2e test and controller

* Fix specs

* Fix remaining spec
2021-04-26 11:39:19 +07:00
Michael Kohl
62542a35ab
15 minute fix: Remove /partnerships page ✂️ (#13480)
* Remove partnerships

* Remove dead link
2021-04-26 08:44:53 +07:00
Molly Struve
73973d3941
Refactor:Remove jobs_url and Dispaly Banner (#13479) 2021-04-25 12:59:54 -05:00
rhymes
996f6e980f
[Search 2.0] Users (#13453)
* Add Search::Postgres::User

* Add sorting params

* Use a better algorithm to filter out suspended users

* Add tsvector index on users.name

* Add specs

* Add UserRole spec

* Update spec/services/search/postgres/user_spec.rb

Co-authored-by: Michael Kohl <citizen428@dev.to>

* Fix search with quotes in users's names

Co-authored-by: Michael Kohl <citizen428@dev.to>
2021-04-24 19:06:06 +02:00
rhymes
3292f27d53
Homepage query should not fail for nil article's cached tag list (#13492) 2021-04-24 18:36:34 +02:00
Fernando Valverde
affc704c9b
Runtime Banner for Mobile Deep Linking (#13190)
* First version using custom schemes for iOS

* Starting to take shape with /r/mobile redirect page

* Wording and aasa

* Adds e2e tests

* Trigger CI

* Tweaks to AASA

* Uses external pivot domain to trigger Universal Links

* Add missing external domain deep link

* Fix test by enabling runtime_banner only in E2E tests

* Fix URL encoding mismatch in Cypress test

* banner sttyling

* Cleanup unrelated changes

* Add AASA tests + remove lingering Gemfile.lock changes

* Fix cypress test

* Remove unnecessary window global assignment

* Trigger Travis

* Replace querySelectorAll with querySelector

* Apply suggestions from code review

Co-authored-by: Vaidehi Joshi <vaidehi.sj@gmail.com>

* Refactor inline comments, extract URL.deep_link logic and other review feedback

* Small tweaks

* Remove untrusted user-provided redirect (CodeQL suggestion)

* Fix failing tests

* Whoops - another test fix

* Use Forem's UDL server

* Extract timeoutDelay and add comment clarifying

* Add target='_blank' to deep link

* Add TODO comment for replacing hardcoded identifiers

* Apply suggestions from code review

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

* Add a11y attributes

Co-authored-by: Paweł Ludwiczak <ludwiczakpawel@gmail.com>
Co-authored-by: Vaidehi Joshi <vaidehi.sj@gmail.com>
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
2021-04-23 15:45:34 -06:00
Alex
f233be805b
Preload users instead of querying separately when searching for comments (#13490)
* Preload users instead of querying separately

* Add conditional to comment.user
2021-04-23 16:30:06 -04:00
Jacob Herrington
2f703e97f3
Fix bug when responding to listings (#13366)
* Fix bug when responding to listings

Sending a message to a listing author works about half the time. I
can't determine exactly what user behavior causes it to fail or succeed,
but after making this change it doesn't fail anymore. Looking at the
code, I'm not sure how it ever works...

* Notify Honeybadger when listing responses fail

* Add E2E test for contacting through listings

* Update e2e test
2021-04-23 13:55:33 -05:00
Suzanne Aitchison
ee106c5fb0
add skip link to settings page (#13488) 2021-04-23 20:42:36 +02:00
Alex
1b6f753f73
Performance improvements to comments search (#13489)
* Explicitly pluck user_id from comments table

* Change comment query

* Remove indexes and add partial indexes

* Update schema
2021-04-23 13:21:30 -04:00
Alex Vazquez
a0c3ef0329
Modify codepen_tag to parse public and private Pen urls (#13481)
* Modify codepen_tag to parse public and private Pen urls

* Fixed broken test for codepen_tag private test

* Replace codepen_tag tests with links to real Pens
2021-04-23 16:41:21 +01:00
Suzanne Aitchison
2447bc3a40
add skip link to stats and analytics pages (#13487) 2021-04-23 16:17:23 +01:00
Suzanne Aitchison
b075c3c94a
make sure custom pages have skip link functionality (#13483) 2021-04-23 16:10:51 +01:00
Suzanne Aitchison
9a693d3ac6
add skip link to tag page (#13485) 2021-04-23 16:10:28 +01:00
Suzanne Aitchison
3b6574dd44
add skip link to search results page (#13486) 2021-04-23 16:10:07 +01:00
Daniel Uber
c1a93ad3c3
Cleanup articles cache busting (#13467)
* Extract repeated calls to cache_bust.call to iteration over list

This mirrors what the EdgeCache::BustUser service looks like.

It might make sense to have cached_article_paths be a method accepting
a block and yielding paths, and including the collections cache paths
as well.

* Move article path information into a separate method

BustArticle.call now only knows to bust cache for each path associated
with the article, the information about which paths to clear is moved
to a separate `paths_for` method.

I may have gone overboard on this.

* Remove extra blank line
2021-04-23 09:35:40 -05:00
Suzanne Aitchison
ee66e4cf7d
[15 min fix] Fix following tags input a11y errors (#13425)
* fix following tags input a11y errors

* give hidden inputs unique ids

* update html element code in initScrolling, update test with new ids

* refactor

* trigger travis

* target the textfield inside the div in the test
2021-04-23 14:40:02 +01:00
Nick Taylor
a55943d2b6
Removed title attributes from SVGs that are purely decorative. (#13482) 2021-04-23 14:59:58 +02:00
Nick Taylor
90da6355dd
[15 minute fix] Fixed issue with member navigation button only working after full page loads but not InstantClick page transitions (#13402) 2021-04-23 08:06:56 -04:00
rhymes
0cf99fd683
Use a manual query to find users by their names and usernames (#13474)
* Use a manual query to find users by their names and usernames

* Remove spec for accented names

* Remove superflous comment
2021-04-22 19:46:43 +02:00
dependabot[bot]
29dcea3750
Bump rubocop-performance from 1.10.2 to 1.11.0 (#13471)
* Bump rubocop-performance from 1.10.2 to 1.11.0

Bumps [rubocop-performance](https://github.com/rubocop/rubocop-performance) from 1.10.2 to 1.11.0.
- [Release notes](https://github.com/rubocop/rubocop-performance/releases)
- [Changelog](https://github.com/rubocop/rubocop-performance/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop-performance/compare/v1.10.2...v1.11.0)

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

* Enable new cops and fix violations

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: rhymes <rhymes@hey.com>
2021-04-22 09:31:25 -05:00
Daniel Uber
3e432c9047
When busting user cache, also clear the api response (#13465)
* When busting user cache, also clear the api response

This should fix #13293 by clearing both the UI copy and the api copy of the
user's page.

* Update spec to include the api path
2021-04-22 09:16:15 -05:00
Fernando Valverde
e602d50d32
Push Notification multi app support (#13304)
* PushNotificationTarget model + /admin/push_notifications (index)

* Admin panel CRUD + request tests

* Migrate Redis backed Rpush model responsibilities into PushNotificationTarget

* Fix failing specs

* Fix conflicts + clean up test by using constant reference

* Removed unused policy

* policy + services + misc feedback

* PushNotificationTarget refactored to AppIntegration

* Review feedback

* Some small cleanup

* Refactor AppIntegration -> ConsumerApp

* Fixing specs

* Trigger Travis

* More naming refactor changes

* Refactor services into queries

* Revert to where(...).first, fix typo and tests

* Apply suggestions from code review

Co-authored-by: rhymes <rhymes@hey.com>

* PR review feedback - create_or_find_by, validations, renaming + more tests

* Fix aria-label text

* Remove unnecessary individual index - composite index will do

Co-authored-by: rhymes <rhymes@hey.com>
2021-04-21 17:13:01 -06:00
Jacob Herrington
5afb4d9a24
[15-Minute Fix] Refactor code smells (#13347)
* Remove duplicate method calls

* DRY up duplicated code

* Address code smells in concerns

* Update based on PR feedback
2021-04-21 14:52:32 -05:00
rhymes
1fd38aa172
[Search 2.0] Allow mention autocomplete to search users names (#13462)
* Add tsvector index on users.name

* [Search 2.0] Allow mention autocomplete to search users names
2021-04-21 18:47:15 +02:00
Daniel Uber
a615105653
Bust cache after commit, rather than after save (#13455)
There's a (tiny) race condition where if an enclosing transaction
has not yet been committed when a user is created, and a sidekiq
worker begins find(:id) and fails, that the job is enqueued, started,
and skipped.

This changes the after_save hook on User to after_commit, ensuring the
user's assigned id is visible to other processes.
2021-04-21 10:54:19 -05:00
rhymes
14d98fc590
[Search 2.0] Homepage query (#13339)
* Added basic homepage query object

* Add serializers and initial service object

* Add flare tags, select only required columns

* Test default Homepage::FetchArticles behind a feature flag

* Add all needed params for the homepage feeds

* Add Homepage::ArticlesQuery specs

* Add Homepage::FetchTagFlares specs

* Add Homepage::FetchArticles specs

* Add approved filter to Homepage::ArticlesQuery

* Add specs for SearchController

* Addressed feedback

* Apply PR feedback to cleanup SearchController#feed_content

* Update app/services/homepage/fetch_tag_flares.rb

Co-authored-by: Jamie Gaskins <jamie@forem.com>

* Update spec/queries/homepage/articles_query_spec.rb

Co-authored-by: Jamie Gaskins <jamie@forem.com>

* Update spec/queries/homepage/articles_query_spec.rb

Co-authored-by: Jamie Gaskins <jamie@forem.com>

* Apply PR feedback

* Modify travis

* Revert "Modify travis"

This reverts commit b42548e866804af69542602556db47d37a31034e.

Co-authored-by: Jamie Gaskins <jamie@forem.com>
Co-authored-by: Mac Siri <krairit.siri@gmail.com>
2021-04-21 12:41:24 +02:00