Skip to content

Report truthful Android IME type outcomes without silent text truncation #4520

Open

Description

@thymikee

Umbrella #4368. This narrows the original proposal to type through the test IME; fill already independently verifies field content and must retain its single verification owner.

Source observations on main ddbfc85: TestInputMethodService drops input for a null InputConnection, rejects base64 over64000 characters, truncates text at32000 UTF-16 units and ignores commitText's boolean. ime-helper.ts checks broadcast process exit only; typeAndroidImeHelper can report success despite a dropped/truncated payload. No runtime reproduction is claimed yet.

Required outcome: Never silently truncate or label rejected/no-receiver/failed editor dispatch as successful type. Preserve permission gates and use typed outcomes/partial-dispatch evidence. Split normal type payloads within supported byte/UTF-16 limits on code-point boundaries. An ordered broadcast acknowledgement can prove receiver acceptance and attempted length/commitText return, not final field content: editors may transform text. Do not call acknowledgement length committed length. Do not add a second fill read-back.

Feasibility gate: One bounded owned-device experiment with a throwaway helper must show ordered result code/data through the actual exported permission-gated receiver, a no-receiver negative and privacy in broadcast/log output. AOSP API23 and main have matching ordered/result surfaces; no three-API prerequisite is justified without contrary evidence. Result data carries only codes and lengths, never user text. No runtime or log-privacy proof exists yet.

Before source implementation, adopt the exact producer-owned acknowledgement protocol, result/error/partial-dispatch semantics, old provider-helper handling and any protocol migration. Proposed v2 strict refusal is not yet adopted. If the acknowledgement surface cannot be established, stop and redesign at the existing confirmation owner; do not add an implicit fallback.

Completion: current trigger reproduction through type, verified negative cases, minimal helper/host owner change, independent correctness review, request-route and native tests for oversized/non-ASCII/no-editor and normal type/fill controls, meaningful regression/mutation detection, exact-head validation with #4050 fallback, and clear help/docs semantics. Use T3 device tools and returned CLI for app/device actions. Do not duplicate helper auth packaging ownership, weaken permission tests, merge/release/tag or maintain unrelated PRs.

Activity

  1. apex-sentinel-staging commented on Nov 13, 2026

    @apex-sentinel-staging

    Apex Sentinel · Issue review

    Suggested label: feature

    The issue frames the work as an umbrella proposal to add truthful typed outcomes and an acknowledgement protocol for Android IME type behavior, rather than presenting a reproducible broken test; its detailed design and completion criteria are actionable enhancement scope and do not request a specific triage verdict.

  2. added
    bugSomething isn't working
    and removed on Nov 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions