Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MyMeta] Custom Backgrounds #443

Closed
Tracked by #769
peth-yursick opened this issue Mar 27, 2021 · 20 comments
Closed
Tracked by #769

[MyMeta] Custom Backgrounds #443

peth-yursick opened this issue Mar 27, 2021 · 20 comments
Assignees
Labels
backend Backend related issues frontend Front end related issues / features

Comments

@peth-yursick
Copy link
Member

peth-yursick commented Mar 27, 2021

Allow people to set custom backgrounds on their MyMeta profile.
Bonus points if hosted on IPFS or other decentralized storage.

@MetaFam MetaFam deleted a comment from peth-yursick Apr 8, 2021
@gitcoinbot
Copy link

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


This issue now has a funding of 0.001 SC attached to it.

@dan13ram dan13ram added backend Backend related issues frontend Front end related issues / features labels May 4, 2021
@peth-yursick peth-yursick mentioned this issue May 11, 2021
12 tasks
@mattcan
Copy link

mattcan commented May 21, 2021

I have some questions about this:

  • are we looking to facilitate the upload of an image or only request a link to the image?
  • this is a separate feature from the current headers provided by 3box or a replacement of that feature as the app moves to ceramic/idx?
  • are we concerned about the NSFW images and need some administrative controls?

Thanks!

@peth-yursick
Copy link
Member Author

I have some questions about this:

* are we looking to facilitate the upload of an image or only request a link to the image?

* this is a separate feature from the current headers provided by 3box or a replacement of that feature as the app moves to ceramic/idx?

* are we concerned about the NSFW images and need some administrative controls?

Thanks!

  • A link might be better as we wouldn't need to worry about hosting, though that only offloads the worry to the player. Facilitating an upload would be much better UX.
  • Separate feature I think yeah, these would be full backgrounds so they would require different dimensions & higher res.
  • Hmm... I wasn't worried until you asked 😂. Good question. As they are supposed to be "decentralized linkedin-like pages", then people should be able to put whatever they want up there. On the other hand, the ones that want NSFW should be excluded from MetaGame's profile indexing system - overall making it way harder to implement these custom backgrounds, right?
    There probably things that are more important to implement than this in the MyMeta, MetaOS or Product roadmaps.

@mattcan
Copy link

mattcan commented May 21, 2021

Thanks for fleshing out the requirements, will be good for later!

On the other hand, the ones that want NSFW should be excluded from MetaGame's profile indexing system - overall making it way harder to implement these custom backgrounds, right?

We could go the hands off route and only let people link to the image. I'm not a lawyer but that seems like a way to avoid problems. But its only a matter of time before someone says "Hmm, so I can post child porn. Lets do it." and that isn't a fun thing to show anywhere.

Content moderation is a pain and we probably have the same problems with avatars/headers, even though they come from 3box at the moment.

@peth-yursick
Copy link
Member Author

We could go the hands off route and only let people link to the image. I'm not a lawyer but that seems like a way to avoid problems. But its only a matter of time before someone says "Hmm, so I can post child porn. Lets do it." and that isn't a fun thing to show anywhere.

Yeah, probably good enough to begin with 🤷‍♂️
We can write a warning saying something like "If you upload inappropriate images, you risk your profile being delisted & yourself being banished from MetaGame."

@alalonde
Copy link
Contributor

alalonde commented Jun 3, 2021

* are we looking to facilitate the upload of an image or only request a link to the image?

Seems that having control of the image would be preferable.

* this is a separate feature from the current headers provided by 3box or a replacement of that feature as the app moves to ceramic/idx?

I wouldn't count on this migration happening anytime soon. Do you have any experience hosting images in IPFS?

* are we concerned about the NSFW images and need some administrative controls?

This sort of thing is only a problem at a certain scale, I think we have a solid enough community right now to police itself. At some point we can add a flag button or something

@luxumbra
Copy link
Contributor

Forgive me if I have missed the discussion somewhere but has there been any progress on this? I have looked through the last few weeks meeting notes and not found it in searches in Discord. @alalonde

@mattcan
Copy link

mattcan commented Jul 11, 2021

Forgive me if I have missed the discussion somewhere but has there been any progress on this? I have looked through the last few weeks meeting notes and not found it in searches in Discord.

Not sure about others but I was keeping the discussion here to try and flesh out the requirements when I was looking for a first issue to participate in. I haven't done any work on this since.

