Commit Graph

689 Commits

Author SHA1 Message Date
Michael Manganiello 49bd6129ff Convert mailer_emoji JSON file to map
This fixes a pending TODO comment regarding inefficient tags to emojis
mapping, by requiring a full scan over emoji aliases to determine
matches.

Instead, now the JSON file is a map, with aliases as keys, and emojis as
values. The script to convert the file with Python was:

```python
import json

with open("./mailer_emoji.json", "r", encoding="utf-8") as f:
    content = json.load(f)

emoji_map = {}
for emoji in content:
    for alias in emoji["aliases"]:
        if alias in emoji_map:
            print("WARNING: Duplicate alias:", alias)
            continue
        emoji_map[alias] = str(emoji["emoji"])

sorted_emoji_map = {k: emoji_map[k] for k in sorted(emoji_map)}

with open("./mailer_emoji_map.json", "w", encoding="utf-8") as f:
    json.dump(sorted_emoji_map, f, indent=4, ensure_ascii=False)
```
2023-05-13 11:43:47 -03:00
binwiederhier cea434a57c WIP Twilio 2023-05-12 21:47:41 -04:00
binwiederhier f99159ee5b WIP calls, remove SMS 2023-05-12 20:01:12 -04:00
binwiederhier d4767caf30 Verify 2023-05-11 13:50:10 -04:00
binwiederhier a26a6be62b Merge branch 'main' into twilio 2023-05-10 14:18:55 -04:00
binwiederhier f4e6874ff0 Formatting 2023-05-09 20:57:09 -04:00
Guillaume Taquet Gasperini 5b8520b4e0 Add quoted-printable decoding to smtp server
Some e-mails are sent using quoted-printable encoding [0], resulting in
notifications with weird characters.

This commit adds support for this encoding, resulting in the following:

**Before**
```
A
=3D=3D=3D=3D=3D
B
=3D=3D=3D=3D=3D
C
```

**After**
```
A
=====
B
=====
C
```

