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
LatestOverview
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_dbnow usesiscoroutinefunction(method)(and a secondaryasyncio.iscoroutine(res)guard for lazy coroutines) to decide whether toawait. 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_dbnow usesiscoroutinefunction(method)(and a secondaryasyncio.iscoroutine(res)guard for lazy coroutines) to decide whether toawait. 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_dbhelper: A new_call_dbhelper usingiscoroutinefunction(method)+asyncio.iscoroutine(res)now handles the sync/async dispatch for DB method calls. - Wrapped
Users.get_user_by_idwithawait _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;
iscoroutinefunctionreturnsFalse). - 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_dbnow usesiscoroutinefunction(method)(and a secondaryasyncio.iscoroutine(res)guard for lazy coroutines) to decide whether toawait. 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_dbnow usesiscoroutinefunction(method)(and a secondaryasyncio.iscoroutine(res)guard for lazy coroutines) to decide whether toawait. 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_dbnow usesiscoroutinefunction(method)(and a secondaryasyncio.iscoroutine(res)guard for lazy coroutines) to decide whether toawait._call_db_syncmirrors 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 resolvedUser/Chat/Modelrow, 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;
iscoroutinefunctionreturnsFalse, 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
- Export to Excel: v0.3.10 → v0.3.11 | 📖 README
- 导出为 Excel: v0.3.10 → v0.3.11 | 📖 README
- Smart Mind Map: v1.0.2 → v1.0.3 | 📖 README
- 导出为Word增强版: v0.5.2 → v0.5.3 | 📖 README
- Export to Word Enhanced: v0.5.2 → v0.5.3 | 📖 README
- Smart Infographic: v1.6.2 → v1.6.3 | 📖 README
- 闪记卡 (Flash Card): v0.2.4 → v0.2.5 | 📖 README
- Flash Card: v0.2.4 → v0.2.5 | 📖 README
📚 Documentation Portal
🐛 Report Issues
Full Changelog: async-context-compression-v1.7.4...release-2026.07.14