Long press any post card to open a context menu with state-aware actions:
- Copy text (all states)
- ERROR: Retry now, Edit & retry, View error message
- QUEUE: Edit, Reschedule (native DateTimePicker → PUT /posts/:id)
- PUBLISHED: Repost
- DRAFT: Edit & schedule
Compose screen now accepts prefillContent/prefillIntegrationIds router
params to pre-fill content and channel selection when editing or reposting.
Adds expo-clipboard for clipboard support.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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