Commit Graph

22 Commits

Author SHA1 Message Date
billisdead af8ec98bb4 fix: pin react to 19.2.3 to match react-native-renderer
Release APK / build (push) Has been cancelled
react-native@0.85.3 bundles react-native-renderer@19.2.3. Having
react@19.2.7 in package.json caused a version mismatch error at
runtime ("Incompatible React versions") that killed the process
before any JS could render, appearing as a native crash.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
v0.1.12
2026-06-22 18:18:03 +02:00
billisdead c43b913dde fix: exclude reanimated/worklets native build, disable New Architecture
Release APK / build (push) Has been cancelled
react-native.config.js excludes react-native-reanimated and
react-native-worklets from Android native linking — neither is used in
the app and react-native-gesture-handler has a dedicated noreanimated
codepath for exactly this case.

build-apk.sh step 4.6 forces newArchEnabled=false in gradle.properties
after expo prebuild, as a fallback for New Architecture init issues
on Android 15.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
v0.1.11
2026-06-22 15:16:37 +02:00
billisdead 256b338ae3 fix: patch worklets and reanimated for Android 15 16KB page size support
Release APK / build (push) Has been cancelled
react-native-worklets and react-native-reanimated compile .so files
without -Wl,-z,max-page-size=16384, causing a native crash at startup
on Android 15 devices that use 16KB memory pages (Pixel 9+, Galaxy S25+).
Patch applied in build-apk.sh and CI workflow after npm install, before
the Gradle build. Guard prevents double-patching on repeated runs.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
v0.1.10
2026-06-22 14:23:38 +02:00
billisdead ec95406305 debug: add crash boundary and global error handler to surface release crashes
Release APK / build (push) Has been cancelled
Catches React render errors (ErrorBoundary) and fatal JS errors
(ErrorUtils.setGlobalHandler) and displays the stacktrace on-screen
instead of crashing to desktop. Temporary — remove after crash identified.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
v0.1.9
2026-06-22 13:10:01 +02:00
billisdead 6bd1dc8358 revert: remove all splash screen overrides, revert app.json to v0.1.5 state
Release APK / build (push) Has been cancelled
SplashScreen.hideAsync() and the splash section in app.json were both
introduced after v0.1.5 and are common to every crashing build.
Reverting to the exact v0.1.5 baseline to isolate the crash source.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
v0.1.8
2026-06-22 12:21:10 +02:00
billisdead d3d73c255e feat: add CHANGELOG.md and auto-create Gitea release on tag push
Release APK / build (push) Has been cancelled
Release body now includes conventional-commit bullet points, a compare
link (prev_tag...current_tag) and a link to CHANGELOG.md for both the
GitHub release and a new Gitea release created via API.
GITEA_TOKEN secret must be added to GitHub repo secrets to enable
the Gitea release step.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
v0.1.7
2026-06-22 11:27:28 +02:00
billisdead 72cfbf41f3 fix: revert splash screen overrides, remove redundant SafeAreaProvider
expo-router 56 already calls _internal_preventAutoHideAsync() internally.
Calling preventAutoHideAsync() at module level created a second user lock
that blocked the native splash indefinitely on Android, causing a crash.
SafeAreaProvider removed as expo-router's ExpoRoot already wraps with it.
Keep SplashScreen.hideAsync() to release the splash after SecureStore reads.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-22 11:26:24 +02:00
billisdead 86303e5c84 fix: prevent black screen on launch by holding splash until settings ready
Release APK / build (push) Has been cancelled
Add SplashScreen.preventAutoHideAsync() at module level and hideAsync()
once SecureStore reads complete. Add splash backgroundColor to app.json
to match app theme. Wrap layout in SafeAreaProvider.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
v0.1.6
2026-06-22 09:00:39 +02:00
billisdead c414ddc4fa fix: use printf %q to escape special chars in signing.env values
Release APK / build (push) Has been cancelled
v0.1.5
2026-06-19 18:26:13 +02:00
billisdead f0fda1947d ci: add signing.env verification step to debug secret injection
Release APK / build (push) Has been cancelled
2026-06-19 18:24:59 +02:00
billisdead 8a75cffbd1 fix: inject signing secrets via env vars, write signing.env with printf
Release APK / build (push) Has been cancelled
2026-06-19 18:22:08 +02:00
billisdead 0b0226368b fix: quote heredoc delimiter to prevent shell expansion of secret values
Release APK / build (push) Has been cancelled
2026-06-19 18:18:13 +02:00
billisdead 8f42971187 ci: switch to signed release APK via build-apk.sh
Release APK / build (push) Has been cancelled
Debug APK required Metro bundler at runtime. Switch to a signed release
build using a local keystore (same pattern as Postiz-Android): keystore
decoded from KEYSTORE_B64 secret, build-apk.sh patches build.gradle and
assembles a standalone APK.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-19 18:07:22 +02:00
billisdead 9e820dbee6 ci: grant contents:write permission for release creation
Build Android APK / build (push) Has been cancelled
GITHUB_TOKEN needs explicit write access to create releases.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
v0.1.0
2026-06-19 13:28:28 +02:00
billisdead f185e5faec ci: free disk space before build to avoid runner out-of-space
Build Android APK / build (push) Has been cancelled
Gradle + NDK + node_modules exhaust the 14 GB on ubuntu-latest runners.
Remove .NET, Haskell, Chromium, Swift, PowerShell preinstalled tools (~6 GB).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-19 12:52:01 +02:00
billisdead c6a71ceeba ci: add concurrency control and GitHub Release creation
- cancel-in-progress for same ref prevents parallel duplicate builds
- post-build step creates a GitHub Release with APK as named asset

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-19 12:29:27 +02:00
billisdead 3e762f70e4 Add placeholder assets (adaptive-icon.png)
Build Android APK / build (push) Has been cancelled
Required by expo prebuild for Android manifest generation.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-19 12:14:57 +02:00
billisdead f311f9f7c5 Fix: sync package-lock.json with package.json
Build Android APK / build (push) Has been cancelled
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-19 12:13:05 +02:00
billisdead 7b4b7c7a36 ci: trigger build on version tags only (v*)
Build Android APK / build (push) Has been cancelled
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-19 12:06:39 +02:00
billisdead 418eb1daa1 Add MVP features: edit mode, voice input, Gitea push, service autocomplete
- new.tsx: edit mode via editId param, per-field voice dictation (MIC/STOP),
  service autocomplete dropdown from DB history
- incident/[id].tsx: Push to Gitea action reads SecureStore config + md template
- index.tsx: homeView=capture redirects to /new on first mount
- _layout.tsx: onboarding gate wired (useSettings + router.replace)
- ci: GitHub Actions workflow builds debug APK via expo prebuild + Gradle

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-19 12:03:44 +02:00
billisdead 8388f49fd4 Initial scaffold: Expo SDK 56, expo-router, expo-sqlite, NativeWind 2026-06-18 16:55:56 +02:00
billisdead f12febf122 Initial commit 2026-06-18 16:49:19 +02:00