fix(api): return empty arrays not null for empty lists (frontend null.length crash)

Root cause: store List* methods used 'var out []T' which stays nil on empty
result sets and serializes to JSON null; the SPA then crashed on .length/.map
(e.g. endpoints.length on the Tasks page right after deploy). Return []T{}
at the source; coerce null->[] on the frontend load sites as defense-in-depth.
Regression test asserts List* are non-nil when empty.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MMHQTtnQtQqL8muAXHr9kd
This commit is contained in:
2026-07-02 09:04:33 +07:00
parent d87a8c57ad
commit 7eff28053a
6 changed files with 44 additions and 6 deletions
+1 -1
View File
@@ -40,7 +40,7 @@ func (s *Store) ListTasks(ctx context.Context) ([]Task, error) {
return nil, err
}
defer rows.Close()
var out []Task
out := []Task{}
for rows.Next() {
var t Task
if err := rows.Scan(&t.ID, &t.Name, &t.SrcEndpointID, &t.DstEndpointID, &t.Status, &t.FolderMapping); err != nil {