Do you have any experience hosting images in IPFS?

Sorry, I totally missed this question! I do have some experience but using the CLI, not programming the interaction.

@CastilloLuis
Copy link

I'm working on this using ipfs. Everything is working fine, but I need to do some changes in the Smart Contract so I can save the hash returned by the ipfs and link that hash with the wallet address so we can have a relation. (simple smart contract mapping). Is it ok?

@dysbulic
Copy link
Member

We are in the process of creating an IDX MetaGame profile where this data will be stored. (Like in the next two weeks.)

¿Are you talking about creating a smart contract to store the user's background? The data will be living in Ceramic with a cached reference stored in Hasura.

¿Where are you pinning the IPFS hash? I'm pretty sure we want to use web3.storage for this.

@CastilloLuis
Copy link

CastilloLuis commented Aug 18, 2021

@dysbulic hey man, okay. I was working with infura and getting the hash returned by it. But I see web3.storage more useful and if you guys want to use it I can do it. Another members are going to use work on this one? bc I can help :)

@dysbulic
Copy link
Member

@CastilloLuis, we're in the process of switching from storing profile information in a database to having that data in the Ceramic Network as the source of truth.

Before we get to that though, we are going to build a frontend for storing the IDX basic profile. It has two images (a profile and header background) in it that will need to be stored in the same manner as the background you're adding, so you could certainly be useful. 😸

As for web3.storage, it's free and theoretically reliable, so it seems like the way to go. Otherwise, anyone using the system is going to have to deal with pinning costs. Not that they'd be huge, but if we can eliminate a concern it seems like a good idea.

@dysbulic
Copy link
Member

@CastilloLuis, I was wrong about using web3.storage. It relies on an API key for authentication, and to use it in MyMeta we would need to include the key in the application (or hack together some way to keep it private).

Anyone with the key has the ability to remove all the files from an account, so until they add an alternative authentication mechanism or add scoping to keys so you can create an upload-only one, we should probably just use a traditional pinning service.

@dysbulic
Copy link
Member

dysbulic commented Sep 5, 2021

Ok, so there's been another change of course. @Cali93 & I implemented a web3.storage uploader Hasura action. You send it a file & it returns you a CID.

Or at least it will when it's done in the next day or so. The action handler exists, but Hasura actions don't have Files as accepted types, so the files will have to be base64 (en|de)coded.

All of the pinning services I examined – pinata, infura, & web3.storage – utilize an API token for authentication. A token that shouldn't be sent to the client necessitating a service running somewhere to authenticate and proxy the upload.

The base64 encoding is a bit of a hack, but the next best alternative – uploading via a Next.js API endpoint – is blocked by the need for webpack 5 to run web3.storage. That is in turn blocked by the upgrade to Next v11 and React v17 (#792).

@lucidcyborg
Copy link
Member

Currently there is being worked on storing a potential background image in Ceramic.
Where and how the background is being displayed etc is still up for discussion?

@dysbulic
Copy link
Member

dysbulic commented Feb 21, 2022

So the profiles now have a page background image. There is no interface, however, for including it in the page.

To accomplish the custom background, I would like to enable profile theming (#1158) which would let me specify not only the image, but also how it is positioned and a background color and other properties.

I would also like to keep track of all the background images that have ever been entered (they are all saved in web3.storage, but will be orphaned currently if a new image is uploaded). I would like to present the user with an interface that conglomerates the backgrounds from all the users and makes it simple to insert that into a custom theme.

@peth-yursick
Copy link
Member Author

Right on, great to hear!
I think this feature could be a great case for a Seed sink / a way to start making MyMeta & MetaGame more sustainable.
The profiles are completely free to use, but if you want a custom background - 1 Seed.
What do you think?

@luxumbra
Copy link
Contributor

The profiles are completely free to use, but if you want a custom background - 1 Seed.
What do you think?

Maybe it could be token gated by an NFT that one buys and must be in your wallet to access extended features?

@peth-yursick
Copy link
Member Author

So the profiles now have a page background image. There is no interface, however, for including it in the page.

I have it in the interface to upload the background image & it shows it as saved when revisiting later but it never actually displays in the background.. Is it just me or the feature isn't finished yet?

@peth-yursick
Copy link
Member Author

Done by @dan13ram as a part of the 1.0 push

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend Backend related issues frontend Front end related issues / features
Projects
None yet
Development

No branches or pull requests

9 participants