Thanks for the replies so far. I maybe being a bit dumb but I can not find anything in the above which makes me think “ah ha! so that’s what i need to do!” I will try to address each suggestion and hopefully someone can help shed some more light on it.
These are indeed songs
It’s literally just one big list of songs, of various creators, and each one has a heart icon next to it. The heart indicates whether it is a favourite or not. Please see this video and image for further clarification how it behaves (which is currently a nice snappy user experience, which is great - but limited to 60 favourites, which is not so great).
Video: likes.mov - pCloud
The condition:
With the video in mind, does your suggestion still make sense ? I am confused when you speak about not saving the items in a single list as I can not envision in the slightest how that could work in this case.
Yes this is the database method I have tested, and it works ok but it doesn’t solve the ‘sluggish’ user-experience issue. It can take SECONDS for the icon to reflect the change. No good. The goal would be to have the database writes happen in this way, yet reflected instantly to the user visually. This is why I am using a ‘state’ - but populating that state (without it becoming a long list) becomes the future potential bottle-neck and challenge to solve here.
If i set privacy rules this way, wouldn’t that stop other users from viewing other users favourites? This is a feature for me as I want the song creators to be able to view who has favourited their songs.
Also what does your icon conditional look like? Are you doing a ‘search’ on every single icon. Or are you storing the list in a state? If so, you would still run into the issue of potentially massive state-lists. ?
On a tangent thought, can anyone confirm if we need a separate user field when we already have ‘created by’? would ‘created by’ be sufficient? (it would half the number of database writes if so).
Thank you for any further help given.