Skip to content

v1.2.0

  • v1.2.0
  • 271e056
  • Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
  • Choose a tag to compare

  • v1.2.0
  • 271e056
  • Choose a tag to compare

  • Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
@DoodleBears DoodleBears tagged this 08 Oct 18:49
* feat: width-filling activity heatmaps that scroll back to the Bot's creation (#1089)

`profileActivity` accepts an optional `before` day and `weeks` (1–104)
and returns that earlier window plus the Bot's `createdDay`. The event
and Memory commit heatmaps size their week columns from the card width,
newest week on the right, and load older weeks as the user scrolls left
until the creation week; popover heatmaps fill their width without
scrolling. The per-reason event list moves into the day tooltip.
Counting is unchanged: Bot Inbox Admissions and Memory commits.

Issue: #1089
Agent-Task: claude-code/cloud/session_01BQpR15vEqLoFoMKRRFypEW

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BQpR15vEqLoFoMKRRFypEW

* fix(client): keep heatmap tooltips inside the card; #1089 screenshots

The day tooltip shifts with its cell's position so a cell near either
edge no longer pushes the tooltip outside the card.

Issue: #1089
Agent-Task: claude-code/cloud/session_01BQpR15vEqLoFoMKRRFypEW

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BQpR15vEqLoFoMKRRFypEW

* Use "you" and "Bot" across the UI copy

Interface strings no longer show Human, PersonaBot, Source Event or
Attention in Chinese or English. The stored default human name "Human"
is displayed as "你 / You", the connector section is always
"External connectors", and docs quoting those labels follow. A locale
test fails if the internal terms come back.

Issue: #1090
Agent-Task: claude-code/cloud/session_01BQpR15vEqLoFoMKRRFypEW

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BQpR15vEqLoFoMKRRFypEW

* Give every Bot a Profile banner

New Bots save a pixel-banner recipe seeded from their name; renames keep
it and existing Bots get one at Host startup. The Profile header and
popover render it, and Change banner picks a scene, rerolls, uploads an
image cropped to 3:1, or resets to the generated scene. bot.json
records the banner, .botharness/banner.png is always written, and Bot
Zip export/import and Git import keep it. An uploaded banner is served
from /api/botharness/bot-banner.

Issue: #1092
Agent-Task: claude-code/cloud/session_01BQpR15vEqLoFoMKRRFypEW

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BQpR15vEqLoFoMKRRFypEW

* Show Bot banners in the Marketplace

The Marketplace Worker reads `banner` from .botharness/bot.json: a pixel
scene recipe is served as is, an uploaded image as a raw GitHub URL at
the indexed commit. The plugin's Marketplace list shows a banner
thumbnail on each row and the detail view a full banner, with a neutral
placeholder when a Bot has none. The Host only accepts scene recipes it
knows and raw.githubusercontent.com images.

Issue: #1093
Agent-Task: claude-code/cloud/session_01BQpR15vEqLoFoMKRRFypEW

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BQpR15vEqLoFoMKRRFypEW

* docs: add the share-bot banner guide images

The banner section of docs/share-bot references
/guides/share-bot/05-banner-{zh,en}.webp; the site's docs sync copies
them from apps/docs/public/guides.

Issue: #1093
Agent-Task: claude-code/cloud/session_01BQpR15vEqLoFoMKRRFypEW

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BQpR15vEqLoFoMKRRFypEW

* docs(pr): #1093 site screenshots

Issue: #1093
Agent-Task: claude-code/cloud/session_01BQpR15vEqLoFoMKRRFypEW

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BQpR15vEqLoFoMKRRFypEW

* fix(client): show the empty banner strip when a banner image fails

Issue: #1093
Agent-Task: claude-code/cloud/session_01BQpR15vEqLoFoMKRRFypEW

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BQpR15vEqLoFoMKRRFypEW

* fix(client): give the Marketplace banner placeholder a fill in the modal

The Marketplace modal renders outside .bh-root, where --bh-hover is
undefined; use the DSW token directly. Also describe the PR screenshots
in their alt text.

Issue: #1093
Agent-Task: claude-code/cloud/session_01BQpR15vEqLoFoMKRRFypEW

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BQpR15vEqLoFoMKRRFypEW

* Turn Marketplace entries into Bot ID cards

Each Marketplace entry is a card in credit-card proportions: the Profile
banner fills it, the Bot stands at the bottom left as it does when pinned
to the window, and the name, repository, tags, bio, stars and Install sit
on a token gradient on the right. The detail view opens with the same
banner and standing Bot. The modal widens to show two cards per row.

Agent-Task: claude-code/cloud/session_01BQpR15vEqLoFoMKRRFypEW

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BQpR15vEqLoFoMKRRFypEW

* docs(changelog): Marketplace Bot cards

Agent-Task: claude-code/cloud/session_01BQpR15vEqLoFoMKRRFypEW

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BQpR15vEqLoFoMKRRFypEW

* Lay Marketplace cards out as profile cards

The ID-card layout read as busy. Cards now put the banner on top with the
Bot's avatar half over its lower edge, the name, repository and Install
beside the avatar, a two-line bio, and tags, stars and update date on one
line, so each card takes less height. The detail header follows the same
layout.

Issue: https://github.com/BotHarness/BotHarness/pull/1232
Agent-Task: claude-code/cloud/session_01BQpR15vEqLoFoMKRRFypEW
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BQpR15vEqLoFoMKRRFypEW

* docs(changelog): archive Unreleased as 1.2.0

Moves the Unreleased Release Ledger entries under 1.2.0 with a release
summary in both languages, and adds v1.2.0 to the docs changelog page test.

Agent-Task: claude-code/cloud/session_01BQpR15vEqLoFoMKRRFypEW
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BQpR15vEqLoFoMKRRFypEW

* docs(changelog): keep the 1.2.0 page buildable

The release page is rendered as MDX, where `{time}` in the purge-label
entry is a JS expression; put the label in inline code. The changelog
surfaces test now expects the 1.2.0 RSS item and the home page link to
the latest release.

Agent-Task: claude-code/cloud/session_01BQpR15vEqLoFoMKRRFypEW
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BQpR15vEqLoFoMKRRFypEW

---------

Co-authored-by: Claude <noreply@anthropic.com>
Assets 2
Loading