binwiederhier
ac65df1e83
Move auth queries to primary, redo health check loop
2026-03-11 20:26:29 -04:00
binwiederhier
ab33ac7ae5
Refine
2026-03-11 11:58:40 -04:00
binwiederhier
f1865749d7
WIP: Postgres read-only replica
2026-03-10 22:17:40 -04:00
binwiederhier
997e20fa3f
Better error message for database-url errors
2026-03-10 21:18:34 -04:00
binwiederhier
bcd07115c2
Add tooltips for edit/delete buttons
2026-03-08 18:30:11 -04:00
binwiederhier
109271a930
Avoid playing sound more than every 2s
2026-03-08 10:55:59 -04:00
binwiederhier
fcf95dc9b8
Fix release notes
2026-03-07 16:17:00 -05:00
binwiederhier
79c3ab9ecc
Bump version
2026-03-07 16:07:38 -05:00
binwiederhier
d51465fb6a
Release notes
2026-03-07 08:51:57 -05:00
binwiederhier
0b189f65ff
Loadtest username/pass
2026-03-06 15:52:53 -05:00
binwiederhier
0d4b1b00e6
Users() optimization to help with startup time
2026-03-06 14:46:53 -05:00
binwiederhier
28c3fd5cbe
BUmp
2026-03-06 12:50:49 -05:00
binwiederhier
62bb335675
Grr
2026-03-04 22:42:45 -05:00
binwiederhier
70fb2732af
Merge branch 'main' into postgres-support
2026-03-04 22:35:38 -05:00
binwiederhier
8e91e028a0
Fix coverage issue
2026-03-04 22:34:34 -05:00
binwiederhier
6d22f568f9
Merge branch 'main' into postgres-support
2026-03-04 21:07:40 -05:00
binwiederhier
59e6c16633
Fix cov test
2026-03-04 21:07:21 -05:00
binwiederhier
2e0b934bc2
Merge branch 'main' into postgres-support
2026-03-04 20:51:25 -05:00
binwiederhier
4f4a093f8d
Merge branch 'main' of https://hosted.weblate.org/git/ntfy/web
2026-03-04 20:50:28 -05:00
binwiederhier
5610b7c56d
Bump
2026-03-04 20:49:18 -05:00
binwiederhier
d4038f566c
Release notes
2026-03-04 20:48:30 -05:00
binwiederhier
bff2b47eb6
Simplify schema reading
2026-03-03 14:52:29 -05:00
binwiederhier
33b19814c7
Transactions
2026-03-03 14:42:36 -05:00
binwiederhier
fb26e7ef3a
BUmp
2026-03-03 09:42:59 -05:00
binwiederhier
66449bd19b
pgimport readme
2026-03-02 20:15:35 -05:00
binwiederhier
bedbb121e4
Remove codecov.io
2026-03-02 20:05:29 -05:00
binwiederhier
c4b8cfa756
Manual correction
2026-03-02 20:04:03 -05:00
binwiederhier
c864a9baeb
Put more things in tx
2026-03-02 19:58:26 -05:00
binwiederhier
8afeb813d9
Move OpenPostgres
2026-03-02 19:52:36 -05:00
binwiederhier
ea4739f79b
Extract ExecTx
2026-03-02 19:45:35 -05:00
binwiederhier
31f0234098
Remove goroutine
2026-03-02 13:28:37 -05:00
binwiederhier
0e6b467cf0
Manual fixes
2026-03-02 12:58:01 -05:00
binwiederhier
11c79a6369
Refine again
2026-03-01 14:24:06 -05:00
binwiederhier
10a6939d8e
Rename queries for consistency
2026-03-01 13:47:42 -05:00
binwiederhier
9736973286
REmove store interface
2026-03-01 13:19:53 -05:00
binwiederhier
039566bcaf
REmove unused
2026-03-01 11:59:24 -05:00
binwiederhier
544ce112b5
Manual review
2026-03-01 11:44:22 -05:00
binwiederhier
c19377109e
Small refinements
2026-02-28 21:15:51 -05:00
binwiederhier
ccbd02331c
Re-add execTx
2026-02-28 19:49:01 -05:00
binwiederhier
542aa403d2
Re-order functions
2026-02-28 19:34:09 -05:00
binwiederhier
ebb48e217d
Merge user store and manager
2026-02-28 17:35:35 -05:00
binwiederhier
7710ace184
Self-review
2026-02-28 16:13:58 -05:00
binwiederhier
5c26e70fe7
Manual review: Make resetUserAccessTx
2026-02-26 17:34:19 -05:00
binwiederhier
c66fa92341
Re-add tx integrity
2026-02-26 16:54:56 -05:00
binwiederhier
a7d5a9c5d8
Sample
2026-02-23 23:08:13 -05:00
binwiederhier
391cd2c920
Migration tool
2026-02-23 22:44:21 -05:00
binwiederhier
9eec72adcc
Fix race tests
2026-02-23 21:39:07 -05:00
binwiederhier
28a436c0d2
Optimizations
2026-02-23 14:11:36 -05:00
binwiederhier
b02366b42b
Make more consistent
2026-02-23 13:49:54 -05:00
binwiederhier
90d0eca14d
Consistency
2026-02-23 11:17:57 -05:00
binwiederhier
811c7ae25a
TX fixes
2026-02-22 20:39:41 -05:00
binwiederhier
850a9d4cc4
Fix bug with provisioned token removal
2026-02-22 20:28:37 -05:00
binwiederhier
43280fbc0a
Performance improvements in pg
2026-02-22 16:21:27 -05:00
binwiederhier
35a54407a8
Manual review
2026-02-22 15:12:54 -05:00
binwiederhier
f726cc768e
Manual refactor
2026-02-22 14:25:15 -05:00
binwiederhier
5d301e7dce
Merge branch 'main' of github.com:binwiederhier/ntfy into postgres-support
2026-02-22 14:15:42 -05:00
binwiederhier
8b12bdeb3a
Release notes
2026-02-22 09:07:48 -05:00
binwiederhier
6375c2ce60
Renaming for consistency
2026-02-21 21:29:29 -05:00
binwiederhier
459c80ef9b
Refactor tests again: forEachBackend
2026-02-21 21:02:41 -05:00
binwiederhier
b1eb90addc
Move NewPollRequestMessage
2026-02-21 18:01:36 -05:00
binwiederhier
4b6979aa89
Move model constants
2026-02-21 10:42:34 -05:00
binwiederhier
c76e39bb0e
Manual updates
2026-02-21 10:36:09 -05:00
binwiederhier
b82e1c3915
Release notes
2026-02-21 10:02:27 -05:00
binwiederhier
07e60ba041
Merge branch 'main' into postgres-support
2026-02-21 09:59:55 -05:00
binwiederhier
4e22e7f4c8
Release notes
2026-02-21 09:58:52 -05:00
binwiederhier
cf3ae187ce
Merge branch 'main' of https://hosted.weblate.org/git/ntfy/web
2026-02-21 09:56:33 -05:00
binwiederhier
7c69a76345
Docs
2026-02-20 16:56:47 -05:00
binwiederhier
a28d8e7924
Update docs, manual changes
2026-02-20 16:36:41 -05:00
binwiederhier
13a3062a7f
Re-add comments
2026-02-20 16:15:07 -05:00
binwiederhier
eb6e1ac44a
Docs
2026-02-20 15:57:47 -05:00
binwiederhier
a4c836b531
Refine
2026-02-20 15:36:12 -05:00
binwiederhier
e818b063f7
Fmt
2026-02-20 08:25:32 -05:00
binwiederhier
039d555689
Fix tests
2026-02-20 08:19:25 -05:00
binwiederhier
209d5a4c62
Update parallelism
2026-02-19 22:42:08 -05:00
binwiederhier
bf265449ac
Docs
2026-02-19 22:38:27 -05:00
binwiederhier
4cbd80c68e
Use one PG connection, add support for connection params
2026-02-19 22:34:53 -05:00
binwiederhier
305e3fc9af
DB conn to 25
2026-02-19 21:36:09 -05:00
binwiederhier
9e4a48b058
Make server tests also run against postgres
2026-02-19 20:48:01 -05:00
binwiederhier
939b3d1117
Fix lint, make pipeline use psotgres
2026-02-18 21:07:31 -05:00
binwiederhier
9cc9891f49
Add postgres to pipeline
2026-02-18 20:55:03 -05:00
binwiederhier
0d1f3444f2
fmt
2026-02-18 20:48:41 -05:00
binwiederhier
2716ede6e1
Extract message cache into message/ package with model/ types
...
Move message cache from server/message_cache.go into a dedicated
message/ package with Store interface, SQLite and PostgreSQL
implementations. Extract shared types into model/ package.
2026-02-18 20:22:44 -05:00
binwiederhier
ae5e1fe8d8
Merge branch 'postgres-webpush' into postgres-webpush+user
2026-02-17 20:15:27 -05:00
binwiederhier
e3a402ed95
Make user tests work for postgres and sqlite
2026-02-17 20:14:45 -05:00
binwiederhier
1abc1005d0
Re-org
2026-02-17 12:04:51 -05:00
binwiederhier
909c3fe17b
Add Store-level unit tests for SQLite and PostgreSQL backends
...
Add shared test functions in store_test.go covering all Store interface
operations (users, tokens, access control, tiers, billing, stats, etc.)
with per-backend wrappers in store_sqlite_test.go and store_postgres_test.go
following the webpush test pattern.
Fix broken isUniqueConstraintError() which used incorrect interface
assertions instead of string matching for SQLite/PostgreSQL errors.
2026-02-16 22:56:31 -05:00
binwiederhier
07c3e280bf
Refactor user package to Store interface with PostgreSQL support
...
Extract database operations from Manager into a Store interface with
SQLite and PostgreSQL implementations using a shared commonStore.
Split SQLite migrations into store_sqlite_migrations.go, use shared
schema_version table for PostgreSQL, rename user_user/user_tier tables
to "user"/tier, and wire up database-url in CLI commands.
2026-02-16 22:39:54 -05:00
binwiederhier
b567b4e904
Merge branch 'main' into postgres-webpush
2026-02-16 21:05:04 -05:00
binwiederhier
60fa50f0d5
Merge branch 'main' into postgres-webpush+user
2026-02-16 21:04:46 -05:00
binwiederhier
ceda5ec3d8
Move things in user package
2026-02-16 21:04:15 -05:00
binwiederhier
3d72845c81
Tests for user package
2026-02-16 20:49:17 -05:00
binwiederhier
82e15d84bd
Manual changes
2026-02-16 20:02:19 -05:00
binwiederhier
4e5f95ba0c
Refactor webpush store to eliminate code duplication
...
Consolidate SQLite and Postgres store implementations into a single
commonStore with database-specific SQL queries passed via configuration.
This eliminates ~100 lines of duplicate code while maintaining full
functionality for both backends.
Key changes:
- Move all store methods to commonStore in store.go
- Remove sqliteStore and postgresStore wrapper structs
- Refactor SQLite to use QueryRow() pattern like Postgres
- Pass database-specific queries via storeQueries struct
- Make store types unexported, only expose Store interface
All tests pass for both SQLite and PostgreSQL backends.
2026-02-16 19:53:34 -05:00
binwiederhier
869b972a50
Manual review
2026-02-16 19:12:14 -05:00
binwiederhier
bdd20197b3
Manual refinements
2026-02-16 19:06:45 -05:00
binwiederhier
a8dcecdb6d
Refactor webpush store tests and add coverage
...
- Add SetSubscriptionUpdatedAt to Store interface, remove DB() accessor
- Rename store files to store_sqlite.go and store_postgres.go
- Use camelCase for test function names
- Add tests for upsert field updates and multi-user removal
- Use transaction in setupNewPostgresDB
- Use lowercase "excluded." in PostgreSQL upsert query
2026-02-16 18:53:12 -05:00
binwiederhier
5331437664
Unify webpush store tests across SQLite and PostgreSQL backends
...
Share test logic in store_test.go with thin per-backend wrappers.
Add SetSubscriptionUpdatedAt to both stores, removing the need for
raw SQL and the DB() accessor in tests.
2026-02-16 12:38:00 -05:00
binwiederhier
e432bf2886
Rename PostgreSQL table prefix from wp_ to webpush_
2026-02-16 12:13:10 -05:00
binwiederhier
0edad84d86
Merge branch 'main' of https://hosted.weblate.org/git/ntfy/web
2026-02-16 10:55:17 -05:00
binwiederhier
a03a37feb1
Merge branch 'main' into release-2.17.x
2026-02-08 22:31:35 -05:00