Commit Graph

1196 Commits

Author SHA1 Message Date
P. Reis 23f8377231 feat: create reports controller 2024-05-02 16:03:15 -03:00
Alex Gleason b016f931ff
EventsDB: always index the first P-tag of events 2024-05-02 09:54:24 -05:00
P. Reis 3e6600b5f5 Merge branch 'main' into feat-create-reports
((( Updating local branch )))
2024-05-02 09:33:59 -03:00
Alex Gleason 4045a6bdfc
Catch metadata when parsing 2024-05-01 19:55:58 -05:00
Alex Gleason fc7ed8bf24
Remove zod schemas that we can get from NSchema 2024-05-01 19:51:12 -05:00
Alex Gleason 76f30f5cc7
utils: remove unused import of zod 2024-05-01 19:19:52 -05:00
Alex Gleason 439dfca311
Fix kysely imports in migrations 2024-05-01 19:16:12 -05:00
Alex Gleason 87264eeef1
Remove `relays` table from the database, track them with a NIP-65 admin event 2024-05-01 19:15:20 -05:00
P. Reis 9553fce25d Merge branch 'main' into feat-create-reports
(((Updating local branch)))
2024-05-01 20:56:18 -03:00
Alex Gleason 444a6efd7d
Upgrade kysely-deno-sqlite, fix the type 2024-05-01 18:40:04 -05:00
P. Reis e8088c9eed feat: define reports endpoint 2024-05-01 20:38:30 -03:00
Alex Gleason 258e81df51
Admin relays: use "marker" property in the API, fix PUT controller 2024-05-01 18:29:32 -05:00
Alex Gleason 984695391a
unfurl -> unfurl.js 2024-05-01 16:59:15 -05:00
Alex Gleason 8959f85afb
Fix imports of uuid62 and fast-stringify-stable 2024-05-01 16:42:07 -05:00
Alex Gleason 7de5cdc18d
@db/sqlite, scoped_performance aliases 2024-05-01 16:40:58 -05:00
Alex Gleason 08ed52a57b
formdata-helper alias 2024-05-01 16:37:01 -05:00
Alex Gleason d1f643d7ad
secp256k1 alias 2024-05-01 16:35:39 -05:00
Alex Gleason 5a7a409981
Alias unfurl, linkifyjs etc 2024-05-01 16:34:16 -05:00
Alex Gleason e5c8030960
Move more deps to aliases 2024-05-01 16:29:21 -05:00
Alex Gleason ea665eed12
std/dotenv alias 2024-05-01 16:22:55 -05:00
Alex Gleason c4d8ad2368
uuid62 alias 2024-05-01 16:21:18 -05:00
Alex Gleason 8738aeb820
tldts alias 2024-05-01 16:19:53 -05:00
Alex Gleason c7b34ed31b
iso-639-1 alias 2024-05-01 16:18:28 -05:00
Alex Gleason 973791cde1
type-fest alias 2024-05-01 16:16:19 -05:00
Alex Gleason 3513206de1
stickynotes alias 2024-05-01 16:14:50 -05:00
Alex Gleason 9d0be2de0d
nostr-relaypool alias 2024-05-01 15:57:28 -05:00
Alex Gleason 58ed1b111f
Comlink alias 2024-05-01 15:55:56 -05:00
Alex Gleason c190d2c8ce
Refactor Storages to get lazy-loaded only when they are used 2024-05-01 14:56:47 -05:00
Alex Gleason 621a632893
Update kysely imports in migrations 2024-05-01 09:36:36 -05:00
Alex Gleason 4291691aa7
Make @soapbox/kysely-deno-sqlite an import alias 2024-05-01 09:27:19 -05:00
Alex Gleason 23e00b0042
Make Kysely an import alias 2024-05-01 09:26:17 -05:00
Alex Gleason caa9e47161
Remove cron.ts 2024-05-01 09:08:36 -05:00
Alex Gleason 6cc44c468e
Don't await cleanupMedia on startup 2024-04-30 20:38:21 -05:00
P. Reis de08aeac10 fix: allow to query kind 0 of blocked users 2024-04-30 21:28:45 -03:00
P. Reis 2b605d2ac3 Merge branch 'main' into fix-block-not-working-in-streaming
(((Updating local branch)))
2024-04-30 21:23:44 -03:00
P. Reis f0c66c1e92 fix(streaming): don't show posts from blocked users 2024-04-30 21:23:25 -03:00
P. Reis e8e45360d3 refactor(store middleware): get adminStore through function 2024-04-30 21:21:32 -03:00
P. Reis ba6d33c115 feat: create getAdminStore() func 2024-04-30 21:20:19 -03:00
Alex Gleason 0bb4ccf5c9
Move nostr-tools to an import alias 2024-04-30 18:43:53 -05:00
Alex Gleason 35ab012276
hashtagTimelineController: toLowerCase 2024-04-30 14:58:00 -05:00
Alex Gleason d22c606960
storeMiddleware: pass through admin UserStore 2024-04-30 13:27:30 -05:00
Alex Gleason f2b36f75f0
Remove hono/sentry middleware, upgrade @sentry/deno 2024-04-30 13:01:43 -05:00
Alex Gleason e722e754cd
deno lint 2024-04-30 12:55:39 -05:00
Alex Gleason f651bf416a
sentry: skip "no pubkey provided" error 2024-04-30 12:52:20 -05:00
Alex Gleason 9ecf5db1b1
hono: catch HTTPException 2024-04-30 12:46:29 -05:00
Alex Gleason 0e6b4e8b45
sentryMiddleware: ignore HTTPException errors 2024-04-30 12:37:27 -05:00
P. Reis d99fd753ee refactor(queries): convert getDescendants to async function 2024-04-30 11:18:20 -03:00
Alex Gleason 303b0fe098
Add localUploader 2024-04-29 16:28:54 -05:00
Alex Gleason 7ada849a6a
s3: support pathStyle 2024-04-29 16:05:36 -05:00
Alex Gleason c786e1bc55
Uploader: make second argument an options object 2024-04-29 15:32:18 -05:00
Alex Gleason 25db277a9f
storeMiddleware: remove `as string` 2024-04-29 15:10:08 -05:00
Alex Gleason 0925f37929
Make storeMiddleware available in every request 2024-04-29 15:05:08 -05:00
P. Reis bb82df14c6 refactor: user preference in create & verify credentials 2024-04-29 13:49:12 -03:00
P. Reis 6627704114 feat: save user preferences (kind 30078) & encrypt it 2024-04-28 17:07:41 -03:00
Alex Gleason 1ea5591393
Improve mentions performance 2024-04-28 12:12:58 -05:00
P. Reis 86573a579b refactor: store middleware 2024-04-27 20:59:35 -03:00
P. Reis ab7a60c6de fix(UserStore): add missing return keyword in array filter 2024-04-27 17:04:14 -03:00
P. Reis a7912e0800 feat: if possible use userStore in renderStatuses() 2024-04-27 17:03:30 -03:00
P. Reis 18508d37f2 feat: define userStore in HonoEnv & set userStore middleware in home timeline 2024-04-27 17:02:07 -03:00
P. Reis 7b864482bf feat: create user store middleware 2024-04-27 17:00:03 -03:00
Alex Gleason 606ab58c0a
UserStore.test: use MockRelay 2024-04-26 15:39:28 -05:00
Alex Gleason 7e053fbeea Merge branch 'feat-create-user-store' into 'main'
Create a UserStore class

