desktop reads everything by itself: one background read scheduler (4 per store, starts spaced per account, App Store Connect X-Rate-Limit slows it below 20 % and pauses at 100 left, backoff with jitter on 429 / RESOURCE_EXHAUSTED, visible app first, one read per key), per-method TTLs over the saved reads, Settings auto-read (on) and interval (15 min, paused while hidden), Refresh all, a refresh icon and 'read 3 min ago' / 'couldn't refresh' per card, writes invalidate, status line with progress and quota; quota reaches the window through ToolResult.quota (cli/lib/quota.ts); Health top issues open with versions, sample stack (health --issue / --signature, read health_issue), Open in Play Console, Copy for AI and likely-cause hints (cli/lib/crash-hints.ts); tests/scheduler.test.ts, tests/quota-crash-hints.test.ts, boot check auto-read case
This commit is contained in:
parent
89256f1e80
commit
0fb4ce0001
46 changed files with 1531 additions and 141 deletions
|
|
@ -17,11 +17,17 @@ export interface PlayHealth {
|
|||
crash: MetricRow[];
|
||||
anr: MetricRow[];
|
||||
devices?: { model: string; crash?: number; anr?: number; users?: number }[];
|
||||
issues: { type: string; cause: string; location: string; reports: number; users: number; lastVersion?: string }[];
|
||||
issues: PlayIssue[];
|
||||
issuesError?: string;
|
||||
}
|
||||
/** One Play error issue (errorIssues:search; id / versions / API levels / last report when the API sent them). */
|
||||
export interface PlayIssue { type: string; cause: string; location: string; reports: number; users: number; lastVersion?: string; uri?: string; id?: string; firstVersion?: string; firstOs?: string; lastOs?: string; lastSeen?: string }
|
||||
export interface AppleSignature { build: string; type: string; signature: string; weight: number; id?: string }
|
||||
/** `health --issue / --signature --json`: one sample report's stack, top frame first. */
|
||||
export interface IssueSample { store: 'play' | 'apple'; time?: string; version?: string; os?: string; device?: string; type?: string; stack: string[] }
|
||||
export interface AppleHealth {
|
||||
metrics: { category: string; metric: string; unit: string; version: string; value: number; goal?: string }[];
|
||||
signatures: { build: string; type: string; signature: string; weight: number }[];
|
||||
signatures: AppleSignature[];
|
||||
betaCrashes: { build: string; count: number }[];
|
||||
}
|
||||
export type StoreReadError = import('../../../../cli/lib/health').StoreReadError;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue