mirror of
https://github.com/binwiederhier/ntfy.git
synced 2026-05-09 08:26:00 +02:00
[GH-ISSUE #1119] Can Firebase and Cache be disabled via the JSON payload? #791
Labels
No labels
ai-generated
android-app
android-app
android-app
🪲 bug
build
build
dependencies
docs
enhancement
enhancement
🔥 HOT
in-progress 🏃
ios
prio:low
prio:low
pull-request
question
🔒 security
server
server
unified-push
web-app
website
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/ntfy#791
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @stendler on GitHub (May 26, 2024).
Original GitHub issue: https://github.com/binwiederhier/ntfy/issues/1119
❓ Question
The documentation explains how to disable firebase or message caching via http request headers.
But these are not listed in the corresponding table on publishing via JSON.
Is this just missing from the documentation or not implemented?
If not implemented, could the JSON payload be paired with the request headers?
Is there a simple way to test this? The message payload does not seem to include any hint about how these properties were set.
@wunter8 commented on GitHub (May 26, 2024):
I'm pretty sure those parameters are not parsed in a JSON body (see
github.com/binwiederhier/ntfy@9d3fc20e58/server/server.go (L1811)).You can try including them, and if they're not supported, ntfy will reject the request as "invalid JSON".
You can also turn on debug logs on the server and see if things are written to the cache or forwarded to firebase
@stendler commented on GitHub (May 26, 2024):
That's the right code, thank you!
So this looks like adding them via headers in addition to the JSON message payload should work.
I did send messages against ntfy.sh with
"firebase": "no"in the JSON payload, and it did not get rejected (or rather the notification went through - not sure if there was a response with an error message).@wunter8 commented on GitHub (May 26, 2024):
Sorry, I missed this question. Yes, you can definitely combine JSON body and HTTP headers.
I just did a quick test, and a JSON body with
"cache":"no"was not rejected by the ntfy server, BUT it was written to the cache. So "cache" (and I'm pretty sure "firebase") needs to be included as a header right now and not in the JSON body@stendler commented on GitHub (May 29, 2024):
Thanks for confirming!
Now the question would be: should firebase and cache be added to the JSON functionality? Looking at the code, this seems straightforward to implement, and I would create a PR for this.
@wunter8 commented on GitHub (May 29, 2024):
I'm not sure. I don't know what @binwiederhier's preferences are regarding fields in the JSON body vs fields in HTTP headers
@stendler commented on GitHub (May 29, 2024):
I've implemented it and opened a PR as an exercise :)
Feel free to close it, if the feature is not desired. Though, I believe, since the JSON API is intended as a workaround for apps that make it difficult or impossible to define http headers, that this change just completes the API.
github.com/binwiederhier/ntfy@9d3fc20e58/docs/publish.md (L1082-L1084)