Commit graph

3289 commits

Author SHA1 Message Date
aRtoo
9b5b2ee98d Redo JSitor (#4762) [deploy]
* Redo JSitor
- can now accept full url with params
- added more test
- redo jsitor guide

* Jsitor redo guide
- moved below JSFiddle
- add more instructions

* Refactor JSitor liquid tag
- Change the iframe size to 400
- can accept ID with or without params
- added ID_REGEX to check for id
- add more information on error
- added more test
  - test for id with invalid link
  - test for id with params
  - test for id without params

* Refactor
- simplified regex, removed unnecessary groupings
- changed method name from link_valid? to validate_link
- changed error message
2019-11-14 09:17:47 -05:00
Ben Halpern
015b4bbc87
Update docs with more architecture info (#4813) 2019-11-14 08:58:47 -05:00
Anna Buianova
41ab013050 Normalize podcast url before checking for reachability (#4806)
* Normalize podcast url before checking for reachability

* Added to_s when normalizing episode url and simplified tests
2019-11-14 08:58:29 -05:00
Molly Struve
880f60beff
Move user_data async controller cache to Redis (#4809) [deploy] 2019-11-13 10:25:17 -06:00
Michael Kohl
b57ced5466 CacheBuster refactoring (#4766)
* Turn CacheBuster into a module

This class used no internal state, so repeatedly creating short-lived objects seems wasteful.

* Consistently use string interpolation and parenthesis

* Destructure arrays into meaningful names, formatting

* Fix request spec for internal classified listings controller

Interestingly this works when asserting directly on the module, but not on a double.
Asserting directly in the module seems sufficient for this test so the indirection
was removed.

* Turn CacheBuster into a module

This class used no internal state, so repeatedly creating short-lived objects seems wasteful.

* Fix specs after rebasing
2019-11-13 10:51:23 -05:00
jeffin sam
61788e5dec Add tag_colors cache to redis (#4716) [deploy] 2019-11-13 09:43:22 -06:00
Molly Struve
57250ade63
Expire Frequently Updated Cache Keys Sooner (#4793) [deploy] 2019-11-12 13:39:50 -06:00
Ben Halpern
af04fd7959
Add additional conditions to internal/reports page (#4800) [deploy]
* Add additional conditions to internal/reports page

* Add higher number for randomness
2019-11-12 13:19:08 -05:00
rhymes
9d347e5e81 Use REDIS_SESSIONS_URL and default to REDIS_URL (#4801) [deploy] 2019-11-12 12:45:35 -05:00
Andy Zhao
0f3c4a5a9a Add additional cache value for block (#4790) [deploy] 2019-11-12 10:59:54 -06:00
dependabot-preview[bot]
9686b2b6c4 Bump preact from 8.5.2 to 8.5.3 (#4772) 2019-11-12 11:38:08 -05:00
dependabot-preview[bot]
6b85a10c4a Bump autoprefixer-rails from 9.6.5 to 9.7.1 (#4780) 2019-11-12 11:34:18 -05:00
Andy Zhao
b2e18aeb72 Use Redis for session storage (#4004) [deploy]
* WIP use redis-session-store for sessions

* Use Redis as session storage

* Add redis-server to Travis

* Use integer for SESSION_EXPIRY_SECONDS env variable

Co-Authored-By: rhymes <rhymesete@gmail.com>

* Remove sessions b/c no custom sessions logic

* Use ApplicationConfig instead

* Rename default value

* Remove rememberable module

* Persist the user for the test

* Remove remember_me related tests

* Revert 'undo remember_me' commits

* Add redis to procfile

* Cleanup devise configuration

* Move REDIS configuration in the basic configuration section

* Make sure the expiration time can't zero

* Restore old order and remove useless comment line

* Delete legacy session cookie after login

Once deployed the server will start using the new session cookie, this makes sure the legacy one is deleted on the user's browser

* Remove redis from Procfile

* Add signed, secure and httponly to the Redis session cookie
2019-11-12 10:10:34 -06:00
Aleksandr
4d0392a17a Add link to /community-moderation on all /mod pages (#4567) [deploy] 2019-11-12 10:11:26 -05:00
rhymes
7ed9361139 Use latest Node LTS (#4788) 2019-11-12 10:05:38 -05:00
Ben Halpern
d3635d5553
Add latest articles and possible spam users to internal/reports (#4791) [deploy] 2019-11-12 09:40:18 -05:00
jeffin sam
6ff1c3d913 Add AnalyticsService to redis cache (#4755) [deploy] 2019-11-11 17:30:26 -05:00
dependabot-preview[bot]
4e97f81a40 Bump skylight from 4.1.2 to 4.2.0 (#4781) [deploy] 2019-11-11 17:26:52 -05:00
dependabot-preview[bot]
76ca6f9093 Bump google-api-client from 0.33.1 to 0.34.1 (#4786) 2019-11-11 17:25:43 -05:00
dependabot-preview[bot]
0224e6140c Bump twilio-ruby from 5.28.0 to 5.29.0 (#4778) 2019-11-11 17:24:49 -05:00
jeffin sam
6e87a1d1e1 add suggester sidebar class suggest to RedisRailsCache (#4754) [deploy] 2019-11-11 17:23:54 -05:00
dependabot-preview[bot]
743a157c65 Bump gibbon from 3.3.0 to 3.3.1 (#4783)
Bumps [gibbon](https://github.com/amro/gibbon) from 3.3.0 to 3.3.1.
- [Release notes](https://github.com/amro/gibbon/releases)
- [Changelog](https://github.com/amro/gibbon/blob/master/CHANGELOG.md)
- [Commits](https://github.com/amro/gibbon/compare/v3.3.0...v3.3.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-11 16:31:27 -05:00
dependabot-preview[bot]
b41c244ba1 Bump nokogiri from 1.10.4 to 1.10.5 (#4782) 2019-11-11 16:24:25 -05:00
dependabot-preview[bot]
ca8673a638 Bump @github/clipboard-copy-element from 1.0.7 to 1.1.1 (#4771) 2019-11-11 16:06:33 -05:00
Anna Buianova
8c58be75f5 Self-deleting user account (#4480) [deploy]
* Start with self deleting account

* Moved deleting user content and activity out of moderator hierarchy

* Added tests for the users delete services

* Tests for Users::DeleteComments

* User self-deletion (start)

* Some tests for user self-delete

* Specs for user self-deletion

* Test flash settings on users delete

* Added basic specs for the Users::DeleteJob

* Send notification when a user was destroyed

* Rename Users::DeleteJob to SelfDelete

* Change texts about self-deletion

* Fix users delete job spec

* Rescue and log exceptions while self-deleting user

* Added visible flash notices after deleting user

* Remove unneeded css for flash notice

* Fix link to a ghost account

* Remove redundant css

* Added github and twitter oauth apps links
2019-11-11 14:59:01 -05:00
rhymes
db04e3b04b Add redis-rails gem and REDIS_SESSIONS_URL env variable (#4789) [deploy] 2019-11-11 13:45:52 -06:00
dependabot-preview[bot]
f73bd64c60 Bump prettier from 1.18.2 to 1.19.1 (#4773)
Bumps [prettier](https://github.com/prettier/prettier) from 1.18.2 to 1.19.1.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/1.18.2...1.19.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-11 13:26:31 -05:00
dependabot-preview[bot]
3fad523b98 Bump jsdom from 15.2.0 to 15.2.1 (#4770)
Bumps [jsdom](https://github.com/jsdom/jsdom) from 15.2.0 to 15.2.1.
- [Release notes](https://github.com/jsdom/jsdom/releases)
- [Changelog](https://github.com/jsdom/jsdom/blob/master/Changelog.md)
- [Commits](https://github.com/jsdom/jsdom/compare/15.2.0...15.2.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-11 13:25:55 -05:00
dependabot-preview[bot]
ac3781c10b Bump airbrake from 9.4.5 to 9.5.0 (#4777) [deploy] 2019-11-11 12:55:49 -05:00
dependabot-preview[bot]
bcdb110e6b Bump chart.js from 2.9.1 to 2.9.2 (#4776) 2019-11-11 12:54:47 -05:00
dependabot-preview[bot]
8eac62c836 Bump faker from 2.6.0 to 2.7.0 (#4785) 2019-11-11 12:53:39 -05:00
dependabot-preview[bot]
d1690c9497 Bump guard from 2.15.1 to 2.16.1 (#4784) 2019-11-11 12:50:50 -05:00
dependabot-preview[bot]
930ba30b3a Bump erb_lint from 0.0.29 to 0.0.30 (#4787) 2019-11-11 12:49:07 -05:00
rhymes
bb28f301e9 Add site config and remove sail (#4729)
* Add SiteConfig model based on rails-settings-cached

* Remove sail
2019-11-08 13:27:44 -05:00
dependabot-preview[bot]
1d3d410d6e [Security] Bump brakeman from 4.7.0 to 4.7.1 (#4751)
Bumps [brakeman](https://github.com/presidentbeef/brakeman) from 4.7.0 to 4.7.1. **This update includes a security fix.**
- [Release notes](https://github.com/presidentbeef/brakeman/releases)
- [Changelog](https://github.com/presidentbeef/brakeman/blob/master/CHANGES.md)
- [Commits](https://github.com/presidentbeef/brakeman/compare/v4.7.0...v4.7.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-08 09:44:14 -05:00
rhymes
1924a77a10 [DOC] Move architecture to technical overview (#4746) 2019-11-07 14:28:23 -05:00
rhymes
80ab485eb6 Fix http status code for rate limiting (#4742) 2019-11-07 14:11:11 -05:00
leewynne
3fad464765 Generalise feed text to use the community name variable (#4730) [deploy] 2019-11-07 13:58:32 -05:00
Ben Halpern
4a69ac8073 Add more randomness to factories (#4739) 2019-11-07 13:57:27 -05:00
brian bethencourt
f0e367996a Freely color social icon backgrounds for each theme (#4372) 2019-11-07 12:48:55 -05:00
sau226
1907d72d80 Add cache breaker variable (#4704) 2019-11-07 11:44:38 -05:00
rhymes
40155812bd Comments API: simplify controller code, add tests (#4731) [deploy]
* Use ancestry in the index and add test

* Add tests for show action
2019-11-07 11:37:58 -05:00
Ben Halpern
6a3fc43381
Remove hacktoberfest from sidebar (#4740) 2019-11-07 11:34:20 -05:00
Ben Halpern
c76cfa6e97
Add missing div to internal permissions (#4737) [deploy] 2019-11-06 18:18:35 -05:00
Ben Halpern
fc1239b21d
Remove follow limit for single request (#4738) 2019-11-06 18:17:40 -05:00
Ben Halpern
2f53034635
Add disable_ddl_transaction to user created_at migration (#4736) [deploy] 2019-11-06 17:01:44 -05:00
Omar Bahareth
dca66bd6a8 Rate limit daily user follows to 500 (#4647) [deploy]
* Rate limit daily user follows to 500 per day
Return an error in `POST /follows` JSON response when a user tries to follow more than 500 accounts in a single day.

Other Changes:
- Add a spec for follows#create.

* Turn daily account follow limit into an env var

* Avoid executing today follow count query when possible
user.following_users_count is a counter cache on how many users the person is already following, so if it's less than the limit we don't need to run the query and can just return it instead.

* Simplify today follow count query
Stop needlessly checking into the future, only check from the beginning of the day until now.

* Raise account follow limit error if followable_id count is over limit
Other changes:
- Always return JSON, the `respond_to` block from before was unnecessary since this endpoint always returns JSON.
- Rescue `DailyFollowAccountLimitReached` on the method and remove begin block, since the error can be raised from two places in the same method.

* Index created_at on users table

* Make adding created_at index on users table happen concurrently

* Rename DAILY_ACCOUNT_FOLLOW_LIMIT to RATE_LIMIT_FOLLOW_COUNT_DAILY

* Add RATE_LIMIT_FOLLOW_COUNT_DAILY to Envfile

* Move RATE_LIMIT_FOLLOW_COUNT_DAILY from env var to ApplicationConfig
2019-11-06 16:24:43 -05:00
Ben Halpern
a0dbedc7c6 Add noopener and a couple lazy loads to be more compliant with lighthouse (#4735) [deploy]
* Add noopener to sponsor links

* Add lazy attribute to sloan images
2019-11-06 15:40:42 -05:00
rianadon
47ca9b5139 Wrap <figcaption> elements and content inside <figure> elements (#4645) 2019-11-06 15:05:45 -05:00
Ben Halpern
1b5f702c96 Add noopener to sponsor links (#4733) [deploy] 2019-11-06 14:21:40 -05:00