Skip to content

Bump up to expo 55, many other upgrades#804

Merged
CalJosKos merged 17 commits into
mainfrom
dev
Mar 23, 2026
Merged

Bump up to expo 55, many other upgrades#804
CalJosKos merged 17 commits into
mainfrom
dev

Conversation

@CalJosKos
Copy link
Copy Markdown
Collaborator

Expo 55
Quest versioning
Manual data backup
Various localizations (Hindi, Burmese, Thai, Mandarin, French)
publishUtils and publishService merged
Improved playback control

rafaelwinter01 and others added 17 commits February 24, 2026 10:41
* Fix initial verse to start when enter a range
* pass at combining publishing

* Fix prettier formatting across 10 files

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Fix prettier formatting for Node 22 compatibility

Previous formatting was done with Node 20, producing slightly different
output than CI which runs Node 22.12.0 per .nvmrc.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: CalJosKos <120157396+CalJosKos@users.noreply.github.com>
* upgrade expo 54 + reanimated + posthog

* expo doctor git ignore change

* remove deprecated code (reanimated, edge to edge flag, safe area view)

* remove legacy expo file system

* replace expo-av with expo-audio

* expo 55

* upgrade remaining dependencies

* update tsconfig based on default expo template

* fix: update tsconfig.json to fix @/ imports

* add package json override for expo 55 compatiblity with package

* fix: package lock

* fix syntax in package.json

* add missing dependency

* update packages again?

* migrate dependencies to expo doctor suggestions

* remove unused expo plugin

* fix color scheme crash on android

* refactor: rename supabase scripts to sb and knip to knip:check

Co-authored-by: Cursor <cursoragent@cursor.com>

* update package lock

* chore: style changes

* chore: style changes

* chore: update app version to 2.1.0 and fix typo in android release script

* Add isPreferred: true to react-native-alert primary action buttons

Mark primary action buttons (confirm, submit, delete, publish, merge, OK, etc.)
as preferred in alert dialogs across the codebase. This improves UX by highlighting
the default/preferred action in multi-button alerts.

Updated alerts in:
- BibleChapterList, NextGenAssetsView, BibleAssetsView
- RecordingViewSimplified, BibleRecordingView
- NextGenNewTranslationModal, AuthContext
- SignInView, ResetPasswordView, ForgotPasswordView
- AccountDeletedOverlay, AccountDeletionView, ProfileView
- SettingsView, CorruptedAttachmentsView
- PrivateAccessGate, ProjectMembershipModal
- NewReportModal, TranscriptionEditModal, QuestTreeRow

