Commit Graph
1132 Commits
Author SHA1 Message Date
yilsem 8161f3bf09 fix(cron): add repeat dropdown and safe touch time selection 2026-10-08 02:36:10 +03:00
yilsem 1d11afefec feat(cron): visual schedule builder with timepicker and interval presets 2026-10-08 02:17:07 +03:00
yilsem 5006d1c7a8 ci: bound compiler concurrency and size Kotlin heap aiturk-mobil-0.2.0-beta.5 2026-10-07 21:15:02 +03:00
yilsem 004d4622c4 ci: transfer the accepted workstation Android SDK license 2026-10-07 20:58:24 +03:00
yilsem 824f0a07e2 ci: accept package licenses at explicit SDK root and verify installation 2026-10-07 20:54:18 +03:00
yilsem 71dd92a4c2 ci: install checksum-pinned Android tools with native Windows extraction 2026-10-07 20:47:21 +03:00
yilsem ebdfeddd9a ci: retain compatible Windows extraction with pinned modern SDK tools 2026-10-07 20:44:03 +03:00
yilsem 017864a0db ci: use current SDK tools and exact Android 37.0 package 2026-10-07 20:37:37 +03:00
yilsem 6472d876b3 ci: isolate Android SDK from spaced Windows user paths 2026-10-07 20:32:39 +03:00
yilsem 9e4e979e7a ci: provision Android SDK and Java on the Windows runner 2026-10-07 20:28:27 +03:00
yilsem cb7e6acb59 fix(mobile): align profile routing, catalog timeout and replay cancellation 2026-10-07 20:23:17 +03:00
yilsemandClaude Opus 5.5 827c74b3c3 feat(aiturk): hide what the paired IDE cannot serve, plain error sentences, reconnect on return
When paired with AITURK IDE:
- an "unknown method" (-32601) answer and the proxy's 403/route-404 are shown
  as plain sentences, never as raw JsonRpcError text; a method the IDE does
  not have is not sent again on the same socket
- Account connectors, Vault, Keys and Files are hidden (the IDE has no
  connectors.* / vault.* and its phone proxy refuses /api/env and /api/files)
- an idle-closed chat socket is reopened when the app returns to the
  foreground; idle tunnel connections are dropped on a network change
- an unsaved chat no longer polls /api/sessions/<id>
- the pairing screen shows the app version

A plain Hermes connection is unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01B8ppceaR5s6cvMnm7uGRnf
aiturk-mobil-0.2.0-beta.4
2026-10-05 17:21:32 +03:00
yilsemandClaude Opus 5.5 c2d828b90a feat(aiturk): say when AITURK IDE is closed in the chat banner
When the tunnel reports that no computer is attached (close 4503) the
reconnect banner now says that AITURK IDE is not open or Phone
connection is off, instead of an endless 'reconnecting'.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01B8ppceaR5s6cvMnm7uGRnf
aiturk-mobil-0.2.0-beta.3
2026-10-05 04:18:53 +03:00
yilsemandClaude Opus 5.5 cbe716300c feat(aiturk): reach the IDE through an end-to-end encrypted tunnel
A phone on the same Wi-Fi could not reach the computer at all (client
isolation on the router), and every failure was shown as one 'same
Wi-Fi' message. Contract v3: the phone only dials turkservis.online.

Transport: a relay pairing lives on the virtual host
<relayId>.relay.aiturk.invalid. For that host only, the shared OkHttp
client resolves a placeholder address, opens a WebSocket byte stream to
the relay instead of a TCP connection, and runs TLS on top of it pinned
to the IDE's certificate fingerprint. The relay sees ciphertext only.
DNS, sockets, proxy choice and TLS are unchanged for every other host.

Pairing: tunnel first (hello within 10 s), LAN candidates second, one
claim only. The local-network permission is requested only when a LAN
address may be tried; denying it no longer ends the pairing.

