* sliding tabs
* Add aria-label to the navigation
This supports the cypress tests, as well as retaining existing accessibility features.
* Adapt feedNavigation cypress test to handle new navigation layout
Before looking for week, month, year, or infinity top feeds, select
"Top" and wait for the page refresh.
* increasing tappable area + making foucs outline visible
Co-authored-by: Dan Uber <dan@forem.com>
* Since we're pasting a multi-line key, use a textarea for apple_pem
* Update app/views/admin/settings/forms/authentication/_apple_auth_provider_settings.html.erb
set style on pem input to show expected input size.
Co-authored-by: Fernando Valverde <fernando@visualcosita.com>
Co-authored-by: Fernando Valverde <fernando@visualcosita.com>
* schema file undelete description
* update with main
* update with origin
* update
* create controller; hook up to badge_achievements
* almost done with implementation
* push up what I have
* complete implementation; generalize snackbar usage
* start writing tests
* add confirmation text entry step to test
* Fix delete via JS
* implement danger notice for errors
* complete cypress test
* create ErrorAlert CustomEvent and implement
* fix failing badge_achievements spec
* start applying PR review changes
* hook up Preact Modal
* fix cypress tests
* remove old comment
Co-authored-by: Nick Taylor <nick@forem.com>
* consolidate messaging functions
Co-authored-by: Michael Kohl <citizen428@forem.com>
Co-authored-by: Nick Taylor <nick@forem.com>
HairTrigger uses the ActiveRecord::Base.descendants to find triggers
in the db (from `models`). WithModel (used in the Settings::Base spec)
clears this during its descendants cleanup, causing this test to
ocassionally fail.
Before checking hairtrigger, if AR::Base descendents is empty, add
ApplicationRecord (there's an assumption here that all of our
application models inherit from application record - this may or may
not be true if we use engine generated models that do not follow this
convention and need to validate triggers there.
* Use regex to replace with https
* Refactor a bit
* Update logic to handle edge cases
* url being nil
* url not a valid URL (weak validation, checks for starting
string of http)
* Add new test case for http to https conversion
* Relax tag validation restriction to permit alphanumeric strings
Non-word symbols like musical notes are still blocked, but most
languages should work.
* Handle redirect after tag edit
The URI.parse(tag.name) was not updated in #13720
Move reused logic into tag_path method in URL module.
* FactoryBot generated tags are non-ascii
This should help expose any cases where we're mistakenly counting on
ascii-only content in tags by causing all generated tags without a
specified name to be of the form `tag你好#{n}` instead of `tag#{n}`.
* Revert "FactoryBot generated tags are non-ascii"
This reverts commit ed1035cd1e91619b2c1599e521b6ddf962c97f80.
It was useful to see how many places the path knowledge is in the
tests (a lot of requests have GET /t/tag.name and need to have GET
URL.tag_path instead).
https://app.travis-ci.com/github/forem/forem/builds/237542600 has the
results.
Reverting because those test-side changes seem like a secondary
concern to the change in this PR (I'll file a follow on issue)
* Update Forem core team only section
Adding additional clarification for how the team can communicate that they worked on the Admin area so Community Success can update the appropriate docs.
* Updated PR with Michael T's suggestions
* Update .github/PULL_REQUEST_TEMPLATE.md
Co-authored-by: Julianna Tetreault <32834804+juliannatetreault@users.noreply.github.com>
Co-authored-by: Julianna Tetreault <32834804+juliannatetreault@users.noreply.github.com>
* When an api key was not set - handle gibbon error as mailchimp error
see https://app.honeybadger.io/projects/72638/faults/73753178
It's possible the right answer is instead to either (1) not make the
call at all (2) not log as a mailchimp error but treat distinctly
* Only report error if GibbonError, don't attempt to resubscribe
Separate the rescue blocks since resubscribing doesn't make sense if
we're handling a gibbon error rather than a mailchimp error
* Add test for gibbon error being raised (and rescued)
Copied the existing test specifying that resubscribe is attempted on a
raised mailchimp error.
* Remove irrelevant resubscribe check - assert error is handled only
* Add feature flag for connect
* Start using Connect feature flag
* Add feature flag check to plaintext mailers
* Minor fixes/formatting issues
* Fix typo
* Enable Connect feature flag for tests
* Fix feature flag in tests
* Update rails_helper
* Fix typo
* (╯°□°)╯︵ ┻━┻
* One more try
* connect announcement
* Use connect feature flag in admin and admin routes
* Add aria-live attribute to announcement
* Undo schema.rb changes
Co-authored-by: Paweł Ludwiczak <ludwiczakpawel@gmail.com>
* In dashboard show api eager load collection with articles
* Dashboard Article Row view now loads collection to suppress bullet warning of eager loading
* When calling Faker::Markdown, avoid "sandwich" method
Since random can also be selected by random (without the exclude
list), avoid calling sandwich occassionally from random's call to
random.
This avoids generating body_markdown exceeding 12 newlines (which is
validated in Listing and prevents save, breaking the seeds process).
* just take 10 lines, don't be clever
Co-authored-by: Jamie Gaskins <jamie@forem.com>
Co-authored-by: Jamie Gaskins <jamie@forem.com>
* Check for the current version of foreman when deciding to install
0.87.1 was current when this was added, but `gem install foreman` now
installs 0.87.2, so this check always fails (I do not have the older
version present).
I'm suspecting we either don't want to version pin this test (assume
whatever version of foreman installed is fine) or we need to use
something like the Gemfile to have dependabot keep this version info
in sync with the upstream.
All I do here is update the current release version to test against.
* Remove foreman version constraint
If any version of (very stable) foreman is installed, assume it's
recent enough to run the (also very stable) Procfile
Only install foreman gem if it's not installed. Updates are on the user.