binwiederhier
4cbd80c68e
Use one PG connection, add support for connection params
2026-02-19 22:34:53 -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
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
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
e432bf2886
Rename PostgreSQL table prefix from wp_ to webpush_
2026-02-16 12:13:10 -05:00
binwiederhier
cfdc364e3f
Version API endpoint
2026-02-08 14:28:27 -05:00
binwiederhier
65050ef4dc
Fix server crash (nil pointer panic) when subscriber disconnects during publish
2026-02-08 11:23:31 -05:00
binwiederhier
3647d3975c
Fix panic in handleSubscribeHTTP when client disconnects during publish
...
Replace wlock.TryLock() with a proper Lock() + closed flag to prevent
writing to a response writer that has been cleaned up after the handler
returns. The previous TryLock approach could not guarantee the response
writer was still valid when a concurrent Publish goroutine called Flush.
2026-02-08 10:49:31 -05:00
binwiederhier
570b188a88
Support for templating the priority header
2026-02-04 09:46:09 -08:00
binwiederhier
08eaafa77b
Fix log spam from http: response.WriteHeader on hijacked connection for WebSocket errors
2026-02-04 06:05:54 -08:00
binwiederhier
d8232e539a
PWA description
2026-01-19 20:38:42 -05:00
binwiederhier
602f201bae
Derp
2026-01-18 19:15:10 -05:00
binwiederhier
ac9cfbfaf4
Delete attachments
2026-01-18 16:04:42 -05:00
binwiederhier
c23d201186
Updated/cancel scheduled messages
2026-01-18 15:50:40 -05:00
binwiederhier
856f150958
Better
2026-01-18 10:46:15 -05:00
binwiederhier
cc9f9c0d24
Update checker
2026-01-17 20:36:15 -05:00
binwiederhier
96638b516c
Fix service worker handling for updating/deleting
2026-01-14 20:46:18 -05:00
binwiederhier
a3c16d81f8
Rename to clear
2026-01-13 16:31:13 -05:00
binwiederhier
37d71051de
Refine
2026-01-08 20:57:55 -05:00
binwiederhier
5ad3de2904
Switch to event type
2026-01-08 20:50:23 -05:00
binwiederhier
66ea25c18b
Add JSON publishing support
2026-01-08 15:45:50 -05:00
binwiederhier
1ab7ca876c
Rename to sequence_id
2026-01-08 14:27:18 -05:00
binwiederhier
dffee9ea7d
Remove forJSON
2026-01-08 11:39:32 -05:00
binwiederhier
2dd152df3f
Manual fixes for AI slop
2026-01-06 18:02:08 -05:00
binwiederhier
2856793eff
Deleted
2026-01-06 14:22:55 -05:00
binwiederhier
aca9a77498
Remove mtime
2026-01-05 21:14:29 -05:00
binwiederhier
1c2550d749
Merge branch 'main' into 303-update-notifications
2026-01-05 15:34:42 -05:00
Hunter Kehoe
83b5470bc5
publish messages with a custom sequence ID
2025-10-17 19:01:41 -06:00
binwiederhier
3de04b27ab
Redirect to login page if require-login is enabled
2025-08-24 13:48:19 -04:00
binwiederhier
ec1f97b726
Merge remote-tracking branch 'theatischbein/feat_optional_require_login' into require-login
2025-08-24 13:34:22 -04:00
binwiederhier
ea338ae4fa
Make it easy to build without Stripe
2025-08-07 16:41:39 +02:00
binwiederhier
32fa8d43c1
Merge branch 'main' into debian-stripe
2025-08-07 15:34:54 +02:00
binwiederhier
23ec7702fc
Add "auth-tokens"
2025-07-31 07:08:35 +02:00
binwiederhier
fe545423c5
Change to auth-(users|access), upgrade manually added users to provision users
2025-07-27 12:10:16 +02:00
binwiederhier
f3c67f1d71
Refuse to update manually created users
2025-07-27 11:02:34 +02:00
binwiederhier
27b3a89247
Merge branch 'main' of github.com:binwiederhier/ntfy into predefined-users
2025-07-27 10:16:55 +02:00
binwiederhier
1470afb715
Make templateMode more understandable
2025-07-27 10:15:48 +02:00
binwiederhier
b495a744c9
Merge branch 'main' of github.com:binwiederhier/ntfy into predefined-users
2025-07-27 09:36:45 +02:00
Hunter Kehoe
0d36ab8af3
allow newlines in in-line go templates
2025-07-27 00:01:51 -06:00
binwiederhier
f59df0f40a
Works
2025-07-21 17:44:00 +02:00
binwiederhier
51af114b2e
Merge branch 'main' of github.com:binwiederhier/ntfy into predefined-users
2025-07-21 11:57:14 +02:00
binwiederhier
f0d5392e9e
Self-review
2025-07-19 21:32:05 +02:00
binwiederhier
dde07adbdc
Add some limits
2025-07-19 16:46:53 +02:00
binwiederhier
4603802f62
WIP
2025-07-16 21:50:29 +02:00
binwiederhier
b1e935da45
TEmplate dir
2025-07-16 13:49:15 +02:00
binwiederhier
93e14b73bb
Tempalte dir
2025-07-16 10:01:59 +02:00
binwiederhier
c0b5151bae
Predefined users
2025-07-10 20:50:29 +02:00
Hunter Kehoe
650f492d7d
make tests happy
2025-07-07 22:47:41 -06:00
Hunter Kehoe
1f2c76e63d
copy subset of Sprig template functions
2025-07-07 22:23:32 -06:00
binwiederhier
efef587671
WIP: Predefined users
2025-07-07 22:36:01 +02:00