RainbowBird
f2cf395fd2
docs(server): update ai-context
2026-05-08 22:21:31 +08:00
RainbowBird
abd37dd96e
fix(docker): enhance server-schema build process with error handling
2026-05-08 21:59:36 +08:00
RainbowBird
54b0af0a08
chore(stage-pages): resolve type
2026-05-08 21:34:11 +08:00
RainbowBird
f8d1fa7a64
refactor(server): drop redis stream + worker role ( #1792 )
...
The Redis Stream `billing-events` + `worker` Railway role +
advisory-lock poller layered together didn't actually buy us reliability
— `debitFlux` swallowed XADD failures, leaving the door open to "balance
updated, ledger row never written". Collapse the whole thing back to:
`creditFlux` and `debitFlux` write `flux_transaction` ledger rows inline
within the same DB transaction that mutates `user_flux`, and `(user_id,
request_id)` remains the partial unique index that keeps retries safe.
Concrete changes:
- Inline ledger inserts in `BillingService.{debitFlux, creditFlux,
creditFluxFromStripeCheckout, creditFluxFromInvoice}`; drop `billingMq`
and `publishEvent` plumbing entirely.
- `routes/openai/v1` writes `llm_request_log` synchronously via the
existing `requestLogService`; the duplicate `llm-request-log.ts` service
module is removed.
- `bin/run-worker.ts`, `libs/mq/*`,
`services/billing/billing-events.ts`,
`services/billing/billing-consumer-handler.ts`, and matching tests are
deleted. CLI now exposes only `api`.
- `BILLING_EVENTS_*` env vars and the `DEFAULT_BILLING_EVENTS_STREAM`
helper are dropped; `docker-compose.yml` no longer ships a worker
service.
- `docs/ai-context/{workers-and-runtime, billing-architecture,
redis-boundaries-and-pubsub, data-model-and-state,
architecture-overview, README}.md`, `CLAUDE.md`, and the existing
verification docs are updated to describe the single-process synchronous
pipeline.
Tests: 29 files / 247 cases pass. Production deployments need to drop
the worker Railway service after this lands.
2026-05-08 21:14:01 +08:00
hahaqwq
eba047328a
revert(server): remove .well-known/assetlinks.json (revert #1772 ) ( #1789 )
2026-05-08 21:14:01 +08:00
RainbowBird
99956014fa
feat(server): admin api ( #1788 )
2026-05-08 21:14:00 +08:00
RainbowBird
d0e2b450cd
feat(stage-ui): chat sync ( #1775 )
2026-05-08 21:14:00 +08:00
hahaqwq and RainbowBird
ae8552695b
feat(server): add .well-known/assetlinks.json for Android deeplinks ( #1772 )
...
Co-authored-by: RainbowBird <rbxin2003@outlook.com >
2026-05-08 21:14:00 +08:00
RainbowBird
9d6d99192c
feat(auth): enhance token refresh handling and clear auth state on errors
2026-05-08 21:14:00 +08:00
Neko Ayaka
13566667e1
fix(stage-ui): error item should fit content width, reasoing should not have pt
2026-05-08 21:10:32 +08:00
hahaqwq
4ecd51076d
fix(stage-pocket,stage-server): correct Android deep link scheme ( #1794 )
2026-05-08 20:48:55 +08:00
github-actions[bot] and Crowdin Bot
bbaf0c99f6
chore(i18n): update translations ( #1790 )
...
This PR contains updated translations from Crowdin. Created from [GitHub
Actions](https://github.com/moeru-ai/airi/blob/main/.github/workflows/crowdin-cron-sync.yml ).
You can review the source of translations
[here](https://crowdin.com/project/proj-airi )
Co-authored-by: Crowdin Bot <support+bot@crowdin.com >
2026-05-08 20:26:49 +08:00
hahaqwq
ef54ce0c7c
feat(stage-pocket,stage-server): support Android deep link for official server login ( #1786 )
2026-05-08 18:38:03 +08:00
Neko Ayaka
37433b98a2
refactor(stage-ui): new structure for models, services, stores
2026-05-08 17:03:46 +08:00
Neko Ayaka
34e34728c9
chore(.agent/skills): updated release-note-writer
2026-05-08 03:10:49 +08:00
Neko Ayaka
1d5c126367
chore(.agent/skills): added release-note-writer
2026-05-07 20:23:19 +08:00
Neko Ayaka
6d61699d10
release: v0.10.2
2026-05-07 19:36:33 +08:00
Neko Ayaka and Lovehsigure_520
e86ee2f135
fix(stage-tamagotchi): should register handlers before window load
...
Co-authored-by: Lovehsigure_520 <62863834+Neko-233@users.noreply.github.com >
2026-05-07 18:57:56 +08:00
Neko Ayaka
99bb1eaddd
test: migrate more test into browser mode, fix all existing tests
2026-05-07 18:48:39 +08:00
Neko Ayaka
831ca9e958
chore(AGENTS.md): updated
2026-05-07 17:30:15 +08:00
Neko Ayaka
ef60c157dc
fix(stage-ui): staled loaded model, desync character card model selection
2026-05-07 17:27:34 +08:00
Neko Ayaka
35c3471ecd
fix(stage-tamagotchi): plugin tools should have faster fail
2026-05-07 16:01:08 +08:00
Ryan Lei
39b119641f
chore(i18n): add zh-Hans translations for scenes settings ( #1784 )
2026-05-07 14:38:24 +08:00
Neko Ayaka
8e691cfc13
feat(airi-screenshot): added
2026-05-06 17:33:34 +08:00
Neko Ayaka
cbbe1c9810
chore(AGENTS.md): updated
2026-05-06 17:33:34 +08:00
DrHuangMHT
85627d34ad
feat(stage-*): allow setting character offset in landscape ( #1696 )
2026-05-06 17:04:18 +08:00
Sambhram
33cd61111f
fix(stage-ui): expose silence duration and correct threshold display ( #1774 )
2026-05-06 17:02:30 +08:00
github-actions[bot]
abc4341525
chore(i18n): update translations ( #1781 )
2026-05-06 17:01:46 +08:00
RainbowBird
10c6e22cca
chore: disable gemini review
2026-05-06 12:54:36 +08:00
gaoyiman
48d52a2dbd
feat(stage-ui): add ARK chat providers ( #1670 )
2026-05-06 03:45:46 +08:00
Doji
81dbd71c31
feat(stage-tamagotchi,stage-ui): rewrite mcp server settings page and normalize tool registration ( #1722 )
2026-05-06 03:39:50 +08:00
kmiit
5205f369bc
feat(providers): add Xiaomi Mimo ( #1760 )
2026-05-06 03:39:10 +08:00
felix tremblay
e50e140a70
feat(stage-ui,core-agent): show reasoning-delta events for thinking models ( #1770 )
2026-05-06 03:38:17 +08:00
hahaqwq
c6e2f727d6
fix(stage-ui): add missing translations ( #1773 )
2026-05-06 03:37:24 +08:00
icefair
1e80470f02
chore(docs): new updated manual for setup and use ( #1776 )
2026-05-06 03:36:57 +08:00
Neko Ayaka
faf13b9a08
chore(AGENTS.md): updated
2026-05-06 02:25:15 +08:00
Neko Ayaka
6dd370433a
release: v0.10.1
2026-05-05 14:10:55 +08:00
Neko Ayaka
a9ed0c180c
fix(stage-ui): rollback to previous implementation of model selector
2026-05-05 04:17:17 +08:00
Neko Ayaka
8a88d233f2
refactor(server-runtime): split modules
2026-05-05 02:30:45 +08:00
RainbowBird
40284514d4
fix(stage-*): isDev constant
2026-05-04 20:04:24 +08:00
RainbowBird
7edfa4291e
chore(stage-*): only show status-island in dev mode
2026-05-04 19:56:59 +08:00
RainbowBird
250e7e2eb0
chore(pocket): exclude build and public folder in tsconfig
2026-05-04 19:47:38 +08:00
github-actions[bot] and Crowdin Bot
de9bc52f75
chore(i18n): update translations ( #1771 )
...
This PR contains updated translations from Crowdin. Created from [GitHub
Actions](https://github.com/moeru-ai/airi/blob/main/.github/workflows/crowdin-cron-sync.yml ).
You can review the source of translations
[here](https://crowdin.com/project/proj-airi )
Co-authored-by: Crowdin Bot <support+bot@crowdin.com >
2026-05-04 13:39:50 +08:00
Ryanba
a5d45bdd77
fix(server-runtime): preserve explicit empty data destinations ( #1635 )
2026-05-04 06:40:13 +08:00
Pratyush Sharma
af9c0203e7
fix(stage-ui): auto-degrade content arrays for strict providers ( #1740 )
2026-05-04 06:38:33 +08:00
刘梓恒
8239e290bf
fix(stage-tamagotchi): add macOS cursor restore discipline ( #1754 )
2026-05-04 06:38:05 +08:00
Weathercold
d9dd2862e9
chore(ci): Remove CI concurrency group & small fixes ( #1758 )
...
## Description
<!-- Please insert your description here and especially provide info
about the "what" this PR is solving -->
It has no effect. The actions are run in parallel anyway. They have been
previously updated to not fail when run in parallel.
## Linked Issues
<!-- Optional, if you have any -->
## Additional Context
<!-- e.g. is there anything you'd like reviewers to focus on? -->
2026-05-04 06:37:35 +08:00
Neko Ayaka
ca722f69b7
release: v0.10.0
2026-05-03 23:17:03 +08:00
github-actions[bot] and Crowdin Bot
ce9b808b5f
chore(i18n): update translations ( #1767 )
...
This PR contains updated translations from Crowdin. Created from [GitHub
Actions](https://github.com/moeru-ai/airi/blob/main/.github/workflows/crowdin-cron-sync.yml ).
You can review the source of translations
[here](https://crowdin.com/project/proj-airi )
Co-authored-by: Crowdin Bot <support+bot@crowdin.com >
2026-05-03 16:33:49 +08:00
Neko Ayaka
d7baaa8dc2
fix(docs): missing handle of invalid date
2026-05-02 23:34:07 +08:00