github Fu-Jie/openwebui-extensions release-2026.07.14
Multi-Plugin Update: Export to Excel v0.3.11 | 导出为 Excel v0.3.11 | Smart Mind Map v1.0.3 | 导出为Word增强版 v0.5.3 | Export to Word Enhanced v0.5.3 | Smart Infographic v1.6.3 | 闪记卡 (Flash Card) v0.2.5 | Flash Card v0.2.5

5 hours ago

Overview

This patch resolves async database compatibility errors that surfaced on OpenWebUI >= 0.9.0 (including v0.10.1). The previous version-gated dispatch in _call_db relied on _owui_version_ge("0.9.0"), which can fall back to "0.0.0" when the OpenWebUI version import fails inside an isolated plugin sandbox. Under that fallback, async DB methods were invoked synchronously, producing runtime warnings and attribute errors. This release replaces the version-string check with runtime coroutine detection.

Bug Fixes

  • Runtime coroutine detection for DB methods: _call_db now uses iscoroutinefunction(method) (and a secondary asyncio.iscoroutine(res) guard for lazy coroutines) to decide whether to await. Version-string detection is no longer required.
  • Resolves RuntimeWarning: coroutine '_call_db' was never awaited
  • Resolves AttributeError: 'coroutine' object has no attribute 'params' / 'email'

Compatibility

  • Behavior is unchanged on OpenWebUI < 0.9.0.
  • No new Valves, no breaking changes.

Upgrade Notes

Update or reinstall the plugin. No user action beyond reinstall is required.

Overview

This patch resolves async database compatibility errors that surfaced on OpenWebUI >= 0.9.0 (including v0.10.1). The previous version-gated dispatch in _call_db relied on _owui_version_ge("0.9.0"), which can fall back to "0.0.0" when the OpenWebUI version import fails inside an isolated plugin sandbox. Under that fallback, async DB methods were invoked synchronously, producing runtime warnings and attribute errors. This release replaces the version-string check with runtime coroutine detection.

Bug Fixes

  • Runtime coroutine detection for DB methods: _call_db now uses iscoroutinefunction(method) (and a secondary asyncio.iscoroutine(res) guard for lazy coroutines) to decide whether to await. Version-string detection is no longer required.
  • Resolves RuntimeWarning: coroutine '_call_db' was never awaited
  • Resolves AttributeError: 'coroutine' object has no attribute 'params' / 'email'

Compatibility

  • Behavior is unchanged on OpenWebUI < 0.9.0.
  • No new Valves, no breaking changes.

Upgrade Notes

Update or reinstall the plugin. No user action beyond reinstall is required.

Overview

This patch resolves an async database compatibility error that surfaced on OpenWebUI >= 0.9.0 (including v0.10.1). Unlike other plugins that already had a _call_db helper, Flash Card called Users.get_user_by_id() directly without await. On OWUI >= 0.9.0 where DB methods are async coroutines, this returned a coroutine object instead of the user row, causing AttributeError: 'coroutine' object has no attribute 'email'. This release introduces a _call_db helper with runtime coroutine detection and wraps the DB call with it.

Bug Fixes

  • Introduced _call_db helper: A new _call_db helper using iscoroutinefunction(method) + asyncio.iscoroutine(res) now handles the sync/async dispatch for DB method calls.
  • Wrapped Users.get_user_by_id with await _call_db(...): The call is now properly awaited on async runtimes and called directly on sync runtimes.
  • Resolves AttributeError: 'coroutine' object has no attribute 'email'

Compatibility

  • Behavior is unchanged on OpenWebUI < 0.9.0 (sync DB methods are called directly; iscoroutinefunction returns False).
  • No new Valves, no breaking changes.

Upgrade Notes

Update or reinstall the plugin. No user action beyond reinstall is required.

Overview

This patch resolves async database compatibility errors that surfaced on OpenWebUI >= 0.9.0 (including v0.10.1). The previous version-gated dispatch in _call_db relied on _owui_version_ge("0.9.0"), which can fall back to "0.0.0" when the OpenWebUI version import fails inside an isolated plugin sandbox. Under that fallback, async DB methods were invoked synchronously, producing runtime warnings and attribute errors. This release replaces the version-string check with runtime coroutine detection.

