From 89e5e4f89a5a3ba2a18ef426fe1b7c36a1648839 Mon Sep 17 00:00:00 2001 From: Erwan Leboucher Date: Sat, 8 Aug 2026 23:53:09 +0200 Subject: [PATCH 1/3] Also chmod Flutter's bundled frameworks before building in CI --- .github/workflows/ios.yml | 12 +++++++++++- .github/workflows/macos.yml | 12 +++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ios.yml b/.github/workflows/ios.yml index 4459564..a3428ef 100644 --- a/.github/workflows/ios.yml +++ b/.github/workflows/ios.yml @@ -22,7 +22,17 @@ jobs: extra_nix_config: experimental-features = nix-command flakes flake-self-attrs - name: Build app - run: nix develop --command bash -c "flutter pub get && dart scripts/generate.dart && flutter pub run build_runner build && flutter build ios --release --no-codesign" + run: | + nix develop --command bash -c ' + set -e + flutter pub get + dart scripts/generate.dart + flutter pub run build_runner build + # Nix-provided Flutter'"'"'s bundled frameworks are read-only, which + # breaks lipo when Flutter thins them into build/ (NixOS/nixpkgs#405066). + find "$(dirname "$(dirname "$(readlink -f "$(command -v flutter)")")")" -type d -iname "*.framework" -exec chmod -R u+w {} + 2>/dev/null || true + flutter build ios --release --no-codesign + ' # Unsigned IPA: SideStore/AltStore re-sign this on-device with the # user's own Apple ID at install time, so no certificate is needed here. diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index e7040fa..65e2060 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -22,7 +22,17 @@ jobs: extra_nix_config: experimental-features = nix-command flakes flake-self-attrs - name: Build app - run: nix develop --command bash -c "flutter pub get && dart scripts/generate.dart && flutter pub run build_runner build && flutter build macos --release" + run: | + nix develop --command bash -c ' + set -e + flutter pub get + dart scripts/generate.dart + flutter pub run build_runner build + # Nix-provided Flutter'"'"'s bundled frameworks are read-only, which + # breaks lipo when Flutter thins them into build/ (NixOS/nixpkgs#405066). + find "$(dirname "$(dirname "$(readlink -f "$(command -v flutter)")")")" -type d -iname "*.framework" -exec chmod -R u+w {} + 2>/dev/null || true + flutter build macos --release + ' - name: Upload installer artifact uses: actions/upload-artifact@v6 From 4701a7f4aeda3923644524d881a64992f272a5bd Mon Sep 17 00:00:00 2001 From: Erwan Leboucher Date: Sat, 8 Aug 2026 23:53:09 +0200 Subject: [PATCH 2/3] Fix keyboard auto-focus and add scroll-to-dismiss in room chat --- lib/widgets/composer/composer.dart | 5 ++++- lib/widgets/room_chat.dart | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/widgets/composer/composer.dart b/lib/widgets/composer/composer.dart index ca3de8a..5eb7db3 100644 --- a/lib/widgets/composer/composer.dart +++ b/lib/widgets/composer/composer.dart @@ -234,7 +234,10 @@ class Composer extends HookConsumerWidget { child: TextField( maxLines: 12, minLines: 1, - autofocus: true, + autofocus: + Platform.isLinux || + Platform.isMacOS || + Platform.isWindows, decoration: .new( hintText: "Your message here...", border: .none, diff --git a/lib/widgets/room_chat.dart b/lib/widgets/room_chat.dart index cb1e695..e867008 100644 --- a/lib/widgets/room_chat.dart +++ b/lib/widgets/room_chat.dart @@ -467,6 +467,8 @@ class RoomChat extends HookConsumerWidget { AsyncData(:final value?) || AsyncLoading(:final value?) => CustomScrollView( controller: scrollController, + keyboardDismissBehavior: + ScrollViewKeyboardDismissBehavior.onDrag, slivers: [ SliverToBoxAdapter( child: Padding( From 970d124ad62e6e2882bf4c17370c40696c9fbbc8 Mon Sep 17 00:00:00 2001 From: Erwan Leboucher Date: Sat, 8 Aug 2026 23:53:09 +0200 Subject: [PATCH 3/3] Ignore local IPA builds --- .gitignore | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 2bec583..935a117 100644 --- a/.gitignore +++ b/.gitignore @@ -41,4 +41,7 @@ key.properties password.txt # Nix -/result \ No newline at end of file +/result + +# Local IPA builds +*.ipa \ No newline at end of file