Commit graph

324 commits

Author SHA1 Message Date
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