Skip to content

release: promote develop → main (v0.11.0)#965

Merged
chronoai-shining merged 51 commits into
mainfrom
develop
Jun 9, 2026
Merged

release: promote develop → main (v0.11.0)#965
chronoai-shining merged 51 commits into
mainfrom
develop

Conversation

@chronoai-shining

Copy link
Copy Markdown
Collaborator

Closes #963.

Step 1 of the release procedure: promote develop → main to cut v0.11.0 (minor — ornn-web from 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).

chronoai-shining and others added 30 commits June 5, 2026 15:04
chore: sync main → develop after v0.10.2
…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.
chronoai-shining and others added 21 commits June 8, 2026 16:34
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.
…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.
…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>
@chronoai-shining chronoai-shining merged commit 1e9829e into main Jun 9, 2026
20 checks passed
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