| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
Simplify Android CPU profiling scripts | 7 个月前 | |
Add l10n helper script for adding ARB keys One-command key addition to English ARB with jq. Handles duplicate detection and preserves 4-space indentation. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> | 6 个月前 | |
ci(app): fail closed when dart analyze crashes The ratchet previously failed open: if the `dart analyze` invocation itself crashed (non-zero exit, no machine-format output), the empty output parsed as "zero diagnostics", every rule printed "improved (0 found, baseline N)", and the script exited 0 — a broken analyzer in CI would silently green-light every PR. Fix: capture the analyzer's exit code (ANALYZE_EXIT) and add a structural guard — if the exit code is non-zero AND no output line matches the machine format (^(ERROR|WARNING|INFO)\|), print the raw output plus exit code with a "failing closed" message and exit 1. No specific exit codes are hardcoded (they vary across Dart versions); the contract is the structural check. A clean run (exit 0) is unaffected. Header comment contract updated. Implementation note: the parseable-line check counts matches with awk instead of `grep -q`. Under `set -o pipefail`, grep -q exits at the first match, printf takes a SIGPIPE on the ~200KB analyzer output, and the pipeline goes non-zero — the first draft of this guard turned a healthy 919-diagnostic run into a false "failing closed". awk reads all input and always exits 0. Caught during verification path (b) below. Verification (from app/ in this worktree): (a) Crash repro fails closed: created a shim dir containing an executable `dart` script (`echo "Unhandled exception: something crashed"; exit 254`), prepended it to PATH, ran `bash scripts/analyze_ratchet.sh`: - Before the fix: every rule printed "improved (0 found, baseline N)" and the script printed "Analyzer ratchet passed." (exit 0) — defect reproduced. - After the fix: "dart analyze did not produce parseable results — failing closed." + "Exit code: 254" + raw output. Exit 1. (b) Normal run unaffected: `bash scripts/analyze_ratchet.sh` with the real dart on PATH -> "Analyzer ratchet passed." Exit 0. (c) ERROR path unaffected: added `F.thisMethodDoesNotExist();` to app/lib/flavors.dart -> "Error-severity diagnostics found (never baselined):" listing ERROR|COMPILE_TIME_ERROR|UNDEFINED_METHOD. Exit 1. Reverted; `git status --porcelain` showed only this script modified before commit. | 2 个月前 | |
Simplify Android CPU profiling scripts | 7 个月前 | |
Use as output dir for generate ios custom config | 1 年前 | |
fix(app): local-dev Firebase placeholders must be format-valid, not just fake (#11594) Firebase's native SDK format-validates GOOGLE_APP_ID and API_KEY at Firebase.initializeApp() time, before any network call and before Auth is routed to the local emulator — so a syntactically invalid placeholder crashes the app on launch even though the values are never meant to reach a real backend. Measured on iPhone 17 Pro / iOS 27.0 while verifying an unrelated iOS UIScene fix: a dev-flavor build using the local-harness placeholder configs crashed with `'Configuration fails. It may be caused by an invalid GOOGLE_APP_ID...'`, then (after fixing that) with `API Key length must be 39 characters, API Key must start with 'A'`. GOOGLE_APP_ID was "1:000000000000:ios:omi-dev-local" (a human-readable string where Firebase expects a hex-like token) and API_KEY was "local-firebase-auth-emulator-api-key" (37 chars, doesn't start with 'A'). Both are now syntactically valid-looking but still fake — no real Firebase project is reachable with them, matching the existing IS_ANALYTICS_ENABLED=false / IS_GCM_ENABLED=false posture of this placeholder config. Fixed in all three sources that describe this same fake identity: the iOS plist, the Android json, and the Dart FirebaseOptions consts — main.dart selects the Dart consts explicitly for OMI_APP_PROFILE=local_dev, but the crash traced to native Firebase plugin registration reading the bundled plist even earlier, before Dart's main() runs, so both had to change. Also patches BUNDLE_ID in the copied plist to track the per-hostname-suffixed APP_BUNDLE_IDENTIFIER dev builds already get (generate_ios_custom_config), since the placeholder's static BUNDLE_ID never matched it. This one turned out not to be the actual crash trigger — Firebase's error message named the wrong field — but it's still a real mismatch and cheap to fix alongside it. Failure-Class: none | 30 天前 | |
| 27 天前 | ||
chore: add Semantics labels and improve CPU profiling scripts - Add Semantics labels to processing_capture.dart for UI automation - Improve measure_cpu_android.sh CPU% parsing robustness - Add profile_flutter_android.sh for automated profiling workflow Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> | 7 个月前 | |
fix(app): address review on the untethered launch fix - Notice on the phone names the canonical `bash setup.sh ios` invocation from app/ instead of a repo-root path. - setup.sh warning describes the shipped behavior (engine-unavailable notice, not a crash) and only fires for the dev flavor, since its remedy builds the dev flavor. - Drop the GOOGLE_REVERSE_CLIENT_ID pin from devProfile/devRelease so Custom.xcconfig keeps owning that value. Failure-Class: none Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YU5BMEAfcFxNSWmLLDNfZ3 | 7 天前 | |
harden(app): fail fast on mobile build profile drift (#12559) | 13 天前 | |
fix(app): make DAT restore success explicit Bash 5 can preserve a failing EXIT trap status through a bare return, leaving the recovery directory behind even after the default graph is restored. Return zero explicitly from successful generated-file restoration branches. Verified with the 12-case wrapper suite on macOS Bash 3.2 and Linux Bash 5, plus the full PR preflight. Failure-Class: none | 1 个月前 | |
harden(app): fail fast on mobile build profile drift (#12559) | 13 天前 | |
harden(app): fail fast on mobile build profile drift (#12559) | 13 天前 | |
harden(app): fail fast on mobile build profile drift (#12559) | 13 天前 | |
harden(app): fail fast on mobile build profile drift (#12559) | 13 天前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 7 个月前 | ||
| 6 个月前 | ||
| 2 个月前 | ||
| 7 个月前 | ||
| 1 年前 | ||
| 30 天前 | ||
| 27 天前 | ||
| 7 个月前 | ||
| 7 天前 | ||
| 13 天前 | ||
| 1 个月前 | ||
| 13 天前 | ||
| 13 天前 | ||
| 13 天前 | ||
| 13 天前 |