Commit Graph

643 Commits (000a3e005c6ee1e8c1a114c09284e11bb4824608)

Author SHA1 Message Date
binwiederhier 84785b7a60 Restructure limits 2022-12-19 16:22:13 -05:00
binwiederhier 6598ce2fe4 Limits 2022-12-19 09:59:32 -05:00
binwiederhier 42e46a7c22 Limit work 2022-12-18 14:35:05 -05:00
binwiederhier 56ab34a57f v1/account API response, rate limiting bla 2022-12-17 23:54:19 -05:00
binwiederhier ac56fa36ba Plan stuff WIPWIPWIP 2022-12-17 15:17:52 -05:00
binwiederhier 8752680233 Account delete, mock user stats UI 2022-12-17 13:49:32 -05:00
binwiederhier 81a8efcca3 Change password, delete account, etc. 2022-12-15 22:07:04 -05:00
binwiederhier c2f16f740b Stuff 2022-12-14 23:11:22 -05:00
binwiederhier 4bf2fb85e3 Bla 2022-12-13 15:19:40 -05:00
binwiederhier 4e4d410803 TODOs 2022-12-12 14:52:37 -05:00
binwiederhier cf68414c40 Merge branch 'main' into user-account 2022-12-12 11:12:05 -05:00
binwiederhier 67221b015d Changelog 2022-12-12 09:55:17 -05:00
Nick Farrell 1235ea5bb5
Use prepared statement for bulk writes
When executing the same statement multiple times, avoid
the overhead of re-parsing the statement for each insert.
2022-12-12 14:13:40 +11:00
Philipp Heckel 92bf7ebc52 blerp 2022-12-08 20:50:48 -05:00
Philipp Heckel c5b6971447 OMG all the things are horrible 2022-12-07 21:26:18 -05:00
Philipp Heckel 8dcb4be8a8 Token login 2022-12-07 20:44:20 -05:00
Philipp Heckel d499d20a9c Token stuff 2022-12-03 15:20:59 -05:00
Philipp Heckel 2772a38dae WIPWIPWIP 2022-12-02 15:37:48 -05:00
Philipp Heckel 679b075ecc Fix #503, bump version for release 2022-11-17 20:47:27 -05:00
Philipp Heckel 497f871447 Docs 2022-11-16 10:33:12 -05:00
Philipp Heckel ad860afb8b Polish async batching 2022-11-16 10:28:20 -05:00
Philipp Heckel b4933a5645 WIP: Batch message INSERTs 2022-11-15 14:24:56 -05:00
Philipp Heckel a43a4aea5e Docs 2022-11-12 14:41:28 -05:00
Philipp Heckel 54eae00774 Intermittent test failure 2022-10-09 08:53:40 -04:00
Philipp Heckel 16ad94441b Personal preference 2022-10-08 17:58:05 -04:00
Karmanyaah Malhotra 3b29294679 minor modification to tests involving ips 2022-10-07 20:27:22 -05:00
Karmanyaah Malhotra de2ca33700 recommended fixes [1 of 2] 2022-10-07 16:17:04 -05:00
Karmanyaah Malhotra c2382d29a1 refactor visitor IPs and allow exempting IP Ranges
Use netip.Addr instead of storing addresses as strings. This requires
conversions at the database level and in tests, but is more memory
efficient otherwise, and facilitates the following.

Parse rate limit exemptions as netip.Prefix. This allows storing IP
ranges in the exemption list. Regular IP addresses (entered explicitly
or resolved from hostnames) are IPV4/32, denoting a range of one
address.
2022-10-05 16:04:42 -05:00
Philipp Heckel 5014bba0b3 Replace interface{} 2022-10-01 16:31:48 -04:00
Philipp Heckel bddde5c637 Bump Go version, Generics whoooo 2022-10-01 15:50:48 -04:00
Philipp Heckel 419bfecd6f Reformatting, make update 2022-09-27 12:37:02 -04:00
Philipp Heckel 6476978a2e Move things 2022-09-11 16:31:39 -04:00
Philipp Heckel ae1fb74ac6 Merge branch 'main' of github.com:binwiederhier/ntfy into icons 2022-09-10 23:22:48 -04:00
Philipp Heckel b0d58a618e Fix test 2022-08-21 21:32:53 -04:00
Christophe Henry ec64b412a8 Document Matrix pushkey error + set log level to warnings for Matrix errors 2022-08-21 17:03:56 +02:00
Hunter Kehoe 3c5a10de17 combine attachment and icon url regex 2022-07-17 15:47:21 -06:00
Hunter Kehoe 99886d7f66 change icon from object to string 2022-07-17 15:40:24 -06:00
Hunter Kehoe d519fd999b notification icons 2022-07-16 14:13:46 -06:00
Philipp Heckel 88a77cb132 Fix race 2022-07-08 10:16:23 -04:00
Philipp Heckel 10a9aca2a1 Delete expired attachments based on mod time instead of DB entry to avoid races 2022-07-08 10:00:04 -04:00
Philipp Heckel e874f3516e Docs 2022-07-03 19:36:58 -04:00
Philipp Heckel bf8077626e Permissions of unix socket 2022-07-03 19:33:01 -04:00
Koro ed1673beed Set socket mode after creation. 2022-07-03 17:39:08 -04:00
Koro 9f358d4793 Add socket mode to configuration struct. 2022-07-03 15:39:19 -04:00
Philipp Heckel 95bd876be2 Fix HTTP Spec priority header parsing 2022-07-01 09:28:42 -04:00
Philipp Heckel 5f2ce5e542 Fix intermittent test failure; bump version 2022-06-23 15:01:35 -04:00
Philipp Heckel 113900d3eb Cache startup queries 2022-06-23 11:02:45 -04:00
Philipp Heckel b4a824aa38 Format actions PR, changelog 2022-06-22 20:23:15 -04:00
Philipp C. Heckel e8569c6008
Merge pull request #341 from wunter8/custom-intent-broadcast-action
allow custom intent in broadcast action without JSON
2022-06-22 20:21:11 -04:00
Philipp Heckel b74defef14 Enable WAL mode, add changelog 2022-06-22 20:17:47 -04:00
Hunter Kehoe ee38d76bc2 allow custom intent in broadcast action without JSON 2022-06-22 15:29:16 -06:00
Philipp Heckel 3334d84861 Fix another race, add test 2022-06-22 15:11:50 -04:00
Philipp Heckel 9cee8ab888 Call subscriber funtions in individual goroutines 2022-06-22 13:52:49 -04:00
Philipp Heckel ed9d99fd57 "Fix" data race 2022-06-22 13:47:54 -04:00
Philipp Heckel edfc1b78a1 Delayed message lock shorter 2022-06-21 20:07:08 -04:00
Philipp Heckel c1f7bed8d1 Fix tests, lock topic as short as possible 2022-06-21 19:45:23 -04:00
Philipp Heckel 85f2252a77 WIP: Shorter lock, for #338 2022-06-21 19:07:27 -04:00
Philipp Heckel d05211648d Fix `since=<id>` implementation for multiple topics, closes #336 2022-06-20 12:11:52 -04:00
Philipp Heckel 25a4b29ffc Return HTTP 500 on Matrix discovery GET if base-url not configured; log entire HTTP request when TRACE enabled 2022-06-19 21:25:35 -04:00
Philipp Heckel 9918f4965d Only use last X-Forwarded-For address as visitor address, closes #328 2022-06-16 15:31:09 -04:00
Philipp Heckel df2362e1a7 Update deps 2022-06-16 12:48:43 -04:00
Philipp Heckel 8a56b82813 500-test 2022-06-16 12:42:19 -04:00
Philipp Heckel 6122cf20aa More tests 2022-06-16 12:37:02 -04:00
Philipp Heckel 18bd3c0e55 Docs and Matrix tests 2022-06-16 11:40:56 -04:00
Philipp Heckel 0ff8e968ca Docs 2022-06-15 20:51:42 -04:00
Philipp Heckel ebbc2838ba Move error handling to main error handling; move matrix logic to its own file 2022-06-15 20:36:49 -04:00
Philipp Heckel 91375b2e8e Minor refactor, added GET 2022-06-15 16:03:12 -04:00
Philipp Heckel 27910772f0 Derpyderp 2022-06-14 20:43:17 -04:00
Philipp Heckel e9f3edb76b WIP: Matrix 2022-06-13 22:07:30 -04:00
Philipp Heckel cf0f002bfa Add version number to ntfy serve output 2022-06-12 11:54:58 -04:00
Philipp Heckel 41096ef1b0 Update base-url docs 2022-06-12 10:47:12 -04:00
Philipp Heckel 2b42cea1a3 Allow HEAD requests for file attachments 2022-06-10 21:33:39 -04:00
Philipp Heckel 0521f19ea4 Fix docs header color; tiny other fixes with logging 2022-06-02 20:59:07 -04:00
Philipp Heckel 850c6725f5 Remove new line 2022-06-02 14:40:19 -04:00
Philipp Heckel e12995e218 Logging in subscribe and publish command 2022-06-02 11:59:22 -04:00
Philipp Heckel 5cc0b194d3 Add --trace and --no-log-dates; add docs 2022-06-02 10:50:05 -04:00
Philipp Heckel 7845eb0124 So much logging 2022-06-01 23:24:44 -04:00
Philipp Heckel ab955d4d1c Logging 2022-06-01 16:57:35 -04:00
Philipp Heckel bd865fd55d Merge branch 'main' into logging 2022-06-01 13:07:12 -04:00
Philipp Heckel eb0847392c Fix staticcheck 2022-06-01 09:05:21 -04:00
Philipp Heckel 8c32f029fb Fix data races 2022-05-31 23:55:05 -04:00
Philipp Heckel a04cf5fcb6 Merge branch 'main' into logging 2022-05-31 23:39:11 -04:00
Philipp Heckel 9202d85532 Make linter happy 2022-05-31 23:36:06 -04:00
Philipp Heckel 769e071593 Refining, changelog 2022-05-31 23:27:24 -04:00
Philipp Heckel c80e4e1aa9 Make Firebase logic testable, test it 2022-05-31 23:16:44 -04:00
Philipp Heckel f9284a098a Store Sender IP in DB for delayed messages 2022-05-31 21:39:19 -04:00
Philipp Heckel 8283b6be97 Firebase quota limit 2022-05-31 20:38:56 -04:00
Philipp Heckel dc0e699fb5 WIP: Logging 2022-05-29 22:14:14 -04:00
Philipp Heckel 1f38a4a531 Upgrade Firebase Admin SDK version 2022-05-29 20:48:14 -04:00
Philipp Heckel b2c2bd1e4b Remove "poll" alias for X-Poll-ID 2022-05-28 22:06:46 -04:00
Philipp Heckel 96bb357435 Polish the poll_request stuff 2022-05-27 20:30:20 -04:00
Philipp Heckel 6a43c1a126 WIP: iOS poll_request forwarder 2022-05-27 07:55:57 -04:00
Philipp Heckel 4dabc56952 Subscribe filter for querying by ID 2022-05-26 18:52:55 -04:00
Philipp Heckel af76a2606d Support for Firebase ~poll keepalive topic that wakes up iOS devices every 20 minutes 2022-05-25 21:39:46 -04:00
Philipp Heckel 2abd6a57ee Support emails without Content-Type, closes #265 2022-05-21 20:20:44 -04:00
Philipp Heckel cd27d47f4b APNs data 2022-05-20 15:59:58 -04:00
Philipp Heckel 60c5ccf34b Merge branch 'main' of github.com:binwiederhier/ntfy into macos-server 2022-05-20 15:59:12 -04:00
Philipp Heckel 91594faf28 Support for underscores in server.yml config options 2022-05-16 11:32:21 -04:00
Philipp Heckel c684a39191 Fine tuning 2022-05-13 14:42:25 -04:00
Curid 9684629549 Add disable option to web-root
Closes #238
2022-05-13 17:08:07 +00:00
Philipp Heckel 577cd0fcea ios 2022-05-11 13:29:23 -04:00
Philipp Heckel edfed24c27 Make Upgrade header check for websockets case insensitive, closes #228 2022-04-29 13:23:04 -04:00
Philipp Heckel 28bb8d4446 More actions tests 2022-04-27 14:28:58 -04:00
Philipp Heckel adea3c38be Remove backslash from quoted strings 2022-04-27 13:56:21 -04:00
Philipp Heckel 72aea2613a Remove superflous if statement 2022-04-27 11:23:44 -04:00
Philipp Heckel 6bd4e4bd7c User actions docs, tests and release notes 2022-04-27 10:25:01 -04:00
Philipp Heckel 1f6118f068 Finish up better parsing 2022-04-27 09:51:23 -04:00
Philipp Heckel 574e72a974 WIP: More advanced action parsing 2022-04-26 23:07:31 -04:00
Philipp Heckel 9c91ae2744 Make sure clear= values are checked 2022-04-23 15:23:18 -04:00
Philipp Heckel b805d49cfd Disallow HEAD/GET requests with body 2022-04-23 13:40:26 -04:00
Philipp Heckel 12f85cceb1 Add clear=true|false support to actions 2022-04-22 23:07:35 -04:00
Philipp Heckel 8f4a1db1f0 Changelog, add tests 2022-04-22 14:51:44 -04:00
Philipp Heckel a779434bab More docs 2022-04-21 09:58:28 -04:00
Philipp Heckel 712c292183 More docs 2022-04-20 16:31:25 -04:00
Philipp Heckel 8900df27c9 Docs, still WIP 2022-04-19 23:26:46 -04:00
Philipp Heckel 3c3b2477af Docs (WIP), Firebase 2022-04-19 19:22:19 -04:00
Philipp Heckel 5a9b2122c2 Make simple actions parsing work 2022-04-19 09:14:32 -04:00
Philipp Heckel 55869f551e Add ID 2022-04-17 14:29:43 -04:00
Philipp Heckel 967cde1fb5 JSON format 2022-04-16 20:12:01 -04:00
Philipp Heckel 26efd481e3 WIP Actions 2022-04-16 16:17:58 -04:00
Philipp Heckel 73349cd423 Add test 2022-04-03 20:19:43 -04:00
Philipp Heckel aba7e86cbc Attachment behavior fix for Firefox 2022-04-03 12:39:52 -04:00
Philipp Heckel f98743dd9b Continued work on send dialog and drag and drop 2022-04-02 17:06:26 -04:00
Philipp Heckel 59ec2de8bd Fix race in test 2022-03-30 14:37:42 -04:00
Philipp Heckel b67d9fc85d Added missing 'delay' and 'email' params to publish as json 2022-03-29 15:40:26 -04:00
Philipp Heckel 03ad5dcff6 Add Allow-Origin: *, because YOLO 2022-03-25 17:17:24 -04:00
Philipp Heckel b409c89d3b Do not allow comma in topic name in publish via GET endpoint (no ticket) 2022-03-23 14:29:55 -04:00
Philipp Heckel 8fcc40942f Publish as JSON 2022-03-16 14:16:54 -04:00
Philipp Heckel 37d4d5d647 PUT/POST as JSON, relates to #133 2022-03-15 16:00:59 -04:00
Philipp Heckel 207e990798 Fix brittle test 2022-03-13 21:30:14 -04:00
Philipp Heckel 750be7f07e Fix content type for config.js 2022-03-11 15:56:54 -05:00
Philipp Heckel 3f978bc45f Better test messages 2022-03-10 22:58:24 -05:00
Philipp Heckel 488aeb119b Gzip static responses 2022-03-10 21:55:56 -05:00
Philipp Heckel 160c72997f Fix auth base64, fix iPhone things 2022-03-10 18:11:12 -05:00
Philipp Heckel 840cb5b182 Add server-generated /config.js; add error boundary 2022-03-09 23:28:55 -05:00
Philipp Heckel acde2e5b6e Remove indexPage 2022-03-05 22:18:03 -05:00
Philipp Heckel c5ce51f242 Add --web-root switch 2022-03-05 21:28:25 -05:00
Philipp Heckel 36ccfac787 Fix tests 2022-03-05 20:48:27 -05:00
Philipp Heckel e27d5719f0 Embed new web UI into server 2022-03-05 20:24:10 -05:00
Philipp Heckel 1a3816c1ff Strip down old web app 2022-03-05 14:48:42 -05:00
Philipp Heckel cda9dfa9d0 Merge branch 'main' into ui 2022-02-27 16:10:21 -05:00
Philipp Heckel 4cd30c35ce Rename cache to messageCache 2022-02-27 14:47:28 -05:00
Philipp Heckel e29a18a076 Add another scheduled message to since ID test 2022-02-27 14:31:22 -05:00
Philipp Heckel f17df1e926 Combine entirely 2022-02-27 14:25:26 -05:00
Philipp Heckel c21737d546 Combine tests and all that 2022-02-27 14:21:34 -05:00
Philipp Heckel 6dc4e441e4 Fix tests; remove memory implementation entirely 2022-02-27 14:05:13 -05:00
Philipp Heckel 7d93b0596b Almost there; Replace memCache with :memory: SQLite cache 2022-02-27 09:38:46 -05:00
Philipp Heckel 8b32cfaaff Implement since=ID logic in mem cache; add tests; still failing 2022-02-26 20:19:28 -05:00
Philipp Heckel 18b91cf250 Merge branch 'since-id' into ui 2022-02-26 16:01:31 -05:00
Philipp Heckel 4af9c07577 WIP: Since ID, works 2022-02-26 15:57:10 -05:00
Philipp Heckel aa79fe2861 Desktop notifications 2022-02-26 10:14:43 -05:00
Philipp Heckel 530f55c234 Fully support auth in Web UI; persist users in localStorage (for now); add ugly ?auth=... param 2022-02-25 23:25:04 -05:00
Philipp Heckel 6d343c0f1a Login page of "subscribe dialog", still WIP, but looking nice 2022-02-25 16:07:25 -05:00
Philipp Heckel ce9e9f3e0d Add test for IP exempt setting 2022-02-14 19:23:57 -05:00
Philipp Heckel eed233a793 Double requests/sec limit; update docs 2022-02-14 17:07:17 -05:00
Philipp Heckel 2ad0802b65 Rate limit exemption; relates to #144 2022-02-14 16:09:59 -05:00
Philipp Heckel 0df8aa9a5d Replace \\n with \n in X-Message header 2022-02-13 09:23:55 -05:00
Philipp Heckel 3902599c52 More tests; enough! 2022-02-03 22:26:22 -05:00
Philipp Heckel 5cf92c55c6 Docs and minor improvements to "ntfy access" 2022-02-01 16:40:33 -05:00
Philipp Heckel e56eb0c178 Allow 'ntfy access --reset' 2022-02-01 12:23:11 -05:00
Philipp Heckel a77f89d302 Test Firebase stuff 2022-02-01 08:47:01 -05:00
Philipp Heckel b1bbbf0103 Simplify again 2022-01-31 20:12:47 -05:00
Philipp Heckel c2f31b9c9f Move firebase to seperate file 2022-01-31 20:06:48 -05:00
Philipp Heckel 198e2cfd90 Do not forward messages to Firebase if topic is not world-readable 2022-01-31 19:33:22 -05:00
Philipp Heckel c56814e7da Add wildcard access control 2022-01-31 11:44:58 -05:00
Philipp Heckel 631ade5430 Support multiple topics in auth 2022-01-27 12:49:05 -05:00
Philipp Heckel e61a0c2f78 Add /auth endpoint and tests 2022-01-25 23:04:09 -05:00
Philipp Heckel 460162737a More auth 2022-01-24 00:54:28 -05:00
Philipp Heckel 393f95aeac Auth CLI, continued 2022-01-23 23:02:39 -05:00
Philipp Heckel e309775ac1 More auth CLi 2022-01-23 00:54:18 -05:00
Philipp Heckel f388fd9c90 Move to package 2022-01-23 00:02:16 -05:00
Philipp Heckel b908f07355 . 2022-01-22 23:07:55 -05:00
Philipp Heckel 1287594505 Simplify tables 2022-01-22 23:01:20 -05:00
Philipp Heckel 86b20e8ccd All the auth things are working now 2022-01-22 14:47:27 -05:00
Philipp Heckel 2181227a6e WIP: Auth in 80 lines of code :-) 2022-01-21 22:22:27 -05:00
Philipp Heckel aab705f4a4 Fix baseURL check 2022-01-21 14:17:59 -05:00
Philipp Heckel 8af9a97518 Update server.yml docs 2022-01-20 20:40:12 -05:00
Philipp Heckel df6611e8de Store encoding in cache database 2022-01-17 19:14:51 -05:00
Philipp Heckel 7e817f408c Send encoding in Firebase (even though that doesn't make a ton of sense right now) 2022-01-17 13:49:02 -05:00
Philipp Heckel 4ceb058a40 Handle binary messages for UnifiedPush 2022-01-17 13:28:07 -05:00
Philipp Heckel 75f8607d75 Bail out early if HTTP is spoken to /ws endpoint 2022-01-16 17:54:15 -05:00
Philipp Heckel 9b0e7eedb2 Fix data race 2022-01-16 00:07:32 -05:00
Philipp Heckel 2b6363474e Combine things, move stuff 2022-01-15 23:17:46 -05:00
Philipp Heckel 707c58a120 Do not print ugly WS error; tests 2022-01-15 22:33:35 -05:00
Philipp Heckel 846ee0fb2d Websockets; working 2022-01-15 13:23:35 -05:00
Philipp Heckel b079cb99a4 Merge branch 'main' into unix-socket 2022-01-14 20:16:12 -05:00
Philipp Heckel a75f74b471 Bump version; update docs 2022-01-14 12:23:58 -05:00
Philipp Heckel e50779664d Remove peaking, addresses #93 2022-01-14 12:13:14 -05:00
Philipp Heckel 034c81288c Docs docs docs 2022-01-13 15:17:30 -05:00
Philipp Heckel 38b28f9bf4 CLI; docs docs docs 2022-01-12 21:24:48 -05:00
Philipp Heckel aa94410308 Daily traffic limit 2022-01-12 18:52:07 -05:00
Philipp Heckel c76e55a1c8 Making RateLimiter and FixedLimiter, so they can both work with LimitWriter 2022-01-12 17:03:28 -05:00
Philipp Heckel f6b9ebb693 Lots of tests 2022-01-12 11:05:04 -05:00
Philipp Heckel 68a324c206 Fail early for too-large attachments 2022-01-11 12:58:11 -05:00
Philipp Heckel 0b0595384e Listen on Unix socket 2022-01-10 16:28:13 -05:00
Philipp Heckel 289a6fdd0f Add attachment expiry option 2022-01-10 15:36:12 -05:00
Philipp Heckel e8cb9e7fde Better mime type probing 2022-01-10 13:38:51 -05:00
Philipp Heckel b5183612be Fix attachment pruning logging; .mp4 extension issue 2022-01-09 22:06:31 -05:00
Philipp Heckel 44a9509cd6 Properly handle different attachment use cases 2022-01-08 15:47:08 -05:00
Philipp Heckel cefe276ce5 Tests for fileCache 2022-01-08 12:14:43 -05:00
Philipp Heckel e7c19a2bad Expire attachments properly 2022-01-07 15:15:33 +01:00
Philipp Heckel c45a28e6af Attachments limits; working visitor limit 2022-01-07 14:49:28 +01:00
Philipp Heckel 9171e94e5a Fix file extension detection; fix HTTPS port 2022-01-06 14:45:23 +01:00
Philipp Heckel 5eca20469f Attachment size limit 2022-01-06 01:04:56 +01:00
Philipp Heckel 24eb27d41c Merge branch 'main' into attachments 2022-01-05 00:25:49 +01:00
Philipp Heckel 41c1189fee Persist "click" 2022-01-04 23:40:41 +01:00
Philipp Heckel 2e40b895a7 Fix message truncation, relates to #84 2022-01-04 21:09:47 +01:00
Philipp Heckel 76d102f964 Add "truncated" flag to let Android app know 2022-01-04 20:53:32 +01:00
Philipp Heckel 807d2b0d9d Truncate FCM messages if they are too long; This was trickier than expected; relates to #84 2022-01-04 20:43:37 +01:00
Philipp Heckel 722c579db0 Increase FCM priority for ntfy priority high and max, closes #70 2022-01-04 19:59:54 +01:00
Philipp Heckel 2930c4ff62 Preview URL 2022-01-04 19:45:29 +01:00
Philipp Heckel 38788bb2e9 WIP: attachments 2022-01-04 00:55:08 +01:00
Philipp Heckel eb5b86ffe2 WIP: Attachments 2022-01-02 23:56:12 +01:00
Philipp Heckel 47b491b6e2 55s keepalive, 65s did not work; unsure why 2022-01-01 22:48:17 +01:00
Philipp Heckel 91ad69dd00 Bump keepalive interval to 65s after testing 2022-01-01 22:21:47 +01:00
Philipp Heckel 521aad7db5 Increase keepalive duration to 55s 2022-01-01 22:11:09 +01:00
Philipp Heckel fe2988bb38 Reduce Firebase control channel keepalive message 2022-01-01 22:08:55 +01:00
Philipp Heckel 595ea87465 Switch VARCHAR(N) to TEXT, as they are equivalent in SQLite 2021-12-31 16:19:41 +01:00
Philipp Heckel 7b37141e07 Increase message size limit to 4096 2021-12-31 16:12:53 +01:00
Philipp Heckel dac88391c1 Docs docs docs 2021-12-28 17:36:12 +01:00
Philipp Heckel a46a520bca Fix tests 2021-12-28 01:48:58 +01:00
Philipp Heckel 04719f8dee Flip title and message if message is empty 2021-12-28 01:41:00 +01:00
Philipp Heckel 113053a9e3 Fix encoding issues 2021-12-28 01:26:20 +01:00
Philipp Heckel 7cfe909644 CLI arguments 2021-12-27 22:27:01 +01:00
Philipp Heckel 01a1d981cf fix nil pointer 2021-12-27 22:18:15 +01:00
Philipp Heckel e7f8fc93e4 Working prefix 2021-12-27 22:06:40 +01:00
Philipp Heckel 7eaa92cb20 WIP 2021-12-27 16:39:28 +01:00
Philipp Heckel 3001e57bcc WIP: mail publish 2021-12-27 15:48:09 +01:00
Philipp Heckel 43a2acb756 Typo 2021-12-27 00:37:18 +01:00
Philipp Heckel bcc424f2aa Oops 2021-12-26 14:36:38 +01:00
Philipp Heckel ec7e58a6a2 Fix santa bug, email subject encoding, closes #65 2021-12-26 14:34:25 +01:00
Philipp Heckel d6762276f5 Test 2021-12-25 22:07:55 +01:00
Philipp Heckel 41514cd557 Merge branch 'main' into up 2021-12-25 21:49:47 +01:00
Karmanyaah Malhotra 63a29380a9 up testing 2021-12-25 10:26:18 -06:00
Philipp Heckel eeb378cfdc Change error JSON 2021-12-25 15:21:41 +01:00
Philipp Heckel 7a23779d07 JSON API errors 2021-12-25 15:15:05 +01:00
Philipp Heckel 29628a66a6 Initial 2021-12-25 11:56:02 +01:00
Philipp Heckel 8a625ef786 Docs, and fixing tests 2021-12-25 10:35:08 +01:00
Philipp Heckel 3bc8ff0104 Docs 2021-12-25 00:57:02 +01:00
Philipp Heckel 11b5ac49c0 Fully working email feature 2021-12-25 00:13:09 +01:00
Philipp Heckel f553cdb282 Continued e-mail support 2021-12-24 15:01:29 +01:00
Philipp Heckel 6b46eb46e2 A mutex in a test struct ... 2021-12-24 00:10:22 +01:00
Philipp Heckel 7280ae1ebc Email rate limiting + tests 2021-12-24 00:03:04 +01:00
Philipp Heckel 873c57b3d8 Send emails 2021-12-23 21:04:17 +01:00
Philipp Heckel 85939618c8 Fix Poll(); yeyy tests 2021-12-22 23:45:19 +01:00
Philipp Heckel fe5734d9f0 Tests for cliet package 2021-12-22 23:20:43 +01:00
Philipp Heckel 6a7e9071b6 Tests, client tests WIP 2021-12-22 14:17:50 +01:00
Philipp Heckel 68d881291c Docs, LoadConfig, config test 2021-12-22 13:46:17 +01:00
Philipp Heckel 534fca0d3b Fix data race 2021-12-22 10:04:59 +01:00
Philipp Heckel b6120cf6d7 Message filtering tests 2021-12-22 09:44:16 +01:00
Philipp Heckel 09bf13bd70 Query filters only apply to message events 2021-12-21 21:29:37 +01:00
Philipp Heckel 9315829bc4 Query filters 2021-12-21 21:22:27 +01:00
Philipp Heckel e3dfea1991 Docblocks, a handful of tests, but not enough 2021-12-19 14:27:26 -05:00
Philipp Heckel fa9d6444f5 Move config files and folders 2021-12-18 22:02:36 -05:00
Philipp Heckel 1e8421e8ce WIP: CLI, relates to #46 2021-12-16 20:33:01 -05:00
Philipp Heckel 534b93e142 Webhooks (#55), more tests (#35) and python examples (#50) 2021-12-15 16:12:40 -05:00
Philipp Heckel 02f8a32b46 GET-based send/trigger, relates to #55 2021-12-15 09:41:55 -05:00
Philipp Heckel 9cb48dbb60 Move background tasks to functions 2021-12-15 09:13:16 -05:00
Philipp Heckel 63206f8581 Firebase keepalive, supports #56 2021-12-13 22:30:28 -05:00
Philipp Heckel 01d21165e9 Docs docs docs 2021-12-11 00:06:25 -05:00
Philipp Heckel e8688fed4b Lots more tests 2021-12-10 22:57:01 -05:00
Philipp Heckel 5ef83a7ba0 Test DB migration 2021-12-10 20:28:56 -05:00
Philipp Heckel 06b4d9c83b Natural language 2021-12-10 19:59:51 -05:00
Philipp Heckel 196c86d12b WIP_ Add 'At:'/'Delay:' headers to support scheduled messages 2021-12-10 11:31:42 -05:00
Philipp Heckel f966b2f9d7 Add 'Firebase: no' header, closes #42 2021-12-09 12:15:17 -05:00
Philipp Heckel d6fbccab55 Add 'Cache: no' header, closes #41 2021-12-09 10:23:17 -05:00
Philipp Heckel d5be5d3e8c Test schema migration 2021-12-08 23:24:09 -05:00
Philipp Heckel 98c1ab9e86 Finish cache tests 2021-12-08 22:57:31 -05:00
Philipp Heckel b437a87266 Disallow subscribing to /docs 2021-12-08 22:13:59 -05:00
Philipp Heckel 3a009eac9d More unit tests 2021-12-08 16:08:50 -05:00
Philipp Heckel 802ef17cb4 Fix data races 2021-12-07 16:03:01 -05:00
Philipp Heckel c9f1b02251 Unnecessary check around range 2021-12-07 15:43:51 -05:00
Philipp Heckel 40fbce07db Test for simple pub sub 2021-12-07 15:39:42 -05:00
Philipp Heckel fc16b0531a Open and keepalive tests 2021-12-07 14:46:10 -05:00
Philipp Heckel 94b70fbcb9 First server tests 2021-12-07 14:06:33 -05:00
Philipp Heckel fd71589f60 More test; begin test infra stuff 2021-12-07 12:23:42 -05:00
Philipp Heckel be50af0a7a Begin unit tests, relates to #35 2021-12-07 11:45:15 -05:00
Philipp Heckel da8f90d388 gofmt 2021-12-07 10:38:58 -05:00
Philipp Heckel 0f495b881a Almost read to publish 2021-12-05 15:57:37 -05:00
Philipp Heckel 4fcb3891a2 More docs; omg why is this taking so long 2021-12-05 07:31:05 -05:00
Philipp Heckel 0f57bd147c Docs docs docs 2021-12-04 23:37:50 -05:00
Philipp Heckel cd80c7ebd8 Strip down main page more 2021-12-04 20:23:29 -05:00
Philipp Heckel 90ba341323 Remove print 2021-12-04 14:33:55 -05:00
Philipp Heckel 7ba268887b Continuation of the docs 2021-12-02 17:27:31 -05:00
Philipp Heckel 07a1fe3acb Add TLS/HTTPS 2021-12-02 08:52:48 -05:00
Philipp Heckel 1e7ae885b4 Update examples 2021-11-29 15:34:29 -05:00
Philipp Heckel e3debf4315 Count capitalization 2021-11-29 11:48:34 -05:00
Philipp Heckel 28f4e1e55e Reduce emoji.js size 2021-11-29 10:57:18 -05:00
Philipp Heckel 8616be12a2 Emojis in notifications; server caching 2021-11-29 09:34:43 -05:00
Philipp Heckel 052ab7d411 Emoji support in Web UI 2021-11-28 19:58:49 -05:00
Philipp Heckel 6ca63cc0e9 Merge branch 'main' of github.com:binwiederhier/ntfy into main 2021-11-28 19:03:53 -05:00
Philipp Heckel f0edf0610e Add priorities and tags to web UI 2021-11-28 19:03:15 -05:00
Copephobia 4663c3b724
Fix topic div being hidden on iOS devices 2021-11-28 15:44:25 -05:00
Philipp Heckel d4330e86ac Add title, priority, tags to cache; add schema migration 2021-11-28 14:07:29 -05:00
Philipp Heckel 1b8ebab5f3 Priorities, titles, tags 2021-11-27 16:12:08 -05:00
Philipp Heckel 71af1af001 New logo and header 2021-11-23 20:22:09 -05:00
Philipp Heckel 9af64bf3dd Favicon 2021-11-23 12:02:16 -05:00
Philipp Heckel c247984ca9 Merge branch 'main' of github.com:binwiederhier/ntfy into main 2021-11-22 10:53:03 -05:00
Philipp Heckel 2a05715107 Multi-platform Docker images 2021-11-22 10:46:19 -05:00
Nathanaël Houn fde5fda635
Use custom url in case of self-hosted 2021-11-22 14:30:09 +01:00
Philipp Heckel 0d7039d034 Readme 2021-11-18 14:45:37 -05:00
Philipp Heckel 8280e5b0ad Do not allow empty messages 2021-11-18 14:21:00 -05:00
Philipp Heckel ae97fbe025 Fix typo 2021-11-18 13:14:55 -05:00
Philipp Heckel 6d7fec5337 Examples and anchors on website 2021-11-18 09:22:33 -05:00
Philipp Heckel ba2f6e08cd Anchors in web UI 2021-11-17 20:50:47 -05:00
Philipp Heckel 52136030be Subscribe to more than one topic 2021-11-15 07:56:58 -05:00
Philipp Heckel a481f4c448 Theme color in Chrome Android 2021-11-12 14:43:32 -05:00
Philipp Heckel c0ee174b13 Make publishing asynchronous 2021-11-09 14:48:25 -05:00
Philipp Heckel cc752cf797 Screenshots 2021-11-09 10:46:47 -05:00
Philipp Heckel b9b53bcdf0 Fix Chrome/Firefox inconsistencies with sorting 2021-11-08 10:35:46 -05:00
Philipp Heckel d453db89a7 Add since=all; make poll=1 default to since=all 2021-11-08 09:46:31 -05:00
Philipp Heckel 43c9a92748 Detail page in web UI 2021-11-08 09:24:34 -05:00
Philipp Heckel c01c94c64c Fix content type to add charset 2021-11-07 13:08:03 -05:00
Philipp Heckel 0170f673bd Fix rate limiting behind proxy, make configurable 2021-11-05 13:46:27 -04:00
Philipp Heckel 86a16e3944 More tweaking 2021-11-04 22:47:29 -04:00
Philipp Heckel c9124cb5eb Make web ui prettier 2021-11-04 22:32:17 -04:00
Philipp Heckel 644ffa1420 WIP: Web UI improvements 2021-11-04 10:55:34 -04:00
Philipp Heckel 5948f39a53 Add firebase subscriber to topics from cache upon initialization; stricter rate limits 2021-11-03 21:16:07 -04:00
Philipp Heckel 30a1ffa7cf Clean up readme 2021-11-03 11:33:34 -04:00
Philipp Heckel 7b810acfb5 SQLite cache 2021-11-02 21:09:49 -04:00
Philipp Heckel 1c7695c1f3 Merge branch 'main' into cache 2021-11-02 14:24:49 -04:00
Philipp Heckel 0e9fa1c4dc Fix raw endpoint 2021-11-02 14:10:56 -04:00
Philipp Heckel 67922b0ae5 Cache 2021-11-02 14:08:21 -04:00
Philipp Heckel b775e6dfce Limits 2021-11-01 16:39:40 -04:00
Philipp Heckel fa7a45902f Subscription limit 2021-11-01 15:21:38 -04:00
Philipp Heckel 91541f9c69 Add logo and color 2021-10-30 23:46:08 -04:00
Philipp Heckel 9a91312392 Only send Firebase data messages 2021-10-29 15:47:46 -04:00
Philipp Heckel b145e693a5 Add firebase support 2021-10-29 13:58:14 -04:00
Philipp Heckel 4677e724ee Re-add "message" as event type 2021-10-29 08:29:27 -04:00
Philipp Heckel ad17be1683 WIP: Firebase support 2021-10-28 23:50:38 -04:00
Philipp Heckel a38aca47bd Subscribe endpoint consolidation; same behavior for all endpoints; keepalive 2021-10-27 14:56:17 -04:00
Philipp Heckel b72afb1695 Todo, readme 2021-10-25 08:54:46 -04:00
Philipp Heckel 1321bf19dc Make things prettier, better sound, FAQ, icon in desktop notification 2021-10-24 22:08:06 -04:00
Philipp Heckel 6f9fba99e6 Notification sound 2021-10-24 14:51:49 -04:00
Philipp Heckel 317621c696 Styling 2021-10-24 14:22:53 -04:00
Philipp Heckel 39574c954b Examples, CORS 2021-10-24 13:34:15 -04:00
Philipp Heckel 1ab0282101 Test button 2021-10-24 09:12:29 -04:00
Philipp Heckel c3b97365ce Text field for mobile 2021-10-23 23:30:10 -04:00
Philipp Heckel 23cf77e0b7 Rate limiting, docs 2021-10-23 22:49:50 -04:00
Philipp Heckel e1c9fef6dc Makefile, Dockerfile, GoReleaser, config.yml, systemd service 2021-10-23 21:29:45 -04:00
Philipp Heckel a66bd6dad7 Remove websockets, readme, better UI 2021-10-23 15:22:17 -04:00
Philipp Heckel 630ecd351f SSE 2021-10-23 13:21:33 -04:00
Philipp Heckel 5c2b6d18ec Works mostly 2021-10-22 21:26:01 -04:00