release: promote develop → main (v0.11.0)#965
Merged
Conversation
chore: sync main → develop after v0.10.2
…and reaches Mongo cursor.limit
…romotion) (#944) * test(web): pin clock in UsagePullsCard frame-commit tests (#943) The two frame-commit-guard tests hardcoded 2026-06-05 fixture buckets, but UsagePullsCard derives its visible window from `now` (rangeFor → hour = last 24h) and rowsFor only sums fixtures inside that window. Once the calendar moved past the fixtures, every bucket padded to 0, the totals strip read 0/0/0, and getByText("4") threw — a time-bomb that passed on the authoring day and went red a day later, blocking the #942 promotion and every develop-auto PR. Pin the clock with vi.useFakeTimers({ toFake: ["Date"] }) + setSystemTime so the now-relative window deterministically contains the fixtures. Faking only Date leaves React/recharts timer scheduling untouched. Verified isolated + full suite, across TZ=UTC / Asia/Singapore / America/New_York, and on the #942 merged tree. * docs: changeset for #943 Test-only fix (no shipped behaviour change) — empty changeset. --------- Co-authored-by: chronoai-shining <shiningwn@outlook.com>
chore: sync develop (v0.10.1/v0.10.2 releases) into develop-auto
chore: promote /auto code-quality run → develop (restore CI parity)
Structural data for the landing lifecycle ring: the eight agent-facing stages in sequence (id, order, line icon, accent voice, CTA route), plus stroke line icons. Human copy lives in i18n and node geometry derives from `order`, so this stays a pure, decoupled data module.
Agent-first copy for the eight lifecycle stages (name / title / body / endpoint hint / CTA) plus the hub strings, under `landing.lifecycle`. EN and ZH mirror each other key-for-key.
Forge-style ring styling + motion: comet orbit, comet-synced travelling node pulse, activation ripple ping, flowing connector, counter-rotating inner ring. Re-pins the consumed tokens to a fixed dark context (the hero video is dark in BOTH themes) and adds a localized scrim for legibility. All motion is gated by prefers-reduced-motion.
Interactive ring overlaid on the looping hero video. Eight stages around a hairline circle; hover / focus / tap reveals a centre detail card (agent-API hint + CTA) and closes on leave / blur / tap-outside. The layer is pointer-events-none except the nodes and active card, so the video and the CTA plate stay interactive. Self-assembling entrance (ring draws, nodes stagger in, comet fades up). Mounted in HeroVideo. Colocated test covers the disclosure behaviour (open on hover/focus/tap, switch, tap-outside close).
Move the dynamic announcement popup from a centred, page-dimming modal to a non-blocking top-right notification card so it no longer covers the hero / lifecycle ring. Drops the full-screen backdrop (pointer-events-none wrapper + pointer-events-auto card); closes via the X button or Escape. Slides in from the right. Drops the now-inaccurate aria-modal.
Re-anchor the hardcoded launch popup to the top-right (non-blocking, no page-dimming backdrop) and compact it: tighter section spacing, smaller offer numerals, smaller padding, and a shorter max-height (82vh -> 64vh) so it no longer spans the viewport. Launch content is unchanged; overflow scrolls within the card.
Minor bump: landing skill-lifecycle ring + top-right non-blocking popups.
…dulo bias + SDK ReDoS regex)
…box tool when the LLM provider uses chat-completion format
…d Skill Detail URL sends the skill name to a GUID-only backend route
…ropdown still renders a stale notification list
A collapsed top-right 'headline pill' that expands on hover/focus/tap into a dismissable stack. Aggregates the hardcoded launch announcement (pinned) with all dynamic announcements from usePublicAnnouncements(), newest first. Each item persists its dismissal in localStorage; the banner renders nothing once everything is dismissed. Solid card surfaces so it stays legible over the dark hero video and on light/dark app pages alike. Open-only on click so the emulated mouseenter on tap can't slam it shut on touch.
…949) Mount AnnouncementBanner in AnalyticsRoot so it appears on every page (not just the landing). Remove the centred AnnouncementPopup + LaunchCelebrationPopup from LandingPage and delete them — the banner subsumes both: the hardcoded launch content moves into the banner's condensed launch card, and dynamic announcements render as banner items. Net effect: one global, dismissable announcement surface instead of two landing-only modals.
…inese mode after the #682 localization fix
…e-ring feat(web): skill-lifecycle orbital ring on the landing hero
Promotes 9 verified bug fixes from develop-auto: #632 ZIP-bomb caps · #757 CodeQL modulo-bias+ReDoS · #766 playground abort quota · #608 chat-completion tool_calls · #750 version-delete GUID routing · #751 notification dropdown refetch · #940 deleted-skill 404 · #941 My-Skills count refresh · #752 timestamp i18n. Cumulative suite green on the merged tree (ornn-api 1656 pass, ornn-web 337 pass, typechecks clean); each PR was CI-green at merge and acceptance criteria re-verified. #803/#805 (NyxID identity verification) intentionally NOT included — escalated to #948 for a human/NyxID trust-model decision.
…velop chore: promote verified bug-fix run (9 fixes) → develop
Dated release-notes file for the v0.11.0 develop → main promotion: 9 bug fixes + the #949 announcement-banner / skill-lifecycle-ring web features + the code-quality run (technical). Empty changeset so check-changeset passes on this docs-only PR. Co-authored-by: chronoai-shining <shiningwn@outlook.com>
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.
Closes #963.
Step 1 of the release procedure: promote develop → main to cut v0.11.0 (minor —
ornn-webfrom the #949 web features; from v0.10.2).Carries since the last release: the 9 bug fixes (#632 #757 #766 #608 #750 #751 #940 #941 #752), earlier fixes (#3360954 notifications NaN-limit, #eb93d06 admin-users 400), the #949 global announcement banner + skill-lifecycle landing ring, the /auto code-quality run (coverage/lint/CI floor), and the dated release-notes file (.github/release-notes-20260609.md).
On merge, the changeset-release workflow consumes the 35 pending changesets, opens
release/v0.11.0 → main(version bump), then tags + publishes the GitHub Release + syncs back to develop.Merge as a merge commit (regular develop → main promotion).