Commit graph

859 commits

Author SHA1 Message Date
Anna Buianova
567579daf3 Podcast episodes statuses #2952 (#3386) 2019-07-12 10:03:57 -04:00
Ben Halpern
49eb9c00cb
Fix chat channel details profile pic issue (#3458) 2019-07-12 09:33:40 -04:00
Alexander Sandberg
eea2ec2d21 Add inverted styling for social links in night mode (#3459) 2019-07-12 09:33:26 -04:00
Ben Halpern
f3fc121053
Fix copy on sponsorship page (#3452) 2019-07-11 17:32:46 -04:00
rhymes
d5057f7958 Show sponsorships in ledger (#3447) 2019-07-11 16:06:31 -04:00
rhymes
611f4b8675 Sponsorship: remove old columns (step 3) (#3446)
* Remove old sponsorship columns

* Rename redundant param names
2019-07-11 15:35:24 -04:00
Mario See
699d8703c9 Make listing dashboard sortable (#3421) 2019-07-10 18:24:53 -04:00
rhymes
cecd1db070 Sponsorship: business logic (step 2) (#3440)
* Add Sponsorship model

* Add Sponsorship to admin

* Add correct relationships between models

* Add temporary script to migrate sponsorship data

* Use constants for enums

* Use Sponsorship model in PartnershipsController

* Use Sponsorship in the views

* Validate sponsorship levels and tag combos

* Replace the rest of the sponsorship code to use Sponsorship
2019-07-10 16:40:56 -04:00
Mario See
11be56f38c Add location to listings (#3370)
* add location to classified_listings

create rails migration and ran rake db:migrate

* add faker city to seed

* add location to index json

* add location as searchable attribute in algolia

* add form text field for adding location to new listing

* add location to dashboard json

* add location field for editing listings

* add location to listing_params in controller

* add location to single listing view

* add location to listing row in dashboard

* add location to dashboard test

* adjust listing dashboard row spacing

* reduce character limit

* reduce lines of conditional html elements

* compress listing card const

* fix form call for location in edit page

* update snapshot in dashboard

* add location length validation in listing model

* shorten limit and update location in edit page
2019-07-10 12:45:41 -04:00
Ben Halpern
b45a55662f
Fix slackbot ping issue and tag copy (#3434) 2019-07-09 23:06:28 -04:00
Ben Halpern
091a0d1087
Add basic pro accounts lander test (#3433) 2019-07-09 22:10:50 -04:00
Ben Halpern
5545246a6a
Update self-serve sponsorship copy/functionality (#3416)
* Transform GET sign in links into POST

* Ignore CVE-2015-9284 for now

* Update app/views/layouts/_signup_modal.html.erb

Co-Authored-By: Mac Siri <krairit.siri@gmail.com>

* Modify sponsorship copy

* Update sponsorship stuff

* Fix spec and add tag sponsorship
2019-07-09 17:49:14 -04:00
Mac Siri
28e5ef1d12 Make RSS's self-referential link an option (#3428)
* Create migration

* Run migration

* Update validations

* Add additional form

* Update RssReader::Assembler#thorough_parsing

* Add spec for referential
2019-07-09 17:34:21 -04:00
Mac Siri
90f54773dc
Fix GistTag & RunkitTag preview issue (#3388) 2019-07-09 15:58:08 -04:00
Ben Halpern
a8ef9663a4
Add internal page for spinning up group chats (and make jokes flare tag) (#3384) 2019-07-09 13:04:58 -04:00
rhymes
1f97669e66 Credits ledger (#3395)
* Add #purchase to Credit

* Assigns spent credits to the listing

* Add Credits::Ledger and use it

* Localize ledger datetimes

* Add organization to the ledger

* Add tests for ledger

* Remove unused class

* Fix scope error

* Compare UTC times

* Fix broken specs

* Wrap listing create in a transaction

* Wrap listings bump into a transaction

* Avoid microseconds issue with datetimes in tests

* Use .detect instead of .select.first

* Fix spec description
2019-07-09 10:11:18 -04:00
Zak Henry
a9acb8642e Add markdown to article api response (#3394)
* Add failing test asserting markdown is returned

* Add markdown to the get article api response
2019-07-09 10:09:20 -04:00
Mac Siri
1afb572485 Revert "Mitigate CVE 2015-9284 (#3413)"
This reverts commit 002998adc5.
2019-07-08 20:10:12 -04:00
Mario See
42cb72d185 Listing Liquid Tag (#3250)
* init wip

still needs html, styling, and specs

* add more html

similar to singleListing.jsx

* add generate_new_liquid method to spec

* remove unexpected period

* add error handling for invalid slugs and expired listings

* initial styling

* styling for author and tags

* import variables to sass

* more styling and swithc tags and author info

* add specs

* handle error for slug with no category

* add listing tag to editor guide

* reduce complexity

* render expired listing rather than raise error

* update expired listing spec

* import mixins to classified listing tag styling
2019-07-08 18:19:01 -04:00
Ben Halpern
a5ccfb2b32
Add history to sidebar for pro users (#3417)
* Add history to sidebar for pro users

* Add filmstrip image
2019-07-08 18:10:01 -04:00
rhymes
002998adc5 Mitigate CVE 2015-9284 (#3413) 2019-07-08 14:15:57 -04:00
Ben Halpern
4ebfcd8bc0
Self-serve sponsorship options (#3371)
* WIP - Initial work on sponsorship landing page

* Add initial partnership page
2019-07-03 12:04:03 -04:00
Andy Zhao
22e76bee84 Add functionality to remove and recover identity (#3377)
* Lint some quotation marks

* Add BackupData table

* Add identity and removal functionality

* Test additional functionality

* Remove dependent destroy for backup data

* Add auth_data_dump column

* Add challenge to reserved words

* Add more shoulda matchers
2019-07-03 12:01:16 -04:00
Andy Zhao
2b5a1c83a2 Allow full links for cache buster tool (#3378) 2019-07-03 10:32:27 -04:00
Tim Downey
062361eefd Use time tags for publish dates on dashboard (#3369) 2019-07-02 16:25:29 -04:00
Chris Manson
f328adceed Add ids to terms page (#3367) [ci skip] 2019-07-02 16:24:59 -04:00
rhymes
209b0ba607 History and reading list refactoring (#3338)
* Make readingList testable

* Make history and readingList more similar

* Extract ItemListTags component

* Simplify load next page logic

* History and reading list load more should be the same

* Extract ItemListLoadMoreButton component

* Use the same exact CSS for both

* Use empty instead of 0

* Extract ItemListItem component

* Remove unnecessary else

* Same search function

* Use a common module to group related functionality

* Extract loadNextPage and fix load more button presence logic

* Extract toggleTag

* Refactor toggleStatusView and pass page

* Added additional tests
2019-07-02 09:22:21 -04:00
Anna Buianova
d6a151703c Podcasts reachable status #2952 (#3341)
* Podcasts reachable status #2952

* Specs for podcasts statuses
2019-07-02 09:18:27 -04:00
Andy Zhao
ea139e5ca5 Allow multiple banishes on the same account (#3326)
* Allow banished users to be banished again

* Remove deprecated method banished
2019-06-28 14:18:15 -04:00
Andy Zhao
0633ba1f72 Fix org credits in internal view (#3321) 2019-06-28 07:56:09 -04:00
Andy Zhao
111e5503b4 Hide delete article button for non-authors (#3315) 2019-06-26 15:23:46 -04:00
Bolarinwa Balogun
b52d8e931d Add Instagram URL to profile links (#3307) 2019-06-26 08:56:07 -04:00
Bolarinwa Balogun
a30e06d673 Allow Embed of specific gist version (#3310)
* Allow Embed of specific gist version

* Add tests and documentation
2019-06-26 08:54:26 -04:00
rhymes
7da7a16d8d Pro: add referrers to dashboard and single article stats (#3295)
* Reorganize PageViewsController

* Add domain and path to PageView model

* Add before_create callback to populate domain and path

* Add list of referrers to AnalyticsService

* Add referrers to the UI

* Remove useless referrers card and tweak table line height

* Add referrer stats to article stats page

* Add not null and empty default to domain and path

* Refactor JS analytics client

* create_list is a step back here

* Revert "Add not null and empty default to domain and path"

This reverts commit bc02440076047a887c65d300bccd4661ecc8ffd0.

* Add index on domain concurrently

* Make the script more robust
2019-06-25 13:58:09 -04:00
Andy Zhao
16b59db15c Use publish date for article notifications (#3301) 2019-06-25 11:54:33 -04:00
Mike Coutermarsh
8afb797ec9 Improve social card caching 🚀 (#3265)
* Add failing tests for social previews controller. HTML changes between
requests, which breaks caching.

Since we use the HTML to generate the cache key. When the views have any
randomness in them, it breaks the cache, which means we regenerate
images on each request, rather than using what's in memcached.

Adding test to protect from regressions

* Fix randomness in social card templates

The aria tags are randomly generated. Since this is for rendering
images, they aren't needed.

* Make the linter happy by using the sanitize helper
2019-06-25 08:45:30 -04:00
Ben Halpern
dcbb188cf1
Add pinned articles box to profiles (#3269)
* Initial pins work

* Add pin box to profiles

* Fix test snapshot spacing and optimize svg

* Fix listings spacing
2019-06-24 15:18:29 -04:00
rhymes
808b8f285c Comments: remove double stripping undoing escaping (#3270) 2019-06-24 12:00:36 -04:00
Ben Halpern
d48ad63aea
Add comment context for notifications and comment pages (#3262)
* Add comment context for notifications and comment pages

* Fix comment spec and adjust css
2019-06-22 14:50:15 -04:00
rhymes
91de529705 Remove code for legacy mentoring feature (#3186) 2019-06-21 17:18:11 -04:00
Andy Zhao
4ca7197696 Delete a comment's title if it is deleted (#3249)
* Remove cursor pointer for notification cards

* Delete the comment title if deleted

* Update title to use comment's title
2019-06-20 15:48:21 -04:00
Jess Lee
f00c28adf0 Update internal's listings buffer text (#3247) 2019-06-20 13:18:00 -04:00
Mario See
abbc3e85d6 Manage listings as organization admin (#3228)
* adjust validations to allow org admins to edit listings

also adjusted presented elements based on bumped_at dates and published boolean status

* allow org admins to edit listings under diff user_id

adjust statement in edit so that it has to be admin not just member

* pluck via attribute not string of attribute name

* update policy for org admins

* make authorizing org admin for listing private

* update classified listing spec

user_id is required for classified listing
2019-06-20 09:39:54 -04:00
Jess Lee
464d37310e add buffered checkbox to individual articles (#3238) 2019-06-20 09:34:03 -04:00
rhymes
d74aa46bc5 Add article pro stats button in dashboard (#3230) 2019-06-19 10:13:18 -04:00
rhymes
55634ad68f Display stats for organization article (#3232)
There was a bug where the frontend was not passing the organization id to the backend, and thus the fetching of the stats failed for organization articles.

This also adds a bit of error handling for `fetch` API
2019-06-19 09:17:35 -04:00
rhymes
2bf54edb9c Pro: History (#3220)
* Add base history support

* Add tags and ranking and make it work

* Fix styling

* Add article title and text excerpt to the index

* Add pagination support

* Debounce the search to 300ms

* Show history only to pro users

* Use routing helpers instead of hardcoding

* Raise the page size to 100

* Remove console log

* A bit of regrouping
2019-06-18 14:58:24 -04:00
Mario See
9e616de9f8 Listings Dashboard (#3014)
* init wip react components

* wip add dashboard to listing views

- create a html.erb view to hold listing/dashboard with javascript_pack_tag
- create listingDashboard.jsx in packs
- create listingDashboard component and dashboard folder with smaller components
- added view to controller and routes

* slowly adding some formatting

adjusted styling, info

* remove listing body from dashboard

* add some styling and adjust info

* wip adding org listings

* wip multi org in dashboard

* adjust for multi org

* add styling and better multi org support

* comment out bump and delete -- save for upcoming PR

* reduce lines

* listing form has link to listings dashboard instead of listings

* adjust header boxes flex direction for mobile

* fix organization id query

* WIP testing

needs more rigorous tests

* finalize tests
2019-06-18 14:52:59 -04:00
Clara
351c1425bd Changed timestamp to creation of notifiable instead of notification itself (#3076) 2019-06-17 18:26:44 -04:00
Ben Halpern
d55a392bed
Add organization liquid tag (#3203) 2019-06-17 13:47:42 -04:00