|
Await the session pool in notify and three neighbours
PgSessionStore._get_pool() is async, and four call sites passed its coroutine straight into a store constructor, so the first query inside died with "'coroutine' object has no attribute 'fetchrow'": notify always failed, the reaction runner never got past reading its settings, synapse_instructions was unusable, and the BYOK resolver caught the AttributeError and silently fell back to the default credential. The tests missed it because each one mocked the store or the pool provider away; the new ones run on a fake asyncpg pool with nothing faked below the tool. |
|---|
|
|
| navi/mcp/keystore.py |
|---|
| navi/synapse/reactions.py |
|---|
| navi/tools/notify.py |
|---|
| navi/tools/synapse_instructions.py |
|---|
| tests/conftest_factory.py |
|---|
| tests/unit/core/test_synapse_reactions.py |
|---|
| tests/unit/mcp/test_keystore.py |
|---|
| tests/unit/tools/test_notify.py |
|---|
| tests/unit/tools/test_synapse_instructions.py |
|---|