Teknium
548cedb869
fix(context_compressor): prevent consecutive same-role messages after compression ( #1743 )
...
compress() checks both the head and tail neighbors when choosing the
summary message role. When only the tail collides, the role is flipped.
When BOTH roles would create consecutive same-role messages (e.g.
head=assistant, tail=user), the summary is merged into the first tail
message instead of inserting a standalone message that breaks role
alternation and causes API 400 errors.
The previous code handled head-side collision but left the tail-side
uncovered — long conversations would crash mid-reply with no useful
error, forcing the user to /reset and lose session history.
Based on PR #1186 by @alireza78a, with improved double-collision
handling (merge into tail instead of unconditional 'user' fallback).
Co-authored-by: alireza78a <alireza78.crypto@gmail.com >
2026-03-17 05:18:52 -07:00
..
2026-03-16 05:19:36 -07:00
2026-03-17 05:18:52 -07:00
2026-03-16 23:48:14 -07:00
2026-03-14 14:27:20 +03:00
2026-03-17 05:18:12 -07:00
2026-03-17 04:28:03 -07:00
2026-03-17 04:01:37 -07:00
2026-03-17 04:02:02 -07:00
2026-03-14 22:11:34 -07:00
2026-03-17 04:46:15 -07:00
2025-10-01 23:29:25 +00:00
2026-03-17 02:02:33 -07:00
2026-03-17 02:53:33 -07:00
2026-03-14 02:33:31 -07:00
2026-03-10 15:22:44 -07:00
2026-03-17 01:50:59 -07:00
2026-03-17 04:24:27 -07:00
2026-03-12 01:23:28 -07:00
2026-03-15 08:02:29 -07:00
2026-03-14 11:03:20 -07:00
2026-03-16 22:53:32 -07:00
2026-03-17 01:07:11 +03:00
2026-03-14 19:38:55 -07:00
2026-03-14 19:38:55 -07:00
2026-03-17 04:01:37 -07:00
2026-03-14 22:31:51 -07:00
2026-03-14 22:31:51 -07:00
2026-03-01 19:59:24 -08:00
2026-03-02 17:18:15 +11:00
2026-03-17 04:46:15 -07:00
2026-03-13 23:59:12 -07:00
2026-03-14 11:57:44 -07:00
2026-03-14 06:31:32 -07:00
2026-03-17 02:53:33 -07:00
2026-03-10 17:31:00 -07:00
2026-03-15 19:03:34 -07:00
2026-03-16 04:34:45 -07:00
2026-03-13 21:53:54 -07:00
2026-03-14 21:28:51 -07:00
2026-03-17 02:05:26 -07:00
2026-03-14 19:33:59 -07:00
2026-03-16 12:36:29 -07:00
2026-03-14 21:19:22 -07:00
2026-03-13 03:14:04 -07:00
2026-03-14 15:00:45 +03:00
2026-03-17 03:44:44 -07:00
2026-03-17 02:05:26 -07:00
2026-03-08 20:22:33 -07:00
2026-03-13 21:34:01 -07:00
2026-03-17 05:06:11 +03:00
2026-03-15 08:02:29 -07:00
2026-03-09 21:01:40 -07:00
2026-03-15 21:59:53 -07:00
2026-03-01 19:59:24 -08:00
2026-03-11 21:38:29 -07:00
2026-03-09 02:19:32 -07:00
2026-03-11 21:06:54 -07:00
2026-03-17 03:44:44 -07:00
2026-03-01 03:12:37 -05:00
2026-03-17 03:44:44 -07:00
2026-03-17 02:53:33 -07:00
2026-03-17 02:53:33 -07:00
2026-03-13 21:56:12 -07:00
2026-03-13 23:39:51 -07:00
2026-03-10 17:12:34 -07:00
2026-03-05 18:46:30 -08:00
2026-03-16 06:35:46 -07:00
2026-03-09 17:31:54 +03:00
2026-03-16 07:17:36 -07:00
2026-03-17 00:12:16 -07:00
2026-03-17 02:53:33 -07:00
2026-03-17 02:53:33 -07:00
2026-03-12 05:38:19 -07:00
2026-03-12 08:35:45 -07:00
2026-03-08 17:45:45 -07:00
2026-03-17 02:04:36 -07:00
2026-03-16 06:35:46 -07:00
2026-03-17 02:13:26 -07:00
2026-03-13 04:42:26 +03:00
2026-03-16 06:15:09 -07:00
2026-03-16 23:48:14 -07:00
2026-03-14 06:19:28 -07:00
2026-02-26 13:54:20 +03:00
2026-03-09 23:27:19 -07:00
2026-03-14 11:03:25 -07:00
2026-03-14 21:51:27 -07:00
2026-03-14 21:51:27 -07:00