See merge request soapbox-pub/ditto!184
2024-04-26 20:33:01 +00:00
P. Reis 8a460d6bc5 test: create rough tests for UserStore 2024-04-26 16:23:10 -03:00
P. Reis 2b8ad8c349 Merge branch 'main' into feat-create-user-store 2024-04-26 16:06:10 -03:00
P. Reis c87db6d1f8 refactor: remove muteList as a field 2024-04-26 16:05:53 -03:00
Alex Gleason f61d29eb66
Upgrade Nostrify to v0.15, use MockRelay in tests instead of NCache 2024-04-26 12:33:52 -05:00
Alex Gleason 498e91ee7c
Merge remote-tracking branch 'origin/main' into refactor-subs 2024-04-25 21:27:57 -05:00
Alex Gleason f1700a08f9
InternalRelay: fix event distribution 2024-04-25 21:04:34 -05:00
Alex Gleason b04d0c42e6
Merge remote-tracking branch 'origin/main' into refactor-subs 2024-04-25 19:04:01 -05:00
Alex Gleason 4e4b7711c9
relay: NSchema 2024-04-25 18:48:02 -05:00
Alex Gleason 7ee258fe87
relay: fix local filtering logic 2024-04-25 18:46:34 -05:00
Alex Gleason 333dfca270
Storages: typofix subsub -> pubsub 2024-04-25 18:31:16 -05:00
Alex Gleason 05534d532b
APISigner: refactor with InternalRelay 2024-04-25 18:28:19 -05:00
Alex Gleason 7aa931a69e
try-catch the InternalRelay req's 2024-04-25 18:24:03 -05:00
Alex Gleason 7a18a19b2f
Remove subs.ts & subscription.ts, refactor around it 2024-04-25 18:23:26 -05:00
P. Reis ddc84bf47a refactor(UserStore): change fields to private & handle in case of muteList undefined 2024-04-25 18:43:12 -03:00
Alex Gleason 60ca3652bb
try-catch the InternalRelay req's 2024-04-25 16:36:20 -05:00
P. Reis 6c292b8da4 feat: create UserStore class 2024-04-25 16:41:40 -03:00
Alex Gleason f33ad04084
Remove subs.ts & subscription.ts, refactor around it 2024-04-25 13:18:35 -05:00
Alex Gleason fc47116dd3
APISigner: reimplement with NConnectSigner and InternalRelay 2024-04-25 12:32:39 -05:00
Alex Gleason 8407583d83
Add InternalRelay class 2024-04-25 11:54:25 -05:00
Alex Gleason 677720f15e
Unrestrict media uploads 2024-04-24 19:22:36 -05:00
Alex Gleason 953295c534 server.ts: Conf.localPort -> Conf.port 2024-04-24 16:26:56 +00:00
Siddharth Singh 58b034e169
rename DITTO_LISTEN_ON and localPort() to PORT and port() 2024-04-24 21:38:05 +05:30
Siddharth Singh 3880f1e013
allow configuring the local port ditto listens on 2024-04-24 21:32:02 +05:30
Alex Gleason 1f5ba81e98
hydrateEvents: early return is only needed for stats? 2024-04-23 21:40:02 -05:00
Alex Gleason a2c3daade7
hydrateEvents: return early if the results would be empty 2024-04-23 21:32:48 -05:00
Alex Gleason b8d01ea3de
hydrateEvents: use filters to find events in memory 2024-04-23 21:10:21 -05:00
Alex Gleason a1423bbf65
Fix hydrateEvents, lol 2024-04-23 20:11:07 -05:00
Alex Gleason 191b370c85
hydrate.test: remove unnecessary boilerplate 2024-04-23 19:50:23 -05:00
Alex Gleason 0aab3eb775
Rewrite hydrateEvents 2024-04-23 19:31:48 -05:00
Alex Gleason 3204b61f0b
Add an API to manage admin relays 2024-04-23 16:21:36 -05:00
Alex Gleason 5d84566385 Merge branch 'perf-hydrate-events' into 'main'
Performance: hydrate events makes up to 5 calls to database

