Skip to content

feat: context links for Slack-originated HTTP sessions#13

Open
AztecBot wants to merge 17 commits intomainfrom
feat/context-links-oauth-refresh
Open

feat: context links for Slack-originated HTTP sessions#13
AztecBot wants to merge 17 commits intomainfrom
feat/context-links-oauth-refresh

Conversation

@AztecBot
Copy link
Collaborator

@AztecBot AztecBot commented Mar 10, 2026

Summary

  • Recognize Slack URLs in link field and display as Slack origin with ↗ icon on dashboard and workspace pages
  • Promote link to slackLink when session has a Slack URL but no slack_channel metadata (e.g. AztecBot sessions triggered via HTTP /run)
  • Add hourly OAuth token refresh via systemd timer (bin/refresh-oauth.sh)

AztecBot and others added 9 commits March 10, 2026 18:55
channelInfoCache in http-routes.ts was never populated for non-DM
channels, so most sessions showed no channel name. Now resolves
channel info via Slack API (conversations.info) with caching, used
by both main dashboard and personal dashboard.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Extract artifacts (PRs, issues, gists) and latest reply from
activity.jsonl in buildDashboardData. Render as compact clickable
chips and truncated reply preview on each workspace card.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
All dashboard entries now use ThreadCard (collapsible). Collapsed
view shows status dot, artifacts inline in header, and reply preview
below. Running sessions auto-expand.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ck msg

- Default profile: fallbackRef=origin/next, description tells Claude to use next
- Claudebox-dev: fallbackRef=origin/main
- Soften fallback message from WARNING to informational note

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Make it clear that session_status should be called after every major
step, with examples. Users watch progress live and see nothing
without these calls.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Double-RAF + 100ms mount scroll ensures content is painted before
scrolling. Fixes page not starting at bottom for long activity feeds.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Bot must call session_status before anything else so the user sees
immediate feedback. Even for trivial prompts like "wake up", post
status so the user knows the bot is alive.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…vements

- Add container recovery on server restart — re-attach streamers and exit
  monitors to Docker containers that survived the restart
- Fix massive activity.jsonl bloat from cumulative progress events — deduplicate
  tool_use entries by ID in session streamer, scope subagent discovery to current
  session only, add server-side dedup on SSE init
- Add `claudebox creds` CLI for managing multiple OAuth credential slots
  (list/use/save/rm) stored in ~/.claudebox/credentials/
- Add Agent Team UI component for rendering parallel agents on status page
- Fold tool results by default on status page (click to expand)
- Fix literal \n in GitHub comments — unescape in all body/content parameters
- Fix parallel tool call visibility — increase trunc limit, add timestamp to msgId
- Fix activity bleeding across runs — respect entry's own log_id in SSE handler
- Optimize SSE polling with byte-offset incremental reads
- Add set_workspace_name to all profile workflows (prevents ugly branch names)
- Remove update_meta_issue tool and all meta-issue references (use gists instead)
- Delete minimal profile
- Strengthen set_workspace_name tool description to MANDATORY

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… timer

- Recognize Slack URLs in link field and show as Slack origin with ↗ icon
- Promote link to slackLink when session has Slack URL but no slack_channel
- Add hourly OAuth token refresh via systemd timer

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
AztecBot and others added 8 commits March 10, 2026 19:09
- Show elapsed time since session start in every session_status update
- Include elapsed in GitHub completion comment (e.g. "✅ Run #1 — completed (12m)")
- Include elapsed in Slack status footer
- Compute from session.started or first activity timestamp

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- app_mention handler now skips bot_id and subtype messages
- Replace regex with indexOf for Slack URL check in dashboard template literal

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…at hooks

- Replace ci.sh shell-out in read-log with direct redis-cli + gunzip (fixes .fzf.bash pollution)
- Fix redis empty-key detection (strip trailing newline before length check)
- Fix HTTP fallback to use Basic auth header instead of URL credentials
- Add comprehensive make target listing to build tool description
- Add yarn_project_format and barretenberg_format MCP tools
- Add formatBeforePush hook to PR creation/update flow
- Mount reference repo node_modules for prettier in containers
- Add build-tools.ts, bootstrap.sh, install.sh, claudebox CLI
- Update barretenberg-audit profile and Dockerfile

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add review profile with comprehensive aztec-packages review knowledge base
- Extract common aztec-packages sidecar setup into profiles/shared/
- Add GitHub webhook endpoint for claude-review label trigger
- Add manage_review_labels MCP tool and removeLabel to libcreds
- Move SESSIONS_DIR from .claude/ (credential-scoped) to ~/.claudebox/
  to survive credential changes — fixes dashboard showing no sessions
- Add elapsed time to status comments
- Direct redis read_log (no ci.sh dependency)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fixes CodeQL actions/missing-workflow-permissions alerts.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ensitive information

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Build tools (build, build_cpp, run_test, yarn_project_format,
barretenberg_format) were causing sessions to get stuck. Replaced with
documentation in CLAUDE.md pointing to make targets, bootstrap.sh
fallback, and cmake commands. Formatting still runs automatically
before create_pr/update_pr via the formatChangedFiles hook.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…session

When a new session starts on an existing worktree, any containers from
previous runs (claude + sidecar + network) are now stopped and removed
first. This prevents stale sidecars with old MCP tools from lingering.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants