Commit 3da17ed
committed
Fixed Pi thread title showing prompt prefix; added message-derived draft title
Two fixes:
1. Pi thread title generation (server): Pi echoes the user message back as
'message_update' text_delta events before streaming its actual reply. The
collector was accumulating all deltas regardless of role, so the prompt
prefix 'Write a concise thread title for a coding conversation...' was
being captured as the generated title. Fix: track message_start/message_end
role to set inAssistantMessage flag and only accumulate text_delta events
that arrive while inside an assistant message, mirroring the same pattern
used in PiAdapter.stream.ts. The message_end fallback path for non-streaming
responses is also scoped to the assistant role.
2. Draft thread title UX (web): new threads showed 'New thread' in the sidebar
until the AI title arrived — which could be several seconds after the first
message. Now, when submitting the first message on a draft thread,
draftTitleFromMessage() derives a provisional title from the first 25 chars
of the user's message (stripping slash-command prefixes). This title is used
for bootstrap.createThread.title and also passed as titleSeed so the server
knows it is safe to replace it once the AI-generated title is ready.1 parent 238f19a commit 3da17ed
3 files changed
Lines changed: 58 additions & 19 deletions
File tree
- apps
- server/src/git/Layers
- web/src/components/chat/view
Lines changed: 35 additions & 18 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
402 | 402 | | |
403 | 403 | | |
404 | 404 | | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
405 | 408 | | |
406 | 409 | | |
407 | 410 | | |
408 | 411 | | |
409 | 412 | | |
410 | | - | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
411 | 422 | | |
412 | 423 | | |
413 | 424 | | |
414 | 425 | | |
415 | | - | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
416 | 429 | | |
417 | | - | |
418 | 430 | | |
419 | 431 | | |
420 | | - | |
421 | | - | |
422 | | - | |
423 | | - | |
424 | | - | |
425 | | - | |
426 | | - | |
427 | | - | |
428 | | - | |
429 | | - | |
430 | | - | |
431 | | - | |
432 | | - | |
433 | | - | |
434 | | - | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
435 | 452 | | |
436 | 453 | | |
437 | 454 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
32 | 51 | | |
33 | 52 | | |
34 | 53 | | |
| |||
Lines changed: 4 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| 26 | + | |
26 | 27 | | |
27 | 28 | | |
28 | 29 | | |
| |||
312 | 313 | | |
313 | 314 | | |
314 | 315 | | |
| 316 | + | |
315 | 317 | | |
316 | 318 | | |
317 | 319 | | |
318 | 320 | | |
319 | 321 | | |
320 | 322 | | |
321 | 323 | | |
322 | | - | |
| 324 | + | |
323 | 325 | | |
324 | 326 | | |
325 | 327 | | |
| |||
357 | 359 | | |
358 | 360 | | |
359 | 361 | | |
| 362 | + | |
360 | 363 | | |
361 | 364 | | |
362 | 365 | | |
| |||
0 commit comments