Errors: host offline, unknown relay, busy, no internet, silent computer,
certificate mismatch and the LAN failures each get their own text plus
a short diagnostic code built from a fixed vocabulary (never a token,
pairing code or address). After pairing the screen shows the first 8
characters of the fingerprint as a security code.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01B8ppceaR5s6cvMnm7uGRnf
2026-10-05 04:18:52 +03:00
yilsemandClaude Opus 5.5 9afac6f508 feat(aiturk): accept a relay id in pairing payloads
Contract v3 (tunnel): the QR / deep link may carry r=<lowercase UUIDv4>
and no LAN address at all (the IDE's default). u is now 0..4, but a
payload with neither u nor r is rejected, and a present-but-invalid r
rejects the whole payload instead of falling back to the LAN addresses.

AiturkRelay maps a relay id to the virtual host
<relayId>.relay.aiturk.invalid that addresses a tunnel pairing.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01B8ppceaR5s6cvMnm7uGRnf
2026-10-05 04:08:07 +03:00
yilsemandClaude Opus 5.5 6f4309c746 feat(aiturk): add the connect-to-computer screen (QR scan, code, deep link)
Landing now leads with QR / 8-character code pairing; manual login stays as the secondary action. aiturk://pair links open the same screen and ask for confirmation first.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01B8ppceaR5s6cvMnm7uGRnf
aiturk-mobil-0.2.0-beta.2
2026-10-04 06:06:31 +03:00
yilsemandClaude Opus 5.5 c2b08ff73e feat(aiturk): pair with AITURK IDE over LAN with a pinned certificate
Adds the phone side of the pairing contract v1: payload parsing, gateway resolve, parallel hello and a single claim, per host:port certificate pinning hooked into OkHttpProvider.base, and no dashboard token refresh for a paired IDE. Adds zxing-android-embedded and okhttp-tls (tests).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01B8ppceaR5s6cvMnm7uGRnf
2026-10-04 06:06:31 +03:00
yilsemandClaude Opus 5.5 8e48a0fa1e feat(brand): disable upstream self-updater, add attribution and NOTICE
The GitHub release checker would install Hy4ri/hermes-mobile APKs; the About
screen now points to https://turkservis.online/indir and credits the original
project.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01B8ppceaR5s6cvMnm7uGRnf
2026-10-03 15:06:22 +03:00
yilsemandClaude Opus 5.5 34758975b7 feat(brand): replace launcher icon with the AITURK mark
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01B8ppceaR5s6cvMnm7uGRnf
2026-10-03 15:06:21 +03:00
yilsemandClaude Opus 5.5 e3d0a97921 feat(i18n): add Turkish translation and language picker entry
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01B8ppceaR5s6cvMnm7uGRnf
2026-10-03 15:06:20 +03:00
yilsemandClaude Opus 5.5 5f548f5a17 feat(brand): rename app to AITURK Mobil and set applicationId
Replace user-visible Hermes / Hermes Mobile texts with AITURK branding in all
locales and set applicationId to online.turkservis.aiturk.mobil. Namespace and
source packages stay com.m57.hermescontrol.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01B8ppceaR5s6cvMnm7uGRnf
2026-10-03 15:06:19 +03:00
m57andAlexDev_ 944390bec1 chore: promote dev to main (#1455)
Co-authored-by: AlexDev_ <56083016+alexdev03@users.noreply.github.com>
2026-10-03 00:51:11 +03:00
m57 62fcf07e1b Merge pull request #1431 from Hy4ri/codex/release-v2.0.2
chore: promote dev for v2.0.2
2026-10-01 20:30:07 +03:00
M57 e7927f6631 chore: promote dev for v2.0.2 2026-10-01 20:17:08 +03:00
m57 1cef9e7ebb fix(#1427): keep accepted prompts visible during live turns (#1430) 2026-10-01 20:17:05 +03:00
m57 82cf8df238 Merge pull request #1429 from Hy4ri/codex/release-v2.0.1
chore(release): promote dev to main for v2.0.1
2026-10-01 17:08:17 +03:00
M57 ba029e83dc chore(release): merge dev for v2.0.1 2026-10-01 16:56:32 +03:00
m57 63105b7843 fix(#1427): recover sends past unresolved receipts (#1428) 2026-10-01 16:52:39 +03:00
728daa9acd release: promote dev to main for v2.0.0 (#1426)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Lx-204 <15377891490@163.com>
Co-authored-by: AlexDev_ <56083016+alexdev03@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nikhil Nair <32665919+nikhilnair31@users.noreply.github.com>
Co-authored-by: marciodps <95321123+marciodps@users.noreply.github.com>
Co-authored-by: ThomasCrund <39323104+ThomasCrund@users.noreply.github.com>
2026-10-01 11:19:09 +03:00
m57 4294d7edff feat: add source filter chips to history screen (#1425) 2026-10-01 11:09:50 +03:00
m57 9cf8c3818c refactor(#1376): extract WebSocket client components (#1424) 2026-10-01 10:35:59 +03:00
m57 6a75a2f1fb docs: fix stale counts and reorder README for users (#1423) 2026-09-30 23:53:00 +03:00
Nikhil NairandM57 5bf43e4a21 feat(notifications): optional alert when any session completes (#1401)
Co-authored-by: M57 <41645758+Hy4ri@users.noreply.github.com>
2026-09-30 23:31:08 +03:00
m57 0c336ecc4d feat(chat): show agent message reactions (#1422) 2026-09-30 23:15:11 +03:00
m57 6e14c49df1 fix(model): MoA row shows 'not loaded' on null temperatures (#1421) 2026-09-30 22:16:32 +03:00
m57 a8dd055426 feat(ui): copy button on error states and chat error snackbar (#1420) 2026-09-30 21:45:06 +03:00
m57 26f259ddd8 feat(theme): add Garnet preset with deep red accents (#1418) 2026-09-30 21:30:18 +03:00
m57 7b6aed4bcd fix(chat): /compress no longer drops feedback on id-less transcript rows (#1419) 2026-09-30 21:29:57 +03:00
m57 56bb3a88c2 fix(theme): complete color and component contrast contracts (#1417) 2026-09-30 21:14:56 +03:00
Nikhil Nair 9529a7e32c feat(#1247): live level meter on the voice recording strip (#1416) 2026-09-30 21:14:27 +03:00
m57 5145a3354b perf(markdown): coalesce long plain bullet runs (#1415) 2026-09-30 18:12:57 +03:00
m57 dcf62c0c02 fix(chat): keep restored commands in place on session load (#1414) 2026-09-30 17:14:59 +03:00
m57 9f033ac82c fix(chat): keep interrupted replies and notices in place (#1413) 2026-09-30 16:16:23 +03:00
m57 c5bd457da3 fix(chat): keep Send primary while streaming, Stop in the flat slot (#1412) 2026-09-30 14:33:08 +03:00
m57 3fb99f86ac fix(chat): tint composer send/stop/mic button with theme primary (#1410) 2026-09-30 14:33:08 +03:00
m57 0e39a71591 feat(chat): /stop also kills background processes like desktop (#1409) 2026-09-30 14:33:07 +03:00
m57 05519ba1ff feat(notification): Turn off action and tap-to-open on background notification (#1408) 2026-09-30 13:30:55 +03:00
m57 48de25985a fix(providers): accept numeric expires_at in OAuth status (#1407) 2026-09-30 13:30:41 +03:00
m57 6810ef02fe fix(mcp): show Installed state for catalog entries already installed (#1405) 2026-09-30 13:15:30 +03:00
m57 81b5e6d84b feat(mcp): Installed/Catalog tabs with search, matching Plugins and Skills (#1404) 2026-09-30 13:15:30 +03:00