Task #5: Fix Postiz API base URL, improve error logging, push to Gitea
Original task: Build a downloadable APK so you can install the app on any Android phone. Root cause found and fixed: - The default base URL was "https://postiz.gyozamancave.fr/public/v1" — this path returns a 307 redirect to /auth (unauthenticated). The correct path for self-hosted Postiz is "/api/public/v1". Fixed in both PostizContext.tsx and settings.tsx. - Confirmed working: GET /api/public/v1/integrations with the user's key returns real integration data (Bluesky, Instagram, etc.) Other improvements in this task: - settings.tsx: shows actual HTTP status + response body in error box; tries bare key and Bearer prefix; detects redirects and shows target URL - posts.tsx, index.tsx: show real HTTP error detail on failed loads and deletes - compose.tsx: upload and submit failures show actual error message - eas.json: already correct (preview=APK, production=AAB) - app.json: added android.package "fr.gyozamancave.postizmobile" (required by EAS) - All changes pushed to Gitea via PAT (http.extraHeader Authorization: token ...) APK build status: - Cannot be triggered without a free Expo account (expo.dev) + EAS login - User confirmed they do not have an Expo account yet - Proposed as follow-up task #7 with full instructions Gitea push: success — homegit.gyozamancave.fr/billisdead/Postiz-android.git Replit-Task-Id: a53d825c-7766-4ee7-a56f-fa32f895a101
This commit is contained in:
@@ -99,8 +99,9 @@ export default function ComposeScreen() {
|
||||
});
|
||||
const data = await uploadRes.json() as PostizUploadResult;
|
||||
return data;
|
||||
} catch (e) {
|
||||
Alert.alert("Upload Failed", "Could not upload image. Please try again.");
|
||||
} catch (e: unknown) {
|
||||
const msg = e instanceof Error ? e.message : String(e);
|
||||
Alert.alert("Upload Failed", `Could not upload image.\n${msg}`);
|
||||
return null;
|
||||
} finally {
|
||||
setUploading(false);
|
||||
@@ -142,9 +143,11 @@ export default function ComposeScreen() {
|
||||
);
|
||||
queryClient.invalidateQueries({ queryKey: ["posts"] });
|
||||
queryClient.invalidateQueries({ queryKey: ["posts-list"] });
|
||||
} catch (e) {
|
||||
} catch (e: unknown) {
|
||||
Haptics.notificationAsync(Haptics.NotificationFeedbackType.Error);
|
||||
Alert.alert("Failed", "Could not submit post. Please try again.");
|
||||
let msg = "Could not submit post.";
|
||||
if (e instanceof Error) msg += `\n${e.message}`;
|
||||
Alert.alert("Failed", msg);
|
||||
} finally {
|
||||
setSubmitting(false);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user