Skip to content

chore: resolve PR conflicts with main - #15

Open
fennoai[bot] wants to merge 11 commits into
feat/359-invite-rewards-ui-cleanfrom
fennoai/pr-362
Open

chore: resolve PR conflicts with main#15
fennoai[bot] wants to merge 11 commits into
feat/359-invite-rewards-ui-cleanfrom
fennoai/pr-362

Conversation

@fennoai

@fennoai fennoai Bot commented Aug 18, 2026

Copy link
Copy Markdown

Requested by @huyanxius

Summary

  • merge the latest upstream main into the PR head
  • resolve quota configuration conflicts using the current main defaults and invite settings
  • preserve the invite reward amount at 200 and the latest invite limits

huyanxius and others added 2 commits August 18, 2026 10:44
* docs(readme): present live product access

The repository landing page still describes internal MS2 and MS3 milestones.

Present the live registration entry, current capabilities, supported setup, and CI commands.

Visitors can evaluate Windup and contributors can start from current repository facts.

* docs(readme): align launch tagline

The README still uses the previous asset-delivery slogan.

Replace it with the tagline already used on the product page.

The repository and live page now share the same launch message.

* docs(readme): add character journey hero

The README header lacks the visual story used on the product page.

Add a transparent, README-cropped character journey illustration beneath the live status.

The repository landing now connects the brand promise to the asset progression.

* docs(readme): tighten character journey hero

The README hero left excessive transparent space between launch status and artwork.

Crop the existing character journey asset to a compact 1536 by 440 canvas.

The GitHub preview keeps the full narrative while reducing vertical whitespace.

* docs(readme): clarify registration availability

Make the public access status explicit for visitors.

Update the launch line to state that registration is now open.

Keep the README aligned with the current product announcement.

* docs(readme): add project status badges

The public README now represents a live product and should expose current health signals.

Add deployment, frontend CI, backend CI, coverage, and license badges in one centered row.

Visitors can inspect project status without displacing the primary product links.

* docs(readme): refine status badges

The badge row should communicate product access without redundant repository metadata.

Label the availability badge with windup.xin and remove the license badge.

The header now presents a shorter and more direct status summary.
huyanxius and others added 8 commits August 18, 2026 11:01
* feat(quick-start): present style directions without role examples

The entry paired the style cards with two named role pills, which read as ready-made characters rather than prompt seeds.

Remove the shortcut list and its pill row so the entry offers style direction only.

The entry now asks for a description instead of implying a catalog of existing assets.

* feat(quick-start): tighten the entry composer to a single line

The entry composer had grown into a two-row textarea, standing taller than the single-line composer the conversation view hands off to.

Restore the single-line input and move the focused state onto a dedicated shadow token instead of leaving focus as a border-only cue.

Both composers now share one height, and focusing the entry reads as a change in elevation.

* test(quick-start): cover the single-line entry composer

The entry assertions still described the two-row textarea and the retired role-example shortcuts.

Retarget the input assertions and add cases for the single-line composer and for the shortcuts staying absent.

A silent return to either shape now fails the suite instead of drifting unnoticed.
* fix(frontend): 处理 WorkflowRun 乐观锁冲突

* fix(frontend): reconcile workflow asset conflicts

* test(frontend): cover workflow conflict reconciliation

* test(frontend): decouple conflict test from call count

* fix(frontend): preserve workflow setup draft during upload

* test(frontend): cover conflict cleanup paths

* fix(frontend): harden workflow conflict recovery

* test(frontend): cover workflow recovery failures

* refactor(frontend): simplify workflow editor orchestration

