Skip to content

Releases: AppTelepath/AppTelepath-iOS

3.8.0

Choose a tag to compare

@wwwcg wwwcg released this 22 Sep 05:28

In-app feedback now carries enough to act on.

  • Diagnostics are attached by the relay right after a report is submitted: clustered errors, failed and slow requests, crashes and hangs from the 120 s before it. Works with 3.7.0 apps as well; nothing to change.
  • Anchors carry a structural locator (path with sibling indexes, table/collection cell, labelMatches), so an agent can find the tapped element even when it has no accessibilityIdentifier.
  • A short trail of what the person did before submitting: screens opened, elements tapped, background/foreground. Text fields record the placeholder only, never typed content. Telepath's own UI is never recorded.
  • The picked element is outlined in the submitted screenshot.
  • New device command ui.find re-locates an element from a feedback anchor on the live screen.

Behavior note: to record the trail, the SDK exchanges -[UIViewController viewDidAppear:] and -[UIApplication sendEvent:]; both call through to the original implementation, and Telepath.stop stops recording.

No migration needed. Install with pod 'AppTelepath', '~> 3.8' (or Telepath), or SwiftPM from: "3.8.0".

3.7.0

Choose a tag to compare

@wwwcg wwwcg released this 21 Sep 16:07

Network capture no longer changes what your app's networking does.

  • Certificate pinning was bypassed while capture was on. ServerTrust challenges now reach your URLSession delegate. Other challenge types still take the system default path during capture; credentials supplied from didReceiveChallenge will not be applied. Upgrade if you rely on pinning.
  • Session configuration is carried to the forwarded request: cookie storage, TLS bounds, URLCache, credential storage, timeouts, cellular flags, proxy, DNSSEC. Ephemeral sessions no longer send the shared cookie jar.
  • NSURLSessionWebSocketTask works with capture on (it failed with -1005 before).
  • Response bodies are capped at 5 MB in memory; text/event-stream and multipart/x-mixed-replace are not buffered.
  • The first log.recent call could crash the host. Fixed.

New:

  • net.list returns the newest records; setNetworkCaptureEnabled(false) is honored; net.record { enabled } switches capture off.
  • perf.snapshot measures one 1-second window and stops after 5 idle seconds instead of keeping a CADisplayLink forever. A cold snapshot takes about a second.
  • Redirect hops are recorded one per hop, linked by redirectedFrom.

3.6.0

Choose a tag to compare

@wwwcg wwwcg released this 27 Aug 04:00

Three cases where a command returned ok while nothing happened on the device.

  • Long press never reached your handler. The touch was held 466ms — under UIKit's 500ms threshold.
  • The gesture fallback fired host handlers twice per state transition.
  • The device never slept. Keep-awake was tied to the connection, not to activity, and disconnecting overwrote your own idleTimerDisabled. Now leased per agent action; opt out with TLPAgentConfig.screenAwakeWhileDebugging = NO.

New:

  • ui.tree summary takes contains / region filters. A filtered result always carries a filter field — its absence means nothing was filtered.
  • log.recent also reads the unified log (os_log); Swift Logger and React Native console.* were invisible before.
  • React Native testID surfaces as accessibilityId.
  • Locating by label picks the smallest match instead of the outermost container.
  • ui.tree / ui.tap report appActive:false when a system dialog covers the app.

3.5.0

Choose a tag to compare

@wwwcg wwwcg released this 25 Aug 08:00

Agents can operate the UI; testers can push back on a fix.

Deploy your relay before shipping this SDK. An outdated relay silently records a "still not fixed" as an ordinary reply.

  • Taps synthesize a real touch, so React Native Pressable and touchesBegan: views react. Falls back when the element is covered, and reports which path it used.
  • Long press, long-press-drag, and pinch to zoom.
  • Inspect one element: geometry, colours, truncation, clipping, what covers it, Auto Layout ambiguity.
  • Pinch/rotate-only views now appear in the UI summary.
  • Testers can say "still not fixed" on a resolved report instead of filing a new one.

3.4.0

Choose a tag to compare

@wwwcg wwwcg released this 23 Aug 13:55

The in-app UI now speaks English.

Anything other than Chinese gets English. If you shipped 3.3.2 or earlier to an English-speaking audience they saw Chinese — the English table was empty and missing translations fell back silently.

3.3.2

Choose a tag to compare

@wwwcg wwwcg released this 21 Aug 16:13

Feedback can go back and forth.

Upgrade the SDK and the relay together. On 3.3.1 the resolution note disappears and questions cannot be answered.

  • Agents can ask a clarifying question; it appears in the reporter's app with a reply box. Capped at 10 messages per item.
  • Unread badge on the floating entry; "My feedback" is its own screen with the full thread.

3.2.0

Choose a tag to compare

@wwwcg wwwcg released this 21 Aug 05:06

Connection liveness on both ends.

  • Reconnect is unbounded (30s cap, jittered) and immediate on network changes or when the app returns to the foreground. It previously gave up after two attempts.
  • Pong timeout on the client; two missed pongs mark the link dead.
  • Application-level heartbeat so the relay can close ghost connections.

3.1.0

Choose a tag to compare

@wwwcg wwwcg released this 20 Aug 13:00

In-app feedback: a tester long-presses the floating ball (or shakes the device) and writes one sentence. It is submitted with the screen, the element they picked, the build, and the appearance and simulation state.

Adds Swift Package Manager support.

⚠️ SwiftPM consumers must add -ObjC to Other Linker Flags. CocoaPods does this for you; without it some features fail at runtime with an unrecognized selector.

3.0.0

Choose a tag to compare

@wwwcg wwwcg released this 17 Aug 18:31

Breaking. The in-app debug panel is removed. The device keeps a single connection screen.

  • import Telepath and #import <Telepath/Telepath.h> are unchanged.
  • Panel-related public classes are gone — use the equivalent agent command or the web console.
  • New: Telepath.presentConnectionScreen() and Telepath.sdkVersion.
  • Contacts, EventKit, Photos and AVFoundation are no longer linked into your binary.
  • The pod is published under two names, AppTelepath and Telepath. Same binary — pick one, do not add both.

2.1.2

Choose a tag to compare

@wwwcg wwwcg released this 15 Aug 06:44
  • Improved tapping, multi-window screenshots and performance charts.
  • Improved the on-device entry, connection state and settings screen.
  • Optional React Native Fabric tap adapter.
  • Fixes: headless start, read-only SQL detection, credential redaction.

For authorized development and testing builds only; not for App Store submissions.