Commit Graph
3746 Commits
Author SHA1 Message Date
github-actions[bot]andCrowdin Bot 24cc7a3e12 chore(i18n): update translations (#1799)
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-09 20:08:32 +08:00
DrHuangMHT 24da875aa6 refactor(stage-*): improve transcription UX and DX (#1685) 2026-05-09 19:09:39 +08:00
Neko Ayaka 06ab58408b chore(cspell): updated 2026-05-09 03:42:46 +08:00
Neko Ayaka 7bc3781ee2 fix(stage-tamagotchi): missing bridge for spark:notify 2026-05-09 03:42:45 +08:00
RainbowBird 9d2d43855c refactor(chat): update datetime prefixing logic for user messages and improve formatting 2026-05-09 00:38:50 +08:00
RainbowBird fdaf98b076 fix(server/otel): move HttpInstrumentation registration to NodeSDK config for proper metrics handling 2026-05-09 00:35:53 +08:00
RainbowBird fe59f91c84 refactor(server/flux): replace UpDownCounter with ObservableGauge for WebSocket connections
- Updated the EngagementMetrics interface to use ObservableGauge for tracking active WebSocket connections.
- Added detailed comments explaining the rationale for this change, highlighting the benefits of using a pull-based gauge over a delta-based counter.
- Implemented the ObservableGauge in the createChatWsHandlers function, ensuring it accurately reflects the live count of active connections.
- Removed the previous UpDownCounter logic to prevent issues with connection drift during process crashes or network interruptions.
2026-05-09 00:23:02 +08:00
RainbowBird 917450fdfb feat(server/otel): enhance observability with new metrics for email, rate limiting, and billing
- Added new metrics for email service including send, failures, and duration tracking.
- Introduced rate limit metrics to monitor blocked requests and improve abuse detection.
- Enhanced billing metrics to track credited and unbilled flux, as well as TTS character processing.
- Updated OpenAI and Stripe routes to utilize new metrics for better revenue tracking and rate limiting.
- Implemented a smoke test for OpenTelemetry metrics registration to ensure visibility at startup.
2026-05-08 23:35:38 +08:00
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
hahaqwqandRainbowBird 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]andCrowdin 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 AyakaandLovehsigure_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