fix: web UI routines tab shows all routines regardless of creating channel (#391)

Routines created via Telegram (or any WASM channel) were invisible in the
web UI because the routines list endpoint filtered by GATEWAY_USER_ID,
which didn't match the Telegram user's ID stored on the routine.

Add list_all_routines() to the RoutineStore trait (both libSQL and
PostgreSQL backends) and use it in the web dashboard handlers so all
routines are visible regardless of which channel created them.

Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
This commit is contained in:
Henry Park
2026-02-27 18:34:22 +00:00
committed by GitHub
co-authored by Claude Opus 4.6
parent ddd01a628c
commit a65b282066
6 changed files with 39 additions and 4 deletions
+9
View File
@@ -963,6 +963,15 @@ impl Store {
rows.iter().map(row_to_routine).collect()
}
/// List all routines across all users.
pub async fn list_all_routines(&self) -> Result<Vec<Routine>, DatabaseError> {
let conn = self.conn().await?;
let rows = conn
.query("SELECT * FROM routines ORDER BY name", &[])
.await?;
rows.iter().map(row_to_routine).collect()
}
/// List all enabled routines with event triggers (for event matching).
pub async fn list_event_routines(&self) -> Result<Vec<Routine>, DatabaseError> {
let conn = self.conn().await?;