openvibers/openvibe.quest CHANGELOG.md

CHANGELOG.md

main 4.2 KB · 54 lines · markdown

1# Changelog
2
3## Unreleased
4
5- Pin the released Contracts 0.406.0, SDK 0.148.0 and Shared 4.209.0 libraries for guided quests.
6- Let the owning site's verified service report an opaque guided step by source event id, with idempotent progress; allow the DNS tool's guide preflight and exclude Meme from daily choices until its event feed is enabled.
7- Count public Meme captions without their content, add the caption maker and Video upload controls to guided daily choices, and order personal steps from easier to harder.
8- Address Chat's public composer and the DNS tool from the personal catalogue; keep Wiki edits and world publishing out of automatic choices until the person has permission or a draft.
9- Catalogue Live's seventeen individually guided setup tasks, and count only the matching task event for each step.
10- Keep personalized AI wording off until the person records an explicit choice and language; choose only guided step kinds for that person.
11- Give guided picture, thread and calendar steps opaque per-person links and an authenticated step reader for the host page.
12- Let a channel owner save a quest made from guided catalogue steps through a default-off API.
13- Add the authenticated, network-origin CORS reader `GET /api/v1/quests/today`; keep progress private to its person.
14
15What changed in OpenVibe.Quest, newest first. Each site also publishes its patch notes at /updates.
16
17## 0.3.0 — 2026-10-09
18
19- **Item rewards** (plan T21): six quests also give one of Live's items for the person's OpenVibe.Inventory: say hello
20 in chat (Sparkle), follow someone (Hearts), go live (Basic Cap), stream three times (Fire Name), start a thread (Ice
21 Name), improve a wiki page (Rainbow Name).
22 - **How:** `server/quests/items.js` grants each in Inventory after the completion commits, with Quest's own token,
23 origin `earned` and the completion id as the idempotency key.
24 - **Failures:** a failed grant is recorded (`migrations/0004_item_rewards.sql`) and retried by a timer, which also
25 reaches completions from before this release.
26 - **Pages:** the quest pages, `/me` and `/api/v1/quests` name the item.
27
28## 0.2.0 — 2026-10-08
29
30- **The product.** One quest log across the whole network:
31 - a catalog of 12 first-party quests in code (`server/quests/catalog.js`), grouped by the site whose events each
32 one counts, each with a badge and OpenCoins;
33 - `POST /internal/events` (`server/events-consumer.js`), exactly as OpenVibe.Space does it — raw body, signature
34 v2, the `openvibe-sdk` inbox for once-only application, forwarding headers refused, 503 without
35 `QUEST_EVENTS_SECRET` — with the person taken from the field each event's own schema defines
36 (`server/quests/apply.js`) and an ignored outcome for anything that names nobody Quest may credit;
37 - `quest_progress`, `quest_completions`, `quest_badges` and the Events receipts (`migrations/0002_quest.sql`), all
38 keyed by the canonical subject and safe under a redelivery;
39 - OpenCoins through OpenVibe.Network's wallet (`server/quests/coins.js`): `idempotency_key` is the completion id,
40 `QUEST_COINS` is off by default, per-person and network-wide daily caps, a failure recorded with its reason and
41 retried by a timer;
42 - the API: `GET /api/v1/quests`, `/quests/:id`, `/me/quests`, `/profiles/:subject/badges`;
43 - pages: home, a quest, your quest log (plain `<progress>` bars), the rules, and a sitemap that lists every quest
44 page — all server-rendered and complete without JavaScript;
45 - the test suite grew two files: `test/events-consumer.test.js` and `test/quests-api.test.js`, and the mock
46 Network now serves `/internal/identity/resolve` and `/internal/coins/credit` the way Network checks them.
47- The home page grew by about 9 KB with the catalog and the event list; the perf budget was raised to match
48 (`test/perf-budget.test.js`, measured 34.0 KB raw / 7.7 KB brotli).
49- nginx: `/internal/` is answered 404 from outside; Events posts to the loopback address directly.
50
51## 0.1.0 — 2026-10-08
52
53- **First release:** the service starts from the OpenVibe skeleton — sign-in with OpenVibe.Network (OAuth 2 + PKCE), server-rendered pages through the OpenVibe Frame, the `/api/v1` mount with per-caller limits, crawl artifacts, PostgreSQL migrations, the deploy files and the test suite.
54