Commit Graph

1072 Commits

Author SHA1 Message Date
P. Reis b8df95408b feat: add target_account & reported_statuses to DittoEvent type 2024-05-04 20:11:29 -03:00
P. Reis af7b83cf8a feat: create /api/v1/admin/reports endpoint & controller 2024-05-04 20:10:18 -03:00
P. Reis b57188943f feat: renderAdminAccount() supports both kind 0 & kind 30361 2024-05-04 16:29:31 -03:00
Alex Gleason 3770d8a0dd
UnattachedMedia: return early when querying nothing 2024-05-04 13:14:03 -05:00
P. Reis f08211e2a1 refactor(admin-accounts): resolve import specifier via the active import map 2024-05-04 10:29:08 -03:00
Alex Gleason 0a3be0da58
Notifications: fix Favourites and EmojiReacts not being displayed 2024-05-03 21:22:53 -05:00
Alex Gleason e25372313b
suggestions: fix profile lookup, limit to 20 items for now 2024-05-03 18:32:35 -05:00
Alex Gleason 4ee4266843
instance: add 'v2_suggestions' to features 2024-05-03 18:28:07 -05:00
Alex Gleason cfb0d3f04c Merge branch 'suggestions' into 'main'
Start suggestions API

See merge request soapbox-pub/ditto!218
2024-05-03 23:24:53 +00:00
Alex Gleason 0f3fbbcb28
Start suggestions API 2024-05-03 18:21:40 -05:00
Alex Gleason 5001567b00
Streaming: temporarily remove UserStore (allow blocked posts through) 2024-05-03 17:20:35 -05:00
Alex Gleason 7efd5c1822
Clean up "not implemented" endpoints 2024-05-03 17:09:20 -05:00
Alex Gleason a2c5b5e61d
Markers: only allow 'home' and 'notifications' markers 2024-05-03 16:20:07 -05:00
Alex Gleason 8e178338b7
Implement Markers API 2024-05-03 16:17:36 -05:00
Alex Gleason 2b2499849f
pipeline: fix reqmeister crash, probably 2024-05-03 13:52:11 -05:00
Alex Gleason e9c5ef89ff
Reqmeister: improve API and fetching logic (untested) 2024-05-03 13:33:50 -05:00
Alex Gleason 6b20104327
filter: use getFilterLimit from nostr-tools 2024-05-03 13:26:26 -05:00
Alex Gleason 091392088f
PoolStore: simplify req 2024-05-03 13:25:18 -05:00
Alex Gleason 705e8e7c31
PoolStore: implement NRelay 2024-05-03 13:23:00 -05:00
Alex Gleason 2ee668d562 Merge branch 'feat-create-reports' into 'main'
Create user reports through kind 1984

Closes #97

See merge request soapbox-pub/ditto!210
2024-05-03 14:25:22 +00:00
P. Reis f2f0aa8741 fix(accountLookup): fix user not found by using 'accountFromPubkey' 2024-05-03 09:52:25 -03:00
P. Reis ca5433bcc7 refactor(reports): update code according to code review in MR 210 2024-05-02 20:21:58 -03:00
Alex Gleason 09c596c9e4
Add back block controllers, but 422 them 2024-05-02 15:34:17 -05:00
Alex Gleason 4c71dec6ce
Rename blocks to mutes in the API 2024-05-02 15:26:46 -05:00
Alex Gleason b219a21a2a Merge branch 'notifications-167' into 'main'
Notifications: render notifications for kinds 1, 6, and 7 events

See merge request soapbox-pub/ditto!211
2024-05-02 20:21:35 +00:00
Alex Gleason ec7b3f8350
followController: manually set `following: true` in the response 2024-05-02 15:02:05 -05:00
Alex Gleason 220f16feb8
Notifications: render notifications for kinds 1, 6, and 7 events 2024-05-02 14:36:28 -05:00
P. Reis 226c356646 feat: create mastodon response for reports 2024-05-02 16:03:59 -03:00
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
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