Philipp Heckel
|
a04cf5fcb6
|
Merge branch 'main' into logging
|
2022-05-31 23:39:11 -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
|
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
|
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
|
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
|
edfed24c27
|
Make Upgrade header check for websockets case insensitive, closes #228
|
2022-04-29 13:23:04 -04:00 |
|
Philipp Heckel
|
1f6118f068
|
Finish up better parsing
|
2022-04-27 09:51:23 -04:00 |
|
Philipp Heckel
|
b805d49cfd
|
Disallow HEAD/GET requests with body
|
2022-04-23 13:40:26 -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
|
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
|
26efd481e3
|
WIP Actions
|
2022-04-16 16:17:58 -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
|
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
|
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
|
e27d5719f0
|
Embed new web UI into server
|
2022-03-05 20:24:10 -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
|
c21737d546
|
Combine tests and all that
|
2022-02-27 14:21:34 -05:00 |
|
Philipp Heckel
|
7d93b0596b
|
Almost there; Replace memCache with :memory: SQLite cache
|
2022-02-27 09:38:46 -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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
113053a9e3
|
Fix encoding issues
|
2021-12-28 01:26:20 +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
|
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
|
f553cdb282
|
Continued e-mail support
|
2021-12-24 15:01:29 +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
|
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
|
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
|
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
|
802ef17cb4
|
Fix data races
|
2021-12-07 16:03:01 -05:00 |
|
Philipp Heckel
|
40fbce07db
|
Test for simple pub sub
|
2021-12-07 15:39: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
|
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
|
8616be12a2
|
Emojis in notifications; server caching
|
2021-11-29 09:34:43 -05:00 |
|
Philipp Heckel
|
1b8ebab5f3
|
Priorities, titles, tags
|
2021-11-27 16:12:08 -05:00 |
|
Philipp Heckel
|
8280e5b0ad
|
Do not allow empty messages
|
2021-11-18 14:21:00 -05:00 |
|
Philipp Heckel
|
6d7fec5337
|
Examples and anchors on website
|
2021-11-18 09:22:33 -05:00 |
|
Philipp Heckel
|
52136030be
|
Subscribe to more than one topic
|
2021-11-15 07:56:58 -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
|
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 |
|