I’m doing research on Solid servers. I use Solidflix to connect to the Solid server. GitHub - OxfordHCC/solid-media: A demonstration of the use of Solid in a small media recommendation sharing app.
First time, I used SolidCommunity to login which is a Node Solid Server. The web app worked perfectly and all functions were working.
Second time, I used a local Community Solid Server to login. But this time, there were some problems.
I clicked the Like button, but the server returned 412 error.
I doubt the problem is in saveSolidDatasetAt function but I’m not sure.
The function is in row 642 in /src/components/DiscoverPane.tsx.
{text: '👍', cssClass: 'carousel-like', selected: liked === true, click: async () => {
remove('https://schema.org/Rating');
remove('https://schema.org/ReviewAction');
if (liked === true) {
await saveSolidDatasetAt(solidUrl, dataset, {fetch: session.fetch});
globalState.setState({
myLiked: globalState.state.myLiked!.filter(x => x !== movie),
movies: {...globalState.state.movies, [movie]: {...movieData, liked: null, dataset}},
});
} else {
rate(3);
await saveSolidDatasetAt(solidUrl, dataset, {fetch: session.fetch.bind(session)});
globalState.setState({
myLiked: [movie, ...globalState.state.myLiked!],
movies: {...globalState.state.movies, [movie]: {...movieData, liked: true, dataset}},
});
}}}
I also tried it in solidweb.me which is also a CSS PODs provider. The problem was still there.
I don’t understand why this problem only appears in CSS but not in NSS. Is it because there is a difference in access control between the two kinds of servers? Or is it for some other reasons? And how can I solve it?