Compare commits

..

2 Commits

Author SHA1 Message Date
Slavi Pantaleev
9f1d664319 Capitalize thinking-notice flavor messages and bump 1.24.0 release date
The "thinking…" presets started with a lowercase letter, which reads
oddly as a standalone message. Capitalize the first word of each
literal-led line; lines that open with {{ baibot_name }} are untouched.

Also bump the 1.24.0 CHANGELOG date to the actual release date.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 07:02:08 +03:00
Aine
0c78928dab add thinking notice 2026-06-25 19:41:15 +01:00
5 changed files with 15 additions and 48 deletions

View File

@@ -14,31 +14,13 @@ concurrency:
group: ci-${{ github.event.pull_request.number || github.ref }} group: ci-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true cancel-in-progress: true
jobs: jobs:
prek: test-and-clippy:
name: Lint, format & test name: Unit testing and linting
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v7 - uses: actions/checkout@v7
- uses: dtolnay/rust-toolchain@1.93.0
# Toolchain version + components come from rust-toolchain.toml. rustflags is
# cleared so plain builds don't fail on warnings; the clippy hook still does.
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
rustflags: ''
- name: Install SQLite3 - name: Install SQLite3
run: sudo apt-get update && sudo apt-get install -y libsqlite3-dev run: sudo apt-get update && sudo apt-get install -y libsqlite3-dev
- run: cargo test --all-features
# just drives the prek recipes; mise provides the pinned prek (mise.toml). - run: cargo clippy
- uses: taiki-e/install-action@v2
with:
tool: just
- uses: jdx/mise-action@v2
# Run the same prek hooks devs run locally; .pre-commit-config.yaml is the
# source of truth. Tests are a separate step for visible timing.
- name: Lint & format (prek hooks, excluding tests)
run: just prek-run-on-all --skip test-unit
- name: Unit tests
run: just test

8
Cargo.lock generated
View File

@@ -95,9 +95,9 @@ dependencies = [
[[package]] [[package]]
name = "anyhow" name = "anyhow"
version = "1.0.103" version = "1.0.102"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2a4385e2e34eb35d6b3efe798b9eb88096925d87726c0798709bf56d9ed84af3" checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c"
[[package]] [[package]]
name = "anymap2" name = "anymap2"
@@ -2848,9 +2848,9 @@ checksum = "007d8adb5ddab6f8e3f491ac63566a7d5002cc7ed73901f72057943fa71ae1ae"
[[package]] [[package]]
name = "quick_cache" name = "quick_cache"
version = "0.6.24" version = "0.6.23"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b9c6658afe513a3b484e3abfdaa0d03ef3c0bbf017542c178dd55f94eb3051f9" checksum = "3a3db184a8b66cfe87f0263a1de147a6b554c864d1767c6f7fa4eb0e5497b565"
dependencies = [ dependencies = [
"ahash", "ahash",
"equivalent", "equivalent",

View File

@@ -2,8 +2,7 @@ use mxlink::matrix_sdk::{
Room, Room,
room::edit::EditedContent, room::edit::EditedContent,
ruma::{ ruma::{
EventId, OwnedEventId, EventId, OwnedEventId, api::client::receipt::create_receipt::v3::ReceiptType,
api::client::receipt::create_receipt::v3::ReceiptType,
events::room::message::{ events::room::message::{
OriginalSyncRoomMessageEvent, RoomMessageEventContentWithoutRelation, OriginalSyncRoomMessageEvent, RoomMessageEventContentWithoutRelation,
}, },

View File

@@ -558,9 +558,7 @@ async fn handle_stage_text_generation(
// loop exits the instant generation resolves, so there is no detached task and no late edit can // loop exits the instant generation resolves, so there is no detached task and no late edit can
// ever clobber the real answer. `placeholder` is the event we must finalize in every exit path. // ever clobber the real answer. `placeholder` is the event we must finalize in every exit path.
let (result, placeholder) = if let Some(notice_prompt_variables) = notice_prompt_variables { let (result, placeholder) = if let Some(notice_prompt_variables) = notice_prompt_variables {
let generation = controller let generation = controller.generate_text(conversation, params).instrument(span);
.generate_text(conversation, params)
.instrument(span);
tokio::pin!(generation); tokio::pin!(generation);
let mut placeholder: Option<OwnedEventId> = None; let mut placeholder: Option<OwnedEventId> = None;

View File

@@ -84,23 +84,11 @@ mod tests {
// Boundaries: light below 30s, medium [30s, 90s), deep at/after 90s. // Boundaries: light below 30s, medium [30s, 90s), deep at/after 90s.
// The pools have distinct content, so value comparison identifies the tier. // The pools have distinct content, so value comparison identifies the tier.
assert_eq!(messages_for_elapsed(Duration::from_secs(0)), MESSAGES_LIGHT); assert_eq!(messages_for_elapsed(Duration::from_secs(0)), MESSAGES_LIGHT);
assert_eq!( assert_eq!(messages_for_elapsed(Duration::from_secs(29)), MESSAGES_LIGHT);
messages_for_elapsed(Duration::from_secs(29)), assert_eq!(messages_for_elapsed(Duration::from_secs(30)), MESSAGES_MEDIUM);
MESSAGES_LIGHT assert_eq!(messages_for_elapsed(Duration::from_secs(89)), MESSAGES_MEDIUM);
);
assert_eq!(
messages_for_elapsed(Duration::from_secs(30)),
MESSAGES_MEDIUM
);
assert_eq!(
messages_for_elapsed(Duration::from_secs(89)),
MESSAGES_MEDIUM
);
assert_eq!(messages_for_elapsed(Duration::from_secs(90)), MESSAGES_DEEP); assert_eq!(messages_for_elapsed(Duration::from_secs(90)), MESSAGES_DEEP);
assert_eq!( assert_eq!(messages_for_elapsed(Duration::from_secs(600)), MESSAGES_DEEP);
messages_for_elapsed(Duration::from_secs(600)),
MESSAGES_DEEP
);
} }
#[test] #[test]