Merge next into main: fix builds failing with "no active sessions", commit-hash image tags, dotted app names, build context secrets, layout fixes #244

Open
clawbot wants to merge 21 commits from next into main
pull from: next
2 changed files with 9 additions and 2 deletions
Showing only changes of commit 047945cabf - Show all commits

No files matched your search

+4
View File
@@ -20,6 +20,10 @@ regress.
# Completed Steps # Completed Steps
- 2026-10-01: Two database writes at the same moment no longer fail with
"database is locked": each transaction now takes the write lock when it begins
and waits up to 5 seconds for another writer to finish (#253).
- 2026-10-01: The hint under the app page's environment variable editor now says - 2026-10-01: The hint under the app page's environment variable editor now says
changes take effect at the next deploy or rollback, in the page's warning changes take effect at the next deploy or rollback, in the page's warning
style, instead of asking for a container restart, which keeps the old values style, instead of asking for a container restart, which keeps the old values
+5 -2
View File
@@ -137,8 +137,11 @@ func (d *Database) connect(ctx context.Context) error {
return fmt.Errorf("failed to create data directory: %w", err) return fmt.Errorf("failed to create data directory: %w", err)
} }
// Open database with WAL mode and foreign keys // Open database with WAL mode and foreign keys. Transactions take the
dsn := dbPath + "?_journal_mode=WAL&_foreign_keys=on" // write lock when they begin and wait up to 5s for another writer,
// instead of failing with "database is locked" when both write.
dsn := dbPath + "?_journal_mode=WAL&_foreign_keys=on" +
"&_txlock=immediate&_busy_timeout=5000"
database, err := sql.Open("sqlite3", dsn) database, err := sql.Open("sqlite3", dsn)
if err != nil { if err != nil {