giseldo/neodataset huggingface dataset:
New dynamic boosts

<!---
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
--->
As a user, I should be able to see new dynamic boosts in the rotator and in-feed slots.

## What needs to be done

<!---
Clearly detail what needs to be done to achieve the goal set out above
--->
When the feature flag is on, point to the new boost v3 endpoints instead of the v2 ones.

## 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.
--->
Use the epic flag

## Acceptance Criteria

<!--
Everyone should be able to understand what is expected to be delivered
--->

- [ ] Implement rule Boost-19 - "Activity boosts will only ever go to newsfeed slots. Channel boosts will only even go to sidebar slots. Other entity types are not supported"
- [ ] Implement rule Boost-16 - "Safe boosts will be delivered to users who have opted to see Open boosts. Open boosts will Never be delivered to users who have opted to see safe boosts."

## Definition of Ready Checklist

- [ ] Definition Of Done (DoD)
- [ ] Acceptance criteria
- [ ] Weighted
- [ ] QA
- [ ] UX/Design
- [ ] Personas
- [ ] Experiments

Story points: 3.0
Solve iOS crash on OCR frame processor and test in-app verification



## Goal

Solve in-app verification issues on iOS

## What needs to be done

- Solve crashes when running the OCR processor on iOS
- Test in-app verification logic on iOS


## QA

TBD


## UX/Design

-


## Personas
-


## Experiments

-


## Acceptance Criteria

- [ ] The OCR should not crash the app on iOS
- [ ] The in-app verification should work in the same way for iOS/Android

## Definition of Ready Checklist

- [ ] Definition Of Done (DoD)
- [ ] Acceptance criteria
- [ ] Weighted
- [ ] QA
- [ ] UX/Design
- [ ] Personas
- [ ] Experiments

Story points: 3.0
Supermind replies are not shown corretly on the post swiper



### Summary
Supermind replies are not shown correctly on the post swiper

### Steps to reproduce

See a supermind reply in the portrait bar

### Platform information 

both

### What is the current *bug* behavior?

It is not showing the post as a supermind reply. (Check screenshot)

### What is the expected *correct* behavior?
It should be shown like this
![imagen](/uploads/7dd1395f9170cd7cf685ed4e0d334402/imagen.png)

### Relevant logs and/or screenshots

![imagen](/uploads/b7d77b4a1aafb923036484594135b9dd/imagen.png)

### Possible fixes

(If you can, link to the line of code that might be responsible for the problem)

Story points: 3.0
TextInput crashing/freezing app on Samsung devices



### Summary

TextInput crashing/freezing app on Samsung devices.

There are different reports but it seems to be happening on android 12 and even more on 13.

https://github.com/facebook/react-native/issues/33139

https://github.com/facebook/react-native/issues/35155

https://github.com/facebook/react-native/issues/35590

https://github.com/react-native-community/discussions-and-proposals/discussions/528#discussioncomment-3890273

### Steps to reproduce

Open the composer or the comment input and start typing

### Platform information 

Android (Samsung)

Mostly on Android 13 but it happens on 12 too

### What is the current *bug* behavior?

App freeze or crash

### What is the expected *correct* behavior?

The app should work as expected when the user is typing

### Relevant logs and/or screenshots

Sentry reports:
https://sentry.io/organizations/minds-inc/issues/3708505858/?project=1766867&query=is%3Aunresolved&referrer=issue-stream

### Possible fixes

TBD

Story points: 3.0
Implement new boost console

<!---
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
--->
Provide an interface to be able to view your own boosts. 


## What needs to be done

<!---
Clearly detail what needs to be done to achieve the goal set out above
--->
Implement designs found in https://gitlab.com/minds/minds/-/issues/3609 

## 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.
--->
See https://gitlab.com/minds/minds/-/issues/3609 

## Personas

<!---
Who does this user impact and why (optional)
--->
Boosters

## Experiments

<!---
Experiments are not required, but it should be made clear if one is expected. If experiments are required, the hypothesis should be outlined.
--->
N/A. Should use the existing epic flag. 

## Acceptance Criteria

<!--
Everyone should be able to understand what is expected to be delivered
--->

- [ ] Implementation of user console

## Definition of Ready Checklist

- [ ] Definition Of Done (DoD)
- [ ] Acceptance criteria
- [ ] Weighted
- [ ] QA
- [ ] UX/Design
- [ ] Personas
- [ ] Experiments

Story points: 8.0
Update Boost in-app / push notifications

## Goal

Improve Boost in-app / push notifications.

As a customer, I want in-app notifications so that I have confidence about the status of my order. 

## What needs to be done

