Commit Graph

314 Commits

Author SHA1 Message Date
Alex Gleason 719b703e7c
client: remove `publish` function, create statuses through pipeline 2023-08-17 20:54:11 -05:00
Alex Gleason 0158a6979e
Publish events through pipeline 2023-08-17 20:45:50 -05:00
Alex Gleason 85345bc157
firehose: catch pipeline crash 2023-08-17 20:28:23 -05:00
Alex Gleason 0f70f5c76f
Add a RelayError class, improve relay error handling 2023-08-17 20:24:16 -05:00
Alex Gleason dc49c305bd
Move isLocallyFollowed to queries.ts 2023-08-17 19:32:05 -05:00
Alex Gleason 2011ca6e1d
pipeline: remove redundant console.log 2023-08-17 18:08:05 -05:00
Alex Gleason 45abaf14a4
pipeline: refactor, use pipeline from relay 2023-08-17 18:07:25 -05:00
Alex Gleason 51881efde0
Push events from the client through the pipeline 2023-08-17 16:48:58 -05:00
Alex Gleason 87c67c0a39
Add pipeline module 2023-08-17 16:47:22 -05:00
Alex Gleason 299a1a0db0
Refactor some code that uses getFilters to import the whole module under a namespace 2023-08-17 15:41:27 -05:00
Alex Gleason 4f9b5c1431
statusController: remove unnecessary "as Event" 2023-08-17 14:57:46 -05:00
Alex Gleason 4f37a1b9f8
queries: don't unnecessarily sort things 2023-08-17 14:55:00 -05:00
Alex Gleason 7330cd10e2
Refactor getEvent to take an opts object 2023-08-17 14:51:49 -05:00
Alex Gleason 054a399f23
queries: reduce getFollows timeout to 1s 2023-08-17 13:19:36 -05:00
Alex Gleason c516f007a5
queries: remove unnecessary "as Event" assertions 2023-08-17 13:18:46 -05:00
Alex Gleason 5a27d791e3
queries: make getFeed accept a pubkey instead of event3 2023-08-17 13:15:47 -05:00
Alex Gleason 870a6f5261
Add queries module for getting events for certain application needs 2023-08-17 13:12:38 -05:00
Alex Gleason a35bc1eef3
db/events: use opts.limit 2023-08-16 21:58:46 -05:00
Alex Gleason c15194020f
Delete event.ts, use nostr-tools types 2023-08-16 21:53:51 -05:00
Alex Gleason 5515c40df3
Remove deprecated getFilter (singular) functions 2023-08-16 21:41:18 -05:00
Alex Gleason 96641a6fa0
Move limit to GetFilterOpts 2023-08-16 21:38:21 -05:00
Alex Gleason bbaf1cb012
mixer: pass opts through to all getFilters functions 2023-08-16 21:21:29 -05:00
Alex Gleason d4721fb82d
Add mixer module to combine results from DB and pool 2023-08-16 16:12:27 -05:00
Alex Gleason 59b7a3eed8
db/events: perform multiple filters with one union query, greatly simplify logic 2023-08-16 15:32:02 -05:00
Alex Gleason 4602b85afe
db/events: remove unnecessary overloads 2023-08-16 12:57:02 -05:00
Alex Gleason 8f45f3a7ad
Move DittoFilter to @/types.ts, refactor db/events query 2023-08-16 12:54:17 -05:00
Alex Gleason 882a3fe203
Use only "active" relays in the pool 2023-08-16 08:28:52 -05:00
Alex Gleason a0769d7c92
db/relays: add `active` column 2023-08-15 19:08:38 -05:00
Alex Gleason 92f5bea891
db/relays: add "domain" column 2023-08-15 18:59:49 -05:00
Alex Gleason 2e983154bb
db/relays: reformat 2023-08-14 20:41:20 -05:00
Alex Gleason 3da30553cb
firehose: accept kind 10002 events 2023-08-14 19:16:49 -05:00
Alex Gleason 875fcfb09d
firehose: nown --> known 2023-08-14 19:01:56 -05:00
Alex Gleason 45a3e2974e
firehose: expand criteria, improve logging 2023-08-14 19:01:28 -05:00
Alex Gleason b11677573b
db/relays: skip if values are empty 2023-08-14 19:00:54 -05:00
Alex Gleason e3ade42f58
Added script to populate relays from external source 2023-08-14 18:46:35 -05:00
Alex Gleason f13616a740
Bump kysely-deno-sqlite to v1.0.0 (no changes) 2023-08-14 18:27:30 -05:00
Alex Gleason 3b4bfb1d90
Merge remote-tracking branch 'origin/develop' into firehose 2023-08-14 18:25:28 -05:00
Alex Gleason 6c944d40f1
Bump deno-safe-fetch to v1.0.0 2023-08-14 18:13:43 -05:00
Alex Gleason 3a2722e190
Merge remote-tracking branch 'origin/develop' into firehose 2023-08-14 18:06:27 -05:00
Alex Gleason 1ed6fa54df
Use safeFetch implementation 2023-08-14 18:03:24 -05:00
Alex Gleason cd5cf96886
firehose: update comment 2023-08-14 15:39:21 -05:00
Alex Gleason 16ba224124
Get rid of DITTO_RELAY, derive from LOCAL_DOMAIN 2023-08-14 14:40:30 -05:00
Alex Gleason 78f638e633
Add relays to database and start tracking them 2023-08-14 14:11:28 -05:00
Alex Gleason 4a47c25f1e
Add NIP-11 schema 2023-08-14 12:29:54 -05:00
Alex Gleason 1b8bb78717
Rename loopback to firehose 2023-08-14 11:02:09 -05:00
Alex Gleason 007f464d31
db/events: fix import order 2023-08-12 20:04:19 -05:00
Alex Gleason 9da4fb2bba
db/events: add comments 2023-08-12 15:45:58 -05:00
Alex Gleason 4c8a685528
relay: allow local users to post to the relay 2023-08-12 15:24:33 -05:00
Alex Gleason a35ea6ab5d
relay: restrict to local events unless the filter is already narrow 2023-08-12 15:14:43 -05:00
Alex Gleason 8e47c9dda2
relay: refactor into smaller functions 2023-08-12 15:07:07 -05:00
Alex Gleason b2f538ed94
Relay: improve types, DRY 2023-08-12 14:41:07 -05:00
Alex Gleason 075da543b0
Make relay only return local events 2023-08-12 14:32:57 -05:00
Alex Gleason 3593d5420d
Relay: limit to 100 events per filter 2023-08-12 14:12:53 -05:00
Alex Gleason b852111ec5
Fix getFilters overload order 2023-08-12 13:57:20 -05:00
Alex Gleason 808e8941b6
Relay: make REQ work (doesn't stream yet) 2023-08-12 13:40:21 -05:00
Alex Gleason e2adc7ad1a
Remove unused MetaContent type 2023-08-12 11:49:33 -05:00
Alex Gleason e999d693d0
Rename hexIdSchema back to nostrIdSchema 2023-08-12 11:48:49 -05:00
Alex Gleason 80775d8bf0
Move more Nostr schema stuff into schemas/nostr.ts 2023-08-12 11:48:11 -05:00
Alex Gleason 893542cf58
Reorganize some nostr schema code 2023-08-12 11:30:57 -05:00
Alex Gleason 1f470ffe2d
Add nostr schema for parsing filters 2023-08-11 19:55:16 -05:00
Alex Gleason 9cca801c80
Order tag conditionals alphabetically, improve logic 2023-08-11 12:14:39 -05:00
Alex Gleason 48343c8035
Add events test 2023-08-10 14:56:27 -05:00
Alex Gleason 63772022cf
deno fmt 2023-08-10 14:56:14 -05:00
Alex Gleason 5f37a68b9f
Bump std to v0.198.0 2023-08-10 14:08:47 -05:00
Alex Gleason 14eb3cb43b
Let DB_PATH be configurable 2023-08-10 13:37:56 -05:00
Alex Gleason 8ebd85b760
Improve tag indexing logic 2023-08-09 20:34:21 -05:00
Alex Gleason f127aa7406
Also track events from local users 2023-08-09 14:24:49 -05:00
Alex Gleason 3b3947ea61
Only track events which are locally followed 2023-08-09 14:06:57 -05:00
Alex Gleason 2d2157293c
Try this? 2023-08-09 02:03:18 -05:00
Alex Gleason a1c8d3352f
Simplify 2023-08-09 02:01:27 -05:00
Alex Gleason ad112ff9a6
Use explicit return type for getFilterQuery 2023-08-09 01:53:50 -05:00
Alex Gleason 55c957d10b
Fix type error 2023-08-09 01:28:38 -05:00
Alex Gleason 9671a77bee
Add isFollowed function 2023-08-09 01:18:43 -05:00
Alex Gleason 0bfd9d83c1
Add getFilters function 2023-08-09 00:22:20 -05:00
Alex Gleason b408838ae0
Support querying by tags 2023-08-08 23:54:17 -05:00
Alex Gleason 6c96240602
Remove foreign key constraint from tags.event_id 2023-08-08 22:35:43 -05:00
Alex Gleason cd68da5b93
Minor refactoring 2023-08-08 19:31:14 -05:00
Alex Gleason 295b16e943
Add a very nice getFilter function 2023-08-08 15:35:37 -05:00
Alex Gleason 97a250c1f7
Add kysely migrations 2023-08-07 01:47:58 -05:00
Alex Gleason eb78a213f6
deno lint 2023-08-07 00:51:11 -05:00
Alex Gleason 4cbdda401a
Remove unused builder.ts 2023-08-07 00:50:31 -05:00
Alex Gleason 3cb5f91d3b
Refactor db.ts to use kysely statements 2023-08-07 00:50:12 -05:00
Alex Gleason ecc9db86dd
Import kysely-deno-sqlite as a dep 2023-08-06 23:30:46 -05:00
Alex Gleason 7c2f290775
Refactor kysely lib into separate files 2023-08-06 21:57:26 -05:00
Alex Gleason ed896278e0
fix lint 2023-08-06 21:27:34 -05:00
Alex Gleason 465a3db501
kysely adapter pretty much working! 2023-08-06 20:23:31 -05:00
Alex Gleason d799075657
Get Kysely adapter almost working... 2023-08-06 20:14:11 -05:00
Alex Gleason 8ceb63fc89
Try storing events in new database 2023-08-06 15:03:29 -05:00
Alex Gleason 91eac97d5c
Preliminary sqlite db setup 2023-08-06 12:54:00 -05:00
Alex Gleason dc6b52f6d8
Upgrade deps 2023-08-04 14:53:48 -05:00
Alex Gleason 8ee1a0d888
Load dotenv in config.ts, ignore .env.defaults and .env.example 2023-08-04 14:17:50 -05:00
Alex Gleason e58e11e425
Upgrade dotenv to 0.197.0 2023-08-04 14:13:58 -05:00
Alex Gleason f2a3f285fa
Use Deno.serve instead of deprecated "serve" from deno_std 2023-08-04 14:11:13 -05:00
Alex Gleason 97d2298178
toActor: don't require the nip05
Related: https://gitlab.com/soapbox-pub/ditto/-/issues/30
2023-07-27 13:27:53 -05:00
Alex Gleason b52694679f
actorController: refactor notFound 2023-07-27 11:03:46 -05:00
Alex Gleason 819ae61bca
Add actorController 2023-07-27 10:36:19 -05:00
Alex Gleason 4e6b9f4328
Merge remote-tracking branch 'origin/develop' into actor 2023-07-27 09:57:52 -05:00
Alex Gleason c251b51803
Trends: add some useful comments for later 2023-07-26 17:30:17 -05:00
Alex Gleason bc3a96eeed
Refactor trending tags history, make it more correct 2023-07-26 17:18:21 -05:00
Alex Gleason f8d46cae58
Trends: fill in empty tag histories
Fixes https://gitlab.com/soapbox-pub/ditto/-/issues/29
2023-07-26 15:40:29 -05:00