Bug Fixes

  • Runtime coroutine detection for DB methods: _call_db now uses iscoroutinefunction(method) (and a secondary asyncio.iscoroutine(res) guard for lazy coroutines) to decide whether to await. Version-string detection is no longer required.
  • Resolves RuntimeWarning: coroutine '_call_db' was never awaited
  • Resolves AttributeError: 'coroutine' object has no attribute 'params' / 'email'

Compatibility

  • Behavior is unchanged on OpenWebUI < 0.9.0.
  • No new Valves, no breaking changes.

Upgrade Notes

Update or reinstall the plugin. No user action beyond reinstall is required.

Overview

This patch resolves async database compatibility errors that surfaced on OpenWebUI >= 0.9.0 (including v0.10.1). The previous version-gated dispatch in _call_db relied on _owui_version_ge("0.9.0"), which can fall back to "0.0.0" when the OpenWebUI version import fails inside an isolated plugin sandbox. Under that fallback, async DB methods were invoked synchronously, producing runtime warnings and attribute errors. This release replaces the version-string check with runtime coroutine detection.

Bug Fixes

  • Runtime coroutine detection for DB methods: _call_db now uses iscoroutinefunction(method) (and a secondary asyncio.iscoroutine(res) guard for lazy coroutines) to decide whether to await. Version-string detection is no longer required.
  • Resolves RuntimeWarning: coroutine '_call_db' was never awaited
  • Resolves AttributeError: 'coroutine' object has no attribute 'params' / 'email'

Compatibility

  • Behavior is unchanged on OpenWebUI < 0.9.0.
  • No new Valves, no breaking changes. The v1.0.2 OWUI v0.10+ content-recovery fix is preserved.

Upgrade Notes

Update or reinstall the plugin. No user action beyond reinstall is required.

Overview

This patch resolves async database compatibility errors that surfaced on OpenWebUI >= 0.9.0 (including v0.10.1). The previous version-gated dispatch in _call_db / _call_db_sync relied on _owui_version_ge("0.9.0"), which can fall back to "0.0.0" when the OpenWebUI version import fails inside an isolated filter sandbox. Under that fallback, async DB methods (Users.get_user_by_id, Chats.get_chat_by_id, Models.get_model_by_id) were invoked synchronously, producing runtime warnings and attribute errors. v1.7.4 replaces the version-string check with runtime coroutine detection, so the correct sync/async path is taken regardless of version-string mismatches.

Bug Fixes

  • Runtime coroutine detection for DB methods: _call_db now uses iscoroutinefunction(method) (and a secondary asyncio.iscoroutine(res) guard for lazy coroutines) to decide whether to await. _call_db_sync mirrors this for the synchronous entry points (still routing async results through a dedicated thread + event loop). Version-string detection is no longer required.
  • Resolves RuntimeWarning: coroutine '_call_db' was never awaited: the warning appeared when the version check misidentified an async DB method as sync and discarded the unawaited coroutine.
  • Resolves AttributeError: 'coroutine' object has no attribute 'params' / 'email': downstream code received a coroutine object instead of the resolved User / Chat / Model row, then crashed accessing attributes. The coroutine is now resolved before the result is returned.

Compatibility

  • Behavior is unchanged on OpenWebUI < 0.9.0 (sync DB methods are still called directly; iscoroutinefunction returns False, so no event loop is spawned).
  • No new Valves, no database migration, no breaking changes to the filter interface.
  • The fix is purely internal to the DB-dispatch helpers; summary persistence, branch-aware reuse, and Path 3 reasoning-model behavior from v1.7.3 are all preserved.

Upgrade Notes

Update or reinstall the filter so OpenWebUI's stored function content includes v1.7.4. No user action beyond reinstall is required. If you previously saw coroutine '_call_db' was never awaited or 'coroutine' object has no attribute '...' in the OpenWebUI logs, this release resolves them.

Credits

Thanks to @linbanana for contributing this fix in PR #107.

Version Changes

Plugin Updates


📚 Documentation Portal
🐛 Report Issues

Full Changelog: async-context-compression-v1.7.4...release-2026.07.14

Don't miss a new openwebui-extensions release

NewReleases is sending notifications on new releases.