Automate the delivery of in-app and push notifications to customers, alerting them to the current status of their Boost orders.

![image](/uploads/ea684928c25e8050a7175f5d6ea0df1f/image.png)

## QA

<!---
Consideration is given to how the issue will be demoed and tested prior to being deployed
--->


## UX/Design

- Use standard in-app notification layout.
- Use Boost icon

| Event               | Subject                    |
|---------------------|----------------------------|
| Boost rejected      | Your Boost was rejected.   |
| Boost start running | Your Boost is now running. |
| Boost completed     | Your Boost is complete.    |

[Events](https://docs.google.com/spreadsheets/d/1_9_G5MwrmFZ7fVzR_nuLpUKVY8BhAksrCUnaOIHkhqI/edit#gid=0)

## Personas

Boost customers

## Experiments

n/a

## Acceptance Criteria

- [ ] A customer receives a notification when a Boost is rejected.
- [ ] A customer receives a notification when a Boost begins running.
- [ ] A customer receives a notification when a Boost order is complete.
- [ ] The notifications click through to the Boost console where they manage the Boost order.
- [ ] Rejected boosts should link to the activity post/channel
- [ ] Non-rejected boost notifications should go to the boost console

## Definition of Ready Checklist

- [ ] Definition Of Done (DoD)
- [ ] Acceptance criteria
- [ ] Weighted
- [ ] QA
- [ ] UX/Design
- [ ] Personas
- [ ] Experiments

Story points: 3.0
Add username to boost flag when boosted by non-owner user

<!---
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
--->
If a post was boosted by someone other than the owner, we want to know who boosted it.

## What needs to be done

<!---
Clearly detail what needs to be done to achieve the goal set out above
--->
Provide a list of user(s) who have boosted the post in the export of a boosted activity entity

## QA

<!---
Consideration is given to how the issue will be demoed and tested prior to being deployed
--->
Boosts by others

## UX/Design

<!---
Sufficient wireframes have been presented and understood by the development team. Full mockups are not required and re-usable components are encouraged.
--->
(From discussion on https://gitlab.com/minds/front/-/issues/5862)

![image](/uploads/e05a9f184e2d17ab045adeb8cded3c78/image.png)

## Personas

<!---
Who does this user impact and why (optional)
--->
Curious users

## Experiments

<!---
Experiments are not required, but it should be made clear if one is expected. If experiments are required, the hypothesis should be outlined.
--->
N/a

## 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
Mobile: Boost rejection reasons not displayed correctly in Boost console

### Summary

The Boost rejection messages in the Boost console are not displaying properly.

### Steps to reproduce

- Create a Boost
- Navigate to the Boost console

### Platform information 

- Android app

### What is the current *bug* behavior?

- If the Boost is not rejected, the rejection reason area shows `[missing "en.boost.rejectionReasons.-1" translation]`
- If the Boost is rejected due to backlog overflow, the rejection reason message is `Onchain payment failed`

### What is the expected *correct* behavior?

- If the Boost is not rejected, the rejection reason area does not show
- If the Boost is rejected due to backlog overflow, the rejection reason message is `Due to high boost backlog, your tokens have been auto-refunded.`

### Relevant logs and/or screenshots

![Screenshot_20221219-100044](/uploads/fb3930291b2233ce2ab12af4bf706121/Screenshot_20221219-100044.png)

### Possible fixes

(If you can, link to the line of code that might be responsible for the problem)

Story points: 2.0
Forward UTM codes to the backend when handling a deeplink



## Goal

When the app handles a deep link from a campaign the UTM codes are missing (not sent to the backend)

We need to implement a way to forward those codes


## What needs to be done

- Find a way to forward the codes (Probably the best option is to do a GET request to the backend while handling those deeplinks)

## QA

TBD


## UX/Design

-


## Personas

- Marketing will be able to track the marketing campaigns handled by the mobile app


## Experiments

-


## Acceptance Criteria

- [ ] UTM codes of the deeplinks should be forwarded to the backend

## Definition of Ready Checklist

- [ ] Definition Of Done (DoD)
- [ ] Acceptance criteria
- [ ] Weighted
- [ ] QA
- [ ] UX/Design
- [ ] Personas
- [ ] Experiments

Story points: 2.0
Full screen video player requires 2 taps after first use



### Summary

After using the full screen once you have to tap twice to open the full screen again

### Steps to reproduce

- Open a full-screen video
- Try to open it again

### Platform information 

both

### What is the current *bug* behavior?

requires two taps to open the full-screen mode

### What is the expected *correct* behavior?

It should work with one tap

### Relevant logs and/or screenshots

-

### Possible fixes

-

Story points: 1.0
Video control overlay is not transparent

<!---
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 the video controls are shown the video is hidden behind it

### Steps to reproduce

tap over a video to see the controls

### Platform information 

both

### What is the current *bug* behavior?

The video control overlay has a black background 

### What is the expected *correct* behavior?

it should be transparent

### Relevant logs and/or screenshots

![Simulator_Screen_Shot_-_iPhone_14_-_2022-12-16_at_12.33.58](/uploads/e936ab9acf9a2e7f7dc855891818135b/Simulator_Screen_Shot_-_iPhone_14_-_2022-12-16_at_12.33.58.png)

### Possible fixes

This is a regression of the Error overlay black background. Ensure that only the error overlay has a black background and the controls a transparent one.

Story points: 1.0
Create manual step to do binary builds on master


## Goal

Be able to create binary builds without sending them to production. (RC)


## What needs to be done

- Create a manual step on the master branch to build RC

## QA

- none


## 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
--->

- [ ] There must be a manual option for each platform to build a RC

## Definition of Ready Checklist

- [ ] Definition Of Done (DoD)
- [ ] Acceptance criteria
- [ ] Weighted
- [ ] QA
- [ ] UX/Design
- [ ] Personas
- [ ] Experiments

Story points: 2.0
Videos repeat in wrong containers

<!---
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

Sometimes, when scrolling down minds feed on phone, the video form upper part of the feed will appear to be repeated. (the still image / the black part of the new video will be replaced by a still form old video)

### Steps to reproduce

1. Scroll down Minds feed
2. Keep an eye on the videos breaking

### Platform information 

(Browser, device, system stats, screen size)

### What is the current *bug* behavior?

Videos are in wrong containers.

### What is the expected *correct* behavior?

The containers should be reset, and not allow videos to repeat in them.

### Relevant logs and/or screenshots

https://www.minds.com/newsfeed/1448825518760661010

### Possible fixes

(If you can, link to the line of code that might be responsible for the problem)

Story points: 3.0
Pressing 'x' on 2fa after registration fails to log user in

<!---
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 creating account, when pressing 'x' on 2fa prompt, user is "logged out" (I presume they are never logged in). It's still possible to log back in, but it shouldn't happen this way

### Steps to reproduce

1. Create account
2. get to 2fa screen
3. Press x
4. notice that the new user is logged out

### Platform information 

Android, HuaweiHonor9, 4.30.1

### What is the current *bug* behavior?

User is never logged in when creating account and pressing x on 2fa

### What is the expected *correct* behavior?

Pressing x on 2fa should make no difference on login status of the user

### Relevant logs and/or screenshots

![XRecorder_09122022_175245](/uploads/062fe5d1fca04d4964a38e699d8b528e/XRecorder_09122022_175245.mp4)

### Possible fixes

(If you can, link to the line of code that might be responsible for the problem)

Story points: 3.0
Cleanup unused feature flags

<!---
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

Cleanup unused feature flags

## What needs to be done

- [x] refactor flag usage with custom hook
- [x] compare growthbook flags with ones in the app
- [x] add **removed** tag to growthbook flags for those removed
- [x] verify the flags with business
- [ ] add periodic sprint task for flags review

Flags to be removed from code:

- [x] mob-4107-channelrecs
- [x] mob-4193-polling
- [x] mob-4231-captcha
- [x] mob-4630-hide-chat-icon
- [x] mob-stripe-connect-4587
- [x] mobile-5645-media-quotes
- [x] mob-4482-global-supermind-feed
- [x] mobile-supermind
- [x] mob-4482-global-supermind-feed
 
## 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

Developers

## 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

Clea

Story points: 5.0
refactor: more general naming for useApiPost

following from https://gitlab.com/minds/mobile-native/-/merge_requests/1637#note_831290732

candidates are: useApiRequest, useApi, useApiCall.

the other point is whether useApiPost and useApiFetch should be merged. e.g. into something like useApi. 
i don't feel like they should because then we'd have a single fetch() method in the response store which doesn't make sense when we're posting something (naming-wise). but maybe we can do something about that. let's figure out

Story points: 2.0
Check if we can standarize the keyboard handling and make a PoC



### Summary

Despite mobile's keyboard handling is sometimes a cumbersome task (Even more on React-Native)

In many parts of the app, we are applying a combination of a KeyboardSpacing component and changing the SoftInputMode for android.

We should check if we can safely move the SoftInputMode logic inside the KeyboardSpacing component itself. 

The KeyboardSpacer component was necessary due to some inconsistencies between platforms of the KeyboardAvodingView and an issue detecting correctly the height of the keyboard in some devices. (At that moment, it may be no longer the case)

Story points: 5.0
notification settings broken or missing

![image](/uploads/7f242edb52fcc5d336e6874fa1731172/image.png)

![image](/uploads/5178663e7c64e7e324350858a97f7d9b/image.png)

reported by @jotto141 

"Notification settings broken on latest ios build FYI"

"I could reproduce on iPhone 11 Pro iOS 15.0.1." @tanyatech

Story points: 2.0
comments don't have a loading state

![Simulator_Screen_Recording_-_iPhone_13_-_2022-02-02_at_14.29.04](/uploads/c0823e82b31c909c84cf9fde16d45936/Simulator_Screen_Recording_-_iPhone_13_-_2022-02-02_at_14.29.04.mov)

Story points: 1.0
ellipsis menu temporarily dismisses comments bottom sheet

![Simulator_Screen_Recording_-_iPhone_13_-_2022-02-02_at_11.48.21](/uploads/95cbfc8c94cafde1fb022c8a40d9f473/Simulator_Screen_Recording_-_iPhone_13_-_2022-02-02_at_11.48.21.mov)

Story points: 3.0
Add network_id to snowplow and cookies



### Summary

We need to generate and send the networkUserId (UUID) to snowplow (Android). This UUID should be stored at the app level (shared by all the users of the device)

For both platforms, we have to add a minds_pseudoid cookie with the id

We need to ensure that sp_minds and the minds_pseudoid cookies are sent on every HTTP call

Story points: 5.0
Android build error due missing com.github.prscX:photo-editor-android:master-SNAPSHOT



### Summary

Unable to build android due to an error in one of the dependencies

```
Execution failed for task ':app:checkDebugAarMetadata'.
> Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
   > Could not find com.github.prscX:photo-editor-android:master-SNAPSHOT.
```

Story points: 3.0
(bug) 4.21.0 | App closes when pressing "back" button from comments

I tried pressing "back" button from multiple spots in the app - discovery, notifications, menu, comments. When going back from discovery, notifications and menu, I went to the feed. When going back from comments, I went to the home screen (it threw me out of the app)

Video:

![XRecorder_01022022_065318](/uploads/21e02f5b0ba04681d0c6475e2d40f337/XRecorder_01022022_065318.mp4)

Reference: User Cactus_Lord here - https://www.minds.com/newsfeed/1334763669329809419

Story points: 1.0
Newsfeed: Implement channel recommendations component - Mobile 📱

### Summary

Please refer to the web issue for further details.

Original task https://gitlab.com/minds/minds/-/issues/2925

### Notes
-

### Prototype 

https://www.figma.com/proto/iFtbrfoK1BUvybYMHgFHuX/Recommendations-%5BMobile%5D?page-id=0%3A1&node-id=2%3A2&viewport=241%2C48%2C0.5&scaling=scale-down&starting-point-node-id=2%3A2&show-proto-sidebar=1

Story points: 5.0
(bug) 4.21 Notifications | Notifications persist in unread status after reading

Notifications in mobile app don't go into "read" status.

How to replicate:
- Open app
- See unread notifications, click the icon
- Click back to the feed

After those actions, the bell still has red dot next to it. When I open the notification on the mobile, and go back to the notification list, the notification still has blue dot.

Related post: https://www.minds.com/newsfeed/1334875929192697864

Story points: 3.0
Newsfeed spinner placement

The positioning of the spinner on the newsfeed is incorrect. It is currently being displayed above the header, whereas it should be position under the header. It should display in the same way as Discovery currently does.

![Screenshot_2022-01-31_at_09.14.45](/uploads/df34dea237f41722c4ace4de5bf4ab8c/Screenshot_2022-01-31_at_09.14.45.png)

cc @msantang78

Story points: 3.0
[GAT] Nothing happens on tapping the Messenger menu on the Account page

### Summary

Messenger option under Settings -> Accounts does not do anything. 

### Steps to reproduce

1. Launch the App and login
2. Tap on Hamburger menu>Settings>Account
3. Tap on the Messenger option"

### Platform information 

Android 11.0 11, Samsung Galaxy M11 

### What is the current *bug* behavior?

Nothing happens on tapping on Messenger option

### What is the expected *correct* behavior?

Messenger option if visible should be actionable.

Story points: 1.0
Support for using growthbook features and to handle restrictions via growthbook ui- minds#2905

<!---
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
Refactor snowplow to according to https://gitlab.com/minds/minds/-/issues/2905

Front end MR as reference: https://gitlab.com/minds/front/-/merge_requests/1745

Story points: 3.0