giseldo/neodataset huggingface dataset:
Open graph data for quote posts / Supermind replies prioritizes wrong content

### Summary

When sharing a quote post on other platforms, post contents & channel name of the quoted post is shared, rather than the post contents & channel name of the post creator.

### Steps to reproduce

[Example quote post](https://www.minds.com/newsfeed/1421644559460339715)

- Open the above URL in an open graph debugger like Iframely (http://debug.iframely.com/)

### Platform information 

- All

### What is the current *bug* behavior?

- The content and channel name from @ supermindfiend are used in the open graph tags

### What is the expected *correct* behavior?

- The content and channel name from @ UrAvgCreator are used in the open graph tags

### Relevant logs and/or screenshots

[Example quote post](https://www.minds.com/newsfeed/1421644559460339715)

![image](/uploads/3aa3befd96d7c60d6e9d8e04730b8d57/image.png)

### Possible fixes

(If you can, link to the line of code that might be responsible for the problem)

Story points: 2.0
Enable user to disable highlights in the app

## Goal

Enable user to disable highlights in the app. This is a request from many of our core users.

## What needs to be done

Add functionality for users to remove the `Highlights` component from the `Newsfeed`. We can use the same pattern currently implemented that enables users to hide the `Recommended Channels` component from the Newsfeed.

## QA

<!---
Consideration is given to how the issue will be demoed and tested prior to being deployed
--->


## UX/Design

![IMG_FBD3644A9032-1](/uploads/2776bdb54312601e0b27d80bf8c143d6/IMG_FBD3644A9032-1.jpeg)

![IMG_35424CC33B76-1](/uploads/36cb0247279f8808dba3d53d69fad6ef/IMG_35424CC33B76-1.jpeg)

![IMG_1B08DCF244E5-1](/uploads/16f1018b633101e17088e268a7b9cf9c/IMG_1B08DCF244E5-1.jpeg)

## Personas

Core Minds users

## Experiments

n/a

## Acceptance Criteria

<!--
Everyone should be able to understand what is expected to be delivered
--->

- [ ] By default, the `Highlights` component appears in the Latest Newsfeed.
- [ ] The `Highlights` component has an ellipsis menu that generates an option to remove the component from the feed.
- [ ] If the user chooses to remove `Highlights` from the feed, it remains hidden until the user logs out / uninstalls the app.

## Definition of Ready Checklist

- [ ] Definition Of Done (DoD)
- [ ] Acceptance criteria
- [ ] Weighted
- [ ] QA
- [ ] UX/Design
- [ ] Personas
- [ ] Experiments

Story points: 2.0
Display offer statuses within Supermind console

## Goal

Improve usability of the supermind console by allowing the user to filter by type.

The console is currently split into `inbound` and `outbound`. However, within inbound for example, there is no easy way to discern between pending requests, from expired or delivered - consequently it could potentially become quite noisy.

## What needs to be done

Update the display of Supermind offers in the inbox and outbox to indicate their status

Statuses include:
- Pending
- Accepted
- Declined
- Expired
- Failed

Update the buttons displayed under an offer depending on its state.
e.g.
- [View reply on Accepted posts](https://www.figma.com/file/thrGepQAxmcMGB7MoEEckM/Supermind?node-id=1817%3A21946)

## QA

<!---
Consideration is given to how the issue will be demoed and tested prior to being deployed
--->


## UX/Design

### Supermind Console

#### Inbound
- [Inbound - Pending state](https://www.figma.com/file/thrGepQAxmcMGB7MoEEckM/Supermind?node-id=1772%3A20454)
- [Inbound - Delivered state](https://www.figma.com/file/thrGepQAxmcMGB7MoEEckM/Supermind?node-id=1817%3A21946)
- [Inbound - Expired state](https://www.figma.com/file/thrGepQAxmcMGB7MoEEckM/Supermind?node-id=1907%3A21854)

#### Outbound
- [Outbound - Pending state](https://www.figma.com/file/thrGepQAxmcMGB7MoEEckM/Supermind?node-id=1772%3A20708)
- [Outbound - Delivered state](https://www.figma.com/file/thrGepQAxmcMGB7MoEEckM/Supermind?node-id=1907%3A22099)
- [Outbound - Expired state](https://www.figma.com/file/thrGepQAxmcMGB7MoEEckM/Supermind?node-id=1907%3A22359)

## Personas

Creators
Fans

## Experiments

n/a

## Acceptance Criteria

- [x] Display the 'state' in place of 'Expires in ' text shows
- [x] On accepted posts, show the View Reply button

## Definition of Ready Checklist

- [ ] Definition Of Done (DoD)
- [ ] Acceptance criteria
- [ ] Weighted
- [ ] QA
- [ ] UX/Design
- [ ] Personas
- [ ] Experiments

Story points: 2.0
Content settings modal shows horizontal scroll bar

### Summary

The `Content Settings` modal shows horizontal scroll bars unnecessarily.

### Steps to reproduce

- Open Minds in Staging
- Navigate to Discovery
- Click the gear icon to open the `Content Settings` modal

### Platform information 

- MacOS + Brave

### What is the current *bug* behavior?

- A horizontal scroll bar appears

### What is the expected *correct* behavior?

- No horizontal scroll bar appears

### Relevant logs and/or screenshots

![image](/uploads/976528f67c7fa78609ca0ba0c3859a7f/image.png)

### Possible fixes

With CSS, set `overflow-x: none;`

Story points: 1.0
Visually differentiate Supermind offers

## Goal

Improve the value prop of Supermind offers by making Supermind offers stand out in feeds.

## What needs to be done

Update the visual design of Supermind offer posts.

Indicate...

- The post is a Supermind offer
- Who is the target of the offer

## QA



## UX/Design

[Web Figma File](https://www.figma.com/file/thrGepQAxmcMGB7MoEEckM/Supermind-%5B*%5D?node-id=2584%3A29348)

Mobile version has issues with margin spacing on current mobile production. Currently playing around with ideas for mobile and spoke with Jack and Ryan on the topic already, but my suggestion would be to test it out on web first and then move to mobile if received well. I will be following up with the mobile devs to get their opinion on the matter, but it brings up the topic of giving more attention to aligning mobile and web design practices and screens.

![Supermind_Offer__Text_Post____Pending_Reply](/uploads/d839a0cfdc19436f96f9a41f3b885758/Supermind_Offer__Text_Post____Pending_Reply.png)
![Supermind_Offer__Text_Post____Reply](/uploads/4bcfbb1d50d22470ab0f6cf0f68dcb85/Supermind_Offer__Text_Post____Reply.png)
![Supermind_Offer__Quote_Post____Pending_Reply](/uploads/60ed8d8859d4d9935d1f07eec727e4ef/Supermind_Offer__Quote_Post____Pending_Reply.png)
![Supermind_Offer__Quote_Post____Reply](/uploads/0320497678db04ee664203ed9c4ed499/Supermind_Offer__Quote_Post____Reply.png)

## Personas

Core Minds users

## Experiments

n/a

## Acceptance Criteria

- [ ] When a Supermind offer is posted, it is visually differentiated from regular posts in whichever feeds it appears

## Definition of Ready Checklist

- [ ] Definition Of Done (DoD)
- [ ] Acceptance criteria
- [ ] Weighted
- [ ] QA
- [ ] UX/Design
- [ ] Personas
- [ ] Experiments

Story points: 3.0
Investigate running WDIO locally

<!---
Please read this!

The Definition of Ready (DoR) can be found at https://developers.minds.com/docs/handbook/how-we-work/#definition-of-ready-dor

Before opening a new issue, make sure to search for keywords in the issues
filtered by the "Type::Feature" label and verify the feature you're about to submit isn't a duplicate.
--->

## Goal

<!---
Clearly outline the goal of the issue and why we are doing it
--->


## What needs to be done

<!---
Clearly detail what needs to be done to achieve the goal set out above
--->


## QA

<!---
Consideration is given to how the issue will be demoed and tested prior to being deployed
--->


## UX/Design

<!---
Sufficient wireframes have been presented and understood by the development team. Full mockups are not required and re-usable components are encouraged.
--->


## Personas

<!---
Who does this user impact and why (optional)
--->


## Experiments

<!---
Experiments are not required, but it should be made clear if one is expected. If experiments are required, the hypothesis should be outlined.
--->


## Acceptance Criteria

<!--
Everyone should be able to understand what is expected to be delivered
--->

- [ ] ...

## Definition of Ready Checklist

- [ ] Definition Of Done (DoD)
- [ ] Acceptance criteria
- [ ] Weighted
- [ ] QA
- [ ] UX/Design
- [ ] Personas
- [ ] Experiments

Story points: 3.0
Upvote puzzle takes too long to get solved

<!---
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

Upvote puzzle takes around 25 seconds to go through.

I have not upvoted a lot today (less than 10 posts) and yesterday I did moderate upvoting activity (around 50)

### Steps to reproduce

(How one can reproduce the issue - this is very important)

### Platform information 

```
CPU: Ryzen 7 2700
GPU: NVIDIA GeForce GTX 1070
RAM: DDR4 16GB
```

### 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: 0.0
Tapping notifications generates strange "upvotes" overlays

<!---
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

Multiple "Upvotes" overlays are generated when tapping notifications.

### Steps to reproduce

- Navigate to notifications
- Tap a notification, e.g. someone replied to a comment
- Swipe down the comment overlay

### Platform information 

- iPhone 12 Mini, App v 4.28.0

### What is the current *bug* behavior?

- The comments are closed
- Multiple "Upvotes" overlays appear

### What is the expected *correct* behavior?

- The comments are closed
- The content that the comments are related to appears

### Relevant logs and/or screenshots

https://drive.google.com/file/d/1JBNVL846vfYeGyHZ1k2KkBWcSm1IHOte/view?usp=sharing

### Possible fixes

(If you can, link to the line of code that might be responsible for the problem)

Story points: 3.0
Give channels the option to disable Supermind emails

## Goal

Enable users to manage the emails they receive from Minds.

## What needs to be done

Add an option to user settings to disable Supermind emails, including Supermind offers and offer reminders.

![image](/uploads/026ab1d642a4e5f1bf7184b81bd2efc6/image.png)

> I receive a Supermind offer

Note: This option should NOT disable emails for:

- When you send an offer
- When your offer is accepted / declined / expired
- When you accept an offer

## QA

<!---
Consideration is given to how the issue will be demoed and tested prior to being deployed
--->


## UX/Design

n/a

## Personas

Creators

## Experiments

n/a

## Acceptance Criteria

<!--
Everyone should be able to understand what is expected to be delivered
--->

- [ ] A new `I receive a Supermind offer` option appears in email notification settings
- [ ] By default, those emails are enabled
- [ ] The user can manually click to disable that setting
- [ ] If that setting is disabled, the user will not receive emails about incoming offers and reminders

## Dev note

https://gitlab.com/minds/engine/-/blob/master/Core/Email/EmailSubscriptionTypes.php

## Definition of Ready Checklist

- [ ] Definition Of Done (DoD)
- [ ] Acceptance criteria
- [ ] Weighted
- [ ] QA
- [ ] UX/Design
- [ ] Personas
- [ ] Experiments

Story points: 3.0
Implement "See latest posts" feature on Supermind console

## Goal

Enable a creator to stay on the Supermind console and accept incoming offers as they arrive.

## What needs to be done

Implement the "See latest posts" feature from the Newsfeed, in the Supermind console.

Priority is the Inbound tab.

## QA

<!---
Consideration is given to how the issue will be demoed and tested prior to being deployed
--->


## UX/Design

Implement the same component we have on the Newsfeed.

Change the language to read:

> See [n] latest offers

![image](/uploads/c4d7f83ccfd0fcaa3e3ca94504e82776/image.png)

## Personas

<!---
Who does this user impact and why (optional)
--->


## Experiments

<!---
Experiments are not required, but it should be made clear if one is expected. If experiments are required, the hypothesis should be outlined.
--->


## Acceptance Criteria

- [ ] Given a creator is viewing the Supermind console > Inbound tab, when a new Supermind offer is received, then the "See latest offers" alert appears.
- [ ] Given the "See latest offers" alert appears, when the user clicks it, then the Supermind console is refreshed to display the new offers.

## Definition of Ready Checklist

- [ ] Definition Of Done (DoD)
- [ ] Acceptance criteria
- [ ] Weighted
- [ ] QA
- [ ] UX/Design
- [ ] Personas
- [ ] Experiments

Story points: 3.0
Prevent Supermind reply from being deleted

## Goal

Prevent abuse of Supermind.

## What needs to be done

Prevent post owners from deleting their Supermind reply posts.

## QA

<!---
Consideration is given to how the issue will be demoed and tested prior to being deployed
--->


## UX/Design

<!---
Sufficient wireframes have been presented and understood by the development team. Full mockups are not required and re-usable components are encouraged.
--->


## Personas

Fans
Creators

## Experiments

<!---
Experiments are not required, but it should be made clear if one is expected. If experiments are required, the hypothesis should be outlined.
--->


## Acceptance Criteria

- [ ] If a post is a Supermind reply, it cannot be deleted by the owner.

## Definition of Ready Checklist

- [ ] Definition Of Done (DoD)
- [ ] Acceptance criteria
- [ ] Weighted
- [ ] QA
- [ ] UX/Design
- [ ] Personas
- [ ] Experiments

Story points: 3.0
Prevent Supermind offers from being deleted while offer is active

## Goal

Prevent spamming / abuse of Superminds offers.

## What needs to be done

While a Supermind offer is active (before it has been accepted, declined, or expired), prevent the post from being deleted by the post owner.

## QA

<!---
Consideration is given to how the issue will be demoed and tested prior to being deployed
--->


## UX/Design

<!---
Sufficient wireframes have been presented and understood by the development team. Full mockups are not required and re-usable components are encouraged.
--->


## Personas

<!---
Who does this user impact and why (optional)
--->


## Experiments

<!---
Experiments are not required, but it should be made clear if one is expected. If experiments are required, the hypothesis should be outlined.
--->


## Acceptance Criteria

<!--
Everyone should be able to understand what is expected to be delivered
--->

- [ ] While a Supermind offer is active (before it has been accepted, declined, or expired), the post can't be deleted.
- [ ] After a Supermind offer is inactive (after it has been accepted, declined, or expired), the post can be deleted.

## Definition of Ready Checklist

- [ ] Definition Of Done (DoD)
- [ ] Acceptance criteria
- [ ] Weighted
- [ ] QA
- [ ] UX/Design
- [ ] Personas
- [ ] Experiments

Story points: 2.0
Expired Superminds show "Accept" and "Decline" buttons

### Summary

Expired Superminds show "Accept" and "Decline" buttons, though the buttons don't function.

### Steps to reproduce

- Receive a Supermind offer
- Wait 7 days for it to expire
- Return to the Supermind console

### Platform information 

Web

### What is the current *bug* behavior?

- The Accept and Decline buttons are presented
- Clicking the buttons generates errors

### What is the expected *correct* behavior?

- The Accept and Decline buttons are not presented
- Backend should force the status to expired

### 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
Spike: Enable channels without bank accounts configured to receive cash Supermind offers

## Goal

Enable all channels to receive cash Supermind offers, regardless of whether or not they've previously connected a bank account. This will enable more cash Supermind offers, and ultimately increase the number of creator channels with connected bank accounts.

## What needs to be done

Do a technical spike on the feasibility of supporting the following case:

> When sending a cash Supermind offer to a channel who has not yet configured their bank account information, successfully handle the initial authorization, and process a second authorization when the target channel connects their bank account and accepts&replies to the Supermind offer.

> Require that a channel that has not already configured a bank account do so before they can accept&reply to a cash Supermind offer.

## QA

<!---
Consideration is given to how the issue will be demoed and tested prior to being deployed
--->


## UX/Design

n/a

## Personas

Creators
Fans

## Experiments

n/a

## Acceptance Criteria

<!--
Everyone should be able to understand what is expected to be delivered
--->

- [ ] Prototype of this functioning
- [ ] Future tasks built out to take this into production

## Definition of Ready Checklist

- [ ] Definition Of Done (DoD)
- [ ] Acceptance criteria
- [ ] Weighted
- [ ] QA
- [ ] UX/Design
- [ ] Personas
- [ ] Experiments

Story points: 8.0
Ellipsis loading indicator is off-center

### Summary

When posting a Supermind offer, the ... loading indicator on the `Post` button is off-center.

### Steps to reproduce

- Compose a Supermind offer
- Post the Supermind offer

### Platform information 

- MacOS + Chrome

### What is the current *bug* behavior?

The ... loading indicator in the `Post` button is off-center vertically.

### What is the expected *correct* behavior?

The ... loading indicator in the `Post` button is centered vertically (and horizontally).

### Relevant logs and/or screenshots

![image](/uploads/09af61cc9b3107d75bdbd577a82da5e6/image.png)

### Possible fixes

Mark suggested it may be related to removing the scheduler dropdown arrow. Perhaps inserting an empty pseudo element of a matching height will help.

Story points: 2.0
Throw toast message upon posting a Supermind reply

## Goal

More clearly communicate to the user that their Supermind reply was posted.

## What needs to be done

Throw a toast message to confirm that a Supermind reply was successfully posted.

> Your Supermind reply was posted, and you’ve collected the offer.

## QA

<!---
Consideration is given to how the issue will be demoed and tested prior to being deployed
--->


## UX/Design

Use the positive-looking toast message.

![image](/uploads/948706c9c9bad6301e802514d27311f4/image.png)

## Personas

- Creators

## Experiments

n/a

## Acceptance Criteria

- [ ] When successfully posting a Supermind reply, throw a toast message that confirms.
- [ ] Use message above in `What needs to be done`

## Definition of Ready Checklist

- [ ] Definition Of Done (DoD)
- [ ] Acceptance criteria
- [ ] Weighted
- [ ] QA
- [ ] UX/Design
- [ ] Personas
- [ ] Experiments

Story points: 1.0
"You may not create an NSFW Supermind" error message should appear sooner

<!---
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 user is able to configure NSFW settings for a Supermind offer post before encountering a toast error message that tells them they can't.

### Steps to reproduce

- Create a Supermind offer
- Click the "E" icon
- Set NSFW settings
- Click "Save"

### Platform information 

- Web

### What is the current *bug* behavior?

- The toast error message appears after the user has configured NSFW settings

### What is the expected *correct* behavior?

- Show the toaster immediately when the popup screen is displayed

### Relevant logs and/or screenshots

![image](/uploads/7720f02a02a2855a42a9a58f1d806944/image.png)

### Possible fixes

- A toast message appears that communicates that a Supermind post cannot be NSFW

Story points: 1.0
Indicate that Supermind target is unable to receive cash offers

## Goal

Channels who have not yet connected their bank accounts are unable to receive cash offers.

The Supermind UI needs to communicate and enforce this restriction when a user is creating a Supermind offer.

## What needs to be done

TBD

## QA

<!---
Consideration is given to how the issue will be demoed and tested prior to being deployed
--->


## UX/Design

<!---
Sufficient wireframes have been presented and understood by the development team. Full mockups are not required and re-usable components are encouraged.
--->


## Personas

Fans, Core users

## Experiments

n/a

## Acceptance Criteria

<!--
Everyone should be able to understand what is expected to be delivered
--->

- [x] The user is unable to send cash Supermind offers to channels that are unable to receive them
- [x] The user is made aware of this limitation
- [x] Display a toaster when the username is entered (on blur)
- [ ] Display a toaster when the user tries to press save (do not allow save)

## Definition of Ready Checklist

- [x] Definition Of Done (DoD)
- [x] Acceptance criteria
- [x] Weighted
- [ ] QA
- [ ] UX/Design
- [ ] Personas
- [ ] Experiments

Story points: 2.0
Partial refunds for partial Boost deliveries

## Goal

Reduce the volume of repeat Boosts by issuing only partial refunds of Boosts that are rejected due to Boost backlog.

## What needs to be done

Currently, a Boost that gets rejected due to Boost backlog overflow will refund to the buyer the full amount of the boost order.

However, most rejected Boosts do deliver views, they're just unable to complete. This is resulting in free Boost views being given to users who spend more than can be delivered during the course of their Boost.

Proposal is to issue partial refunds, rather than full refunds, effectively prorating the refund so that the users are charged for the impressions they were given, even when the order fails to complete.

Example:

| --           | Tokens spent | Views delivered | Refund issued |
|--------------|--------------|-----------------|---------------|
| Now          | 3,000        | 2,500           | 3,000         |
| After change | 3,000        | 2,500           | 500           |

## QA

<!---
Consideration is given to how the issue will be demoed and tested prior to being deployed
--->


## UX/Design

n/a

## Personas

Minds Boosters

## Experiments

n/a

## Acceptance Criteria

- [ ] Given a Boost order delivered some views, and the Boost backlog prevents the full delivery of the Boost order, when the Boost is rejected due to Boost backlog overflow, then the user is refunded their spend less the amount that pays for the impressions that were delivered.

## Definition of Ready Checklist

- [ ] Definition Of Done (DoD)
- [ ] Acceptance criteria
- [ ] Weighted
- [ ] QA
- [ ] UX/Design
- [ ] Personas
- [ ] Experiments

Story points: 2.0