Commit graph

374 commits

Author SHA1 Message Date
Andre Medeiros
af592c446f Fix watcher list endpoint 2022-05-19 12:43:37 -04:00
Andre Medeiros
8c5422af20 edge case for stuck notifications 2022-05-19 12:37:03 -04:00
Andre Medeiros
cc6e862ba6 be less noisy about rate limits 2022-05-19 11:51:56 -04:00
Andre Medeiros
527552eb6d Use raw_json on all reddit calls 2022-05-17 17:36:59 -04:00
Andre Medeiros
6cfdc1ba74 Tweak username length 2022-05-13 10:29:09 -04:00
Andre Medeiros
69a9101499 Fix Subreddit length 2022-05-13 10:27:56 -04:00
Andre Medeiros
1919b36f57 fix subreddit watchers for 2 letter subreddits 2022-05-12 16:23:16 -04:00
Andre Medeiros
132374fb6b freaking sql types 2022-05-08 21:02:59 -04:00
Andre Medeiros
3803fea055 fix watcher creation 2022-05-08 20:56:04 -04:00
Andre Medeiros
bc80526251 Send JSON body, not URL param 2022-05-07 19:30:07 -04:00
Andre Medeiros
b55b52bf2c tweak a bit more 2022-05-07 15:16:04 -04:00
Andre Medeiros
ebe7437bfa log errors on API 2022-05-07 15:10:57 -04:00
Andre Medeiros
10d2e77c4f use request context 2022-05-07 15:04:35 -04:00
Andre Medeiros
b001a51a30 return after error 2022-05-07 13:38:23 -04:00
Andre Medeiros
eaf6a707ca fix bugsnag exception 2022-05-07 13:38:04 -04:00
Andre Medeiros
5e2a846bc1 Fix header for old API 2022-05-07 13:36:23 -04:00
Andre Medeiros
f8b6c062e8 Revert "Don't lowcase subreddits"
This reverts commit b7e5d3860c.
2022-05-07 13:31:52 -04:00
Andre Medeiros
b7e5d3860c Don't lowcase subreddits 2022-05-07 13:30:05 -04:00
Andre Medeiros
fe8baf7989 make watcher keywords more flexible 2022-05-07 13:22:06 -04:00
Andre Medeiros
53a4bbee25 Avoid Sandbox things 2022-05-07 13:01:57 -04:00
Andre Medeiros
596636ee60 formatting 2022-05-07 12:57:14 -04:00
Andre Medeiros
a42ddbeeb3 add notification test endpoints 2022-05-07 12:53:42 -04:00
André Medeiros
f9b9c595cf Better testing (#62)
* some tests

* more tests

* tidy up go.mod

* more tests

* add postgres

* beep

* again

* Set up schema

* fix device test
2022-05-07 12:37:21 -04:00
Andre Medeiros
17019cecfb fix grace period expiry check 2022-05-07 12:05:47 -04:00
André Medeiros
a94aa11845 Merge pull request #66 from christianselig/chore/schema-changes
Changes to schema
2022-05-07 11:52:52 -04:00
Andre Medeiros
4fad10bade fix tests 2022-05-07 11:51:56 -04:00
Andre Medeiros
93052d2770 log account ID 2022-05-07 11:42:20 -04:00
Andre Medeiros
69ea7494f3 write tests 2022-05-07 11:21:01 -04:00
Andre Medeiros
8cdb8bb621 avoid double escaping 2022-05-07 11:08:10 -04:00
Andre Medeiros
8a8431fc0f Add subreddit validation and de-register from old API 2022-05-07 11:06:21 -04:00
Andre Medeiros
310567fde2 change pool size for redis 2022-05-02 11:11:36 -04:00
André Medeiros
ead14c8bf0 Merge branch 'main' into chore/schema-changes 2022-05-01 14:07:34 -04:00
Andre Medeiros
e5bf631a0b check itunes receipts 2022-05-01 14:05:30 -04:00
Andre Medeiros
41f504d10c add contact endpoint 2022-05-01 13:57:30 -04:00
Andre Medeiros
49b1acc906 Add threadID 2022-05-01 13:36:35 -04:00
Andre Medeiros
9ba4498c08 Add post thumbnails too 2022-05-01 13:33:09 -04:00
Andre Medeiros
63344348df Fix notification categories for watchers 2022-05-01 13:28:12 -04:00
Andre Medeiros
e48460572a include subreddit fields too 2022-05-01 13:24:10 -04:00
Andre Medeiros
c2a77e7c66 add comment_id on username mention 2022-05-01 13:22:18 -04:00
Andre Medeiros
91456dc9b9 include comment_id for private messages 2022-05-01 13:20:36 -04:00
Andre Medeiros
b886dd3fab Fix post reply notifications 2022-05-01 13:18:16 -04:00
Andre Medeiros
a429ee9987 change remaining notification titles 2022-05-01 13:09:08 -04:00
Andre Medeiros
8502a67352 Change trending notification 2022-05-01 13:04:05 -04:00
Andre Medeiros
2027760e1e Change Subreddit watcher notification 2022-05-01 13:00:34 -04:00
Andre Medeiros
f267db8497 fix ambiguous expires_at 2022-04-07 11:35:59 -04:00
Andre Medeiros
7c7e1e5e1c More proper types 2022-03-28 17:33:01 -04:00
Andre Medeiros
69675d4d5c add schema 2022-03-28 17:27:07 -04:00
Andre Medeiros
dbcda74ab8 Changes to schema 2022-03-28 17:05:01 -04:00
Andre Medeiros
5e48ab682b Add app commit to config 2022-03-28 13:50:06 -04:00
Andre Medeiros
451a1a96fb add bugsnag test endpoint 2022-03-28 13:39:19 -04:00
Andre Medeiros
7e36609cda right env variable 2022-03-28 13:23:24 -04:00
Andre Medeiros
493f449802 add bugsnag 2022-03-28 13:20:01 -04:00
Andre Medeiros
294243b02d fix ci 2022-03-26 13:40:51 -04:00
Andre Medeiros
fc617b535c fix tests 2022-03-26 13:29:58 -04:00
Andre Medeiros
188036a838 postgres is a stickler for types 2022-03-26 12:54:51 -04:00
Andre Medeiros
88a3e0a21f short circuit on notifications job 2022-03-26 12:52:10 -04:00
Andre Medeiros
e5670c9828 Add a device grace period so that it gets notified but not removed 2022-03-26 12:48:51 -04:00
Andre Medeiros
9cc60972dc Allow setting a global mute that does not overwrite the other settings 2022-03-26 12:39:28 -04:00
Andre Medeiros
84b5959aa2 an extra comma... 2022-03-26 10:49:18 -04:00
Andre Medeiros
a6abda91a7 add accept header to request json 2022-03-14 09:42:47 -04:00
Andre Medeiros
455788a9c4 strip .json from urls 2022-03-14 09:40:18 -04:00
Andre Medeiros
3bf38b0630 record timestamp and crazy ratelimit cases 2022-03-12 16:00:41 -05:00
Andre Medeiros
b9389511f6 log requests per account 2022-03-12 14:46:36 -05:00
Andre Medeiros
195bd55426 more info on ratelimit; change useragent 2022-03-12 14:22:00 -05:00
Andre Medeiros
7bff205523 report rate limit 100% 2022-03-12 14:07:15 -05:00
Andre Medeiros
907dc5510d i am idiot 2022-03-12 13:45:50 -05:00
Andre Medeiros
5ad98494ee fix rate limiter part 2 2022-03-12 13:25:34 -05:00
Andre Medeiros
77162dd513 fix rate limiting parsing 2022-03-12 13:15:59 -05:00
Andre Medeiros
7a6955212b fix rate limiting 2022-03-12 12:58:07 -05:00
Andre Medeiros
a1a098b448 ch-ch-changes 2022-03-12 12:50:05 -05:00
Andre Medeiros
c149606f24 fix more sql 2022-03-01 17:29:43 -05:00
Andre Medeiros
2c2ae76574 fix sql 2022-03-01 17:25:26 -05:00
Andre Medeiros
e5ea131145 include watcher original name in response 2022-03-01 17:20:36 -05:00
Andre Medeiros
dfae5d6c77 check if notification was sent too 2022-01-14 15:29:56 -05:00
Andre Medeiros
39ccc1972a keep devices around for a month 2021-10-29 11:03:58 -04:00
Andre Medeiros
ec12775621 retry logic 2021-10-28 10:57:09 -04:00
Andre Medeiros
e86dd3266a fixes 2021-10-17 12:45:12 -04:00
Andre Medeiros
815b577bf5 enable/disable notifications per account/device pair 2021-10-17 12:41:12 -04:00
Andre Medeiros
70d73eab4c defer func on stats for scheduler 2021-10-17 12:04:09 -04:00
Andre Medeiros
7d41c4ae3a change info to debug on a chatty log line 2021-10-17 11:56:23 -04:00
Andre Medeiros
6f2c956082 more tweaks 2021-10-17 11:48:41 -04:00
Andre Medeiros
b5bc51dfd7 fix edge cases 2021-10-17 11:27:52 -04:00
Andre Medeiros
b07bf599de only alert on non deleted messages 2021-10-17 11:05:40 -04:00
Andre Medeiros
78e48a8f3b check for last alerted thing that wasn't deleted 2021-10-17 11:02:31 -04:00
Andre Medeiros
ad982edcd7 oops 2021-10-17 10:53:14 -04:00
Andre Medeiros
42243def97 fix the things for messages 2021-10-17 10:47:43 -04:00
Andre Medeiros
62796df6de fix logging 2021-10-17 10:20:07 -04:00
Andre Medeiros
f5d2fe5e81 check for stuck accounts every 2 minutes 2021-10-17 10:18:13 -04:00
Andre Medeiros
c8bec95bed add stuck notifications worker 2021-10-17 10:17:41 -04:00
Andre Medeiros
077cf7cf09 set label so that trending goes through for now 2021-10-14 01:31:37 -04:00
Andre Medeiros
80256b0465 fix validation 2021-10-14 00:26:06 -04:00
Andre Medeiros
06b715fa6a don't let weird watchers through 2021-10-14 00:25:29 -04:00
Andre Medeiros
95b58b2c01 allow 4 chars too 2021-10-13 23:50:34 -04:00
Andre Medeiros
cb0e05ac62 allow more chars for ids 2021-10-13 23:47:50 -04:00
Andre Medeiros
7714046de2 responses 2021-10-13 15:11:27 -04:00
Andre Medeiros
08fd2ef9a5 allow editing watchers too 2021-10-13 11:11:28 -04:00
Andre Medeiros
db3268b0d0 catch the subreddit criteria 2021-10-13 10:44:47 -04:00
Andre Medeiros
0674ddf730 allow user notifications to be filtered by subreddit 2021-10-13 10:43:05 -04:00
Andre Medeiros
eb0d6230d7 add tags and validations 2021-10-12 12:04:20 -04:00
Andre Medeiros
553dc53eed Add validations 2021-10-12 10:18:40 -04:00
Andre Medeiros
65792abd94 add subreddit trending posts watcher 2021-10-10 11:51:42 -04:00
Andre Medeiros
009d60dc2f don't alert user posts in private subreddits 2021-10-09 12:19:52 -04:00
Andre Medeiros
19ed17b086 honor user perference to not be followed and delete them 2021-10-09 11:44:19 -04:00
Andre Medeiros
4955f74f52 user following 2021-10-09 10:59:20 -04:00
Andre Medeiros
9854c0ecc4 fix lint 2021-09-27 15:54:29 -04:00
Andre Medeiros
a63171f833 tweak notification 2021-09-27 15:23:56 -04:00
Andre Medeiros
a26b1f6a32 delete devices heuristic fix 2021-09-25 14:56:14 -04:00
Andre Medeiros
65202112f9 Sandbox thing 2021-09-25 14:47:14 -04:00
Andre Medeiros
203b6600d5 don't be clever with server errors 2021-09-25 14:42:53 -04:00
Andre Medeiros
537d1711fe record watcher hits 2021-09-25 14:27:58 -04:00
Andre Medeiros
24ef6cce6b list watchers endpoint 2021-09-25 14:17:23 -04:00
Andre Medeiros
bc9456cba2 tweak notification content 2021-09-25 14:05:34 -04:00
Andre Medeiros
698c65b1f4 tweaks 2021-09-25 14:02:00 -04:00
Andre Medeiros
a5bd4c2ce4 check last 100 hot posts too 2021-09-25 13:05:05 -04:00
Andre Medeiros
3361403379 subreddit notifications 2021-09-25 12:56:01 -04:00
Andre Medeiros
fc1065deb5 fix ci 2021-09-25 09:19:42 -04:00
Andre Medeiros
aa08278670 receipts and device active until 2021-09-11 10:53:19 -04:00
Andre Medeiros
d4fad82264 write header before body 2021-08-14 20:19:45 -04:00
Andre Medeiros
e746edfdb9 de-christian sanbox 2021-08-14 20:10:07 -04:00
Andre Medeiros
99f76c8cca fix queue delay reporting 2021-08-14 14:15:05 -04:00
Andre Medeiros
42a9fb415e report timeout errors separately 2021-08-14 14:07:19 -04:00
Andre Medeiros
7f8d0c3375 write errors with proper go api 2021-08-14 13:57:26 -04:00
Andre Medeiros
282ff6ef3e remove the data package 2021-08-14 13:56:03 -04:00
Andre Medeiros
c17a39b9eb remove redundant log field 2021-08-14 13:53:11 -04:00
Andre Medeiros
12b67879ee fix more logs 2021-08-14 13:51:18 -04:00
Andre Medeiros
4c5e47e749 don't delete after any error 2021-08-14 13:50:03 -04:00
Andre Medeiros
d17151a3b3 test reddit 2021-08-14 13:42:28 -04:00
Andre Medeiros
9a5d699f66 Remove stale devices 2021-08-14 12:08:17 -04:00
Andre Medeiros
84e499a7af schedule stale and orphaned accounts 2021-08-14 11:59:13 -04:00
Andre Medeiros
f6e05a6fd8 clean orphaned accounts 2021-08-14 11:54:48 -04:00
Andre Medeiros
905235a8ff Set device pinged at 2021-08-14 11:51:27 -04:00
Andre Medeiros
50cdc3aafa skip logging for health check 2021-08-14 11:34:32 -04:00
Andre Medeiros
bcb53235f8 Add a few more fields to http logging 2021-08-14 11:30:43 -04:00
Andre Medeiros
9df9999a0a remove lingering bad code 2021-08-14 11:26:20 -04:00
André Medeiros
37f2e2aedd Merge branch 'main' into chore/refactor 2021-08-14 11:24:36 -04:00
Andre Medeiros
002851efe7 Save account info 2021-08-14 11:21:17 -04:00
Andre Medeiros
993c07938c ALL THE API 2021-08-08 14:19:47 -04:00
Andre Medeiros
5054462cad Tweak receipt check response 2021-07-27 15:28:15 -04:00
Andre Medeiros
ebd5fce678 Add custom field with account list 2021-07-27 15:28:15 -04:00
Andre Medeiros
f06f1ce550 stub for association 2021-07-27 10:05:50 -04:00
Andre Medeiros
4261c6771c add receipt and device deletion 2021-07-26 13:54:24 -04:00
Andre Medeiros
8723bf6c5c change notification title 2021-07-26 13:42:16 -04:00
Andre Medeiros
e39693d47b Add notification title 2021-07-26 13:38:07 -04:00
Andre Medeiros
2cfc5f1bec fuck me sidways 2021-07-26 13:23:07 -04:00
Andre Medeiros
c67d7c6882 womp womp 2021-07-26 13:18:02 -04:00
Andre Medeiros
a5b69521c8 fix query 2021-07-26 13:06:50 -04:00
Andre Medeiros
3d679fe878 fix route 2021-07-26 13:06:00 -04:00
Andre Medeiros
0d296a672e add test notification endpoint 2021-07-26 13:05:09 -04:00
Andre Medeiros
22279185e1 things 2021-07-26 12:34:26 -04:00
Andre Medeiros
5603d79b29 add account repository 2021-07-24 16:17:54 -04:00
Andre Medeiros
2a5ad833eb Add golangci-lint 2021-07-24 15:44:26 -04:00
Andre Medeiros
1249f54bf2 tweak accounts and batch size 2021-07-22 21:52:29 -04:00
Andre Medeiros
5848d9584d do 2000 accounts at a time 2021-07-22 21:42:06 -04:00
Andre Medeiros
424e27b068 run scheduler 5 times per second 2021-07-22 21:35:11 -04:00
Andre Medeiros
cbcab2a992 a few more connections please 2021-07-22 21:16:41 -04:00
Andre Medeiros
7692971b89 pool size doesn't need to be that big 2021-07-22 21:11:27 -04:00
Andre Medeiros
d9b1179717 change min to max conns 2021-07-22 20:50:24 -04:00
Andre Medeiros
45bfa3039c don't require ssl 2021-07-22 20:38:13 -04:00
Andre Medeiros
29c7caa591 set up auth key with path 2021-07-22 20:32:37 -04:00
Andre Medeiros
e0579fbcbd fix up for render 2021-07-22 20:22:46 -04:00
Andre Medeiros
71f04afb8a tweak scheduler to only run one enqueue at a time 2021-07-20 14:39:01 -04:00
Andre Medeiros
04d59f280d tweak connections on scheduler 2021-07-20 13:00:53 -04:00
Andre Medeiros
f44572f9f8 change connections to see if database state improves 2021-07-20 12:57:26 -04:00
Andre Medeiros
badda4f191 only set before if last message id has contents 2021-07-15 21:18:43 -04:00
Andre Medeiros
ff27f2323d add message count to notification sender 2021-07-15 21:02:52 -04:00
Andre Medeiros
b20fa0cac9 reformat event 2021-07-15 20:59:59 -04:00
Andre Medeiros
a5e7417f6e send a notification event to datadog 2021-07-15 20:55:53 -04:00
Andre Medeiros
ac4765f813 tweak client settings 2021-07-15 20:50:32 -04:00
Andre Medeiros
26ca63f31b add a profile option to the commands 2021-07-15 20:09:38 -04:00
Andre Medeiros
893e5bd5a3 Use old refresh token if new one is missing 2021-07-15 18:53:22 -04:00
Andre Medeiros
fb6f7751ae print refresh token response 2021-07-15 18:47:11 -04:00
Andre Medeiros
e46082949a tweak pool args 2021-07-15 13:47:22 -04:00
Andre Medeiros
56d72d5dea only get parser when we actually need it 2021-07-15 13:40:29 -04:00
Andre Medeiros
9e77a662a3 avoid parsing JSON if it is known empty response 2021-07-15 13:27:48 -04:00
Andre Medeiros
1dc4c72da2 only populate when first message wasn't checked previously 2021-07-15 13:01:36 -04:00
Andre Medeiros
412bc04d77 remove limit logic and use reddit's before again 2021-07-15 12:05:01 -04:00
Andre Medeiros
20fe4d7ddb fix concurrency with fastjson 2021-07-15 11:51:04 -04:00
Andre Medeiros
8c1ed47d1a slices index are exclusive on the right 2021-07-15 11:16:22 -04:00
Andre Medeiros
a10ca40cb6 fix thing listing 2021-07-15 11:13:42 -04:00
Andre Medeiros
a9a329967a remove dead logic 2021-07-15 11:03:52 -04:00
Andre Medeiros
5ebac84014 remove dead code 2021-07-15 10:55:24 -04:00
Andre Medeiros
ec78363252 update notifier logic 2021-07-15 10:51:34 -04:00
Andre Medeiros
ad929b98d9 more parsing 2021-07-14 20:52:51 -04:00
Andre Medeiros
34b9159f46 use fixtures 2021-07-14 15:49:54 -04:00
Andre Medeiros
3dbbe92603 parse MeResponse 2021-07-14 15:17:59 -04:00
Andre Medeiros
ec138dbe4f go back to /message/inbox and track pointer ourselves 2021-07-14 14:56:43 -04:00
Andre Medeiros
71884ccb80 multiply procfile some more 2021-07-13 20:34:04 -04:00
Andre Medeiros
8a777d2ee6 timeout reddit and increase batches 2021-07-13 20:16:38 -04:00
Andre Medeiros
55c45592ac tweak params 2021-07-13 20:09:44 -04:00
Andre Medeiros
47ee2a6e52 keep a number of idle connections around 2021-07-13 19:54:53 -04:00
Andre Medeiros
b98f8345a5 don't prefetch as much 2021-07-13 19:48:23 -04:00
Andre Medeiros
2a98be36ae tweak more 2021-07-13 19:45:03 -04:00
Andre Medeiros
07961c1199 tweak prefetch 2021-07-13 19:41:29 -04:00
Andre Medeiros
cc1d932781 tweak default transport and try using message unread 2021-07-13 19:33:32 -04:00
Andre Medeiros
9d0ff332c6 set max connections on pool 2021-07-13 15:45:00 -04:00
Andre Medeiros
bb4b6f0e83 add heroku metrics back 2021-07-13 15:35:46 -04:00
Andre Medeiros
fdfa447435 remove retry logic with token 2021-07-13 15:21:14 -04:00
Andre Medeiros
0262133ce8 update queue delay in a better spot 2021-07-13 15:08:39 -04:00
Andre Medeiros
d9f64765f0 one more little fix 2021-07-13 14:47:50 -04:00
Andre Medeiros
2b0078c8f2 I'm an idiot 2021-07-13 14:40:56 -04:00