Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
fbbae08
chore: ignore local worktrees
qqqys Jun 29, 2026
ba20001
feat(core): add channel memory store
qqqys Jun 30, 2026
3d22859
fix(core): preserve dots in channel memory paths
qqqys Jun 30, 2026
e4a20a2
fix(core): guard dot channel memory paths
qqqys Jun 30, 2026
b189884
feat(channels): add channel memory commands
qqqys Jun 30, 2026
3094e0a
fix(channels): defer channel memory session invalidation
qqqys Jun 30, 2026
7313074
feat(channels): inject channel memory into sessions
qqqys Jun 30, 2026
f242509
fix(channels): serialize channel memory context injection
qqqys Jun 30, 2026
c20d24c
fix(channels): harden channel memory context races
qqqys Jun 30, 2026
bb97da9
fix(channels): let queued turn retry memory context
qqqys Jun 30, 2026
e23d5c4
feat(cli): wire channel memory into channel startup
qqqys Jun 30, 2026
558fd70
docs(channels): document channel memory
qqqys Jun 30, 2026
192559b
Merge remote-tracking branch 'upstream/main' into automation/qwen-coc…
qqqys Jun 30, 2026
26f050f
fix(channels): harden channel memory handling
qqqys Jun 30, 2026
6de49e0
fix(channels): gate channel memory injection
qqqys Jun 30, 2026
045c4f7
fix(channels): serialize channel memory clears
qqqys Jun 30, 2026
7846f88
fix(channels): tolerate channel memory read failures
qqqys Jun 30, 2026
6215333
fix(channels): harden channel memory review gaps
qqqys Jun 30, 2026
c5fcb95
fix(channels): harden channel memory review gaps
qqqys Jun 30, 2026
a3d01c7
fix(channels): protect shared channel memory
qqqys Jun 30, 2026
26448df
test(channels): allow group memory view test
qqqys Jul 1, 2026
b763af3
fix(channels): block group memory writes
qqqys Jul 1, 2026
b7e62f0
Merge remote-tracking branch 'upstream/main' into codex/resolve-6051
qqqys Jul 1, 2026
3efbf44
fix(channels): resolve channel memory merge conflicts
qqqys Jul 1, 2026
5c2151c
fix(channels): include memory in loop prompts
qqqys Jul 1, 2026
84b231d
fix(channels): resolve merge conflicts with main (group history store)
qwen-code-dev-bot Jul 1, 2026
fbbee48
fix(channels): preserve session context order after merge
qqqys Jul 1, 2026
b97d9e6
fix(channels): retry loop memory context after read failure
qqqys Jul 1, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ package-lock.json
.qoder
.claude
.codex
.worktrees/

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Suggestion] The .worktrees/ entry appears unrelated to channel memory. Consider moving it to a separate PR to keep this diff focused.

— glm-5.2 via Qwen Code /review


# Qwen Code Configs
.qwen/*
Expand Down
12 changes: 12 additions & 0 deletions docs/users/features/channels/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,18 @@ Controls how conversation sessions are managed:
- **`thread`** — One session per thread/topic. Useful for group chats with threads.
- **`single`** — One shared session for all users. Everyone shares the same conversation.

### Channel Memory

Channel memory lets an authorized channel member save stable context for one chat or thread. Qwen Code injects that memory when a fresh channel session starts, including after `/clear`.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Suggestion] Docs don't mention that memory injection is restricted to authorized users

This paragraph describes channel memory injection on fresh sessions but doesn't mention that it only applies to prompts from users listed in allowedUsers. An operator reading these docs would expect all messages in the channel to carry the same channel-memory context, but unauthorized users' prompts silently omit it.

Consider adding a sentence like: "Channel memory is only injected into prompts from authorized users listed in allowedUsers. Messages from other senders do not include channel memory."


Commands:

- `/remember-channel <text>` saves a memory line for the current chat or thread.
- `/channel-memory` shows saved memory for the current chat or thread.
- `/forget-channel confirm` clears saved memory for the current chat or thread.

Only users listed in `allowedUsers` can read, write, or clear channel memory. If `allowedUsers` is empty, channel memory commands are disabled for everyone.

### Token Security

Bot tokens should not be stored directly in `settings.json`. Instead, use environment variable references:
Expand Down
Loading
Loading