Commit Graph

14596 Commits

Author SHA1 Message Date
Ayaan Zaidi
7a74cf34ba fix(android-security): remove token-derived logging from prefs 2026-02-24 22:13:49 +05:30
Ayaan Zaidi
8b24830e07 fix(android-gateway): avoid token clear on transient connect failure 2026-02-24 22:13:49 +05:30
Ayaan Zaidi
e11e329238 refactor(android-chat): move thread selector above composer 2026-02-24 22:13:49 +05:30
Ayaan Zaidi
75f145ebcc docs(android): document alpha rebuild status and feature checklist 2026-02-24 22:13:49 +05:30
Ayaan Zaidi
baf98a87f6 refactor(android-settings): remove gateway controls duplicated in connect 2026-02-24 22:13:49 +05:30
Ayaan Zaidi
bb27884474 feat(android-tabs): add coming-soon voice and screen tabs 2026-02-24 22:13:49 +05:30
Ayaan Zaidi
94f426b29e fix(android-nav): hide tab bar while keyboard is open 2026-02-24 22:13:49 +05:30
Ayaan Zaidi
577c554150 style(android-chat): redesign composer controls and actions 2026-02-24 22:13:49 +05:30
Ayaan Zaidi
81ff074a51 style(android-chat): align bubbles and markdown with RN 2026-02-24 22:13:49 +05:30
Ayaan Zaidi
b658000bf7 style(android-chat): refine thread shell and empty states 2026-02-24 22:13:49 +05:30
Ayaan Zaidi
02e3fbef77 style(android): align settings screen with RN visual system 2026-02-24 22:13:49 +05:30
Ayaan Zaidi
cf031d6ad4 chore(android): remove unused legacy ui components 2026-02-24 22:13:49 +05:30
Ayaan Zaidi
439d8e609e fix(android): use native client id for operator session 2026-02-24 22:13:49 +05:30
Ayaan Zaidi
14f5217e22 fix(android): retry with shared token after device-token failure 2026-02-24 22:13:49 +05:30
Ayaan Zaidi
4b188dcf97 fix(android): persist gateway auth state across onboarding 2026-02-24 22:13:49 +05:30
Ayaan Zaidi
f853622eca feat(android): switch post-onboarding app to five-tab shell 2026-02-24 22:13:49 +05:30
Ayaan Zaidi
c015382a77 feat(android): add connect tab screen with setup and manual modes 2026-02-24 22:13:49 +05:30
Ayaan Zaidi
757a4dc9fa docs(android): generalize style guide from onboarding baseline 2026-02-24 22:13:49 +05:30
Ayaan Zaidi
5d88e77420 docs(android): add native UI style guide 2026-02-24 22:13:49 +05:30
Ayaan Zaidi
d6bbe93d4c feat(android): add settings action to rerun onboarding 2026-02-24 22:13:49 +05:30
Ayaan Zaidi
b9cc2599f1 feat(android): add native four-step onboarding flow 2026-02-24 22:13:49 +05:30
Ayaan Zaidi
3e2e010952 feat(android): add onboarding and gateway auth state plumbing 2026-02-24 22:13:49 +05:30
Ayaan Zaidi
36c352453f build(android): bump AGP and update gradle defaults 2026-02-24 22:13:49 +05:30
Peter Steinberger
e806b34779 chore: remove changelog add helper script 2026-02-24 15:33:09 +00:00
Peter Steinberger
0f0a680d3d fix(exec): block shell-wrapper positional argv approval smuggling 2026-02-24 15:17:03 +00:00
Peter Steinberger
80daaeba38 fix(ios): split watch notify normalization helpers
Co-authored-by: Mariano Belinky <mbelinky@gmail.com>
2026-02-24 15:16:11 +00:00
Mariano Belinky
4ec0af00fe Agents: fix embedded auth-profile failure helper typing 2026-02-24 15:16:11 +00:00
Mariano Belinky
0121fa6f1a Changelog: add PR 23636 iOS/watch notes 2026-02-24 15:16:11 +00:00
Mariano Belinky
d06d8701fd iOS: normalize watch quick actions and fix test signing 2026-02-24 15:16:11 +00:00
Peter Steinberger
d18ae2256f refactor: unify channel plugin resolution, family ordering, and changelog entry tooling 2026-02-24 15:15:22 +00:00
Peter Steinberger
878b4e0ed7 refactor: unify tools.fs workspaceOnly resolution 2026-02-24 15:14:05 +00:00
Peter Steinberger
6c5ab543c0 refactor: tighten external-link policy and window.open guard 2026-02-24 15:05:31 +00:00
Peter Steinberger
13bfe7faa6 refactor(sandbox): share bind parsing and host-path policy checks 2026-02-24 15:04:47 +00:00
Peter Steinberger
0e155690be fix(config): add operational guidance to legacy talk help
Co-authored-by: Nimrod Gutman <nimrod.g@singular.net>
2026-02-24 15:02:52 +00:00
Peter Steinberger
44162055a8 fix(config): dedupe talk schema help keys 2026-02-24 15:02:52 +00:00
Nimrod Gutman
d58f71571a feat(talk): add provider-agnostic config with legacy compatibility 2026-02-24 15:02:52 +00:00
Nimrod Gutman
d1f28c954e feat(gateway): surface talk elevenlabs config metadata 2026-02-24 15:02:52 +00:00
Peter Steinberger
069c56cd75 fix(ios): normalize team IDs before preferred match
Co-authored-by: Brian Leach <bleach@gmail.com>
2026-02-24 15:02:27 +00:00
Peter Steinberger
1ae8c0a589 fix(ios): make team-id python lookup cross-platform
Co-authored-by: Brian Leach <bleach@gmail.com>
2026-02-24 15:02:27 +00:00
Peter Steinberger
fd07861bc3 fix(ios): harden team-id profile fallback and tests 2026-02-24 15:02:27 +00:00
Brian Leach
73f526f025 fix(ios): support Xcode 16+ team detection and fix ntohl build error
Xcode 16+/26 no longer writes IDEProvisioningTeams to the preferences
plist, breaking ios-team-id.sh for newly signed-in accounts. Add
provisioning profile fallback and actionable error when an account
exists but no team ID can be resolved. Also replace ntohl() with
UInt32(bigEndian:) for Swift 6 compatibility and gitignore Xcode
build output directories.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 15:02:27 +00:00
Peter Steinberger
9ccc15f3a6 docs: update changelog note for native image workspace fix 2026-02-24 14:55:42 +00:00
Peter Steinberger
3b4dac764b fix: doctor plugin-id mapping for channel auto-enable (#25275) (thanks @zerone0x) 2026-02-24 14:55:23 +00:00
zerone0x
203de14211 fix(doctor): use plugin manifest id for third-party channel auto-enable
When a third-party channel plugin declares a channel ID that differs from
its plugin ID (e.g. plugin id="apn-channel", channels=["apn"]), the
doctor plugin auto-enable logic was using the channel ID ("apn") as the
key for plugins.entries, producing an entry that fails config validation:
  Error: plugins.entries.apn: plugin not found: apn

Root cause: resolveConfiguredPlugins iterated over cfg.channels keys and
used each key directly as both the channel ID (for isChannelConfigured)
and the plugin ID (for plugins.entries). For built-in channels these are
always the same, but for third-party plugins they can differ.

Fix: load the installed plugin manifest registry and build a reverse map
from channel ID to plugin ID. When a cfg.channels key does not resolve to
a built-in channel, look up the declaring plugin's manifest ID and use
that as the pluginId in the PluginEnableChange, so registerPluginEntry
writes the correct plugins.entries["apn-channel"] key.

The applyPluginAutoEnable function now accepts an optional manifestRegistry
parameter for testing, avoiding filesystem access in unit tests.

Fixes #25261

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-24 14:55:23 +00:00
Peter Steinberger
3f07d725b1 fix: changelog credit for Telegram IPv4 fallback fix (#24295) (thanks @Glucksberg)
Co-Authored-By: Glucksberg <80581902+Glucksberg@users.noreply.github.com>
2026-02-24 14:53:01 +00:00
Glucksberg
dd9ba974d0 fix: sort IPv4 addresses before IPv6 in SSRF pinned DNS to fix Telegram media fetch on IPv6-broken hosts
On hosts where IPv6 is configured but not routed (common on cloud VMs),
Telegram media downloads fail because the pinned DNS lookup may return
IPv6 addresses first. Even though autoSelectFamily (Happy Eyeballs) is
enabled, the round-robin pinned lookup serves individual IPv6 addresses
that fail before IPv4 is attempted.

Sort resolved addresses so IPv4 comes first, ensuring both Happy Eyeballs
and single-address round-robin try the working address family first.

Fixes #23975

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 14:53:01 +00:00
Peter Steinberger
fb8edebc32 fix(ui): stabilize chat-image open browser test and changelog 2026-02-24 14:48:10 +00:00
Shakker
94942df8c7 build: scope window.open guard to ui checks 2026-02-24 14:48:10 +00:00
Shakker
e5836283ab ui: centralize safe external URL opening 2026-02-24 14:48:10 +00:00
Shakker
ebb5680893 ui(chat): allowlist image open URLs 2026-02-24 14:48:10 +00:00