giseldo/neodataset huggingface dataset:
(bug): videos not playing when webtorrent enabled

It seems that reminded videos do not render a working "play" button. Multiple users have reported this, but I've not been able to replicate.

* https://www.minds.com/newsfeed/1022536967470239744 <br>
* https://www.minds.com/newsfeed/1022434607589212160 <br>
* https://www.minds.com/newsfeed/1022400200341803008 <br>
* https://www.minds.com/newsfeed/1022045056894849024 <br>
* https://www.minds.com/newsfeed/1022855418898337792 <br>
* https://www.minds.com/newsfeed/1022863137753997312 <br>

Story points: 3.0
(feat): Turn on feature flags when staging cookie present.

Clients should be able to set `staging-features=<base64_encoded_JSON>` along with `staging=1`

Base64 Encoded JSON, when decoded, should have the following structure:
```JSON
{ "pro": true, "es-feeds": true }
```

That cookie should affect the outcome of `Features\Manager::has()` and `Features::Manager::export()`

Story points: 2.0
Kite user guid is not logged properly

In Kite index some documents has short guid:

```
9126
36989
928292
87334836935
7623355377579362
21891019491592981
27667508119009771
29759722821258901
34209858267472015
37859586873321869
43862099460765620
47580495288740679
48383866281168139
50759326361202941
56403706515584002
58443165904275271
65681389729650860
78757476555697447
82352297385550137
83696497744413492
90167915953349636
91260549480632321
95117807210039571
```

Story points: 2.0
(bug): block does not work in groups

<!---
Please read this!

Before opening a new issue, make sure to search for keywords in the issues
filtered by the "T - Bug" label and verify the issue you're about to submit isn't a duplicate.
--->

### Summary

If user A blocks user B, user B will still appear in the group-feed of user A.

### Steps to reproduce

Unknown - it appears to happen rarely, but very randomly.

I have seen multiple reports and I and other team members have seen it happen first-hand.

### Platform information 

Cross-platform web.

### What is the current *bug* behavior?

Blocked users show up in feeds.

### What is the expected *correct* behavior?

Blocked users should not appear for the blocker.

### Relevant logs and/or screenshots

