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
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
Philipp C. Heckel
ddf728acd1
Merge pull request #1607 from ZebMcKayhan/main
...
Added SIA-Server to integration list
2026-02-16 10:49:34 -05:00
Philipp C. Heckel
b1d3671dbb
Merge pull request #1610 from luneth/patch-1
...
docs: Clarify F-Droid flavor excludes Google Services
2026-02-16 09:46:51 -05:00
luneth
3e6b46ec0c
Fix: Clarify F-Droid flavor excludes Google Services
...
Updated documentation to reflect that the F-Droid flavor automatically excludes Google Services dependencies [here](33a36c4b54/app/build.gradle (L82) )
2026-02-16 15:43:57 +01:00
ZebMcKayhan
b16d381626
Update integrations.md
...
Added SIA-Server to project list.
2026-02-15 19:41:22 +01:00
Mazurky
3bd1a1ea03
Translated using Weblate (Slovak)
...
Currently translated at 100.0% (407 of 407 strings)
Translation: ntfy/Web app
Translate-URL: https://hosted.weblate.org/projects/ntfy/web/sk/
2026-02-13 22:09:46 +00:00
Philipp C. Heckel
7adb37b94b
Merge pull request #1603 from cyqsimon/npm-override
...
Allow overriding `npm` binary in Makefile
2026-02-13 16:22:50 -05:00
cyqsimon
bc08819525
Allow overriding npm binary in Makefile
2026-02-12 17:57:09 +08:00
binwiederhier
a03a37feb1
Merge branch 'main' into release-2.17.x
v2.17.0
2026-02-08 22:31:35 -05:00
binwiederhier
4cd556f5aa
Copy fix
2026-02-08 22:31:22 -05:00
binwiederhier
90aeb811ff
Changelog
2026-02-08 22:18:45 -05:00
binwiederhier
c6ab380ea4
Merge branch '1364-copy-action'
2026-02-08 20:46:54 -05:00
binwiederhier
7860f2142c
Constants
2026-02-08 15:11:06 -05:00
binwiederhier
18d5d31bd2
Merge branch 'main' of github.com:binwiederhier/ntfy
2026-02-08 14:29:04 -05:00
binwiederhier
cfdc364e3f
Version API endpoint
2026-02-08 14:28:27 -05:00
Philipp C. Heckel
763215ecfa
Merge pull request #1595 from epifeny/fix/docker-build-include-payments
...
fix: add payments dir to docker build
2026-02-08 11:24:54 -08:00
binwiederhier
3f0a7b65ee
Server/Web: Support "copy" action button to copy a value to the clipboard
2026-02-08 14:20:03 -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
06ea1f98ac
Merge branch 'main' of github.com:binwiederhier/ntfy
2026-02-08 10:29:13 -05:00
binwiederhier
2827df26ee
Merge branch 'main' of https://hosted.weblate.org/git/ntfy/web
2026-02-08 10:29:03 -05:00
binwiederhier
fe6ee1efa0
Web: Show red notification dot on favicon when there are unread messages
2026-02-08 10:28:46 -05:00
Philipp C. Heckel
14df6462df
Merge pull request #1597 from i-abc/fix-gpg-fingerprint-typo
...
Fix GPG key fingerprint typo in docs/install.md
2026-02-07 06:51:44 -08:00
i-abc
b9f659c8ac
docs: fix GPG key fingerprint typo
2026-02-07 20:49:31 +08:00
binwiederhier
623fd4f224
Changelog
2026-02-06 06:53:58 -08:00
epifeny
49991d5aa7
fix: add payments dir to docker build
2026-02-06 10:12:34 +02:00
binwiederhier
1b554d5b08
Web: Fix clear=true on action buttons not clearing the notification
2026-02-05 09:40:18 -08:00
Yaron Shahrabani
7b0eb3d467
Translated using Weblate (Hebrew)
...
Currently translated at 12.2% (50 of 407 strings)
Translation: ntfy/Web app
Translate-URL: https://hosted.weblate.org/projects/ntfy/web/he/
2026-02-05 15:01:50 +00:00
binwiederhier
6978fa69a8
Add better F-Droid logo
2026-02-04 18:32:08 -08:00
binwiederhier
a1da18b99f
Show last notification time for UnifiedPush subscriptions
2026-02-04 17:52:24 -08:00
binwiederhier
570b188a88
Support for templating the priority header
2026-02-04 09:46:09 -08:00
binwiederhier
b34d23870b
Release notes
2026-02-04 08:35:38 -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
Yaron Shahrabani
325983deaf
Translated using Weblate (Hebrew)
...
Currently translated at 8.1% (33 of 407 strings)
Translation: ntfy/Web app
Translate-URL: https://hosted.weblate.org/projects/ntfy/web/he/
2026-02-04 07:01:50 +00:00
binwiederhier
fe386e31dd
Changelog for #1112 (Android notification timestamp fix)
2026-02-03 18:36:53 -05:00
Yaron Shahrabani
bfb47c4046
Added translation using Weblate (Hebrew)
2026-02-03 07:55:04 +01:00
Kachelkaiser
ad334178de
Translated using Weblate (German)
...
Currently translated at 100.0% (407 of 407 strings)
Translation: ntfy/Web app
Translate-URL: https://hosted.weblate.org/projects/ntfy/web/de/
2026-02-03 07:55:04 +01:00
Philipp C. Heckel
68e22ebe7d
Merge pull request #1587 from zigazajc007/main
...
Update change URL of Uptime Monitor to official website
2026-02-02 10:53:00 -05:00
Ziga Zajc
23aff6fb06
Update change URL of Uptime Monitor to official website
2026-02-02 05:48:02 +01:00