* Added eslint plugin/rules for Cypress.
* Added Cypress to the project for end to end testing.
* Added ~/.cache folder to cache Cypress binary on Travis.
* Adds a lower() query to the DB in Stories#show
* Restructure spec
* bypass article callbacks in order to test edge case
* Fixes spec
* Change the approach to unsure downcase path in Article model
* Move .downcase call to set_caches before_save callback
* Adds data update script for fixing offending Article paths
* Moves model tests to correct block
* Apply suggestions from code review
Co-authored-by: Vaidehi Joshi <vaidehi.sj@gmail.com>
Co-authored-by: Vaidehi Joshi <vaidehi.sj@gmail.com>
* Render left sidebar attributes on profile
* Display header profile fields
* Make changes to protect DEV data
* Don't render DEV header fields twice
* Wrap profile UI changes in a FeatureFlag
* Add spec to test mulitple display areas
* Use select over reject
Co-authored-by: Michael Kohl <me@citizen428.net>
* Move comment for documentation generators
* Update dev profile fields csv data
Co-authored-by: Michael Kohl <me@citizen428.net>
Co-authored-by: Ben Halpern <bendhalpern@gmail.com>
* Create bust_page service and spec
* Specify spec with .once
* Create bust_tag service and spec
* Create bust_event service and spec
* Create bust_podcast service and spec
This should be the last PR to get the `/ci` and `/rebase` commands working in
GitHub Actions. The issue is that our membership settings for `forem/forem` have
everyone set to 'CONTRIBUTOR' instead of 'MEMBER' or 'OWNER'.
Adding github.event.comment.author_association == 'CONTRIBUTOR' should fix this
issue.
I also cleaned up all action files to make the main name of the workflow as
succinct as possible to better organize the left menut of the GitHub Actions
page.
This PR won't fix the issues with the "Run forem/build-containers pipeline"
job in buildkite.yml but I will address those issues in another PR.
* Update if statement w/r/t github.event.issue.pull_request conditional and update
cirrus-actions/rebase to 1.4.
* Fix running the PR comment workflow so it only runs if
github.event.pull_request.head.repo.full_name != github.repository
How neat!
* feat: v1 of the profile form
* feat: fix inputs and create a handleChange event
* feat: update the submit values to represent values from the form
* feat: ensure that errors and success is handled on send
* refactor: remove unused code
* feat: replace the old profile form with a new one
* fix: use the renames file
* refactor: safety net for groups
* chore: fix code climate issue
* tests: amend + add tests
* test: fix broken spec
* feat: update the setup for the test
* tests: refactored them to move the fake response into the before all
* feat: clunky way to quickly cater for color field since it was a quick and easy implementation
* feat: add a field.description to the color field
* refactor: pull some duplicate code into a new function
* chore: cater for a textarea field
* overflow issue
* refactor: use FormField instead of manual divs
* Update spec/requests/users_onboarding_spec.rb
Co-authored-by: Vaidehi Joshi <vaidehi.sj@gmail.com>
* Update spec/requests/users_onboarding_spec.rb
Co-authored-by: Vaidehi Joshi <vaidehi.sj@gmail.com>
* refactor: move out of method and into a constant
* refactor: user_onboarding_update to be more readable
* refactor: use current.save instead of declaring a new variable
* refactor: remove explicit check for bookean
* refactor: use request from '@utilities/http' instead :)
* refactor: no need for if with destructured groups
* refactor: move color field to its own component
* chore: remove colorfield now thats its a component
* fix: forgot about field
* feat: a text area component
* chore: remove textField function in favor of component
* refactor: checkbox refactor
* refactor: add a switch statement
* chore: move into a more organized folder
* fix: move the handler to props and off from field
* fix: add a conditional so we dont hit an error undefined method `success?' for nil:NilClass
* refactor: change from component to function
* feat: add a key attribute
* refactor: add role for readers
* refactor: remove unnecessary guard clauses
* refactor: use function instead of an arrow
* chore: document components
* test
* padding
* fixes
* test: fix the tests by using more general matchers
Co-authored-by: Paweł Ludwiczak <ludwiczakpawel@gmail.com>
Co-authored-by: Vaidehi Joshi <vaidehi.sj@gmail.com>
* Add bust_article service
* Make timestamps lambdas
* Remove nil safe operators
* Updated bust_article specs
* Add spec for TIMEFRAMES and relative time
* .
* .
* .
* .
* .
* specs
* specs
* .
* .
* merge
* moving cheese around
* layout
* .
* merge
* Fixed invalid selector for search.
* Fixed issue with URL not updating after a search.
* do things better
* kinda merge
* whoops
* whoops
* .
* .
* im a backend developer
* tooltips 1.0.1
* tooltips 1.0.1
* fix
* specs
* .
* reduce the spacing
* schema drop
* reverts
* revert
* reverts
* revert
* drop unused nav
* drop unused nav
* drop unused nav
* drop unused nav
* typos
* paths fixes
* speeding up JS
* js
* search
* Reworked initializeTopBarIcons.js
* Reworked initializeNavigation.js
* Small refactor and updated exported function API docs.
* Fixed a bug I created when refactoring the top navigation icons.
* sidebar nav links
* spec
* Fixed issues with logged out experience for top nav icons.
* Small refactor of top nav icons.
* Small refactor and added some API docs.
* Added @testing-library/dom
* Added tests for top navigation utilities.
* spec
* spec
Co-authored-by: Nick Taylor <nick@dev.to>
* GitHub workflow for /ci trigger
Add in GitHub workflow for adding the `ci` label to the PR and running Buildkite
pipeline(s).
The `ci` label will allow the PR to be built on push without havinvg to continuously
issue the `/ci` trigger from a Forem team member.
```
build.pull_request.repository.fork != true || build.pull_request.labels includes "ci"
```
Also using the `/ci` trigger will run the initial pipeline builds too.
* Fix YAML formatting and typos.
* Add note to PR template.
* Conditionally add a comment to a new PR when it originates from a third-party
fork with a note about having to wait for manual approval for our CI to run on
their PR.
* Update .github/PULL_REQUEST_TEMPLATE.md
Co-authored-by: Michael Kohl <citizen428@dev.to>
* Update .github/workflows/pr.yml
Co-authored-by: Michael Kohl <citizen428@dev.to>
* Adjust if statement to include OWNERS and do startsWith instead of contains.
Co-authored-by: Michael Kohl <citizen428@dev.to>
* Upgrade Stimulus to 2.0
* Convert ArticleController to use Stimulus 2
* Convert ModalController to Stimulus 2
* Convert BufferController to Stimulus 2
* Convert ConfigController to use Stimuus 2
* Convert ImageUploadController to Stimulus 2
* Convert Reaction controller to Stimulus 2
* Feature 🚀 : Ability to delete messages in chat channels
- Sending message ID to frontend
- Deleting Message
- Use pusher to delete message realtime
* Minor Bug 🐞: Show message action only for current user
- User can delete or edit their own messages
* Test cases added
* Bug 🐞: Update message id for receiver
Message id was not sent to receiver by pusher
* Refactoring🛠: Message controller refactoring
* Test Cases📝 : Specs for Delete message added
* Feature 🚀 : Ability to edit messages
* Test Cases📝 : Specs for Edit message added
* Merge conflict resolved
* UI completed for Create Channel
* API for create channel & invitations
* 🚀 Combining Backend and Frontend
* Test cases added
* UI completed for Create Channel
* API for create channel & invitations
* 🚀 Combining Backend and Frontend
* Test cases added
* fix suggestions
* add test cases
* replace mod_relations_admin to tag_moderator
* fix test cases
* refactor and fix code climate issues
* Update app/controllers/chat_channel_memberships_controller.rb
Co-authored-by: Michael Kohl <me@citizen428.net>
* fix suggestions
* renaming the methods
* Update app/javascript/chat/chat.jsx
Co-authored-by: Nick Taylor <nick@iamdeveloper.com>
* Update app/javascript/chat/components/createChatModal.jsx
Co-authored-by: Nick Taylor <nick@iamdeveloper.com>
* add jsDoc and add validation
* add PR suggestions
* renmae the file name to PascalCase
* add styled component
* refactor channel button component
* fix specs
* fix code smell issues
* fix file name issue
* handle error message
* add jsDoc
* Update app/controllers/chat_channels_controller.rb
Co-authored-by: Michael Kohl <me@citizen428.net>
* refactor chat_channel_helpers
* update old hash to new hash
* Update app/javascript/chat/components/ChannelButton.jsx
Co-authored-by: Nick Taylor <nick@iamdeveloper.com>
* Update app/views/chat_channels/index.html.erb
Co-authored-by: Michael Kohl <me@citizen428.net>
* fix syntax error
* Update app/views/chat_channels/index.html.erb
Co-authored-by: Nick Taylor <nick@iamdeveloper.com>
* Policies changed
* The Disable Button issue 🐞
* Fixing Disabled button Issue 🐞
* New group doesn't show up 🐞
Co-authored-by: Narender Singh <narender2031@gmail.com>
Co-authored-by: Michael Kohl <me@citizen428.net>
Co-authored-by: Nick Taylor <nick@iamdeveloper.com>
* Use ErrorsController to render error pages
* Hide GitHub bug report prompt from anything other than dev.to and forem.dev
* Update service worker to use 404 and 500
* Other fixes