Skip to content

Commit 780ca1d

Browse files
authored
fix(android): send chat with hardware Enter (#101321)
1 parent 107a9d6 commit 780ca1d

4 files changed

Lines changed: 151 additions & 43 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ Docs: https://docs.openclaw.ai
2323

2424
### Fixes
2525

26+
- **Android hardware keyboard chat:** send with unmodified Enter on physical keyboards while preserving Shift+Enter and other modified Enter combinations for multiline input. (#101239) Thanks @3ninyt3nin-creator.
2627
- **Codex yielded native subagents:** keep the parent app-server subscription and shared client alive until yielded native subagent completion delivery settles, preventing lost wakeups and leaked one-shot cleanup.
2728
- **Discord streamed finals:** send completion replies as fresh messages so inactive channels become unread, while preserving targeted mentions without escalating `@everyone` or `@here`. (#99711, #99662) Thanks @davelutztx.
2829
- **OpenAI-compatible SSE parsing:** recognize event streams mislabeled as JSON without prepending a second `data:` prefix, preserving valid streamed responses from non-conforming providers. (#96503) Thanks @ZengWen-DT.

apps/.i18n/native-source.json

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -6131,263 +6131,263 @@
61316131
},
61326132
{
61336133
"kind": "ui-named-argument",
6134-
"line": 299,
6134+
"line": 309,
61356135
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/chat/ChatScreen.kt",
61366136
"source": "Chat needs attention",
61376137
"surface": "android",
61386138
"id": "native.android.22a4efbe2bab8b80"
61396139
},
61406140
{
61416141
"kind": "ui-named-argument",
6142-
"line": 481,
6142+
"line": 491,
61436143
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/chat/ChatScreen.kt",
61446144
"source": "All",
61456145
"surface": "android",
61466146
"id": "native.android.b73c79389a8cff07"
61476147
},
61486148
{
61496149
"kind": "ui-named-argument",
6150-
"line": 539,
6150+
"line": 549,
61516151
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/chat/ChatScreen.kt",
61526152
"source": "OpenClaw",
61536153
"surface": "android",
61546154
"id": "native.android.25d8575c0063aee5"
61556155
},
61566156
{
61576157
"kind": "ui-named-argument",
6158-
"line": 560,
6158+
"line": 570,
61596159
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/chat/ChatScreen.kt",
61606160
"source": "New chat",
61616161
"surface": "android",
61626162
"id": "native.android.4437f3cbdb3c8cbe"
61636163
},
61646164
{
61656165
"kind": "ui-named-argument",
6166-
"line": 565,
6166+
"line": 575,
61676167
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/chat/ChatScreen.kt",
61686168
"source": "More new chat options",
61696169
"surface": "android",
61706170
"id": "native.android.6b0f8ea129bca167"
61716171
},
61726172
{
61736173
"kind": "ui-named-argument",
6174-
"line": 580,
6174+
"line": 590,
61756175
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/chat/ChatScreen.kt",
61766176
"source": "Refresh chat",
61776177
"surface": "android",
61786178
"id": "native.android.0066c3883e9eff15"
61796179
},
61806180
{
61816181
"kind": "ui-named-argument",
6182-
"line": 583,
6182+
"line": 593,
61836183
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/chat/ChatScreen.kt",
61846184
"source": "Chat",
61856185
"surface": "android",
61866186
"id": "native.android.707eccff20a79f65"
61876187
},
61886188
{
61896189
"kind": "ui-named-argument",
6190-
"line": 731,
6190+
"line": 741,
61916191
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/chat/ChatScreen.kt",
61926192
"source": "Loading session",
61936193
"surface": "android",
61946194
"id": "native.android.882cc14a58e7e105"
61956195
},
61966196
{
61976197
"kind": "ui-named-argument",
6198-
"line": 758,
6198+
"line": 768,
61996199
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/chat/ChatScreen.kt",
62006200
"source": "Jump to latest",
62016201
"surface": "android",
62026202
"id": "native.android.2c1106e1687ab258"
62036203
},
62046204
{
62056205
"kind": "conditional-branch",
6206-
"line": 784,
6206+
"line": 794,
62076207
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/chat/ChatScreen.kt",
62086208
"source": "Ready when you are",
62096209
"surface": "android",
62106210
"id": "native.android.9df2c9d68bad169f"
62116211
},
62126212
{
62136213
"kind": "ui-named-argument",
6214-
"line": 815,
6214+
"line": 825,
62156215
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/chat/ChatScreen.kt",
62166216
"source": "Fix connection",
62176217
"surface": "android",
62186218
"id": "native.android.6bbe3c5b5193d985"
62196219
},
62206220
{
62216221
"kind": "ui-named-argument",
6222-
"line": 816,
6222+
"line": 826,
62236223
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/chat/ChatScreen.kt",
62246224
"source": "Copy diagnostics",
62256225
"surface": "android",
62266226
"id": "native.android.579c05816c7dfa79"
62276227
},
62286228
{
62296229
"kind": "conditional-branch",
6230-
"line": 1000,
6230+
"line": 1010,
62316231
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/chat/ChatScreen.kt",
62326232
"source": "Preparing audio…",
62336233
"surface": "android",
62346234
"id": "native.android.5aafbef3744d86f3"
62356235
},
62366236
{
62376237
"kind": "conditional-branch",
6238-
"line": 1000,
6238+
"line": 1010,
62396239
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/chat/ChatScreen.kt",
62406240
"source": "Speaking…",
62416241
"surface": "android",
62426242
"id": "native.android.d7919c440a82f426"
62436243
},
62446244
{
62456245
"kind": "ui-named-argument",
6246-
"line": 1021,
6246+
"line": 1031,
62476247
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/chat/ChatScreen.kt",
62486248
"source": "Tools running",
62496249
"surface": "android",
62506250
"id": "native.android.781f84dfaf7da9d6"
62516251
},
62526252
{
62536253
"kind": "ui-named-argument",
6254-
"line": 1023,
6254+
"line": 1033,
62556255
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/chat/ChatScreen.kt",
62566256
"source": "OpenClaw is working",
62576257
"surface": "android",
62586258
"id": "native.android.d851a32f367f8b31"
62596259
},
62606260
{
62616261
"kind": "ui-named-argument",
6262-
"line": 1026,
6262+
"line": 1036,
62636263
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/chat/ChatScreen.kt",
62646264
"source": "+${toolCalls.size - 4} more",
62656265
"surface": "android",
62666266
"id": "native.android.0fd6b75cadc0ce75"
62676267
},
62686268
{
62696269
"kind": "ui-named-argument",
6270-
"line": 1036,
6270+
"line": 1046,
62716271
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/chat/ChatScreen.kt",
62726272
"source": "Thinking",
62736273
"surface": "android",
62746274
"id": "native.android.7e0aea1dca378135"
62756275
},
62766276
{
62776277
"kind": "ui-named-argument",
6278-
"line": 1037,
6278+
"line": 1047,
62796279
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/chat/ChatScreen.kt",
62806280
"source": "OpenClaw is preparing a response.",
62816281
"surface": "android",
62826282
"id": "native.android.98a0d4d5bba788c4"
62836283
},
62846284
{
62856285
"kind": "ui-named-argument",
6286-
"line": 1196,
6286+
"line": 1209,
62876287
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/chat/ChatScreen.kt",
62886288
"source": "Stop",
62896289
"surface": "android",
62906290
"id": "native.android.76d574acfac94fee"
62916291
},
62926292
{
62936293
"kind": "ui-named-argument",
6294-
"line": 1262,
6294+
"line": 1275,
62956295
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/chat/ChatScreen.kt",
62966296
"source": "Default",
62976297
"surface": "android",
62986298
"id": "native.android.2cb3ec7379426dfe"
62996299
},
63006300
{
63016301
"kind": "conditional-branch",
6302-
"line": 1328,
6302+
"line": 1341,
63036303
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/chat/ChatScreen.kt",
63046304
"source": "Pin model",
63056305
"surface": "android",
63066306
"id": "native.android.f8d0f6ba7608abc3"
63076307
},
63086308
{
63096309
"kind": "conditional-branch",
6310-
"line": 1328,
6310+
"line": 1341,
63116311
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/chat/ChatScreen.kt",
63126312
"source": "Unpin model",
63136313
"surface": "android",
63146314
"id": "native.android.09a13ed8f039a9c3"
63156315
},
63166316
{
63176317
"kind": "ui-named-argument",
6318-
"line": 1345,
6318+
"line": 1358,
63196319
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/chat/ChatScreen.kt",
63206320
"source": "No commands found",
63216321
"surface": "android",
63226322
"id": "native.android.5953c956ff208e6e"
63236323
},
63246324
{
63256325
"kind": "ui-named-argument",
6326-
"line": 1407,
6326+
"line": 1420,
63276327
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/chat/ChatScreen.kt",
63286328
"source": "Gateway offline",
63296329
"surface": "android",
63306330
"id": "native.android.8e3e367df24cae4b"
63316331
},
63326332
{
63336333
"kind": "ui-named-argument",
6334-
"line": 1503,
6334+
"line": 1518,
63356335
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/chat/ChatScreen.kt",
63366336
"source": "Attach image",
63376337
"surface": "android",
63386338
"id": "native.android.623e434c83e3c020"
63396339
},
63406340
{
63416341
"kind": "ui-named-argument",
6342-
"line": 1522,
6342+
"line": 1542,
63436343
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/chat/ChatScreen.kt",
63446344
"source": "Message OpenClaw",
63456345
"surface": "android",
63466346
"id": "native.android.f1d69eb66c5dfa39"
63476347
},
63486348
{
63496349
"kind": "ui-named-argument",
6350-
"line": 1537,
6350+
"line": 1557,
63516351
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/chat/ChatScreen.kt",
63526352
"source": "Open voice",
63536353
"surface": "android",
63546354
"id": "native.android.97602a28629a331f"
63556355
},
63566356
{
63576357
"kind": "ui-named-argument",
6358-
"line": 1586,
6358+
"line": 1619,
63596359
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/chat/ChatScreen.kt",
63606360
"source": "Remove attachment",
63616361
"surface": "android",
63626362
"id": "native.android.5054269049758d6a"
63636363
},
63646364
{
63656365
"kind": "conditional-branch",
6366-
"line": 1607,
6366+
"line": 1640,
63676367
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/chat/ChatScreen.kt",
63686368
"source": "Main",
63696369
"surface": "android",
63706370
"id": "native.android.5fa853a957713a56"
63716371
},
63726372
{
63736373
"kind": "conditional-branch",
6374-
"line": 1615,
6374+
"line": 1648,
63756375
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/chat/ChatScreen.kt",
63766376
"source": "$emoji $name",
63776377
"surface": "android",
63786378
"id": "native.android.6ef0b7ad012c32da"
63796379
},
63806380
{
63816381
"kind": "ui-named-argument",
6382-
"line": 1674,
6382+
"line": 1707,
63836383
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/chat/ChatScreen.kt",
63846384
"source": "Send",
63856385
"surface": "android",
63866386
"id": "native.android.6e2fcc9d67fc1273"
63876387
},
63886388
{
63896389
"kind": "conditional-branch",
6390-
"line": 1714,
6390+
"line": 1747,
63916391
"path": "apps/android/app/src/main/java/ai/openclaw/app/ui/chat/ChatScreen.kt",
63926392
"source": "$contextLabel · ${contextMeterThinkingLabel(thinkingLevel)}",
63936393
"surface": "android",

0 commit comments

Comments
 (0)