release: prepare for v0.3.31

- Update CHANGELOG with workspace refactor and clippy fix
- Fix collapsible_if lint in web browsing session manager
This commit is contained in:
Hunter Bown
2026-03-11 20:10:19 -05:00
parent 7b91169017
commit fc4884b0c8
2 changed files with 6 additions and 5 deletions
+2
View File
@@ -19,9 +19,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Redesigned the footer status strip with mode/model/token/cost layout, quadrant separators, and a context-usage bar.
- Added Unicode prefix indicators (▸ You, ◆ Answer, ● System) to chat history cells for visual distinction.
- Improved thinking token delineation with labeled delimiters in transcript rendering.
- Refactored source code into workspace crates for better modularity and dependency management.
### Fixed
- Fixed Plan mode ESC key dismissing the prompt without clearing `plan_prompt_pending`, which prevented the prompt from reappearing on subsequent plan completions.
- Fixed clippy lint (collapsible_if) in web browsing session management.
## [0.3.30] - 2026-03-06
+4 -5
View File
@@ -95,15 +95,14 @@ impl WebRunState {
fn touch_session(&mut self, namespace: &str) {
self.cleanup();
if !self.sessions.contains_key(namespace) && self.sessions.len() >= MAX_WEB_RUN_SESSIONS {
if let Some(oldest_namespace) = self
if !self.sessions.contains_key(namespace) && self.sessions.len() >= MAX_WEB_RUN_SESSIONS
&& let Some(oldest_namespace) = self
.sessions
.iter()
.min_by_key(|(_, session)| session.last_access)
.map(|(existing_namespace, _)| existing_namespace.clone())
{
self.remove_session(&oldest_namespace);
}
{
self.remove_session(&oldest_namespace);
}
let session = self.sessions.entry(namespace.to_string()).or_default();