Commit graph

1941 commits

Author SHA1 Message Date
Andy Zhao
1f2124d017 Increase length limit for url (#4160) 2019-09-30 15:16:11 -04:00
Mike Healy
1e606b4298 Fix radio button labels on Report Abuse page (#4119) 2019-09-29 19:50:03 -04:00
Jake Wesorick
01f841923e Fix images in chat overflowing outside chat window. (#4127) 2019-09-29 19:13:13 -04:00
rhymes
50cdfb0a96 Do not cache articles notification time indication (#4122)
Fragment caching does not support an explicit expiration date for simplicitly, which means that cached resources are tied to the update datetime of the model.

In this case unfortunately this is not sufficient: a cached time that potentially never gets expired can stale quickly when applied to a time sensitive item like a notification.

Since the "time ago" computation is not particularly heavy and notifications are paginated, I ended up removing that part from the cache altogether.

As a byproduct I created two new separate cache keys for the article notification, one of each section surrounding the time.
2019-09-29 11:39:03 -04:00
rhymes
8a5fb23335 Use server side comments for templates (#4123) 2019-09-27 10:10:30 -04:00
Laura Chan
427a8dd45e Fix colorPicker's lints (#4109) [ci skip] 2019-09-27 09:43:51 -04:00
Ben Halpern
aa9f03740e
Change stackbit integrations page details (#4118)
* Change stackbit integrations page details

* Fix wrongly commented out code
2019-09-26 08:45:19 -04:00
Ben Halpern
8d40f54a31
Add initial functionality for Stackbit on integrations settings tab (#4113)
* Add initial functionality for Stackbit on integrations settings tab

* Add test for stackbit integration

* Adjust test

* switch check from grants to tokens
2019-09-26 07:29:28 -04:00
Anna Buianova
fd1b9868a2 Destroy webhook endpoints when user revokes oaurh app access (#4099)
* Destroy webhook endpoints when user revokes oaurh app access

* Make webhooks destroy on revoke asynchronous
2019-09-26 06:23:38 -04:00
John Curcio
64c9b36a40 Simplify notification un-subscription process (#3870) 2019-09-25 16:52:59 -04:00
Andy Zhao
3b0f6f2834 Refactor remove_all and remove_each notifications and fix orphaned notifications (#3570) 2019-09-25 15:31:56 -04:00
Aswathprabhu
144d3a0d6f Refactor userDetails's buttons (#4107) [ci skip]
Remove code duplication
2019-09-25 15:09:20 -04:00
Jess Lee
bcd498d990 add styling for oauth page (#4108) 2019-09-25 12:00:45 -07:00
Mario See
3e23b3d568 Limit listing's permitted markdown tags (#3882) 2019-09-25 12:43:29 -04:00
Ben Halpern
8943467e91
Cache pro membership (#4102) 2019-09-24 11:26:35 -07:00
Anna Buianova
9778ada44a Doorkeeper default scope (#4066)
* Start with the doorkeeper scopes

* Added read_articles scope

* Proper doorkeeper authorization for the API articles#me
2019-09-24 11:11:12 -07:00
rhymes
c8abbe9d60 Pro: memberships (#3461)
* Add ProMembership model

* Implement ProMembershipsController#create

* Implement basic ProMembershipsController#show

* Add ProMembership to ledger

* Populate user history after pro subscription is created

* Add fields for expiration notifications

* Add ProMemberships::ExpirationNotifier to notify users of expiring memberships

* Add tasks for recurring jobs to notify users of expiration

* Add auto_recharge column to ProMembership

* Add ProMemberships::Biller (incomplete)

* Fix specs

* Add ProMembership to Administrate

* Fix spec

* Add has_enough_credits? to User and Organization

* Add Payments::Customer class

* Finish ProMembership::Biller functionality

* Fix ProMemberships::Creator check for credits

* Disable destroy actions for ProMembershipsController

* Correctly authenticate ProMembershipsController actions

* Make sure only pro user's history can be indexed

* Add ProMembershipsController#update action for auto recharge

* Use regular AR to save new credits and add touch to the purchaser

* Clarify Pro membership create policy

* Display information about an existing pro membership

* Add UI to show page

* Add system test for Pro membership creation

* Implement edit membership

* Make sure users with pro memberships can access history and dashboard pro

* Fix padding issue

* Show a different text for a user that has credits but not enough for Pro

* Move Pro Membership functionality inside settings

* Update Pro Membership link in email notifications

* Bust all relevant caches

* Add the Pro checkmark around the website

* Use Users::ResaveArticlesJob instead of delay

* Add/remove user from pro-members chat channel

* Use the appropriate Pro checkmark

* Remove unfinished pro elements

* Remove checkmark JS
2019-09-24 10:38:54 -07:00
cyrillefr
70631ad2f7 Listings creation and update API (#4014)
* Listings creation and update API

  - new listings controller
  - refactored code to share core functionnality between api and web controllers
  - code in common in classified listing concerns
  - added tests for index/create/update
  - json output as views
  - updated a factory

* Listings creation and update API: code update

  - refactored json calls
  - added test cases
  - added pagination for list of listings
  - refactored jbuilder files
  - typos

* Listings creation and update API: code update

  - tags and tag_list in controller
  - changed view to display both
  - refactored and added test

* Listings creation and update API: code update

  - small change to resolve conflit

* Listings creation and update API: code update

  - added test case
  - deleted unneeded test case
2019-09-24 07:03:52 -07:00
Jacob Herrington
6ddac027e8 Refactor intro slide component (#3933) 2019-09-23 14:08:58 -04:00
kay nguyen
b0b23b385a fixed Load More button not readable in night theme (#4077) 2019-09-20 13:41:20 -07:00
Mac Siri
465a676d75 Adjust BufferUpdatesController's authorization (#4070)
* Add back validation and add test

* Move article_admin?

* Adjust Buffer policy

* Create buffer_update_policy_spec
2019-09-20 11:50:34 -07:00
Andrew Siegman
04b7417e27 Fix opacity issue on low quality comments (#4076) [ci skip] 2019-09-20 13:16:24 -04:00
rhymes
de6129b29c Replace ^ and $ with \A and \z in Ruby regexps (#4072) 2019-09-20 10:28:34 -04:00
John Curcio
c5cb61f932 Move Reaction.create delay calls to ActiveJob (#3136) (#4022) 2019-09-20 10:19:07 -04:00
Jacob Herrington
7198a72953 Refactor tags components (#3895) [ci skip] 2019-09-20 10:18:44 -04:00
Ben Halpern
fd017a0ba2
Add climate strike widget (#4071) 2019-09-19 18:01:53 -07:00
Ben Halpern
b1b408e61c
Add more variation to home feed (#4069)
* Add more variance to home feed

* Fix array typo

* Fix up watercooler spec

* Fix up blackbox spec
2019-09-19 12:58:11 -07:00
Jess Lee
ff135c7839 Give interns access to internal articles (#4016)
* add intern role and update policies

* update admin policy spec for rubocop

* add article poolicy spec

* fix spec

* switch to scoped admin role

* Finalize single resource admin

* Adjust buffer permissions
2019-09-19 11:35:49 -07:00
John Curcio
4eabc652a2 Add no-readme option to GitHub tag (#4054) 2019-09-19 13:16:19 -04:00
Jacob Herrington
44b014ec6b Change reply notification background color (#4067) 2019-09-19 09:05:45 -07:00
Anna Buianova
c07eb8d9cd Define Doorkeeper::Application association (#4065) [ci skip] 2019-09-19 10:28:55 -04:00
Mac Siri
e6e57c8835 Fix mention's inconsistent hyperlink (#4051)
* Upgrade mention parsing logic

* Avoid hardcoded link in spec
2019-09-18 14:15:06 -07:00
Anna Buianova
0a16bf934a Added association between webhook_endpoints and oauth apps (#4060)
* Added association between webhook_endpoints and oauth apps

* Limit webhooks access by oauth_app_id when authorized by doorkeeper

* Use rails route helpers in webhooks api test
2019-09-18 13:25:40 -07:00
Jacob Herrington
ef88b1e341 Fix delete container alignment (#4062)
* Center delete confirmation text

* Format CSS
2019-09-18 13:22:58 -07:00
rhymes
02b5bb7d78 API: add doc for webhooks index (#4056)
* Remove updated_at and use the same format for dates

* Add API docs for API /webhooks index
2019-09-18 09:48:33 -07:00
Ben Halpern
705da8fbde
Switch to CDN for iframe resizer (#4053) 2019-09-17 16:42:46 -07:00
Oleksii Filonenko
8d9bad372b Move index.delay.delete_object calls to ActiveJob (#4028)
* Move index.delay.delete_object calls to ActiveJob

* Rename {Algolia,Search}::RemoveFromIndexJob

* Update queue_as for Search::RemoveFromIndexJob
2019-09-17 14:10:38 -07:00
Anna Buianova
ce93c436a7 Implement API endpoint for user's webhooks (#4013) 2019-09-17 13:24:44 -04:00
Mac Siri
498b08dbb9
Fix reading time logic (#4049) [ci skip] 2019-09-17 13:17:06 -04:00
Anna Buianova
78472d1529 Send only public events to the webhook endpoints #3715 (#4046)
* Dispatch an event only when a published article is created

* Skip sending events about drafts updates

* Skip sending events when a draft is destroyed

* Fix article request spec

* Slight refactoring
2019-09-17 08:00:04 -07:00
Bolarinwa Balogun
8d4aa8b157 Resolve inconsistent reading time estimate (#3328) 2019-09-16 10:05:07 -04:00
Ben Halpern
1e8954e581
Add iframe resizer content lib (#4019) 2019-09-12 20:14:54 -07:00
Ben Halpern
4076a74cdf
Disallow banned users from updating profile, add noindex to page (#4018)
* Disallow banned users from updating profile, add noindex to page

* Fix user profile tests
2019-09-12 19:24:57 -07:00
Dmitro Pochapsky
d0f615f3af Fix chat.jsx lints (#3889) 2019-09-12 09:30:59 -04:00
Yash Dave
65d706b1d0 Adjust poll's hover css (#4012) [ci skip] 2019-09-12 09:04:20 -04:00
Ben Halpern
d9634150d8
Add new mod links and tooling (#4009)
* Add new mod links and tooling

* Adjust mod page copy, test
2019-09-12 00:11:01 -04:00
Mario See
01a60b1ee9 Internal Listings: Filter by Category (#3993)
* add select tag and category param

* change filter from onchange to submit

* change options list to call from set list
2019-09-11 19:27:39 -04:00
Jacob Herrington
b00505e9f4 Replace try with safe navigation operator (#3988) [ci skip] 2019-09-11 16:16:37 -04:00
Rishabh Budhiraja
653a266141 Fix links in badge email (#4006) 2019-09-11 15:55:15 -04:00
Mac Siri
57eeceeb74
Generate doorkeeper's view (#3991) [ci skip] 2019-09-11 15:53:46 -04:00