(Paste any relevant logs - please use code blocks (```) to format console output,
logs, and code as it's very hard to read otherwise.)

### Possible fixes

(If you can, link to the line of code that might be responsible for the problem)

/label ~"T \- Bug" ~"S \- Triage:new" 

Let's make sure
- [x] Banned users disappear from the UI on feeds
- [x] Banned users do not appear on reload
- [x] We need to make sure that admins can only see blocked users by explicitly going to their channel page. They should not be showing up in anyone's feeds.

Story points: 4.0
Test User State Functionality in Review Sites

The following need tested:
* Analytics cli run daily records correct user states and sends notifications when user state changes
* Analytics cli 'incremental' run tracks user state changes for the current day and sends notification if there is going to be a user state decline

The review site will need a number of users for this that can generate activities and be registered to receive token rewards (currently not working, assuming Twilio key is needed in config).

This will need to take place over a number of days unless there is an easy way of injecting fake user activity into the backend - Reliable way would be writing a cli to do this???

Story points: 6.0
Case sensitivity on hashtags

<!---
Please read this!

Before opening a new issue, make sure to search for keywords in the issues
filtered by the "T - Bug" label and verify the issue you're about to submit isn't a duplicate.
--->

### Summary

Case sensitivity on hashtags is detrimental to the users experience.

### Steps to reproduce
Compare the following two links and note the hashtag params difference in case.

* https://www.minds.com/newsfeed/global/top;hashtag=unfucktheworld;period=24h
* https://www.minds.com/newsfeed/global/top;hashtag=UnfuckTheWorld;period=24h

### Platform information 

Cross-platform web.

### What is the current *bug* behavior?

examples, #FOObar and #fooBAR are not showing the same hashtags.

### What is the expected *correct* behavior?

Case sensitivity shouldn't make a difference for hashtags.

### Relevant logs and/or screenshots

(Paste any relevant logs - please use code blocks (```) to format console output,
logs, and code as it's very hard to read otherwise.)

### Possible fixes

(If you can, link to the line of code that might be responsible for the problem)

Story points: 2.0
Efficient querying of views table

- [ ] Copy to elasticsearch with hourly resolution
```json
{
  "resolution": "day",
  "@timestamp": 1568627843000,
  "entity_urn": "urn:activity:123",
  "owner_guid": "456",
  "views": 201
}
```
- [ ] Cli script to run over views and update hourly and update the aggregated number
- [ ] Forward plan reducing resolution on main `views` table

Story points: 3.0
Unread messages should automatically go to top of messenger list

<!---
Please read this!

Before opening a new issue, make sure to search for keywords in the issues
filtered by the "T - Bug" label and verify the issue you're about to submit isn't a duplicate.
--->

### Summary

Unread messages need to be displayed at the top of a user's messenger list so that they can easily find it and read it. Otherwise, the notification remains and it is confusing unless you scroll way down the list to find the unread message.

all platforms

### Relevant logs and/or screenshots

This video depicts the confusion it can cause. The video does not show this, but the reason the message marker remains there is because there was an unread message buried down the list.


![video-export](/uploads/ae00fcb5549760607954dd31e0a3b37e/video-export.mp4)

Story points: 2.0
Users not receiving points for jury duty

* This user did not receive any points on 9/4: https://www.minds.com/wallet/tokens/transactions;remote=nexticeage
* User FoxFox has not been credited for their last 4 Jury Duties.
* Other reports are floating around.

https://www.minds.com/newsfeed/1034493384498917376 <br>
https://www.minds.com/newsfeed/1036946661790953472 <br>
https://www.minds.com/newsfeed/1037315249617113088

Story points: 2.0
Broken image placeholders

# Questions
- Does this replace broken images bulb?
- Which error screens should be included?
- What is the text that should go along with this?

# More details
Created this image for errors.

Previous error message:

![index](/uploads/ac9f46f66234b504320c93233402d721/index.jpg)

New error message should be: ![sorry_light_bulb](/uploads/7b87539fbac9d1ec4259e0c31244833e/sorry_light_bulb.jpg)

Story points: 2.0
(bug): error produced when reporting group for any reason

Groups cannot be reported, there is an error.

![image](/uploads/ccd387e785c12f9dde89add9f320181d/image.png)

:update @benhayward.ben 
 
Request is 500ing throwing this into the nginx and php-fpm containers.
```
nginx_1          | 2019/09/12 17:07:53 [error] 6#6: *3362 FastCGI sent in stderr: "PHP message: Exception #1568308073: Cassandra\Exception\InvalidArgumentException: value must be a long, a double, a numeric string or a Cassandra\Bigint,  given in /var/www/Minds/engine/Core/Reports/UserReports/Repository.php:60
nginx_1          | Stack trace:
nginx_1          | #0 /var/www/Minds/engine/Core/Reports/UserReports/Repository.php(60): Cassandra\Bigint->__construct(NULL)
nginx_1          | #1 /var/www/Minds/engine/Core/Reports/UserReports/Manager.php(96): Minds\Core\Reports\UserReports\Repository->add(Object(Minds\Core\Reports\UserReports\UserReport))
nginx_1          | #2 /var/www/Minds/engine/Controllers/api/v2/moderation/report.php(77): Minds\Core\Reports\UserReports\Manager->add(Object(Minds\Core\Reports\UserReports\UserReport))
nginx_1          | #3 /var/www/Minds/engine/Api/Factory.php(69): Minds\Controllers\api\v2\moderation\report->post(Array)
nginx_1          | #4 /var/www/Minds/engine/Controllers/api/api.php(81): Minds\Api\Factory::build(Array, Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response\JsonResponse))
nginx_1          | #5 /var/www/Minds/engine/Core/Router.php(137): Minds\Controllers\api\" while reading response header from upstream, client: 172.19.0.1, server: _, request: "POST /api/v2/moderation/report HTTP/1.1", upstream: "fastcgi://172.19.0.8:9000", host: "0.0.0.0", referrer: "http://0.0.0.0/groups/profile/1018930846406545413/feed"
elasticsearch_1  | [2019-09-12T17:08:08,994][INFO ][o.e.c.r.a.DiskThresholdMonitor] [HhjXpE-] low disk watermark [85%] exceeded on [Hh
```

Story points: 2.0
Introduce collapsible titles in Help Desk

Currently all the choices in help desk are visible.  We need to have the titles collapsible for ease of use.  
![Screenshot__272_](/uploads/fd79c32a2dac13cc85a39b2825767738/Screenshot__272_.png)

![Screenshot__271_](/uploads/52930cee9b8271cd2a6ee3aef1fe1766/Screenshot__271_.png)

![Screenshot__273_](/uploads/f40f53af0766c851d9086cc4881dbd38/Screenshot__273_.png)

![Screenshot__275_](/uploads/f8983aa02e59e0dad3e57da0434bc123/Screenshot__275_.png)

![Screenshot__274_](/uploads/33aa437136493b8c59ebd3f5ba9f19f7/Screenshot__274_.png)

Story points: 2.0
Exception: Entity is required - User cannot Boost old posts

<!---
Please read this!

Before opening a new issue, make sure to search for keywords in the issues
filtered by the "T - Bug" label and verify the issue you're about to submit isn't a duplicate.
--->
### Summary:

when boosting older articles like I get: Http failure response for https://www.minds.com/api/v2/boost/prepare/795065334607159300?: 500 Internal Server Error

i still have more than 50 000 tokens even not gotting some recently

### Steps to reproduce:

goto  https://www.minds.com/blog/view/795065334607159296 and try boost as user

### Browser and OS

FF under linux mint reported by: @lichtkind

### What is the current *bug* behavior?

User cannot boost older articles.

### What is the expected *correct* behavior?

User should be able to boost older articles.

### Relevant logs and/or screenshots

SENTRY
https://sentry.io/organizations/minds-inc/issues/1190687997/?project=1538020&query=boost

### Possible fixes

(If you can, link to the line of code that might be responsible for the problem)

Sentry Issue: [ENGINE-3T](https://sentry.io/organizations/minds-inc/issues/1190687997/?referrer=gitlab_integration)

```
Exception: Entity is required
  File "/Core/Boost/Checksum.php", line 58, in Minds\Core\Boost\Checksum::generate
    throw new \Exception('Entity is required');
  File "/Controllers/api/v2/boost/prepare.php", line 36, in Minds\Controllers\api\v2\boost\prepare::get
    ->generate();
  File "/Api/Factory.php", line 69, in Minds\Api\Factory::build
    return $handler->$method($pages);
  File "/Controllers/api/api.php", line 76, in Minds\Controllers\api\api::get
    return Factory::build($pages, $this->request, $this->response);
  File "/Core/Router.php", line 137, in Minds\Core\Router::route
    return $handler->$method($pages);
...
(1 additional frame(s) were not displayed)
```

Story points: 1.0
(bug): Logout should provide $session value - Error: Call to a member function getUserGuid() on null

Sentry Issue: [ENGINE-G](https://sentry.io/organizations/minds-inc/issues/1177477262/?referrer=gitlab_integration)

```
Error: Call to a member function getUserGuid() on null
  File "/Core/Sessions/Repository.php", line 94, in Minds\Core\Sessions\Repository::delete
    new Varint($session->getUserGuid()),
  File "/Core/Sessions/Manager.php", line 239, in Minds\Core\Sessions\Manager::destroy
    $this->repository->delete($this->session, $all);
  File "/Controllers/api/v1/authenticate.php", line 124, in Minds\Controllers\api\v1\authenticate::delete
    $sessions->destroy(false);
  File "/Api/Factory.php", line 69, in Minds\Api\Factory::build
    return $handler->$method($pages);
  File "/Controllers/api/api.php", line 91, in Minds\Controllers\api\api::delete
    return Factory::build($pages, $this->request, $this->response);
...
(2 additional frame(s) were not displayed)
```

Story points: 2.0
ImagickException: no decode delegate for this image format `' @ error/constitute.c/ReadImage/504

Sentry Issue: [ENGINE-T](https://sentry.io/organizations/minds-inc/issues/1177515385/?referrer=gitlab_integration)

```
ImagickException: no decode delegate for this image format `' @ error/constitute.c/ReadImage/504
  File "/Core/Media/Imagick/Manager.php", line 60, in Imagick::__construct
    $this->image = new \Imagick($value);
  File "/Core/Media/Imagick/Manager.php", line 60, in Minds\Core\Media\Imagick\Manager::setImage
    $this->image = new \Imagick($value);
  File "/Controllers/api/v1/blog.php", line 330, in Minds\Controllers\api\v1\blog::post
    $manager->setImage($_FILES['file']['tmp_name'])
  File "/Api/Factory.php", line 69, in Minds\Api\Factory::build
    return $handler->$method($pages);
  File "/Controllers/api/api.php", line 81, in Minds\Controllers\api\api::post
    return Factory::build($pages, $this->request, $this->response);
...
(2 additional frame(s) were not displayed)
```

~"Type::Bug"

Story points: 5.0
(bug): Call to a member function getSubscriptionsCount() on null

Sentry Issue: [ENGINE-C](https://sentry.io/organizations/minds-inc/issues/1177467733/?referrer=gitlab_integration)

```
Error: Call to a member function getSubscriptionsCount() on null
  File "/Controllers/api/v2/suggestions.php", line 19, in Minds\Controllers\api\v2\suggestions::get
    if ($loggedInUser->getSubscriptionsCount() >= 5000) {
  File "/Api/Factory.php", line 69, in Minds\Api\Factory::build
    return $handler->$method($pages);
  File "/Controllers/api/api.php", line 76, in Minds\Controllers\api\api::get
    return Factory::build($pages, $this->request, $this->response);
  File "/Core/Router.php", line 137, in Minds\Core\Router::route
    return $handler->$method($pages);
  File "/index.php", line 9
    $router->route();
```

Story points: 3.0
(bug): 3 strikes in firehose not marking channels

<!---
Please read this!

Before opening a new issue, make sure to search for keywords in the issues
filtered by the "T - Bug" label and verify the issue you're about to submit isn't a duplicate.
--->

### Summary

when any three post from a channel are marked NSFW, the channel should automatically be tagged with the corresponding tag.  This is not happening.  This channel https://www.minds.com/karlakush had 4 posts tagged in firehose as NSFW Porn and the channel has not addopted that tag.

### Steps to reproduce

use admin account, tag 3 post of a channel, see that the channel is not being tagged

### Platform information 

(Browser, device, system stats, screen size)

### What is the current *bug* behavior?

(What actually happens)

### What is the expected *correct* behavior?

(What you should see instead)

### Relevant logs and/or screenshots

(Paste any relevant logs - please use code blocks (```) to format console output,
logs, and code as it's very hard to read otherwise.)

### Possible fixes

(If you can, link to the line of code that might be responsible for the problem)

Story points: 5.0
(bug): Retrospectively paywalled posts do not apply the paywall to attachements

<!---
Please read this!

Before opening a new issue, make sure to search for keywords in the issues
filtered by the "T - Bug" label and verify the issue you're about to submit isn't a duplicate.
--->

### Summary

The problem is they can access paywalled images, videos and blogs by simply clicking on the thumbnail in the gallery widget or by viewing the gallery and then clicking the thumbnail.

NOTE: Canary mode is turned on.

See for example on https://www.minds.com/bhayward
Image https://www.minds.com/media/977926766784184320 

### Steps to reproduce

1. Go to the channel for your primary account.
2. Click "Attach" and upload an image.
3. Click "Post".
4. Edit the post.
5. Put it behind a 1 token paywall.
6. Log out and log in to your secondary account.
7. Visit channel for your primary account.
8. Scroll down to the image gallery widget.
9. Click "View More".
10. Click on the thumbnail for the image.

### Platform information 

* Windows 10 / Chrome (Version 73.0.3683.86)
* replicated Manjaro / Chromium

### What is the current *bug* behavior?

When you post an image, video or blog and then put it behind a paywall, it is still visible in your image/video/blog gallery for other users.

### What is the expected *correct* behavior?

If you put an image/video/blog behind a paywall after you already posted it to your channel, it shouldn't be visible and accessible to users who do not meet the paywall threshold for that content. Either that or it should appear for other users but behind the paywall mask and I think both you and other users should be able to filter the image/video/blog gallery by paywalled content. Perhaps just add a button called "Exclusive Content" at the top of each gallery.

### Relevant logs and/or screenshots

![image](/uploads/6b5890d74df7595829d10792c4ba71ac/image.png)
![image](/uploads/9bcf1517a29d585f9121eb563079bd75/image.png)

##### Video
https://imgur.com/yRzqylz

### Possible fixes

(If you can, link to the line of code that might be responsible for the problem)

Story points: 3.0
(bug): Mature content control missing in Canary settings

<!---
Please read this!

Before opening a new issue, make sure to search for keywords in the issues
filtered by the "T - Bug" label and verify the issue you're about to submit isn't a duplicate.
--->

### Summary

(Summarize the bug encountered concisely)

### Steps to reproduce

The mature content setting seems to be missing in Canary.

### Platform information 

Platform independent

### What is the current *bug* behavior?

There is no option visible in Canary

### What is the expected *correct* behavior?

User should be able to change this setting

### Relevant logs and/or screenshots

**Canary**
![https://i.imgur.com/2HOiGoC.png](https://i.imgur.com/2HOiGoC.png)

**Non-Canary**
![https://i.imgur.com/s1cZaT6.png](https://i.imgur.com/s1cZaT6.png)
### Possible fixes

(If you can, link to the line of code that might be responsible for the problem)

Story points: 4.0
(bug): groups unable to be deleted

<!---
Please read this!

Before opening a new issue, make sure to search for keywords in the issues
filtered by the "T - Bug" label and verify the issue you're about to submit isn't a duplicate.
--->

### Summary

Groups unable to be deleted in Canary mode.

https://www.minds.com/newsfeed/959471948341637120

### Steps to reproduce

1. Go to Canary Mode
2. Create a group
3. Delete the group (does not work)

### Platform information 

Replicated on Chrome

### Relevant logs and/or screenshots

https://www.minds.com/newsfeed/959471948341637120

### Possible fixes

(If you can, link to the line of code that might be responsible for the problem)

Story points: 4.0
Create a user email state schema

In php, create a look up table for template id's and orders. This will determine which email a user sends when their state downgrades Core > Casual > Curious > Cold.

Create a cassandra table that has one entry per user notified

user_guid, date, template_id

Primary key, user_guid
Clustering index, user_guid, date

When we sent a user an email, upsert the email template email we sent. 
When we send the user a new email, check table and advance the rotation

Back end proposal for tracking emails sent with minimal data 

Story points: 5.0
(feat): Introduce new lightweight app for video player that allows to show in iframe

<!---
Please read this!

Before opening a new issue, make sure to search for keywords in the issues
filtered by the "T - Bug" label and verify the issue you're about to submit isn't a duplicate.
--->

### Summary

Context:
> I'm trying to embed Minds videos on my external pages using the minds-supplied <iframe> code from the Minds "Share" link.
> 
> When I try in Chrome I get an empty frame with the text: "www.minds.com refused to connect." Firefox simply gives an empty area the size of the iframe.
> 
> Running developer tools on Chrome and looking at the console, I see the following error:
> Refused to display 'xxxxxx' in a frame because it set 'X-Frame-Options' to 'deny'.

The issue here after discussing with @edgebal seems to be that a recent security change to prevent click-jacking, has broken video embedding.

### Steps to reproduce

(How one can reproduce the issue - this is very important)

### Platform information 

Windows 10, Chrome and Firefox lastest versions

### What is the current *bug* behavior?

Video cannot be embedded

### What is the expected *correct* behavior?

We should ideally find a solution where we can mitigate the risk of click-jacking, whilst also allowing video embedding.

### Relevant logs and/or screenshots

(Paste any relevant logs - please use code blocks (```) to format console output,
logs, and code as it's very hard to read otherwise.)

### Possible fixes

Mark has mentioned that this could potentially be solved by either splitting the embedded links off onto a subdomain, or we may be able to remove the header for a specific endpoint.

Story points: 15.0
(bug): No confirmation email from site upon registration

>Steps:
>1. Go to: https://minds.com/canary
>2. Set Canary ON
>3. Fill in the registration details

>Actual results:

>Registration mail never received.

>Expected results:

>Registration (confirmation) mail should arrive


https://dashboard.ubertesters.com/projects/11810/issues/69?rids=135486

Story points: 1.0
(bug): rate limited for suggested channels

<!---
Please read this!

Before opening a new issue, make sure to search for keywords in the issues
filtered by the "T - Bug" label and verify the issue you're about to submit isn't a duplicate.
--->

### Summary

Just made a new channel and immediately got in 5 min jail for subscribing to the channel prompts.   We should only show as many "suggested channels" as are allowed by rate limits. 

### Steps to reproduce
make new channel
follow prompts
subscribe to "suggested Channels"
hit subscribe rate limit


### Platform information 

all

### What is the current *bug* behavior?

hit rate limits for following prompted "suggested channels"

### What is the expected *correct* behavior?
only show as many "suggested channels" as are allowed by rate limits

### Relevant logs and/or screenshots

(Paste any relevant logs - please use code blocks (```) to format console output,
logs, and code as it's very hard to read otherwise.)

### Possible fixes

(If you can, link to the line of code that might be responsible for the problem)

/label ~"T \- Bug" ~"S \- Triage:new" 


Story points: 2.0
Send on the welcome to minds email two hours after a user signs up

Right now, we send the welcome to minds email once a user logs in. With the new onboarding, we have two emails that require giving them some time to fill out their profile and explore.

So, instead, we're going to send emails 2 hours after they have created an account.

When we do, we need to check their onboarding status and determine if they have completed the onboarding and send an email for each case.

Story points: 15.0