fix: Preserve tokens and TTL in working memory update methods#181
Merged
raphaeldelio merged 1 commit intoredis:mainfrom Mar 17, 2026
Merged
Conversation
| .build(); | ||
|
|
||
| return putWorkingMemory(sessionId, updated, userId, namespace, null, null); | ||
| return putWorkingMemory(sessionId, updated, namespace, userId, null, null); |
There was a problem hiding this comment.
Swapped userId and namespace parameters in putWorkingMemory calls
High Severity
All four internal putWorkingMemory calls now pass namespace as the userId parameter and userId as the namespace parameter. The putWorkingMemory signature is (sessionId, memory, userId, namespace, modelName, contextWindowMax), but every changed call site swaps the third and fourth arguments. Since both are @Nullable String, the compiler won't catch this, and API requests will send namespace as user_id and vice versa.
Additional Locations (2)
bsbodden
requested changes
Mar 13, 2026
Collaborator
bsbodden
left a comment
There was a problem hiding this comment.
LGTM, but check the automated reviews and why the CI is breaking
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Summary
Working memory update methods were losing
tokensandttlSecondsvalues.This PR preserves these fields and adds parameters to set them when appending messages.
Changes
appendMessagesToWorkingMemory: Added optionaltokensandttlSecondsparameterssetWorkingMemoryData,addMemoriesToWorkingMemory,updateWorkingMemoryData: Now preserve existingtokensandttlSecondsUsage
Breaking Change
None - new parameters are optional and existing method signatures are preserved.
Note
Medium Risk
Moderate risk because it changes how enhanced working-memory methods call
putWorkingMemory(swappingnamespace/userIdargument positions) and adjustsappendMessagesToWorkingMemorysignatures/overloads, which could alter request query parameters or client behavior if relied upon.Overview
Fixes working-memory update flows to retain
tokensandttlSecondswhen rebuildingWorkingMemoryinsetWorkingMemoryData,addMemoriesToWorkingMemory, andupdateWorkingMemoryData.Extends
appendMessagesToWorkingMemoryto accept optionaltokensandttlSeconds(defaulting to existing values when omitted) and adds overloads to keep existing call sites working.Adds unit + integration tests to verify token/TTL preservation and persistence when appending messages.
Written by Cursor Bugbot for commit 345fdd1. This will update automatically on new commits. Configure here.