v0.4.22

moeru-ai/airiv0.4.22Apr 7, 2025by nekomeowww

AI Summary

A major UI overhaul featuring a motion mapping editor, theme customization, and Twitter integration, along with file system support via Drizzle and DuckDB-WASM.

Key Highlights

  • Implemented motion mapping editor
  • Added custom primary colors and theme presets
  • Twitter services integration (timeline, profile, tweet)
  • File system support with Drizzle and DuckDB-WASM

Breaking Changes

  • Switched from typeschema/providers to xsschema/ext-providers

New Features

  • Motion mapping editor
  • Custom colors and theme presets
  • Twitter integration
  • File system support
  • Storyboard integration

Full Release Notes

## What's Changed

* fix(duckdb): try fix typecheck by @LemonNekoGH in https://github.com/moeru-ai/airi/pull/39
* chore(workspace): use yaml anchors for catalog version by @kwaa in https://github.com/moeru-ai/airi/pull/40
* feat(stage-web): load and save live2d model by @LemonNekoGH in https://github.com/moeru-ai/airi/pull/41
* style: rebrand with newly designed logo by @nekomeowww in https://github.com/moeru-ai/airi/pull/44
* feat: x services by @luoling8192 in https://github.com/moeru-ai/airi/pull/43
* refactor(stage-ui): motion mapping editor by @LemonNekoGH in https://github.com/moeru-ai/airi/pull/45
* fix(stage-ui): type errors in Stage.vue by @junkwarrior87 in https://github.com/moeru-ai/airi/pull/46
* chore(deps): bump xsai  to 0.1.2 by @kwaa in https://github.com/moeru-ai/airi/pull/47
* docs: fix a code error in DevLog-2025.03.05 by @LittleSound in https://github.com/moeru-ai/airi/pull/48
* fix(locales): fix prompt line break by @kwaa in https://github.com/moeru-ai/airi/pull/49
* refactor!: use xsschema/ext-providers instead of typeschema/providers by @kwaa in https://github.com/moeru-ai/airi/pull/50
* feat(stage-web): add dotted background to settings buttons by @sumimakito in https://github.com/moeru-ai/airi/pull/51
* fix(stage-web): add back button to settings root by @sumimakito in https://github.com/moeru-ai/airi/pull/52
* fix(stage-web): wave animation by @sumimakito in https://github.com/moeru-ai/airi/pull/54
* feat(stage): custom primary colors by @LemonNekoGH in https://github.com/moeru-ai/airi/pull/53
* perf: use nolyfill to reduce install size by @kwaa in https://github.com/moeru-ai/airi/pull/56
* perf: use feaxios instead of axios by @kwaa in https://github.com/moeru-ai/airi/pull/57
* refactor(stage-web): eliminate the need of raf and use pure css by @junkwarrior87 in https://github.com/moeru-ai/airi/pull/55
* fix(stage-web): language select is not clickable by @junkwarrior87 in https://github.com/moeru-ai/airi/pull/58
* feat(stage-web): make the color theme slider more intuitive by @junkwarrior87 in https://github.com/moeru-ai/airi/pull/59
* fix(stage-web): text colors by @junkwarrior87 in https://github.com/moeru-ai/airi/pull/60
* feat(stage-web): make the logo also follow the color theme by @junkwarrior87 in https://github.com/moeru-ai/airi/pull/61
* chore(stage-web): make the live2d shadow also follow theme color by @LemonNekoGH in https://github.com/moeru-ai/airi/pull/63
* feat(stage-web): I Want It Dynamic! by @junkwarrior87 in https://github.com/moeru-ai/airi/pull/64
* refactor(stage-web): eliminate the need for resize check by @junkwarrior87 in https://github.com/moeru-ai/airi/pull/65
* fix(ui-transitions): the outermost div should be fixed by @junkwarrior87 in https://github.com/moeru-ai/airi/pull/66
* chore(stage-web): make the buttons follow the color scheme by @junkwarrior87 in https://github.com/moeru-ai/airi/pull/67
* fix(docs): absolute path should not include by @nekomeowww in https://github.com/moeru-ai/airi/pull/68
* feat(stage-tamagotchi): apply dynamic theme color to tamagotchi by @LemonNekoGH in https://github.com/moeru-ai/airi/pull/69
* feat(stage-ui): integrate histoire storyboard by @sumimakito in https://github.com/moeru-ai/airi/pull/70
* docs(README.zh-CN.md): update zh-CN document, changed some infml uses… by @qyl27 in https://github.com/moeru-ai/airi/pull/71
* fix(stage-web): fix textarea behaviors by @junkwarrior87 in https://github.com/moeru-ai/airi/pull/72
* fix(stage-ui): unspeech voice id by @luoling8192 in https://github.com/moeru-ai/airi/pull/73
* feat(stage-web): theme presets by @luoling8192 in https://github.com/moeru-ai/airi/pull/74
* fix(stage-web): reduce saturation by @luoling8192 in https://github.com/moeru-ai/airi/pull/75
* feat(stage-web): tooltip over colors by @luoling8192 in https://github.com/moeru-ai/airi/pull/76
* style: color bar by @luoling8192 in https://github.com/moeru-ai/airi/pull/77
* docs(docs): new DevLog for 2025.03.08 ~ 2025.03.10 by @nekomeowww in https://github.com/moeru-ai/airi/pull/78
* perf(favicon): optimize size by @kwaa in https://github.com/moeru-ai/airi/pull/79
* feat(favicon): support dark mode by @kwaa in https://github.com/moeru-ai/airi/pull/80
* fix(motion-map): cannot export by @LemonNekoGH in https://github.com/moeru-ai/airi/pull/81
* feat(twitter-services): timeline & profile support by @luoling8192 in https://github.com/moeru-ai/airi/pull/82
* feat(stage-ui): extract primary color from stage canvas by @LemonNekoGH in https://github.com/moeru-ai/airi/pull/83
* fix(vscode): enable Vue framework support in i18n-ally settings by @luoling8192 in https://github.com/moeru-ai/airi/pull/85
* refactor(twitter-services): function factory by @luoling8192 in https://github.com/moeru-ai/airi/pull/84
* feat: post tweet by @luoling8192 in https://github.com/moeru-ai/airi/pull/86
* fix(stage-ui): extract colors by @junkwarrior87 in https://github.com/moeru-ai/airi/pull/87
* style(stage-web): disable color animation when dynamic theme enabled by @LemonNekoGH in https://github.com/moeru-ai/airi/pull/88
* refactor(stage-web): ui refinements by @junkwarrior87 in https://github.com/moeru-ai/airi/pull/89
* refactor(stage-tamagotchi): rewrite it in rust by @LemonNekoGH in https://github.com/moeru-ai/airi/pull/90
* feat(docs): add og-image by @kwaa in https://github.com/moeru-ai/airi/pull/91
* chore(docs): remove ico from head, remove houston by @kwaa in https://github.com/moeru-ai/airi/pull/92
* chore(twitter-services): remove preinstall by @kwaa in https://github.com/moeru-ai/airi/pull/93
* style(stage-web): fix word break by @LemonNekoGH in https://github.com/moeru-ai/airi/pull/96
* fix, feat(telegram): fix typo, make chat_id unique  by @leohearts in https://github.com/moeru-ai/airi/pull/99
* feat(stage-web): new settings animation by @LemonNekoGH in https://github.com/moeru-ai/airi/pull/100
* fix: move setting-bar style to global css by @luoling8192 in https://github.com/moeru-ai/airi/pull/102
* fix(drizzle-duckdb-wasm): misc details in memory playground by @sumimakito in https://github.com/moeru-ai/airi/pull/101
* feat(components): add button, section by @luoling8192 in https://github.com/moeru-ai/airi/pull/104
* feat: airi card by @luoling8192 in https://github.com/moeru-ai/airi/pull/98
* refactor: airi card by @luoling8192 in https://github.com/moeru-ai/airi/pull/105
* fix(telegram-bot): OOM when handling loop by @nekomeowww in https://github.com/moeru-ai/airi/pull/106
* docs: README star-history by @luoling8192 in https://github.com/moeru-ai/airi/pull/108
* chore: several doc fixes and enhancements by @AsterisMono in https://github.com/moeru-ai/airi/pull/110
* refactor(airi-card): dialog by @luoling8192 in https://github.com/moeru-ai/airi/pull/111
* chore: remove macros import by @luoling8192 in https://github.com/moeru-ai/airi/pull/114
* refactor(stage-tamagotchi): remove stage electron by @LemonNekoGH in https://github.com/moeru-ai/airi/pull/115
* chore(*): migrate drizzle-duckdb-wasm and duckdb-wasm to proj-airi/duckdb-wasm by @sumimakito in https://github.com/moeru-ai/airi/pull/116
* fix(stage-tamagotchi): CSP blocked many requests by @nekomeowww in https://github.com/moeru-ai/airi/pull/117

## New Contributors

* @junkwarrior87 made their first contribution in https://github.com/moeru-ai/airi/pull/46
* @LittleSound made their first contribution in https://github.com/moeru-ai/airi/pull/48
* @qyl27 made their first contribution in https://github.com/moeru-ai/airi/pull/71
* @leohearts made their first contribution in https://github.com/moeru-ai/airi/pull/99
* @AsterisMono made their first contribution in https://github.com/moeru-ai/airi/pull/110

**Full Changelog**: https://github.com/moeru-ai/airi/compare/v0.3.6...v0.4.22