See merge request soapbox-pub/ditto!175
2024-04-23 20:24:55 +00:00
P. Reis 58d75d1939 fix: hydrate events stats and author stats with filter by kind 2024-04-23 17:19:34 -03:00
P. Reis 5fca482e5c refactor(hydrate events): change array to Map 2024-04-23 17:04:05 -03:00
Alex Gleason 0f9cc9fe51
zod import alias 2024-04-23 15:03:20 -05:00
Alex Gleason a53a21ffcf
pipeline: print policy result 2024-04-23 01:29:18 -05:00
Alex Gleason 69178ae523
Load a custom policy from data/policy.ts 2024-04-23 01:11:37 -05:00
P. Reis 7a12e5ec7b test: rough adapt tests for new performance hydratation 2024-04-22 22:15:41 -03:00
P. Reis 062e21e8a8 test: remove 'hydrate quote repost WITHOUT hydrate author' 2024-04-22 22:15:41 -03:00
P. Reis b77c8a00cd perf: make up to 5 calls to database in hydrateEvents & remove old hydrate functions 2024-04-22 22:15:36 -03:00
P. Reis 12b030c8aa refactor: decode pubkey with right import in search account 2024-04-20 21:52:36 -03:00
P. Reis 49f06869a3 feat: render account from pubkey if no kind 0 exists - /v2/search 2024-04-20 21:26:05 -03:00
P. Reis 60a1ff7adc feat: render account from pubkey if no kind 0 exists - /v1/accounts/search 2024-04-20 21:03:17 -03:00
Alex Gleason 64d50552b7
Import hono with an import alias 2024-04-20 18:54:15 -05:00
Alex Gleason 505a9bced1
Fix type of AppController 2024-04-20 18:47:34 -05:00
Alex Gleason 0ddb1782e5
DittoDB: support `postgresql:` protocol 2024-04-19 21:20:35 -05:00
Alex Gleason 80e554a5c9
Update deno.json imports 2024-04-19 21:08:13 -05:00
Alex Gleason 9ccf6bbea0
Mold the things to work with Postgres 2024-04-19 20:52:42 -05:00
Alex Gleason b87a59c521
Merge remote-tracking branch 'origin/main' into postgres 2024-04-19 18:32:02 -05:00
P. Reis bbe8df8217 refactor(utils): resolve import specifier via the active import map 2024-04-19 19:46:42 -03:00
Alex Gleason 9c91e41e87
Switch NSpec to Nostrify, update imports 2024-04-19 16:39:35 -05:00
Alex Gleason 450acddc32
Remove pragma.ts 2024-04-19 15:34:05 -05:00
Alex Gleason 2e41254507
Add Postgres adapter 2024-04-19 15:17:09 -05:00
Alex Gleason 3753648f99
Use new DittoDB module, rename old interface to DittoTables 2024-04-19 12:26:15 -05:00
Alex Gleason 4085443e45
Add DittoDB module for selecting a database depending on the DATABASE_URL 2024-04-19 12:21:32 -05:00
Alex Gleason 29102d272a
Add DittoSQLite module 2024-04-19 12:16:48 -05:00
Alex Gleason 1cb53bdb84 Revert "Merge branch 'rework-cache' into 'main'"
This reverts merge request !156
2024-04-19 14:37:53 +00:00
P. Reis e2b377d9c7 fix: reblogged field boolean value takes into account viewerPubkey 2024-04-19 11:12:11 -03:00
P. Reis ae5fe1e0ac fix: hydrate event_stats in hydrateRepostEvents() 2024-04-19 10:23:34 -03:00
Alex Gleason e458f8da13
Introduce DATABASE_URL 2024-04-18 22:11:58 -05:00
P. Reis 7dd6378717 test: improv code coverage in quote repost hydration 2024-04-18 11:30:49 -03:00
Alex Gleason c62c31a171
updateStats: await getStatsDiff 2024-04-17 22:58:25 -05:00
P. Reis e19e41f826 fix: always populate quote_id if possible 2024-04-16 15:16:18 -03:00
P. Reis e4892c3e4a fix: response with quote field hydrated in create status 2024-04-16 14:44:04 -03:00
P. Reis a00a932ec1 refactor: deno fmt in hydrate test 2024-04-16 13:53:00 -03:00
P. Reis ed92001b75 test: fix so copied object is used instead of original object 2024-04-16 13:41:32 -03:00
P. Reis 3219b53682 test: add test for hydrate quote repost without author & fix tests' parallelism problem 2024-04-16 13:25:43 -03:00
P. Reis 4a9232faf7 test: add test for hydrate quote repost 2024-04-16 09:31:03 -03:00
P. Reis d5007162e4 refactor(hydrate): remove empty lines 2024-04-15 17:25:18 -03:00
P. Reis a993051439 refactor: pass abort signal in hydrateRepostEvents 2024-04-15 17:19:37 -03:00
P. Reis 6248272243 feat: add quote repost 2024-04-15 17:19:37 -03:00
P. Reis e77fd7d48b refactor: hydrate authors through hydrateEvents() call 2024-04-15 10:49:10 -03:00
P. Reis b9c1d0c5fb refactor(hydrate test): cast event as DittoEvent instead of any 2024-04-14 22:44:37 -03:00
P. Reis b79f8bef30 test: add test for hydrate repost 2024-04-14 21:02:57 -03:00
P. Reis dd53a111db test: add test to hydrate authors 2024-04-14 19:03:38 -03:00
P. Reis f9831ba74a refactor(events-db-test): resolve import specifier via the active import map 2024-04-14 10:32:22 -03:00
Alex Gleason fe6b42211c Merge branch 'perf-hydrate-repost' into 'main'
Perf hydrate repost

