* 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
* 🐞 Channel List bug in mobile view
* changes in joining request responses
* 🛠 Request Managers Frontend ready
* changes in routes for adding and removing remembership
* 🚀 New routes implemented for request manager
* fix issues
* changes in api for remove membership
* Merge conflict resolved
* 🐞 Channel List bug in mobile view
* changes in joining request responses
* 🛠 Request Managers Frontend ready
* changes in routes for adding and removing remembership
* 🚀 New routes implemented for request manager
* fix issues
* changes in api for remove membership
* 🛠Optimizing for CodeClimate
* 🛠Optimizing again for CodeClimate
* 🛠Optimizing again 2 for CodeClimate
* 🛠 Added more test cases
* 🛠 Optimizing code
* 🛠 vscode file changed
* 🛠 Updated schema as requested
Co-authored-by: Parasgr-code <paras.gaur@skynox.tech>
* This change allows access to api/health_checks if you are coming from localhost
or 127.0.0.1. Pretty sweet huh?
The reason for this change is because I want to easily get to these healthcheck
end points from localhost without having to get the health-check-token beforehand.
Buttttt.... this addition has some issues. You can spoof the host header pretty
easily:
https://daniel.haxx.se/blog/2018/04/05/curl-another-host/
I thought about doing `return if !request.ssl? && request.local?`
to check of the request was over https or not. Any localhost healthcheck we do
directly to puma will be over http. Checking for TLS seemed like a logical next
check, but since we force https on the edge and not necessarily from the edge to
Puma the Host header can still be spoofed to get at these end points.
More info on host header attacks and what Rails 6 is doing about it:
https://github.com/rails/rails/issues/29893
While I do think it is a good idea to protect these healthcheck end points from
the outside world, I do want to be able to get to them easily locally. WWYD?
* Fix Health Check spec by stubbing request
Co-authored-by: mstruve <mollylbs@gmail.com>
* Implement Reddit liquid tag
* Set reddit content in locals
* Change Reddit liquid tag content layout
I decided a UI similar to the Stack Exchange tag would be better.
Now the Reddit tag looks a bit similar.
* Add tests for RedditTag
* Add reddit liquid tag example to docs
Also emphasize notice about compilation of article when using any
liquid tag
* Parse markdown text reddit content for RedditTag
* Display date RedditTag post was published
* Remove file location comments
* Change order of conditional for Reddit liquid tag
Sometimes the attribute `post_hint` might be null and neither condition
would apply.
* Add example to use Reddit liquid tag
* Change reddit svg icon for Reddit liquid tag
* handle and verify status of Reddit links
Here we make sure the passed link is a valid one in terms of URI composition (e.g. protocol)
but also that the URL is one that points to existing content in Reddit.
If the URL isn't returning anything but a successful response code (200) then
we treat it as an invalid one.
* Do not use VCR for RedditTag specs
The generated cassette for this tag was really huge (6000+ lines).
Using mocks (as in the MediumTag spec) still does the job and without
that huge VCR file.
* Remove index line from schema.db
* Improve RedditJsonFromUrlService
- Change User-Agent in requests to one read from app configuration
- Remove Reddit URL check by making a GET request
- Add regexp to validate URL looks like a Reddit URL
* Move RedditJsonFromUrlService methods to RedditTag
Also changed the way the request was being mocked. Previously, it was by
mocking the service class now I'm mocking HTTParty directly and returning
the JSON structure Reddit uses.
* Add 'feature_flag' field to pages table, form
* Add 'exist?' to FeatureFlag
* Test for feature flag when loading custom pages
* Refactor FeatureFlag.enabled? to check both boolean and user gates
* Ugly test fixes
* PR feedback and refactoring
* PR refactor: don't require database table!
* feat: alphabetize the site config page
* chore: move twitter hashtag into social media and rename Mailchimp list ID's to Newsletter
* chore: reorder the site config
* fix: don't show a broken image when the value does not exist
* if there are 3 or more parameters lets move it to its own method
* chore: empty line
* fix: seems like we couldn't update the token
* chore: amend the test to mimic the order on the site config
* chore: oops - add back the welcome_notifications_live_at
* Differentiate between welcome + announcement broadcasts
* Allow admins to filter between these two types in the `/internal/broadcasts` UI.
* Ensure that the index endpoint fetches the correct Broadcast models.
* Only allow one Announcement broadcast to be created at a time
* Also add some `announcement` and `welcome` scopes on the `Broadcast` class.
* Add flash[:success] messages in BroadcastsController.
* Add some tests for Announcement broadcast validations
* Remove unused active_announcement_params method
* Order Broadcasts by title, optimization improvements
* Fix missing closing tags in broadcast specs
* Add download_broadcast to generator.rb
* Adds memoized download_broadcast method
* Adds send_download_notification method
* Adds send_download_notification to call method
* Add download_app to broadcasts.rb and seeds.rb
* Adds download_app broadcast info and copy to factory
* Adds download_app copy to seeds
* Add specs around #send_download_app_notification in generator_spec.rb
* Fix quotes around copy
* Remove extra space within copy
* Change models and related files
* Update controllers and specs
* More renaming
* Seek and destroy, I mean search and replace
* Round up the stragglers
* Ground control to Major Travis...
* More fixes
* PR feedback
* Various fixes
* Rename view
* Fix list query builder
* Unify request specs
* Fix some API spec errors
* Fix remaining API specs
* Make spec conform to API
* Fix leftover problems
* Fix JS tests
* Fix column name in select
* Fix API specs
* Fix search specs
* Paging Mr. Travis
* Rubocop unique index cop needs a static list of columns
* Add unique index on organizations secret
* Add unique index on chat_channel_memberships chat_channel_id
* Add unique index to chat_channel slug
* Add unique index to badge_achievements badge_id
* Rename positive_reactions_count to public_reactions_count
* Add positive reactions count back in so we can remove it
* Use public_category method for reactions
* Add positive_reactions_count in case any old caches rely on it
* Add positive_rxn_count to account for API endpoints
* Remove unused method
* One more spot...
* Add method back in because of caches
* Update specs to match new functionality
* Fix typo
* Remove unused methods
* Use .textContent to apply Search Snippets
* Improve var name
* Apply HTML encoder to FeedContent's query
* Add spec
* Expand FeedContent specs
* Actually let's not use approval
* Fix removal of tags/tag_list validation
* Remove tags regardless of case
* Refactor removing tags to be more readable
* Add guard for when tags aren't found to remove
* Refactor more logic
There doesn't seem to be enough of a difference between these snapshots, and, for some reason, they date doesn't not seem to be freezing for some of the data captured within them. Since we already have a snapshot of this page, we don't need so many versions of it.
* Refactor user_same_as_json_ld method to be more readable
* Refactor user JSON-LD to be less verbose in Stories::Controller
* Removes set_user_same_as_json_ld method
* Removes set_user_profile_json_ld method
* Adds user_works_for and user_disambiguating_description
* Adds inline logic to the data structure
* Simplifies user_same_as method
* Add documentation around specific data properties
* Add .reject to user_json_ld to remove key, value if value blank
* Checks for blank values and rejects key,value if blank
* Accounts for JSON-LD preference for no key,value if blank
* Add reject and compact to worksFor in Stories::Controller
* Ensures any nil/empty values for worksFor are removed
* Cleans up existing code within Stories::Controller
* Add test for values that eval to true when .blank? is called
* Adds test to check that empty key/values are not included
* Adds test to check that nil key/values are not included
* Refactors variables to be inline in user_show_spec
* Refactors existing code in user_show_spec
* Add reject for blank values to user_same_as in Stories::Contrroller
* Adds a check for email_public to email
* Fix typo within comment in Stories::Controller
* Add ternary operation to email in Stories::Controller
* Add public_reactions_count field to elasticsearch
* Add new data update scripts and update old ones
* Use BulkIndexWorker to batch indexing
* Use proper search class for handling feed content
* Remove redundant script oops
* Rename data update script and remove old specs
* Combine specs into one file