* test(frontend): cover late workflow session cleanup
attack.md 拆成 sweep/thrust/project/lunge × side/front 八节,去掉 crescent /
broad side 这类形状先验 —— 它们等于断言角色手握一件有宽面的长条物,喂法杖 /
空手 / 四足角色时模型会凭空补出那件东西(1024XEngineer#195 只清了装备名词,没清形状先验)。

build_attack_prompt 新增 archetype(默认 THRUST,SWEEP 是唯一要求持有长条物的
一支),ActionSpec 加同名字段并对非攻击动作拒收;母版姿态同步分四支。
构图约束抽到 _framing 由代码统一追加到五个动作,只写正向计数句。

Refs 1024XEngineer#310

Co-authored-by: johnnyzhang-eng <johnnyzhang-eng@users.noreply.github.com>
* feat(workspace): add invite reward hint

Users may not discover invite rewards from the account center without a contextual entry point.

Show a restrained account-adjacent hint once per login session, dismiss it on account-menu open or close, and expire it after fifteen seconds.

Clear the session marker on logout so the next login can discover the reward again.

* docs(workspace): add invite hint screenshots

Reviewers need stable visual evidence for the contextual invitation entry point.

Add desktop and mobile captures of the account-adjacent reward hint from the local workspace.

Keep both responsive states available for direct PR review.

* fix(workspace): bind invite hint to login session

Acceptance found that route changes could repeat the hint and non-header logout paths could suppress it on the next login.

Mark the hint as seen when shown, clear the marker for every guest transition, and link directly to the invite section.

Cover timeout, close, route changes, external logout, and responsive evidence format.

* fix(auth): clear session-scoped invite hint

Protected routes can unmount the header before a guest-state effect clears the invite hint marker.

Move session-scoped storage cleanup into the shared authentication teardown used by logout, expiry, password changes, and cross-tab logout.

Replace the header-only false positive with provider-level lifecycle coverage.

* test(auth): cover session marker cleanup

The session-scoped storage boundary must preserve unrelated preferences and tolerate unavailable browser storage.

Cover prefixed-key removal, null storage, and storage access failures directly.

Raise patch coverage for the lifecycle fix without broadening production behavior.

* Merge pull request #14 from huyanxius/fennoai/pr-363-remove-images-20260818

chore(workspace): remove invite hint screenshots

---------

Co-authored-by: fennoai[bot] <231223108+fennoai[bot]@users.noreply.github.com>
…gineer#358)

Quick Start built the character name from the first 32 characters of the prompt, but CharacterCreate.name accepts at most 20, so confirming a character template failed for any prompt longer than 20 characters.

Drop the name from the create payload and let the backend derive it from the description, matching what workflow-editor already does.

Long prompts now finish character creation, and the backend naming added in 1024XEngineer#329 becomes reachable from Quick Start.
Co-authored-by: huyanxius <178478063+huyanxius@users.noreply.github.com>
* feat(auth): 用邀请码重新开放注册

公开注册仍关闭自动建号,改为邀请码门槛,并补齐查看、轮换和补填邀请码接口。

Closes 1024XEngineer#355

* test: 补齐邀请码注册与兑换的失败路径覆盖

覆盖空邀请码、发码碰撞、兑换接口以及账号中心邀请码加载/生成失败。

* fix(account): 兑换邀请码后刷新积分余额和流水

兑换成功只改了提示,同页余额与流水会停在旧数据。

* revert(frontend): 把邀请码 UI 交还给账号中心与工作台 PR

邀请奖励页和工作台提示已分别由 1024XEngineer#3621024XEngineer#363 承担,本 PR 只保留后端接口与 OpenAPI。

* fix(quota): 轮换邀请码加行锁,重复兑换改为业务错误

冷启动不加兑换次数上限。并发轮换用 FOR UPDATE 串行化;invitee 唯一约束冲突返回已填写过邀请码。邀请双方奖励默认改为 200,与账号中心 PR 对齐。

* fix(auth): 邀请码校验对齐邀请链接字符集

注册不再返回「请填写邀请码」:前端从链接传入 invite_code,空码和非法字符统一为邀请码无效。

* feat(auth): 邀请码选填,验证码登录可建号

注册无邀请码只发注册赠送;有有效邀请码再发双方奖励。login-by-code 对未知邮箱建号。注册赠送默认改为 300,邀请奖励保持 200。

* feat(auth): 邀请码仅注册可用,改为 TTL 与只增不删

去掉登录后补填;邀请码 30 天过期,轮换插入新行并截断旧码有效期。

* feat(quota): 邀请人每日最多 3 次邀请奖励

未过期邀请码仍可继续被使用并写入关系;邀请人每个 UTC 日最多入账 600 分,超出只跳过邀请人奖励。

* chore(openapi): 按导出脚本排序 InviteCodeOut 字段
@fennoai fennoai Bot changed the title chore: remove invite reward previews chore: resolve PR conflicts with main Aug 18, 2026
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.

4 participants