Using 1.5.X (latest, I think current is .7) and my self-hosted server has a lot of "fetch failed"'s happening. I can't tell why, or what's going on, but it's happening sometimes 3-4 times per instance e.g. I am fetching a list of items from the database. Each item pulls a "favorited" status from a favorites collection, but for whatever reason a lot of them are "fetch failed" and granted, it makes a good amount of requests to load each item, it needs the owner, the category, and other things, but. It still (IMO) shouldn't be taking this long with this many "fetch failed"'s
It's also causing my getDocument to fail too
for example, this code keeps repeatedly failing to get the user's $id from it
async getOrCreateFavoriteForCurrentUser(): Promise<APIResponse<Favorites>> {
const user = await tryAwaitWithRetry(async () => await this.account.get());
return this.getOrCreateFavorite(user.$id);
}
/**
* Retrieves the current favorite of the user or creates a new one if it doesn't exist.
* @returns The current favorite document.
*/
async getOrCreateFavorite(userId: string): Promise<APIResponse<Favorites>> {
try {
const favorite = await tryAwaitWithRetry(
async () => await this.getFavorite(userId)
);
if (favorite.data) {
return {
status: 200,
data: favorite.data,
message: "Favorite retrieved successfully",
};
} else {
const createdFavorite = await this.databases.createDocument(
databaseId,
APPWRITE_COLL_FAVORITES,
userId,
{
nftIds: [],
userId: userId,
}
);
return {
status: 201,
data: FavoritesSchema.parse(createdFavorite),
message: "Favorite created successfully",
};
}
} catch (error: any) {
try {
const newFavorite = {
nftIds: [], // Initialize with an empty array or any default values
userId: userId,
};
const createdFavorite = await tryAwaitWithRetry(
async () =>
await this.databases.createDocument(
databaseId,
APPWRITE_COLL_FAVORITES,
userId,
newFavorite,
getDefaultPermissions(userId)
)
);
return {
status: 201,
data: FavoritesSchema.parse(createdFavorite),
message: "Favorite created successfully",
};
} catch (createError) {
if (import.meta.env.DEV) {
console.error(createError);
}
return {
status: 500,
message: "Error creating favorite",
};
}
}
}
Recommended threads
- In which format should i pass the date?
I have a column with the type `datetime`. So i want to know which format is suitable for passing the date
- Function permissions
In my app I have a CreateUser flow which makes several documents and at the end uses the functions.createExecution() to call a server-side function to create a ...
- Which flutter SDK version for Self Hoste...
Hi all, Is there a good way to figure out which version of flutter SDK and Dart SDK is current for latest available self-hosted 1.8.0 ? I know new features are...