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
- RowList: The value of total is coming as...
RowList: The value of total is coming as a String, so it throws an error because it’s not parsed into an int. Error: TypeError: \"37\": type 'String' is not a ...
- 408 Timeout / Curl Error 7 in Executor w...
Hey everyone, I am losing my mind over a routing loop/timeout issue on a fresh self-hosted setup. I have a single Linux VPS (IP: 45.141.37.105) and one domain (...
- functions returning error 401 in local
I updated to 1.9.0, and the functions that used to work fine in 1.8.1 are now giving me a 401 error. I can't seem to find a solution. If anyone is running versi...