[0] https://www.rfc-editor.org/rfc/rfc2045.html
2023-05-08 10:54:34 +02:00
binwiederhier eb0805a470 Update web app with SMS and calls stuff 2023-05-07 22:28:07 -04:00
binwiederhier f9e2d6ddcb Add limiters and database changes 2023-05-07 11:59:15 -04:00
binwiederhier 113b7c8a08 Metrics, tests 2023-05-06 14:23:48 -04:00
binwiederhier 3863357207 WIP 2023-05-05 20:14:46 -04:00
binwiederhier 1c0162c434 WIP: Twilio 2023-05-05 16:22:54 -04:00
binwiederhier c997e4911a Fix test and retry 2023-05-02 14:16:59 -04:00
Rahul Tyagi d2fa768151 fix: removes an issue with topic.Subscribe function not checking duplicate ID 2023-05-02 21:40:27 +05:30
binwiederhier 6ad3b2e802 Remove old homepage 2023-05-01 11:58:49 -04:00
binwiederhier 59a5077713 Add RFC 2047 encoding support for tags 2023-04-24 13:00:14 -04:00
binwiederhier 35eac5b9ad Simplify 2023-04-21 21:07:07 -04:00
binwiederhier cfa8d92af1 UTF-8 headers 2023-04-21 18:45:27 -04:00
binwiederhier 91d2603fe0 Add tests, and proper rate 2023-04-21 11:09:13 -04:00
binwiederhier 6be95f8285 WIP: persist message stats 2023-04-20 22:04:11 -04:00
binwiederhier d88dbbc90f WIP 2023-04-02 13:59:26 -04:00
binwiederhier bdae48afba Disable iOS polling entirely 2023-03-30 14:48:52 -04:00
binwiederhier 46c798c71a Just comment the test for now 2023-03-29 15:03:41 -04:00
binwiederhier 4596e4bcab Blog posts, fix lint 2023-03-29 00:23:08 -04:00
binwiederhier 29c9551548 Profiling support 2023-03-28 14:41:16 -04:00
binwiederhier 502d0a0abd Fix delayed message sending from authenticated users, closes #679 2023-03-22 15:30:20 -04:00
binwiederhier 73069ae9a0 Fix test 2023-03-17 22:05:07 -04:00
binwiederhier e20fd0f84f Changelog 2023-03-16 22:40:52 -04:00
binwiederhier ca9fed7b67 More metrics 2023-03-16 22:19:20 -04:00
binwiederhier 358b344916 Allow /metrics on default port; reduce memory if not enabled 2023-03-15 22:34:06 -04:00
binwiederhier fe731d43cd More metrics 2023-03-14 10:19:15 -04:00
binwiederhier 754b456320 Merge branch 'main' into metrics 2023-03-12 21:23:24 -04:00
binwiederhier c6bfdd45be Increase allowed auth failure attempts, Increase maximum incremental backoff retry interval 2023-03-08 14:51:47 -05:00
binwiederhier 9370acbcfe Cosmetic changes 2023-03-06 23:12:46 -05:00
binwiederhier 2783a52cad WIP metrics 2023-03-06 22:16:10 -05:00
Hunter Kehoe 25be5b47e4 allow default-token and per-subscription tokens in client.yml 2023-03-05 22:57:51 -07:00
binwiederhier 6f4b260035 Tiny changes 2023-03-04 09:32:29 -05:00
binwiederhier 346d8d7967 Works 2023-03-03 22:22:07 -05:00
binwiederhier 3eeeac2c13 Merge branch 'enable-subscriber-rate-limiting' into matrix-507-reject 2023-03-03 20:34:33 -05:00
binwiederhier 94f6d2d5b5 Rename flag 2023-03-03 20:23:18 -05:00
binwiederhier 1c4420bca8 EnableRateVisitor flag 2023-03-03 14:55:37 -05:00
binwiederhier 1ce92714c4 Add `visitor_seen` to the log context 2023-03-03 13:56:48 -05:00
binwiederhier 90db1283dd Allow SMTP servers without auth 2023-03-02 20:25:13 -05:00
binwiederhier 983afb2b45 Fix some iffy tests with waitFor function 2023-03-01 11:36:48 -05:00
binwiederhier 4d22ccc7f6 WIP Reject 507s after a while 2023-02-28 22:25:13 -05:00
binwiederhier fe3a225f8f Add `billing-contact` config option 2023-02-28 14:38:31 -05:00
binwiederhier 8ca08ce868 Fix panic when using Firebase without users 2023-02-27 22:07:22 -05:00
binwiederhier ba46630138 Various things 2023-02-27 21:13:15 -05:00
binwiederhier 217ca81b17 Remove broken test, replace with simpler one 2023-02-27 14:07:06 -05:00
binwiederhier 7edcebad1f Give test more time 2023-02-27 11:06:03 -05:00
binwiederhier 0967414f79 Bump version, add more details to rate_visitor logs 2023-02-25 21:09:10 -05:00
binwiederhier 8215b66db3 Logging improvements, etc. 2023-02-25 20:23:22 -05:00
binwiederhier f7f343fe55 Logging fixes 2023-02-25 15:31:12 -05:00
binwiederhier 0606fbe60a Adjust Matrix/UP behavior to work with Synapse+Mastodon 2023-02-25 15:12:03 -05:00
Karmanyaah Malhotra 0d7aba9487 Fix Matrix errors and tests 2023-02-25 00:12:14 -06:00
Karmanyaah Malhotra fbbfa2bbc1 fix matrix tests for new error handling
Test driven development
2023-02-24 23:09:21 -06:00
Karmanyaah Malhotra 2f5cfab01c Fix 507 tests for UnifiedPush subscribe rate limiting 2023-02-24 22:16:03 -06:00
binwiederhier 70cd267ff5 Return 507 for UP publishers without subscribers 2023-02-24 22:07:18 -05:00
binwiederhier d5052d79e6 Add up* length requirement 2023-02-24 21:10:41 -05:00
binwiederhier 45928ddc47 Release notes 2023-02-24 15:11:59 -05:00
binwiederhier bfc3983d06 Only set rate visitor if allowed 2023-02-24 14:45:30 -05:00
binwiederhier 2329695a47 Polishing 2023-02-23 20:46:53 -05:00
binwiederhier 8eae44ea61 Topic expiry attempt 2023-02-23 16:03:40 -05:00
binwiederhier 57e1104afb Ensure we return 429s for Matrix endpoints too; return proper error codes 2023-02-23 15:38:45 -05:00
binwiederhier ede957973b Merge branch 'main' into vrate 2023-02-23 14:03:11 -05:00
binwiederhier 422ad0cc5d UnifiedPush: Treat non-Basic/Bearer `Authorization` header like header was not sent 2023-02-23 10:15:57 -05:00
binwiederhier 0c3d832c5f More todos 2023-02-23 09:38:53 -05:00
binwiederhier 483410c4a2 More tests; Discovered a bug with the response codes 2023-02-22 22:44:48 -05:00
binwiederhier bdeec4d297 Polish a little 2023-02-22 22:26:43 -05:00
binwiederhier 21b27b5dbe Working test 2023-02-22 21:33:18 -05:00
binwiederhier 29340e7e24 Add test, fails 2023-02-22 21:00:56 -05:00
binwiederhier 4ab450309f Merge branch 'main' into user-account 2023-02-22 19:22:47 -05:00
Karmanyaah Malhotra ce7d447f16 limitRequestsWithTopic 2023-02-21 22:40:15 -06:00
binwiederhier ef9d6d9f6c Support for annual billing intervals 2023-02-21 22:44:30 -05:00
Karmanyaah Malhotra 0e4044b747 rename lastVisitor to vRate 2023-02-21 20:18:04 -06:00
Karmanyaah Malhotra bc3d897d7a Use mutexes in topic 2023-02-21 20:16:03 -06:00
Karmanyaah Malhotra 1655f584f9 rate limiting impl 2.0? 2023-02-21 20:04:56 -06:00
binwiederhier 67b45455b8 Do not panic when changing tiers, and user is nil 2023-02-20 21:46:25 -05:00
Karmanyaah Malhotra 36685e9df9 Suggested changes
- b9badee6db (r1111115151)
- b9badee6db (r1111114771)
2023-02-20 17:58:51 -06:00
binwiederhier 83d7dd99e8 Fix comments 2023-02-20 15:48:34 -05:00
Philipp Born e892b994c3
add support to pass access-token for e-mail publishing 2023-02-20 12:45:43 +01:00
binwiederhier 5f75e98861 Parse nested multipart emails, fixes #610 2023-02-19 10:13:25 -05:00
binwiederhier e9b05e8ed7 Support for base64 encoded emails 2023-02-19 09:39:04 -05:00
binwiederhier fb727fc84a Derp 2023-02-18 19:54:47 -05:00
binwiederhier 96439ac41f Do not set m.Expires if `cache: no` is set 2023-02-18 19:48:21 -05:00
binwiederhier 9ff3bb0c87 Ensure that calls to standard logger `log.Println` also output JSON 2023-02-17 20:52:48 -05:00
binwiederhier 38e7801b41 Fix panic in manager when `attachment-cache-dir` is not set, fixes #617 2023-02-17 15:56:48 -05:00
binwiederhier c8c16eb8e6 Fix failing test 2023-02-16 16:32:43 -05:00
binwiederhier b8e976f4f6 Bump to 2.0.0 2023-02-16 14:21:19 -05:00
binwiederhier 6c51b7558a Fine tuning error messages, add --ignore-exists flag to tier/user command 2023-02-16 10:35:23 -05:00
binwiederhier 76d46ec646 Minor tweaks 2023-02-15 10:55:01 -05:00
Karmanyaah Malhotra b9badee6db remove TTL, will make a seperate PR 2023-02-15 03:38:24 -06:00
Karmanyaah Malhotra c6b64df662 remove ttl 2023-02-15 03:31:59 -06:00
binwiederhier 0df3e3e4f5 Merge branch 'main' into user-account 2023-02-14 21:22:46 -05:00
binwiederhier 8d7ff4d7db SMTP server tests 2023-02-14 20:56:02 -05:00
Karmanyaah Malhotra 7c5b9c0e62 only log expiry if applicable 2023-02-14 14:21:33 -06:00
Karmanyaah Malhotra 6bfe4a9779 Bill to visitor and set TTL in response 2023-02-14 14:07:02 -06:00
Karmanyaah Malhotra fb2fa4c478 Fix m.Expires and prune stale topics based on lastVisitorExpires 2023-02-14 14:00:43 -06:00
Karmanyaah Malhotra 28b654ae27 Keep track of lastVisitor to a topic 2023-02-14 13:58:13 -06:00
binwiederhier 80292f1f4d Tiny changes 2023-02-14 14:26:30 -05:00
Karmanyaah Malhotra d686e1ee77 Use visitor instead of UserID in topicSubscription 2023-02-14 13:07:32 -06:00
binwiederhier 66cf54e458 Fix delayed messages expiry, thanks to @karmanyaahm 2023-02-14 14:05:41 -05:00
binwiederhier 610adb062b More docs 2023-02-14 13:58:49 -05:00
binwiederhier 70aa384bc3 Docs for access tokens 2023-02-13 21:35:58 -05:00
binwiederhier 355424c0da Fix trace logging 2023-02-13 13:20:05 -05:00
binwiederhier bed60b71ff Tester feedback 2023-02-12 21:05:24 -05:00
binwiederhier cc309e87e9 Remove awkward subscription id 2023-02-12 14:09:44 -05:00
binwiederhier 9131d3d521 Token tests 2023-02-12 12:19:46 -05:00
binwiederhier 6b4971786f Fix intermittent test failure; add test for expiring messages after reservation removal 2023-02-12 12:08:56 -05:00
binwiederhier 1f010acb30 Tests for manager.go 2023-02-12 08:29:44 -05:00
binwiederhier 8bf64d8723 A few manager tests 2023-02-11 22:14:09 -05:00
binwiederhier 73b0161ff7 Remove self-review todo 2023-02-11 20:45:04 -05:00
binwiederhier 669d269fd9 Popup click should not open page 2023-02-11 10:52:19 -05:00
binwiederhier b026e45189 Self-review (cont'd) 2023-02-11 10:49:37 -05:00
binwiederhier 7e38419cdb Fix slow test 2023-02-10 21:48:23 -05:00
binwiederhier cfcc3793c5 Fix 404 race when uploading attachments 2023-02-10 21:44:12 -05:00
binwiederhier 5724bdf436 Fix UI bugs 2023-02-10 21:19:44 -05:00
binwiederhier 79f9e78c37 More review stuff 2023-02-09 21:51:12 -05:00
binwiederhier d8dd4c92bf More RWLock. Jeff wins again 2023-02-09 20:49:45 -05:00
binwiederhier dc77efc31a Fix linting 2023-02-09 17:21:12 -05:00
binwiederhier e6bb5f484c Self-review, round 2 2023-02-09 15:24:12 -05:00
binwiederhier bcb22d8d4c Added disallowed-topics 2023-02-09 08:32:51 -05:00
binwiederhier b37cf02a6e Code review (round 1) 2023-02-08 22:57:10 -05:00
binwiederhier 7706bd9845 Fix racing test 2023-02-08 20:00:10 -05:00
binwiederhier b17a7cfa95 Remove unused var 2023-02-08 15:26:42 -05:00
binwiederhier e1a4a74905 Auth rate limiter 2023-02-08 15:20:44 -05:00
binwiederhier bf96d21d67 Add more logs 2023-02-07 22:45:55 -05:00
binwiederhier 2f0fdf1252 Make logging more efficient 2023-02-07 22:10:51 -05:00
binwiederhier d44a11325d More visitor log fields 2023-02-07 16:20:49 -05:00
binwiederhier a32e8abc12 "ntfy tier" CLI command 2023-02-07 12:02:25 -05:00
binwiederhier e3b39f670f WIP tier CLI 2023-02-06 22:38:22 -05:00
binwiederhier 9b54f63eb1 Error logging 2023-02-06 16:01:32 -05:00
binwiederhier 7cc8c81bd8 Continued logging work 2023-02-05 23:34:27 -05:00
binwiederhier 27bd79febf log.go 2023-02-04 21:26:40 -05:00
binwiederhier 5d6051c490 Logging WIP 2023-02-04 21:26:01 -05:00
binwiederhier a6641980c2 WIP: Logging 2023-02-03 22:21:50 -05:00
binwiederhier af4175a5bc Fix test, fix #598 2023-02-02 19:07:16 -05:00
binwiederhier 0885951a67 JS error handling 2023-02-02 15:19:37 -05:00
binwiederhier 180a7df1e7 No ripple in dialogs 2023-01-31 22:12:16 -05:00
binwiederhier 07cdf2bc7a Reserve dialogs 2023-01-31 21:39:30 -05:00
binwiederhier 259293f9b3 JS constants 2023-01-30 13:10:45 -05:00
binwiederhier ef8f7c9884 todo 2023-01-30 12:45:53 -05:00
binwiederhier b10b0f8a6a Enable automatic tax 2023-01-30 09:30:51 -05:00
binwiederhier d717bf39ac "ntfy token" CLI 2023-01-29 21:42:40 -05:00
binwiederhier c12ecb9f21 More tests 2023-01-29 20:11:58 -05:00
binwiederhier 00af52411c More billing unit tests 2023-01-29 16:15:08 -05:00
binwiederhier f4c54a1643 Associate file downloads with uploader 2023-01-29 15:11:26 -05:00
binwiederhier 0e36ac84d8 Test anonymous user is same as non-tier user 2023-01-28 21:27:05 -05:00
binwiederhier 92d563371c No more v.user races 2023-01-28 20:43:06 -05:00
binwiederhier e596834096 Add "last access" to access tokens 2023-01-28 20:29:06 -05:00