mirror of
https://github.com/block/buzz.git
synced 2026-11-04 08:21:48 +00:00
Modernizes New Channel and New DM with full-height forms and X/Create or X/checkmark actions. iOS uses UIKit sheets throughout; Android uses the Flutter fallback. Channel menus default to Ongoing/Public, and native menu previews lift only the trailing value while labels stay fixed. Channel names disable automatic capitalization, autocorrect, and spellcheck; both platforms use descriptive placeholders. Preserves recipient search and limits, creation error retries, and navigation after native dismissal. Validation: 4,154 mobile tests passed (38 skipped), auxiliary suites and static checks passed; iOS device/simulator and Android builds passed. Exercised menus, dismissal, DM search and selection in the simulator and Android form behavior on Pixel; iPhone UI tested and approved by the author. | iOS native form (Simulator) | Android Flutter form (Pixel) | | --- | --- | |  |  | Native menu with the left label fixed:  --------- Signed-off-by: kenny lopez <klopez4212@gmail.com> Co-authored-by: Terp <5856f6900e8e0a4e0ea1f4f8d2ee33e4753d2119bc122f94ecafc660b46c0511@buzz.block.builderlab.xyz>
22 lines
1.1 KiB
Bash
Executable File
22 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
# Exercise the production UIKit create-channel field labels on a booted iOS simulator.
|
|
set -euo pipefail
|
|
repo_root=$(cd "$(dirname "$0")/.." && pwd)
|
|
device=${1:?Pass a booted iOS simulator UDID}
|
|
flutter_root=$(sed -n 's/^FLUTTER_ROOT=//p' "$repo_root/mobile/ios/Flutter/Generated.xcconfig")
|
|
frameworks="$flutter_root/bin/cache/artifacts/engine/ios/Flutter.xcframework/ios-arm64_x86_64-simulator"
|
|
fixture=$(mktemp -d)
|
|
trap 'rm -r "$fixture"' EXIT
|
|
# Compile in one file to exercise the private production controller directly.
|
|
cat "$repo_root/mobile/ios/Runner/NavigationTopEdge.swift" \
|
|
"$repo_root/mobile/ios/Runner/NativeCreateChannelSheet.swift" \
|
|
"$repo_root/mobile/ios/NativeControlTests/CreateChannelAccessibilityTests.swift" > "$fixture/test.swift"
|
|
xcrun --sdk iphonesimulator swiftc -parse-as-library \
|
|
-sdk "$(xcrun --sdk iphonesimulator --show-sdk-path)" \
|
|
-target "$(uname -m)-apple-ios16.0-simulator" \
|
|
-F "$frameworks" -framework Flutter \
|
|
-Xlinker -rpath -Xlinker "$frameworks" \
|
|
"$fixture/test.swift" \
|
|
-o "$fixture/create-channel-tests"
|
|
xcrun simctl spawn "$device" "$fixture/create-channel-tests"
|