See merge request soapbox-pub/ditto!154
2024-04-13 21:37:54 +00:00
P. Reis 15853d79df refactor: remove kind 1 event from hydrateEvents in reblog controller 2024-04-13 18:31:30 -03:00
P. Reis 37bee709cd perf: hydrate repost events in reblog endpoint & streaming 2024-04-13 18:16:15 -03:00
Alex Gleason ff3d8e3f90
cache: use the old response body to prevent memory leaks 2024-04-13 14:36:31 -05:00
Alex Gleason afed0a0b34
cache: serve stale response 2024-04-13 14:34:37 -05:00
Alex Gleason 6ab3a640bf
Rework cache middleware to use in-memory cache, remove ExpiringCache module 2024-04-13 14:00:21 -05:00
Alex Gleason a738ed3d4d Merge branch 'instance-cache' into 'main'
Cache /api/v1/instance for 5 minutes

See merge request soapbox-pub/ditto!155
2024-04-13 18:30:40 +00:00
Alex Gleason 6aa877d930
Cache /api/v1/instance for 5 minutes 2024-04-13 13:28:08 -05:00
P. Reis 24efca5ea0 perf: hydrate repost event in home timeline 2024-04-12 21:51:57 -03:00
P. Reis 581ecd67d6 refactor(server): resolve import specifier via the active import map 2024-04-12 21:34:32 -03:00
P. Reis 0f4c76c761 refactor(fetch test): resolve import specifier via the active import map 2024-04-12 14:26:45 -03:00
P. Reis 073a3df17e feat: add support for quote repost 2024-04-12 14:07:22 -03:00
P. Reis 3ebcf7ea25 refactor: undo repost counter in getStatsDiff 2024-04-11 09:53:24 -03:00
P. Reis cdb0d817ed fix: repost counter works when undo repost 2024-04-10 19:15:24 -03:00
P. Reis 9f24f35a21 refactor: cast pubkey as string 2024-04-09 20:32:27 -03:00
Alex Gleason a63dc8be4e Apply 2 suggestion(s) to 1 file(s) 2024-04-09 22:08:37 +00:00
P. Reis 7e8401688c feat: undo repost 2024-04-09 18:27:17 -03:00
P. Reis 11f668dc8c refactor(interfaces): resolve import specifier via the active import map 2024-04-09 15:08:07 -03:00
P. Reis dd307f5b3f fix: always update home timeline in realtime when reposting 2024-04-09 11:35:18 -03:00
Alex Gleason 06ca3706b8 Apply 1 suggestion(s) to 1 file(s) 2024-04-09 14:27:41 +00:00
P. Reis 846c8824d4 Merge branch 'main' into 'fix-find-event'
# Conflicts:
#   src/views/mastodon/statuses.ts
2024-04-08 18:46:11 +00:00
Alex Gleason 9bfed222da
unfurlCard: fix types 2024-04-08 11:38:59 -05:00
Alex Gleason 57b0224517
renderReblog: fix types 2024-04-08 11:34:21 -05:00
P. Reis 0da9d2e3f4 fix: find event and not pubkey in renderReblog 2024-04-08 13:28:30 -03:00
Alex Gleason 70a29a74fb Merge branch 'repost-feat' into 'main'
feat: repost functionality

See merge request soapbox-pub/ditto!133
2024-04-08 15:54:43 +00:00
Alex Gleason d7d52bbdee Apply 1 suggestion(s) to 1 file(s) 2024-04-08 15:53:08 +00:00
Alex Gleason 1f7a4664ec Apply 2 suggestion(s) to 2 file(s) 2024-04-08 15:49:35 +00:00
Alex Gleason 595d5a4117
Avoid EventDB.count for single row fetches 2024-04-08 10:43:26 -05:00
Alex Gleason 2fb2b2ce2a
SqliteWorker: log query parameters 2024-04-08 09:13:20 -05:00
Alex Gleason 4e999d0f39
SqliteWorker: only call perf functions when debugging is enabled 2024-04-08 08:51:04 -05:00
Alex Gleason 8185843f12
SqliteWorker: clear performance marks & measures 2024-04-08 08:37:37 -05:00
P. Reis d8a471272d feat: update home timeline in realtime when reposting 2024-04-07 20:37:54 -03:00
P. Reis 25b1e7229c fix: stop home timeline hanging/loading when no posts are available 2024-04-07 20:26:47 -03:00
Alex Gleason 0bac971818
Upgrade unfurl to v6.4.0 2024-04-06 21:44:17 -05:00
Alex Gleason 49c9b0eff9
renderAccount: add pleroma.is_local parameter 2024-04-06 21:12:48 -05:00
P. Reis 25fcd04d9f fix: deno fmt 2024-04-06 23:12:30 -03:00
P. Reis ba08958b30 feat: attempt to delete repost if original post is deleted 2024-04-06 22:32:39 -03:00
Alex Gleason 7860a0e3c2
Allow setting external URI on statuses 2024-04-06 19:36:12 -05:00
Alex Gleason b031224fe5
createStatusController: parse hashtags in text 2024-04-06 19:15:59 -05:00
Alex Gleason 7e7cf1df64
createStatusController: parse mentions in text 2024-04-06 18:51:37 -05:00
Alex Gleason 215d184808
accountSearchController: utilize the searchStore 2024-04-06 14:56:48 -05:00
Alex Gleason c0c586b364
Add last_updated_at column to pubkey_domains 2024-04-05 21:48:59 -05:00
P. Reis bd5899029e refactor: deno fmt 2024-04-05 19:52:29 -03:00
P. Reis 178a3c4d0e feat: repost functionality 2024-04-05 19:44:12 -03:00
Alex Gleason 55ba4a3a9b
Remove X-Nostr-Sign header support 2024-04-05 17:40:42 -05:00
Alex Gleason 4b2b658685
Fix type errors 2024-04-05 14:18:46 -05:00
P. Reis d688e64219 fix(queries): event deconstruct inside getEvent 2024-04-04 17:27:52 -03:00
P. Reis 2113c73f09 refactor: resolve import specifier via the active import map 2024-04-03 19:39:06 -03:00
P. Reis 152e06ce3c fix: event deconstruct inside getAuthor 2024-04-03 18:05:07 -03:00
Alex Gleason 5e834d2a6b
pipeline: remove broadcast function 2024-04-02 19:53:11 -05:00
Alex Gleason d577c51c74
PoolStore: don't publish to own relay 2024-04-02 19:36:40 -05:00
Alex Gleason 4e54589c09
Deliver API events to outbox relays 2024-04-02 18:29:26 -05:00
Alex Gleason 957a82ce51
hydrateEvents: handle hydrating users 2024-03-30 23:39:06 -05:00
Alex Gleason 21bec6b131
pipeline: call hydrateEvents from hydrateEvent 2024-03-30 23:38:48 -05:00
Alex Gleason c71d3f9d3c
renderAccount: stop calling findUser, rely on event hydration 2024-03-30 23:25:12 -05:00
Alex Gleason d103d0f1d6
Make Conf a static class, cache pubkey 2024-03-30 22:56:09 -05:00
Alex Gleason d9cbbe2074
/api/v1/relationships: requirePubkey 2024-03-30 18:32:54 -05:00
Alex Gleason a106218439
hydrateEvents: restore stats 2024-03-30 17:44:17 -05:00
Alex Gleason a3201f4f33
hydrateEvents: in -> of 2024-03-30 16:30:48 -05:00
Alex Gleason 4dfd958718
hydrateEvents: refactor a separate hydrateAuthors function 2024-03-30 16:12:48 -05:00
Alex Gleason 2a032b7b7b
DELETE /api/v1/statuses/:id 2024-03-30 13:34:18 -05:00
Alex Gleason d4c94ba549
Remove DITTO_ENV config, make registrations always open 2024-03-29 11:51:32 -05:00
Alex Gleason a19f1aa6e8
NIP05 DRYer 2024-03-27 19:45:03 -05:00
Alex Gleason 435c69e6a8
nip05Cache: lookup local nip05 from direct database call 2024-03-27 18:39:50 -05:00
Alex Gleason 0cfef1cb59
sentry: tracesSampleRate 1.0 2024-03-27 18:22:50 -05:00
Alex Gleason 9842b1aedd
Remove username from user events 2024-03-27 18:11:07 -05:00
Alex Gleason 8baa9a16db
nostrController: serve names from labels 2024-03-27 15:10:13 -05:00
Alex Gleason 0fde577149
EventsDB: fix the tag queries bug, DVM: remove unnecessary conditional 2024-03-26 21:42:17 -05:00
Alex Gleason 29a63f262f
Log relay error, remove unnecessary DVM conditional 2024-03-26 21:10:59 -05:00
Alex Gleason 940fc7a305
Add DVM module, process domain name requests 2024-03-26 19:28:13 -05:00
Alex Gleason e1bc55fcf4
updateCredentialsController: withSource true 2024-03-25 12:35:57 -05:00
Alex Gleason 4dd527474c
renderAccount: return the unverified nip05 raw value 2024-03-25 12:32:15 -05:00
Alex Gleason 75c277e7e8
updateCredentials: allow setting nip05 through the API, remove restrictions on update_credentials 2024-03-24 16:42:19 -05:00
Alex Gleason cfc2f02104
EventsDB: expandFilters, greatly speed up domain timelines
Fixes: https://gitlab.com/soapbox-pub/ditto/-/issues/80
2024-03-22 17:55:22 -05:00
Alex Gleason c3adafa860
EventsDB: use a subquery instead of a join 2024-03-21 19:22:40 -05:00
Alex Gleason 8bed0c17be
paginationSchema: don't set a default for `until` 2024-03-21 19:22:25 -05:00
Alex Gleason ccffe3abea
streaming.ts: remove unused import of getAuthor 2024-03-20 13:49:44 -05:00
Alex Gleason 25a4384587
Hydrate event author in pipeline to relieve streaming API 2024-03-20 13:49:02 -05:00
Alex Gleason 07ebb490d2
Make streaming by domain work 2024-03-20 13:42:59 -05:00
Alex Gleason b4c05c4ba3
publicTimelineController: support remote timelines 2024-03-20 13:23:55 -05:00
Alex Gleason f2db6c50b8
pubkey_domains `domain` cannot be null 2024-03-20 13:21:34 -05:00
Alex Gleason a8b5888e6d
pipeline: get nip05 domain correctly 2024-03-20 13:20:12 -05:00
Alex Gleason b2bc46ac57
Removed DittoFilter usages I missed earlier 2024-03-20 12:01:38 -05:00
Alex Gleason dcd0728b19
EventsDB: fix domain test 2024-03-20 11:56:30 -05:00
Alex Gleason ad2261a37e
Move accountLookup function into a separate module (to prevent circular dependencies) 2024-03-20 11:55:21 -05:00
Alex Gleason c8b378ad10
Remove DittoFilter, use search instead of local 2024-03-20 11:34:04 -05:00
Alex Gleason d17d4c846f
EventsDB: allow searching by domain 2024-03-19 22:53:06 -05:00
Alex Gleason 245cb43771
EventsDB: parse nip50 extensions 2024-03-19 22:46:54 -05:00
Alex Gleason e2cc6132be
Track pubkey domains 2024-03-19 17:45:19 -05:00
Alex Gleason d9056f66c6
SearchStore: switch to nspec NRelay1 2024-03-17 15:44:49 -05:00
Alex Gleason 2a0cba55e6
streamingController: allow to connect without authorization 2024-03-16 16:44:25 -05:00
Alex Gleason 648c32986b
pipeline: remove awkward registerUser flow 2024-03-16 15:07:45 -05:00
Alex Gleason 04cdbd11c9
purifyEvent: function signature 2024-03-16 13:19:39 -05:00
Alex Gleason 09369a0122
hydrateEvent -> purifyEvent (it sounds cooler) 2024-03-16 13:19:11 -05:00
Alex Gleason 0df4ac7331
pipeline: let the people post 2024-03-16 13:16:35 -05:00
Alex Gleason 3c8b5be783
pipeline: fix hydrateEvent 2024-03-12 17:09:22 -05:00
Alex Gleason b867f6c33c
accounts: nostr.npub -> nostr.pubkey 2024-03-12 16:32:43 -05:00
Alex Gleason 45e1762b50
pipeline: handle registrations 2024-03-12 16:10:19 -05:00
Alex Gleason 0bcf81e438
Use nostr-wasm 2024-03-12 14:36:10 -05:00
Alex Gleason 8b9566d79b
Remove relations filters, switch some stuff to use optimizer (requires bravery) 2024-03-06 12:55:02 -06:00
Alex Gleason 1499f9b417
Try hydrating timelines in a separate query instead of using relations 2024-03-05 14:26:38 -06:00
Alex Gleason 7eaa652ae9
Fix EventsDB tests 2024-03-02 21:46:23 -06:00
Alex Gleason 2972cb4b6d
Add event stats indexes 2024-03-02 21:20:43 -06:00
Alex Gleason e4f53b3936
Soft-delete events 2024-03-02 21:11:45 -06:00
Alex Gleason 96b5ecc435
Fix dropIndex calls 2024-03-02 19:23:28 -06:00
Alex Gleason 19adb3ab44
Use composite index for tags 2024-03-02 19:21:48 -06:00
Alex Gleason 9c4301e791
getConfigs: wrap in try-catch 2024-03-02 18:08:37 -06:00
Alex Gleason dffa70e2fe
Add missing index on kind-pubkey-created_at 2024-03-02 17:57:43 -06:00
Alex Gleason dc57415df3
SqliteWorker: log amount of time each query takes 2024-03-02 17:40:29 -06:00
Alex Gleason c24e1f42a6
Make Pleroma config more resilient to corrupted events 2024-02-22 11:39:11 -06:00
Alex Gleason f853801461
EventsDB: index 1985 label tags 2024-02-21 15:51:48 -06:00
Alex Gleason 641d2872d8
Actually, revert anything Alby would sign to nip04 since Alby doesn't support nip44 yet 2024-02-21 14:50:26 -06:00
Alex Gleason d5d642b10b
Switch all nip04 calls to nip44 2024-02-21 14:39:05 -06:00
Alex Gleason be3f1104db
getAndRenderAccount: render account from pubkey if not found 2024-02-19 14:20:00 -06:00
Alex Gleason fe6dd01b68
Add ditto.is_registered property to Account 2024-02-18 10:41:18 -06:00
Alex Gleason 7a38cfbc40
Remove Sentry from SqliteWorker
It seems to be destroying CPU performance?
2024-02-17 14:34:38 -06:00
Alex Gleason 491c3f5125
Catch client.query calls 2024-02-14 15:25:25 -06:00
Alex Gleason 8d6f8e7d8d
Add npub to Account entity 2024-02-13 20:23:33 -06:00
Alex Gleason ca31341e04
Fix double await 2024-02-12 13:43:03 -06:00
Alex Gleason 2b9b005250
Remove nip04 from deps.ts 2024-02-12 12:03:19 -06:00
Alex Gleason 5961b28c36
Remove crypo.ts, call AdminSigner instead 2024-02-12 12:01:35 -06:00
Alex Gleason 59d53c4a2f
Add APISigner and AdminSigner classes, implement NostrSigner interface 2024-02-12 11:52:05 -06:00
Alex Gleason 1e3f637358
verifySignatureWorker -> verifyEventWorker 2024-02-12 11:42:25 -06:00
Alex Gleason dbff3fee9a
Upgrade nostr-tools to v2.1.5 2024-02-12 11:40:17 -06:00
Alex Gleason cb80770fc7
Upgrade NSpec, update `count` interface 2024-02-12 10:48:26 -06:00
Alex Gleason 676bd04229
Switch to my fork of nostr-relaypool 2024-02-02 16:49:47 -06:00
Alex Gleason e9d29075eb
pipeline: catch error on broadcast 2024-02-02 14:51:22 -06:00
Alex Gleason 7b7cd8b15c
autoReconnect!! 2024-02-02 14:49:27 -06:00
Alex Gleason ae6c0e712b
NLib -> NSpec 2024-02-01 14:42:45 -06:00
Alex Gleason 427d75751a
assert -> with 2024-01-31 16:45:50 -06:00
Alex Gleason 62e227a181
Switch debug-js to stickynotes 2024-01-31 16:24:09 -06:00
Alex Gleason 7a8fb1ba6e
Upgrade LRUCache and NLib 2024-01-25 15:48:05 -06:00
Alex Gleason 57e9534552
Zaps: dehydrate event before passing into LNURL callback 2024-01-24 15:47:19 -06:00
Alex Gleason b4735d1dd3
cleanEvent -> dehydrateEvent 2024-01-24 15:46:45 -06:00
Alex Gleason 0fc8143889
Get rid of unnecessary memorelay module, replace with NCache 2024-01-23 17:50:33 -06:00
Alex Gleason 2369030ff0
Upgrade NLib, remove unnecessary generics 2024-01-23 17:18:44 -06:00
Alex Gleason 5b24b7ad39
Pass Request signal down from API controllers 2024-01-23 15:58:59 -06:00
Alex Gleason 77f2e2d940
pipeline: pass signals all the way down 2024-01-23 14:35:35 -06:00
Alex Gleason c6062874bd
Implement NStore interface from NLib 2024-01-23 14:06:51 -06:00
Alex Gleason 67a52c3b7d
Clean event before publishing 2024-01-23 12:15:48 -06:00
Alex Gleason 0b6874bb44
EventsDB: normalize the event to only NIP-01 event properties 2024-01-23 12:12:34 -06:00
Alex Gleason aaf01462c1
Update code to use new DittoEvent and DittoFilter. Event -> NostrEvent 2024-01-23 12:07:22 -06:00
Alex Gleason f58c2098f0
Add DittoEvent and DittoFilter dedicated interface modules 2024-01-23 11:17:31 -06:00
Alex Gleason b971b5274d
Remove UserData type, hydrate the event instead 2024-01-23 10:56:17 -06:00
Alex Gleason 240b7d6a14
Index P tag of zap receipts 2024-01-22 15:39:02 -06:00
Alex Gleason 8494bd5f67
pipeline: pass signal down to everything that accepts it 2024-01-22 14:31:52 -06:00
Alex Gleason c5e7b3bf0c
pipeline: clean up zaps function 2024-01-22 14:24:37 -06:00
Alex Gleason 13c50c71bd
Cache the LNURL response 2024-01-22 12:42:39 -06:00
Alex Gleason d73fa7a311
Start simplifying LNURL code with NLib 2024-01-22 12:35:30 -06:00
Alex Gleason 0a1b6cdf4f
Merge remote-tracking branch 'origin/main' into zaps 2024-01-22 12:00:55 -06:00
Alex Gleason fc3934fa90
fetchWorker: wait for the worker to be ready before using it 2024-01-22 11:55:34 -06:00
Alex Gleason dc6a6ccb5f
fetch.test: don't sleep at the beginning? I'm really confused why it's not working 2024-01-22 11:48:52 -06:00
Alex Gleason 4bec5f6f78
Try using httpbin in tests, cuz CI runner is hanging on example.com 2024-01-22 11:45:22 -06:00
Alex Gleason 8eccdafa64
Improve the NIP-05 cache 2024-01-21 20:22:11 -06:00
Alex Gleason 9a039bd021
firehose: ingest zap receipts 2024-01-17 11:54:28 -06:00
Alex Gleason b5a1220159
Publish NWC event from pipeline 2024-01-16 18:11:19 -06:00
Alex Gleason 40d3a46c16
pipeline: use fetchWorker properly for zaps, pass signal 2024-01-15 17:56:03 -06:00
Alex Gleason 24d1ff4aec
lnurl: increase default limit to 2000 2024-01-15 17:46:23 -06:00
Alex Gleason 455459bea7
pipeline: process zap requests by local users 2024-01-15 17:14:08 -06:00
Alex Gleason 826a244f47
Add status zap endpoint, publish zap request to pipeline 2024-01-15 16:43:56 -06:00
Alex Gleason 786d9914af
Add LNURL utils 2024-01-15 16:20:10 -06:00
Alex Gleason e16e81da86
Add a CLI task to publish events as the Ditto admin 2024-01-15 12:40:39 -06:00
Alex Gleason 58c2c8eb7f
EventsDB: index badges in FTS 2024-01-13 18:18:56 -06:00