* Jesus/animate button (#653)

* refactor: Remove pressto dependency and update button component implementation

- Eliminated the `pressto` package from `package.json` and refactored the button component to use native React Native components directly, enhancing performance and reducing dependencies.
- Updated the button's pressable logic to streamline event handling and improve code clarity.

* Refactor: Improve button disabled state and component logic

Fix: Correct null return in ProjectMembershipModal

Refactor: Simplify Button component props and logic

Fix: Ensure Combobox and RadioGroup disable correctly

Co-authored-by: realdinozoid <realdinozoid@gmail.com>

* refactor: Update button component implementation and enhance animation handling

- Refactored button components across the application to utilize a unified Button component with improved pressable logic and animations using React Native Reanimated.
- Replaced TouchableOpacity with the new Button component in various files, ensuring consistent styling and behavior.
- Introduced custom easing functions for animations to enhance user experience.
- Updated terms and conditions text handling in the Terms and Register views for better localization support.

These changes aim to streamline button interactions and improve the overall UI responsiveness.

* fix: Update import path for custom easing curves in animation guidelines

- Changed the import path for custom easing curves from `tailwind.config.ts` to `@constants/animations.ts` to ensure correct usage with React Native Reanimated animations.

* Initial commit of modified files from installation

Co-authored-by: realdinozoid <realdinozoid@gmail.com>

* Refactor: Update styling and remove unused code

Co-authored-by: realdinozoid <realdinozoid@gmail.com>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Keean <keeandev@users.noreply.github.com>

* Enhance localization support by adding Hindi, Burmese, Thai, and Mandarin languages (#748)

- Updated Bible book names to include translations for Hindi, Burmese, Thai, and Mandarin.
- Modified seed data to reflect new language entries and their respective aliases.
- Enhanced localization hooks and services to support new languages and their endonyms.
- Updated email templates for account confirmation and password reset in the new languages.
- Created a migration script to enable UI readiness for the newly added languages in the database.

* fix: package-lock

* format + typefix

* fix(ci): use env vars for fingerprint-diff to avoid argument length limit

Pass fingerprint-diff through environment variables instead of direct
interpolation in github-script actions to prevent "argument list too long"
errors when fingerprint diffs are large.

- Add FINGERPRINT_DIFF env var to check-compatibility-change step
- Add FINGERPRINT_DIFF env var to format-diff step with JSON parsing
- Read from process.env instead of direct template interpolation

* fix(ci): use file-based approach for large fingerprint diffs to avoid argument limits

Replace direct output interpolation with file-based storage and environment
variables to prevent "argument list too long" errors when fingerprint diffs
are large.

Changes:
- Pass fingerprint-diff through FINGERPRINT_DIFF env var instead of direct
  interpolation in github-script actions
- Write prettified diff to fingerprint-diff.json file instead of step output
  to avoid GitHub Actions output size limits
- Replace thollander/actions-comment-pull-request with github-script for
  comment management to read diff from file
- Add comment marker (<!-- fingerprint-check -->) for reliable comment
  identification and updates
- Fix YAML syntax issues by replacing template literals with string
  concatenation

This ensures the workflow can handle fingerprint diffs of any size without
hitting system argument length limits.

* change terms page

* fix padding on download indicator

* remove @expo/vector-icons and migrate all icons to lucide

* make sure to use the icon component

* remove withoutCredentials

* refactor(ci): reorganize iOS and Android build jobs in preview workflow

- Added a new job to check for existing iOS builds.
- Repositioned the Android Maestro tests job to improve workflow structure.
- Removed redundant iOS build job definition to streamline the process.

* format fix + check native build workflow attempt fix

* disable eas caching temporarily

* invalidate preview cache

* fix worker type for ios builds from linux to mac

* update ios repack step to use macos-medium for iOS builds

* fix i agree button not being shown

* record ios screen in maestro tests

* try and fix terms page on small screens android

* use consistent testing devices Pixel 6 and iPhone 16e

* refactor(maestro): update flow paths and add new flows for user management

- Changed flow paths in testing workflows to reference the new directory structure under `.maestro`.
- Introduced new flows for user registration, sign-in, password reset, and project management.
- Added API functions for user deletion and password reset link generation in `api.js`.
- Removed deprecated `sign-in.yaml` flow file.

* fix sign in button press in maestro flow

* add ios autofill fix

* fix maestro flow to only apply on IOS - password autofill + run before everything else

* fix agree to terms localization

* add package.json scripts for clean rebuilds + fix swift warnings in microphone energy module

* dont create apps on maestro test file changes

* chore: format fix

* refactor: standardize item card components with cn() and Button component

- Replace className template literals with cn() utility
- Use Button component for external link icon
- Increase DownloadIndicator size to 20 for consistency

* fix text color on play button for audio player

* add languoid aliases for new localizations + seed local

* bump package.json version to 2.1.0 to match app.config.ts

Co-authored-by: Keean <keeandev@users.noreply.github.com>

* add missing localization languages to mustBeOnlineToAcceptInvite and fix incomplete entries

Co-authored-by: Keean <keeandev@users.noreply.github.com>

* fix: remove duplicate mustBeOnlineToAcceptInvite entry and format

Co-authored-by: Keean <keeandev@users.noreply.github.com>

* rename localization migration to latest timestamp

Co-authored-by: Keean <keeandev@users.noreply.github.com>

* add EAS build cache provider

Co-authored-by: Keean <keeandev@users.noreply.github.com>

* fix clean-rebuild scripts to use --clean flag

Co-authored-by: Keean <keeandev@users.noreply.github.com>

* Add "development-simulator" build profile to eas.json

* migration fix

- Added name for region_alias (long-forgotten)
- Removed incorrect exonym from migration (had same subject and target languoid suggesting exonym, name was country name rather than language)
- Removed bug (likely from before this pr) that threw error when accessing info of unpublished quest

* rename localization migration to latest timestamp

Co-authored-by: Keean <keeandev@users.noreply.github.com>

* fix migration

* fix translation/transcription cards

* fix onboarding continue button hidden behind 3 button navigation on android

* attempt fix for audio recording state machine

* attempt fix for cannot create translation/transcription

* try large machine for ios simulator runs

* update production ios simulator to large machine for consistency

* Upgrade to Expo SDK 55 and remove drizzle studio plugin override

Made-with: Cursor

* fix typecheck: add type assertion for buildCacheProvider

Co-authored-by: Keean <keeandev@users.noreply.github.com>

* Fix @powersync/common version conflict by adding override

Made-with: Cursor

* chore: bump app version to 2.2.0

* update deps + remove unused dep from old recording view

* remove unused files

* test disabling ios password autofill

* add agent skills

* bump package versions

* docs + script fix + package json script changes

* recording state machine fix

* fix format: prettier formatting for .cursor/mcp.json

Co-authored-by: Keean <keeandev@users.noreply.github.com>

* max file size back to 50 MB

* Hide vertical scroll indicator in VAD settings drawer

* make the pause playback "fix" only on ios

* fix quest drawer

* improve docs for how to install psql

* add local supabase mcp

* move to medium macos image for ios simulator flows

* prevent drawer from being dismissed when its not supposed to be able to

* allow cancel button to be pressed in quest creation drawer during form submission

* add ux patterns reference to creating components skill

* chore(eas): ignore .agents in workflow path filters to avoid reruns

* add more agent skills + remove outdated and irrelevant stuff

* fix format: prettier formatting for building-components reference files

Co-authored-by: Keean <keeandev@users.noreply.github.com>

* add agents folder to prettier ignore

* ios simulator make it run on large mac image + sync the production to the preview workflow

* increase project membership drawer snap point by 5% to see the full send invitation button + remove redundant cursor rule

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Keean <keeandev@users.noreply.github.com>
Co-authored-by: CalJosKos <120157396+CalJosKos@users.noreply.github.com>
* Add library to compress files

* Adapting to Expo 55

* Add SpeedDial menu to Export Button

* Add safe condition to hide Export Button

---------

Co-authored-by: keeandev <38674879+keeandev@users.noreply.github.com>
* Add French Localization
* Remove scoring, link to multiple media

* Add media section to drawer, default to English media

- Fix highlighting text in FIA content
- Add general media section to drawer (in case direct links missing)
- Add Browse Media button to all callouts (easy access to media section of drawer)
- Get English backup of media in case given language doesn't have them available (not ideal, but maybe better than nothing)

* Typecheck, format fix

- Format fix

* zoom

* format fix
* Make fia easier to toggle on

* format fix
* Version

* Highlight assets recorded last

* Fix metadata when editing labels

* Fix verses limit when recording

* Replace Specialized Item by Common

* Adapt to use other asset card + play individual audio

* Fixing initial recording order

* Removed auto-select when adding verse pills

* Enhancing performance

* Reducing dependencies

* Lint

* Lint

* Update Assets Order + Rename

* Adapt multi-selection menu

* Changed useState to useRef to recordedSamples

* Reintroduced Compilable Query to get Languoid

* Add breadcrumbs to Bible Projects and Recording View

* Adapt Recording View to work with unstructured projects

* Remove comments

* Create modal to show the list to export

* UI Enhancement

* Add Export Parcial Funcionality

* New toggle button

* Add Export Object List

* Includes CSV Generation

* Fix UI - CSV

* Adapt Fia Verses

* Generating in the cloud

* Eas changed

* remove comments from eas json, and update package lock

* install expo font?

* Remove local store

* Add library

* Support compact files

* Adjust minimum iOS configuration

* Adjust deployment target

* Adjust features to IOS

* Adapt to Expo 55

* Adapting to Expo 55

* Enhance UI

* Add SpeedDial menu

* Lint

* Add French Localization

* Adjust Title and buttons to fit better on screen

* Fix UI issues (text misalignments)

---------

Co-authored-by: keeandev <38674879+keeandev@users.noreply.github.com>
* user can create multiple versions in fia

* Quest versioning in Bible projects

- Versioning in Bible projects
- Version lists sensitive to visibility toggle

* Allow multiple personal draft versions

Fix timestamping for versions

* typecheck fix

* ui language dropdown fix (T&C)
* Version

* Highlight assets recorded last

* Fix metadata when editing labels

* Fix verses limit when recording

* Replace Specialized Item by Common

* Adapt to use other asset card + play individual audio

* Fixing initial recording order

* Removed auto-select when adding verse pills

* Enhancing performance

* Reducing dependencies

* Lint

* Lint

* Update Assets Order + Rename

* Adapt multi-selection menu

* Changed useState to useRef to recordedSamples

* Reintroduced Compilable Query to get Languoid

* Add breadcrumbs to Bible Projects and Recording View

* Adapt Recording View to work with unstructured projects

* Remove comments

* Create modal to show the list to export

* UI Enhancement

* Add Export Parcial Funcionality

* New toggle button

* Add Export Object List

* Includes CSV Generation

* Fix UI - CSV

* Adapt Fia Verses

* Generating in the cloud

* Eas changed

* remove comments from eas json, and update package lock

* install expo font?

* Remove local store

* Add library

* Support compact files

* Adjust minimum iOS configuration

* Adjust deployment target

* Adjust features to IOS

* Adapt to Expo 55

* Adapting to Expo 55

* Enhance UI

* Add SpeedDial menu

* Lint

* Remove console.log

* Add French Localization

* Add French Localization

* Add Audio Controls Functions

* Add forward and rewind functionality

* Add media control to single asset

* Enhance player functionalities

* Add Disable Buttons When Playing All

* Adapting from dev changes

* Fix media player position

* Adapt media player to RecordingView

* Add media player

* Adapt flexible options

* Add media player to FIA content

* Add Media Control + Audio Checkpoints

* format fix

---------

Co-authored-by: Rafael Winter <rafaelwinter01@gmail.com>
@vercel
Copy link
Copy Markdown

vercel Bot commented Mar 23, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
langquest Ready Ready Preview, Comment Mar 24, 2026 7:31pm

Request Review

@supabase
Copy link
Copy Markdown

supabase Bot commented Mar 23, 2026

Updates to Preview Branch (dev) ↗︎

Deployments Status Updated
Database Tue, 24 Mar 2026 19:29:38 UTC
Services Tue, 24 Mar 2026 19:29:38 UTC
APIs Tue, 24 Mar 2026 19:29:38 UTC

Tasks are run on every commit but only new migration files are pushed.
Close and reopen this PR if you want to apply changes from existing seed or migration files.

Tasks Status Updated
Configurations ⚠️ Tue, 24 Mar 2026 19:29:38 UTC
Migrations Tue, 24 Mar 2026 19:29:38 UTC
Seeding Tue, 24 Mar 2026 19:29:38 UTC
Edge Functions Tue, 24 Mar 2026 19:29:46 UTC

⚠️ Warning — You can configure a persistent branch with config.toml:
[remotes.staging]
project_id = "yjgdgsycxmlvaiuynlbv"


View logs for this Workflow Run ↗︎.
Learn more about Supabase for Git ↗︎.

@socket-security
Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updated@​powersync/​attachments@​2.4.2 ⏵ 2.4.37910010050 -43100
Updated@​tanstack/​react-query-persist-client@​5.90.22 ⏵ 5.90.241001006898 +1100
Updatedbabel-preset-expo@​54.0.10 ⏵ 55.0.1073 +1100100100 +1100
Updatedeslint-config-expo@​9.2.0 ⏵ 55.0.074 -2510085100 +2100
Updated@​react-native-community/​cli@​20.1.1 ⏵ 20.1.2981007594100
Updated@​react-navigation/​native@​7.1.28 ⏵ 7.1.319910075100 +2100
Addedeas-build-cache-provider@​18.0.2991007596100
Updated@​react-navigation/​native-stack@​7.12.0 ⏵ 7.14.2100 +110075 +1100 +1100
Updated@​react-navigation/​bottom-tabs@​7.12.0 ⏵ 7.15.399 +110076 +1100 +1100
Updated@​react-native-documents/​picker@​10.1.7 ⏵ 12.0.110010078 +793 +2100
Updated@​powersync/​tanstack-react-query@​0.1.14 ⏵ 0.2.079 +1100100 +198 +1100
Updated@​types/​react@​19.0.14 ⏵ 19.2.14100 +11007992 -2100
Updated@​powersync/​drizzle-driver@​0.6.0 ⏵ 0.7.380 +1100100 +196 +7100
Updated@​types/​node@​22.19.8 ⏵ 25.3.3100 +11008195 -1100
Updated@​op-engineering/​op-sqlite@​14.1.4 ⏵ 15.2.5100 +210082 +191 -5100
Added@​openspacelabs/​react-native-zoomable-view@​2.4.29910010083100
Addedeslint-plugin-import@​2.32.09710010084100
Updated@​powersync/​op-sqlite@​0.7.18 ⏵ 0.9.184 +110010098 +1100
Updated@​supabase/​supabase-js@​2.94.0 ⏵ 2.98.087 -12100100100 +1100
Updated@​tanstack/​react-query@​5.90.20 ⏵ 5.90.219910088100 +4100
Updated@​react-native-async-storage/​async-storage@​2.1.2 ⏵ 2.2.01001008890100
Updateddrizzle-orm@​0.44.7 ⏵ 0.45.19810088 +199100
Updated@​powersync/​react-native@​1.29.0 ⏵ 1.30.28910010098 +1100
Updatedeslint@​9.39.2 ⏵ 9.39.389 +110010097100
Updated@​libsql/​client@​0.14.0 ⏵ 0.17.0100 +1100100 +1489100
Updated@​react-native-community/​netinfo@​11.4.1 ⏵ 11.5.29810010092100
Updated@​journeyapps/​wa-sqlite@​1.4.1 ⏵ 1.5.092 +11100100 +196 +2100
Updated@​powersync/​web@​1.32.0 ⏵ 1.34.095 +110010098 +1100
Updateddrizzle-kit@​0.31.8 ⏵ 0.31.999 +110096 +199100
Updated@​modelcontextprotocol/​sdk@​1.25.3 ⏵ 1.27.199100 +1610097100
Addedeslint-plugin-drizzle@​0.2.310010010099100

View full report

@CalJosKos CalJosKos merged commit 96ce789 into main Mar 23, 2026
38 of 39 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants