Alex Gleason
|
8b3aee7e48
|
Merge branch 'admin-delete' into 'main'
Let admins delete events
See merge request soapbox-pub/ditto!99
|
2024-01-12 01:33:31 +00:00 |
Alex Gleason
|
e3631104a6
|
pipeline: fix admin event deletion
|
2024-01-11 19:11:04 -06:00 |
Alex Gleason
|
c4920ccb2e
|
pipeline: let the admin pubkey delete anything with kind 5's
|
2024-01-11 19:05:34 -06:00 |
Alex Gleason
|
31a6d0305f
|
Add admin status deletion endpoint
|
2024-01-11 18:47:26 -06:00 |
Alex Gleason
|
a08e698f29
|
unfurl: improve failure debug
|
2024-01-11 18:09:59 -06:00 |
Alex Gleason
|
db3ee13baa
|
Implement Pleroma config GET controller
|
2024-01-08 18:01:24 -06:00 |
Alex Gleason
|
8c972dbabd
|
Actually implement Pleroma's configs API correctly (wow!)
|
2024-01-08 17:34:07 -06:00 |
Alex Gleason
|
15810c1935
|
Configure server from the kind 0 event of the admin user
|
2024-01-08 16:53:46 -06:00 |
Alex Gleason
|
937ae1eab6
|
Refactor EventStore to use a more Set-like interface
|
2024-01-08 15:18:01 -06:00 |
Alex Gleason
|
f8a0698c3a
|
Reqmeister: encounter -> storeEvent
|
2024-01-07 16:37:06 -06:00 |
Alex Gleason
|
a10108e109
|
Move client to a PoolStore storage class
|
2024-01-07 15:15:20 -06:00 |
Alex Gleason
|
20928cdf82
|
Reqmeister: pass client as an opt
|
2024-01-07 14:58:17 -06:00 |
Alex Gleason
|
ae44c08a2a
|
Move Reqmeister to a dedicated storage class
|
2024-01-07 14:54:33 -06:00 |
Alex Gleason
|
5d91c4b507
|
EventsDB: normalizeFilters
|
2024-01-05 18:06:51 -06:00 |
Alex Gleason
|
957b224453
|
adminAccountsController: support pagination, probably
|
2024-01-05 17:11:32 -06:00 |
Alex Gleason
|
e1a95b2319
|
adminAccountsController: fix hydrating accounts
|
2024-01-05 16:33:05 -06:00 |
Alex Gleason
|
46b7185f7b
|
adminAccountsController: bail if querying by unsupported params
|
2024-01-05 16:05:18 -06:00 |
Alex Gleason
|
5bd03bdcaa
|
Support admin accounts endpoint (first pass)
|
2024-01-05 15:35:55 -06:00 |
Alex Gleason
|
714391b807
|
SearchStore: only use the external search if the socket is open
|
2024-01-05 12:09:12 -06:00 |
Alex Gleason
|
89af83c660
|
search: fix abort signals
|
2024-01-04 02:09:23 -06:00 |
Alex Gleason
|
412f71599a
|
Add hydrator module to hydrate relationships on events
|
2024-01-04 01:44:56 -06:00 |
Alex Gleason
|
d170eb6d8e
|
SearchStorage: make author relations work
|
2024-01-04 00:52:55 -06:00 |
Alex Gleason
|
6d80b43335
|
SearchStore: bail early for empty filters
|
2024-01-04 00:23:37 -06:00 |
Alex Gleason
|
2595f1aadf
|
SearchStorage: try fetching authors
|
2024-01-04 00:20:22 -06:00 |
Alex Gleason
|
ee7347df10
|
SearchStore works!
|
2024-01-04 00:07:57 -06:00 |
Alex Gleason
|
9c0a16ebcd
|
client: use EventSet, normalizeFilters
|
2024-01-03 22:20:30 -06:00 |
Alex Gleason
|
b71124cc30
|
EventSet: event2 -> target
|
2024-01-03 22:15:20 -06:00 |
Alex Gleason
|
96dd635661
|
@/store.ts -> @/storages/types.ts
|
2024-01-03 22:02:34 -06:00 |
Alex Gleason
|
b3e4b79439
|
Delete db/events.ts, db/memorelay.ts, move to @/storages.ts
|
2024-01-03 21:56:41 -06:00 |
Alex Gleason
|
a4bc951eee
|
Add `supportedNips` to all storages
|
2024-01-03 21:39:54 -06:00 |
Alex Gleason
|
8ab0fefbf2
|
Memorelay: use EventSet data structure
|
2024-01-03 21:19:44 -06:00 |
Alex Gleason
|
384bb729b4
|
EventsDB: fix `this` binding of usersQuery
|
2024-01-03 20:59:46 -06:00 |
Alex Gleason
|
939eeae25a
|
Add Optimizer storage with EventSet
|
2024-01-03 20:22:02 -06:00 |
Alex Gleason
|
48ce1ba6c9
|
Memorelay: do some premature optimizations
|
2024-01-03 18:51:14 -06:00 |
Alex Gleason
|
c235fa6123
|
Memorelay: normalize filters
|
2024-01-03 18:15:28 -06:00 |
Alex Gleason
|
5bffffe07b
|
Add a function to calculate the intrinsic limit of a filter
|
2024-01-03 17:20:29 -06:00 |
Alex Gleason
|
80e6147927
|
Make reqmeister a storage
|
2024-01-03 15:28:03 -06:00 |
Alex Gleason
|
b5c23cf23f
|
Move EventsDB into storages
|
2024-01-03 14:45:56 -06:00 |
Alex Gleason
|
cfe44876af
|
Memorelay: add supportedNips property
|
2024-01-03 14:06:13 -06:00 |
Alex Gleason
|
f667ba3c69
|
Memorelay: reimplement by just looping events with matchFilters
|
2024-01-03 13:55:22 -06:00 |
Alex Gleason
|
a1dad3a0c5
|
Memorelay: #events -> #cache
|
2024-01-03 12:54:38 -06:00 |
Alex Gleason
|
24c405b9b9
|
Add Memorelay storages module
|
2024-01-03 12:54:07 -06:00 |
Alex Gleason
|
792e47f0f7
|
renderStatus: fix repost and reaction events being switched
|
2024-01-01 18:39:22 -06:00 |
Alex Gleason
|
462b5b095c
|
debug: add debug to queries
|
2024-01-01 18:06:10 -06:00 |
Alex Gleason
|
777ac39ec7
|
debug: improve output for nip05
|
2024-01-01 17:47:15 -06:00 |
Alex Gleason
|
d13b7435a7
|
debug: minimize socket close output
|
2024-01-01 17:30:01 -06:00 |
Alex Gleason
|
43359f787b
|
web.ts -> api.ts
|
2024-01-01 17:03:32 -06:00 |
Alex Gleason
|
1620668d5a
|
debug: log events signed through the API
|
2024-01-01 17:02:09 -06:00 |
Alex Gleason
|
57d7f7ff40
|
Support `pinned` param in accountStatusesController
|
2024-01-01 16:30:11 -06:00 |
Alex Gleason
|
3341d6aedd
|
Add pinController, unpinController
|
2024-01-01 16:23:08 -06:00 |
Alex Gleason
|
9841d193eb
|
Ensure bookmarks are displayed reverse-chronologically
|
2024-01-01 14:51:04 -06:00 |
Alex Gleason
|
5f6715db46
|
Add unbookmarkController
|
2024-01-01 14:35:46 -06:00 |
Alex Gleason
|
b98487196f
|
Set `bookmarked` property of statuses, optimize status querying, fix relationships wrong assumption
|
2024-01-01 14:31:45 -06:00 |
Alex Gleason
|
5af0e0992f
|
db/events: ensure local bookmarks get indexed
|
2024-01-01 14:21:05 -06:00 |
Alex Gleason
|
c8e2707704
|
Add bookmarkController, refactor generic views
|
2024-01-01 14:07:39 -06:00 |
Alex Gleason
|
69a44f9d2b
|
Add bookmarkController
|
2024-01-01 13:45:07 -06:00 |
Alex Gleason
|
38241d011d
|
Add missing newline
|
2024-01-01 13:08:32 -06:00 |
Alex Gleason
|
3807ca175f
|
Add unblock and unfollow endpoints
|
2024-01-01 12:50:09 -06:00 |
Alex Gleason
|
5b7c3a1d5e
|
Support GET /api/v1/blocks
|
2024-01-01 12:44:50 -06:00 |
Alex Gleason
|
84eb4cec2e
|
Add blockController, fix bugs
|
2023-12-31 23:35:37 -06:00 |
Alex Gleason
|
6d1375ba59
|
Optimize the relationships controller, support block relationships
|
2023-12-31 22:56:21 -06:00 |
Alex Gleason
|
63fb934220
|
setTag -> addTag
|
2023-12-31 22:06:35 -06:00 |
Alex Gleason
|
8023cfa7b2
|
Use a cleaner API for updating lists
|
2023-12-31 22:01:57 -06:00 |
Alex Gleason
|
e341ec7b36
|
db/events: respect the signal
|
2023-12-31 21:01:30 -06:00 |
Alex Gleason
|
f665c5f825
|
Remove isFollowing util
|
2023-12-31 20:31:06 -06:00 |
Alex Gleason
|
dc27ee05d4
|
Create `updateListEvent` helper function
|
2023-12-31 20:13:49 -06:00 |
Alex Gleason
|
335f7dc281
|
Add tags module
|
2023-12-31 14:05:55 -06:00 |
Alex Gleason
|
e5c8f8c146
|
Bump the timeout a bit when fetching an individual status
|
2023-12-31 12:48:49 -06:00 |
Alex Gleason
|
8c52ae80e4
|
reqmeister: fix eventhandler memory leak, fix promise resolving too soon, respect the signal
|
2023-12-31 12:47:28 -06:00 |
Alex Gleason
|
952b3f0d66
|
Fix http logger
|
2023-12-31 12:47:00 -06:00 |
Alex Gleason
|
e869651c63
|
users: remove duplicate debug call
|
2023-12-30 09:58:12 -06:00 |
Alex Gleason
|
79349124bc
|
Prevent duplicate usernames from being added
|
2023-12-30 09:57:33 -06:00 |
Alex Gleason
|
529bc11da1
|
Support replaceable events and parameterized replaceable events (delete old versions upon insert)
|
2023-12-29 23:21:05 -06:00 |
Alex Gleason
|
38238cc4a8
|
Fix db/events test, remove unnecessary AbortSignal from pipeline
|
2023-12-29 21:21:56 -06:00 |
Alex Gleason
|
3472428da8
|
relay: fix wrong function name
|
2023-12-29 21:12:57 -06:00 |
Alex Gleason
|
f6a8ab570f
|
db/events: simplify it further
|
2023-12-29 21:08:59 -06:00 |
Alex Gleason
|
b39902d322
|
Load local timeline a lot faster by using leftJoin instead of innerJoin, wow
|
2023-12-29 21:05:31 -06:00 |
Alex Gleason
|
9492b7654f
|
db/events: fix the `local` filter
|
2023-12-29 20:53:01 -06:00 |
Alex Gleason
|
358396fdac
|
Drop users table
|
2023-12-29 17:01:23 -06:00 |
Alex Gleason
|
13bf936088
|
Convert users to Events
|
2023-12-29 16:37:18 -06:00 |
Alex Gleason
|
4ce51014de
|
events.test: fix type error
|
2023-12-29 13:53:09 -06:00 |
Alex Gleason
|
56373c4ce3
|
Refactor memorelay as an EventStore
|
2023-12-29 13:35:57 -06:00 |
Alex Gleason
|
ccfdbfeb8d
|
Rework client as EventStore
|
2023-12-29 13:22:51 -06:00 |
Alex Gleason
|
e6c8d1dad9
|
Add an EventStore interface, refactor eventsDB
|
2023-12-29 13:12:16 -06:00 |
Alex Gleason
|
5ed2ecbabd
|
Remove mixer module
|
2023-12-29 12:43:59 -06:00 |
Alex Gleason
|
e01383629e
|
unfurl: fix missing import, debug errors
|
2023-12-28 15:55:48 -06:00 |
Alex Gleason
|
69d93b7cab
|
Merge remote-tracking branch 'origin/main' into pool-worker
|
2023-12-28 14:22:51 -06:00 |
Alex Gleason
|
08da26b12a
|
reqmeister: accept `signal`
|
2023-12-28 13:41:04 -06:00 |
Alex Gleason
|
2d19ab207e
|
Add memorelay.test.ts
|
2023-12-28 13:36:50 -06:00 |
Alex Gleason
|
33eead2148
|
Add filter.test.ts
|
2023-12-28 13:26:41 -06:00 |
Alex Gleason
|
b3c7e22052
|
memorelay: increase LRU limits
|
2023-12-28 12:15:24 -06:00 |
Alex Gleason
|
da6738a405
|
db/events: debug getFilters -> REQ
|
2023-12-28 12:07:49 -06:00 |
Alex Gleason
|
2b1e97ee1b
|
queries: get author from memory when possible
|
2023-12-28 00:39:05 -06:00 |
Alex Gleason
|
c2b25bc798
|
queries: refactor getEvent, getAuthor
|
2023-12-28 00:27:25 -06:00 |
Alex Gleason
|
96e6bd18b4
|
queries: pull from memorelay when applicable, optimize
|
2023-12-28 00:15:51 -06:00 |
Alex Gleason
|
f75cd21159
|
queries: make getAuthor use memorelay
|
2023-12-27 23:55:42 -06:00 |
Alex Gleason
|
d40b4a509e
|
pipeline: use memorelay for encounters
|
2023-12-27 23:36:01 -06:00 |
Alex Gleason
|
acffdd7fb8
|
memorelay: insertEvent
|
2023-12-27 23:22:24 -06:00 |
Alex Gleason
|
5398042156
|
Add memorelay module
|
2023-12-27 22:49:35 -06:00 |
Alex Gleason
|
84a083bc7c
|
debug: stringify tags
|
2023-12-27 22:27:05 -06:00 |
Alex Gleason
|
8f07fe8a23
|
debug: improve logging with REQ
|
2023-12-27 22:02:32 -06:00 |
Alex Gleason
|
083496943a
|
debug: don't log http requests for /packs etc
|
2023-12-27 21:57:10 -06:00 |
Alex Gleason
|
8d312bdbea
|
note: don't console.error on bad link, fix `isLinkURL` function
|
2023-12-27 21:25:57 -06:00 |
Alex Gleason
|
4d05398be1
|
Debug client, pass timeout into reqmeister
|
2023-12-27 21:14:45 -06:00 |
Alex Gleason
|
baf51230ba
|
debug: hono logger
|
2023-12-27 20:57:20 -06:00 |
Alex Gleason
|
7b9baef165
|
debug: streaming, simplify other logs
|
2023-12-27 20:39:38 -06:00 |
Alex Gleason
|
4e01e8e626
|
debug: more modules
|
2023-12-27 20:19:59 -06:00 |
Alex Gleason
|
2fc9988c06
|
reqmeister: middleware/cache, reqmeister, nip05, unfurl, refactor some code
|
2023-12-27 20:07:13 -06:00 |
Alex Gleason
|
e121a8805e
|
debug: pool, db/events
|
2023-12-27 19:48:48 -06:00 |
Alex Gleason
|
52d39c7a56
|
debug: firehose, stats, sub
|
2023-12-27 19:35:06 -06:00 |
Alex Gleason
|
667d00bbd0
|
debug: fetch.worker, sqlite.worker
|
2023-12-27 16:59:06 -06:00 |
Alex Gleason
|
520c35db60
|
Add `debug` library, adapt pipeline to it
|
2023-12-27 16:21:58 -06:00 |
Alex Gleason
|
59b9593191
|
Stop automatically cleaning up events
|
2023-12-26 16:38:21 -06:00 |
Alex Gleason
|
e5e737faae
|
Reqmeister: add a jsdoc
|
2023-12-26 16:23:24 -06:00 |
Alex Gleason
|
ed107e49fd
|
Move new libs into deps.ts
|
2023-12-26 13:31:23 -06:00 |
Alex Gleason
|
62675218ce
|
pipeline: trackRelatedEvents -> fetchRelatedEvents
|
2023-12-26 13:27:48 -06:00 |
Alex Gleason
|
04925a580b
|
Reqmeister: timeout -> signal
|
2023-12-23 11:16:18 -06:00 |
Alex Gleason
|
17cef2f186
|
Merge remote-tracking branch 'origin/main' into threads
|
2023-12-22 22:56:12 -06:00 |
Alex Gleason
|
ad0aaf97dd
|
Replace all timeouts with AbortSignal
|
2023-12-22 10:47:47 -06:00 |
Alex Gleason
|
6d6e3bcecc
|
Move console.info from firehose to pipeline
|
2023-12-22 10:24:14 -06:00 |
Alex Gleason
|
58b12ae462
|
client: fix wrong import of allRelays
|
2023-12-22 10:23:48 -06:00 |
Alex Gleason
|
acc133e8e2
|
Make Reqmeister work
|
2023-12-21 19:10:42 -06:00 |
Alex Gleason
|
4a32fe2c37
|
Add basic Reqmeister module
|
2023-12-21 14:56:21 -06:00 |
Alex Gleason
|
3ae47ee865
|
NIP-11: fix pubkey field
|
2023-12-19 22:01:41 -06:00 |
Alex Gleason
|
26e64e781c
|
Add NIP-11 support
|
2023-12-19 21:15:41 -06:00 |
Alex Gleason
|
b9e756de26
|
deps: remove Author from nostr-relaypool
|
2023-12-19 19:18:20 -06:00 |
Alex Gleason
|
107fe76fdf
|
Move the RelayPool to a worker thread
|
2023-12-17 14:55:59 -06:00 |
Alex Gleason
|
b32eaca17d
|
deno fmt
|
2023-12-17 11:03:40 -06:00 |
Alex Gleason
|
cdfb21caa6
|
Pool: log number of active relays to connect to
|
2023-12-17 11:00:04 -06:00 |
Alex Gleason
|
29d3b7bf89
|
db/events: remove author orderBy clause
|
2023-12-11 14:44:35 -06:00 |
Alex Gleason
|
862ff74d7b
|
relays: don't automatically add crawled relays
|
2023-12-10 17:56:51 -06:00 |
Alex Gleason
|
ff278487e8
|
Sentry: decrease tracesSampleRate to 0.2
|
2023-12-10 17:55:07 -06:00 |
Alex Gleason
|
a32b0e7066
|
stats: clean up prev usage
|
2023-12-10 17:48:21 -06:00 |
Alex Gleason
|
4f79b7ec29
|
stats: handle follow/following counts
|
2023-12-10 17:42:44 -06:00 |
Alex Gleason
|
2d3f12dc72
|
stats: firstE -> firstTaggedId
|
2023-12-10 16:32:43 -06:00 |
Alex Gleason
|
a5369d9826
|
Ensure relations are loaded throughout the API where needed
|
2023-12-10 16:21:18 -06:00 |
Alex Gleason
|
733b8ba9c5
|
pubkey_stats --> author_stats
|
2023-12-10 16:04:52 -06:00 |
Alex Gleason
|
07dc07ab71
|
Simplify author_stats relation
|
2023-12-10 15:54:31 -06:00 |
Alex Gleason
|
5415656b4d
|
Make author_stats and event_stats two separate keys on an event
|
2023-12-10 15:40:05 -06:00 |
Alex Gleason
|
a48c1e51e1
|
stats: fix queries getting stuck
|
2023-12-10 15:33:01 -06:00 |
Alex Gleason
|
6a92c5135d
|
db/events: support 'stats' relation
|
2023-12-10 15:02:19 -06:00 |
Alex Gleason
|
21b6a02ff3
|
views: avoid counting directly in the view, take from the event object if it has it
|
2023-12-10 14:27:15 -06:00 |
Alex Gleason
|
3147496d78
|
Merge remote-tracking branch 'origin/main' into stats
|
2023-12-10 14:05:14 -06:00 |
Alex Gleason
|
8b03d492a1
|
stats: add migration for stats tables
|
2023-12-10 14:04:26 -06:00 |
Alex Gleason
|
0f10a7c3a2
|
stats: refactor inReplyToId
|
2023-12-10 13:58:35 -06:00 |
Alex Gleason
|
7167553afe
|
stats: switch to a system based on diff tuples
|
2023-12-10 13:53:51 -06:00 |
Alex Gleason
|
a8944dd7ea
|
stats: support multiple values
|
2023-12-10 13:12:35 -06:00 |
Alex Gleason
|
eca923d7c8
|
stats: make the logic kind of make sense
|
2023-12-10 11:43:41 -06:00 |
Alex Gleason
|
bababe56f3
|
stats: update note count
|
2023-12-10 11:10:11 -06:00 |
Alex Gleason
|
0724a2744f
|
Merge branch 'event-relations' into 'main'
Event relations (authors)
See merge request soapbox-pub/ditto!70
|
2023-12-08 01:47:24 +00:00 |
Alex Gleason
|
de9fecaf65
|
Add a stats module (draft)
|
2023-12-07 18:49:10 -06:00 |
Alex Gleason
|
c532f54ea6
|
Track queries with Sentry
|
2023-12-07 12:09:04 -06:00 |
Alex Gleason
|
f50a78f978
|
db/events: don't return `author` unless it exists
|
2023-12-06 13:06:13 -06:00 |
Alex Gleason
|
a6947441fc
|
renderStatus: don't fetch the author, expect it to be passed in
|
2023-12-06 12:04:24 -06:00 |
Alex Gleason
|
7d2813b214
|
extra --> relations, move it back to a filter option
|
2023-12-05 22:06:27 -06:00 |
Alex Gleason
|
22b1d730eb
|
with --> extra
|
2023-12-05 19:42:30 -06:00 |
Alex Gleason
|
8b4621ddfb
|
Merge remote-tracking branch 'origin/main' into with_authors
|
2023-12-05 19:18:53 -06:00 |
Alex Gleason
|
a6bf5f47cd
|
db/events: fix `limit` not being applied correctly
|
2023-12-05 18:22:12 -06:00 |
Alex Gleason
|
2478545cd3
|
with_authors --> with: With[]
|
2023-12-05 17:27:52 -06:00 |
Alex Gleason
|
e3d5b2ac4a
|
Move with_authors to GetFilterOpts instead of DittoFilter
|
2023-12-05 17:15:39 -06:00 |
Alex Gleason
|
f9d3240fa8
|
with_author --> with_authors
|
2023-12-05 16:52:39 -06:00 |
Alex Gleason
|
b3c749d266
|
db/events: add support for `with_author` filter
|
2023-12-05 16:40:45 -06:00 |
Alex Gleason
|
4b4639014b
|
Upgrade nostr-relaypool to v0.6.30, disable logging
|
2023-12-04 16:49:54 -06:00 |
Alex Gleason
|
d569dfd5b5
|
Add TrendsWorker for tracking/querying trending tags with a Web Worker
|
2023-12-04 16:33:02 -06:00 |
Alex Gleason
|
86daef416f
|
Cache trending tags (with code copied from Mostr)
|
2023-12-04 13:19:20 -06:00 |
Alex Gleason
|
bc3f4bc534
|
Add verifySignatureWorker
|
2023-12-03 16:55:34 -06:00 |
Alex Gleason
|
a4e7c241d0
|
Rewrite SqliteWorker with Comlink
|
2023-12-03 14:58:35 -06:00 |
Alex Gleason
|
455752e656
|
SqliteWorker: use SQLite path from config
|
2023-12-02 13:18:35 -06:00 |
Alex Gleason
|
1ad7eeb961
|
deno fmt, deno lint
|
2023-12-01 19:28:33 -06:00 |
Alex Gleason
|
89b74217b6
|
Use the SqliteWorker with our new Kysely dialect
|
2023-12-01 18:15:39 -06:00 |
Alex Gleason
|
01839fbcbf
|
Upgrade kysely and kysely-deno-sqlite
|
2023-12-01 17:57:55 -06:00 |
Alex Gleason
|
01886059ab
|
Merge remote-tracking branch 'origin/main' into sqlite-worker
|
2023-11-29 15:11:21 -06:00 |
Alex Gleason
|
1232c5a838
|
fetchWorker: Array.from --> [...]
|
2023-11-29 13:04:22 -06:00 |
Alex Gleason
|
86749cc285
|
fetchWorker: return response as ArrayBuffer
|
2023-11-29 13:03:55 -06:00 |
Alex Gleason
|
99964c4d0e
|
fetchWorker: support POST'ing (and FormData)
|
2023-11-29 13:01:48 -06:00 |
Alex Gleason
|
da3efaa5bc
|
fetchWorker: support RequestInit
|
2023-11-28 21:31:26 -06:00 |
Alex Gleason
|
3a85e3f8bf
|
Add fetchWorker for fetching off the main thread
|
2023-11-28 18:56:31 -06:00 |
Alex Gleason
|
595fb2cfc6
|
eventMatchesTemplate: let the event timestamp be greater than the template
|
2023-11-20 21:20:14 -06:00 |
Alex Gleason
|
e55ddbd8e6
|
eventMatchesTemplate: drop `nonce` tags before comparison
|
2023-11-20 19:57:57 -06:00 |
Alex Gleason
|
f4e334b5ff
|
Require POW on signup
|
2023-11-20 19:57:47 -06:00 |
Alex Gleason
|
3cdfbac4a1
|
Switch to sentry-deno
|
2023-11-20 19:25:39 -06:00 |
Alex Gleason
|
5b030c99c5
|
Upgrade Hono to v3.10.1
|
2023-11-20 12:42:18 -06:00 |
Alex Gleason
|
c1bf326981
|
c.req.headers.get --> c.req.header, hono deprecation
|
2023-11-20 12:39:20 -06:00 |
Alex Gleason
|
bedc8fdf91
|
Upgrade nostr-tools to v1.17.0
|
2023-11-20 12:36:06 -06:00 |
Alex Gleason
|
6868f39719
|
NIP-46: request target proof-of-work difficulty when signing events
|
2023-11-20 12:34:19 -06:00 |
Alex Gleason
|
ae56d059b1
|
SqliteWorker: return query result instead of rows for query
|
2023-11-15 19:23:24 -06:00 |
Alex Gleason
|
e601c43197
|
deno fmt
|
2023-11-15 17:09:53 -06:00 |
Alex Gleason
|
71e8d26195
|
SqliteWorker: wait until worker is ready
|
2023-11-15 17:09:30 -06:00 |
Alex Gleason
|
87980bbba1
|
Add an SqliteWorker
|
2023-11-15 16:24:03 -06:00 |
Alex Gleason
|
1b8a2d764c
|
Fix tests
|
2023-10-11 23:50:11 -05:00 |
Alex Gleason
|
079cdcf7d7
|
deno lint
|
2023-10-11 23:48:01 -05:00 |
Alex Gleason
|
9686469c28
|
Move PRAGMA utils to a separate file, log out PRAGMA values on start
|
2023-10-11 23:44:28 -05:00 |
Alex Gleason
|
f35d38d83b
|
Refactor pragmas
|
2023-10-11 23:34:59 -05:00 |
Alex Gleason
|
d63de0ad0b
|
Set SQLite PRAGMAs on start
|
2023-10-11 23:05:43 -05:00 |
Alex Gleason
|
149f8f6f04
|
Enable WAL mode on the database
|
2023-10-11 22:30:07 -05:00 |
Alex Gleason
|
5cb87a0fd9
|
db/events: fix catching UNIQUE violations
|
2023-10-11 16:24:10 -05:00 |
Alex Gleason
|
451b77d6c4
|
Switch main database to Deno SQLite3
|
2023-10-11 16:13:58 -05:00 |
Alex Gleason
|
9cd0a9bf22
|
Stop querying the pool
|
2023-10-09 13:17:02 -05:00 |
Alex Gleason
|
24cbc50c1b
|
mixer: stop querying relays
|
2023-10-09 13:15:02 -05:00 |
Alex Gleason
|
45d42f7ea4
|
Delete nostr-to-mastoapi.ts, add notifications.ts and relationships.ts
|
2023-10-06 15:40:34 -05:00 |
Alex Gleason
|
d49c63bb1a
|
Move statuses view into its own file
|
2023-10-06 15:37:31 -05:00 |
Alex Gleason
|
0b77e7d888
|
Add views/mastodon/accounts.ts, views/mastodon/emojis.ts
|
2023-10-06 15:28:02 -05:00 |
Alex Gleason
|
cb1141784e
|
views.ts: fix wrong import of toAccount
|
2023-10-06 15:19:27 -05:00 |
Alex Gleason
|
981d0ee693
|
views/attachment.ts -> views/mastodon/attachments.ts
|
2023-10-06 15:19:13 -05:00 |
Alex Gleason
|
180fdbd1c9
|
nostr-to-activitypub.ts --> activitypub/actor.ts
|
2023-10-06 15:09:01 -05:00 |
Alex Gleason
|
1662f616ef
|
Move unfurl code to a separate module
|
2023-10-06 15:05:22 -05:00 |
Alex Gleason
|
db17f84937
|
Move emojiTagSchema into schemas/nostr.ts
|
2023-10-06 12:39:22 -05:00 |
Alex Gleason
|
9ca3ec08a3
|
Delete `transformers` directory, rename `views`
|
2023-10-06 12:02:24 -05:00 |
Alex Gleason
|
a15e28e48f
|
Add Sentry hono middleware
|
2023-10-05 20:04:27 -05:00 |
Alex Gleason
|
d646598879
|
Add Sentry integration
|
2023-10-05 16:08:12 -05:00 |
Alex Gleason
|
233f671326
|
Subscription: fix it with nostr-machina
|
2023-10-04 16:09:23 -05:00 |
Alex Gleason
|
0f9ff5bcaa
|
relay: fix querying by ids and authors
|
2023-09-11 19:45:27 -05:00 |
Alex Gleason
|
62ac9bffa3
|
accounts: set nip05 during update_credentials
|
2023-09-11 18:44:44 -05:00 |
Alex Gleason
|
93d8e0b22b
|
accounts: support updating avatar and banner
|
2023-09-11 18:02:17 -05:00 |
Alex Gleason
|
d2760bc706
|
media: refactor upload code into a separate module
|
2023-09-11 17:49:38 -05:00 |
Alex Gleason
|
55d5197136
|
timelines: 3 seconds --> 1 second
|
2023-09-11 17:26:47 -05:00 |
Alex Gleason
|
a44fb4c84f
|
Use default avatar and banner from repo, instead of linking out to image
|
2023-09-11 15:36:09 -05:00 |
Alex Gleason
|
737c9f0364
|
csp: load any media over https, not just local media
|
2023-09-11 15:16:26 -05:00 |
Alex Gleason
|
94671b6a98
|
s3: create the client instance from a function each time (so missing config doesn't crash it)
|
2023-09-11 14:42:29 -05:00 |
Alex Gleason
|
ef96fa539a
|
Render status account from pubkey
|
2023-09-11 09:46:41 -05:00 |
Alex Gleason
|
31114b6094
|
accounts: return a blank account for verify_credentials if it isn't resolved
|
2023-09-11 09:08:15 -05:00 |
Alex Gleason
|
1b2f4d9a54
|
accounts: return token after registering account
|
2023-09-11 07:17:00 -05:00 |
Alex Gleason
|
10a804b60e
|
Remove POW requirement for now
|
2023-09-11 05:57:50 -05:00 |
Alex Gleason
|
bacb872a18
|
Add /api not implemented controller
|
2023-09-11 04:55:15 -05:00 |
Alex Gleason
|
a5bf09ed2b
|
Resolve any file in public/
|
2023-09-11 04:14:08 -05:00 |
Alex Gleason
|
9cda8e3000
|
csp: use template literals to avoid escaping single quotes
|
2023-09-11 04:07:54 -05:00 |
Alex Gleason
|
4310bb7157
|
Add a CSP
|
2023-09-11 04:04:55 -05:00 |
Alex Gleason
|
8a9f8454bf
|
Serve a frontend through Ditto
|
2023-09-11 00:19:56 -05:00 |
Alex Gleason
|
82c4f0827e
|
Make registrations configurable by env
|
2023-09-10 23:44:30 -05:00 |
Alex Gleason
|
0adb6f5eba
|
Add messages to HTTPException's
|
2023-09-10 19:43:07 -05:00 |
Alex Gleason
|
75dd2652d2
|
app: remove unused account search fallback endpoint
|
2023-09-10 19:42:41 -05:00 |
Alex Gleason
|
e3f11545b7
|
/api/v1/acccounts --> /api/v1/accounts
|
2023-09-10 19:23:50 -05:00 |
Alex Gleason
|
2d7398e9d1
|
nip98: fix pow check
|
2023-09-10 17:11:13 -05:00 |
Alex Gleason
|
607ef4b980
|
Make POW configurable, expose over the API
|
2023-09-10 15:38:49 -05:00 |
Alex Gleason
|
052c00821d
|
Enable registrations, require proof-of-work
|
2023-09-10 15:07:31 -05:00 |
Alex Gleason
|
b9476ccbd6
|
pipeline: delete unattached-media rows when authoring an event
|
2023-09-09 22:27:37 -05:00 |
Alex Gleason
|
0d343fa190
|
db/unattached-media: refactor queries, DRY
|
2023-09-09 22:03:02 -05:00 |
Alex Gleason
|
43499f2dfd
|
media: add attachment view, unify types
|
2023-09-09 21:33:12 -05:00 |
Alex Gleason
|
cf9a754b02
|
media: pukey --> pubkey, fix adding media tags to event
|
2023-09-09 20:12:47 -05:00 |
Alex Gleason
|
0b867afd8e
|
unattached-media: delete orphaned attachments after 15 minutes
|
2023-09-09 19:27:39 -05:00 |
Alex Gleason
|
46b9deffce
|
utils: add ipfs module
|
2023-09-09 19:13:42 -05:00 |
Alex Gleason
|
e8053ba072
|
unattached-media: cid --> url
|
2023-09-09 18:12:54 -05:00 |
Alex Gleason
|
c88b174d02
|
Add unattached_media table, insert one when uploading a file
|
2023-09-09 17:41:30 -05:00 |
Alex Gleason
|
c6b20e68f6
|
db/events: refactor filterIndexableTags function
|
2023-09-09 16:24:53 -05:00 |
Alex Gleason
|
f8b2efb484
|
db/events: refactor insertEvent into smaller functions
|
2023-09-09 16:08:30 -05:00 |
Alex Gleason
|
96ff31719e
|
db/events: pass EventData, index all media from local users
|
2023-09-09 15:48:03 -05:00 |
Alex Gleason
|
d24318fd0d
|
db/events: index "media" tags, rearrange conditionals to optimize processing
|
2023-09-09 15:39:49 -05:00 |
Alex Gleason
|
6e139985ac
|
db/events: add a baseline 200 character limit to tag values
|
2023-09-09 15:31:43 -05:00 |
Alex Gleason
|
fe08aaa2a3
|
db/events: use stricter tagConditions to not pollute the database
|
2023-09-09 15:29:17 -05:00 |
Alex Gleason
|
b5a84627c8
|
statuses: enable posting with media attachments
|
2023-09-08 18:45:00 -05:00 |
Alex Gleason
|
dcc9d05ee5
|
auth98: fix nsec flow
|
2023-09-08 18:29:26 -05:00 |
Alex Gleason
|
527e276340
|
Fix nip98 signing (validate proof), skip validating payload for media requests
|
2023-09-08 18:22:38 -05:00 |
Alex Gleason
|
969d8bfe7f
|
Add media endpoints, require nip98 proof to upload them
|
2023-09-08 17:00:07 -05:00 |
Alex Gleason
|
2c943872a8
|
media: enforce a filesize limit on uploads
|
2023-09-08 16:48:27 -05:00 |
Alex Gleason
|
acc18adffb
|
media: return the appropriate Attachment type
|
2023-09-08 16:15:34 -05:00 |
Alex Gleason
|
8ae89462b7
|
Add a configUploader module to select the uploader based on config
|
2023-09-08 16:04:55 -05:00 |
Alex Gleason
|
34acc99000
|
Add a precheck file to throw when config is wrong
|
2023-09-08 15:48:00 -05:00 |
Alex Gleason
|
4f57ac0352
|
uploads: make uploader and media URL configurable
|
2023-09-08 15:20:57 -05:00 |
Alex Gleason
|
014b9f6d29
|
uploaders: allow deleting files by CID
|
2023-09-08 15:01:52 -05:00 |
Alex Gleason
|
c40f10539d
|
ipfs: make API URL configurable, reorganize config
|
2023-09-07 19:22:28 -05:00 |
Alex Gleason
|
c4af44d582
|
Move s3 to separate uploader module, add ipfs uploader
|
2023-09-07 16:59:05 -05:00 |
Alex Gleason
|
4622b52f78
|
mediaController: get cid, fix permissions, host on /ipfs
|
2023-09-06 22:10:28 -05:00 |
Alex Gleason
|
3fc60c78d2
|
Add a mediaController for s3 uploads
|
2023-09-06 17:55:46 -05:00 |
Alex Gleason
|
5f82f4f11b
|
client: use the same pool as the firehose
|
2023-09-06 01:18:07 -05:00 |
Alex Gleason
|
17c75e6761
|
Move pool to a separate module (to avoid importing firehose in tests)
|
2023-09-05 22:00:32 -05:00 |
Alex Gleason
|
f2ccb5254e
|
cron: run cleanupEvents on startup
|
2023-09-05 21:52:16 -05:00 |
Alex Gleason
|
a69b7f54f8
|
pipeline: broadcast deletions to all known relays
|
2023-09-05 21:45:30 -05:00 |
Alex Gleason
|
e2b88d57d9
|
pipeline: process kind 5 deletion events
|
2023-09-05 21:24:59 -05:00 |
Alex Gleason
|
22ddc7b1a8
|
pipeline: remove unnecessary async keyword from trackHashtags
|
2023-09-05 20:35:58 -05:00 |
Alex Gleason
|
48195f02b3
|
pipeline: don't store event if a deletion for it exists
|
2023-09-05 20:31:34 -05:00 |
Alex Gleason
|
97a3478b1a
|
cron: change cleanupEvents to every 15 minutes
|
2023-09-05 17:48:50 -05:00 |
Alex Gleason
|
a46381849f
|
db/events: delete FTS rows when deleting events
|
2023-09-05 17:25:54 -05:00 |
Alex Gleason
|
a25d6c9755
|
db: pragma, enable fk constraints, enable autovacuum full
|
2023-09-05 17:25:14 -05:00 |
Alex Gleason
|
02049ed9d1
|
pipeline: fix isFresh comparison
|
2023-09-05 17:10:20 -05:00 |
Alex Gleason
|
5c02fd0773
|
db/relays: normalize url before inserting
|
2023-09-05 16:58:34 -05:00 |
Alex Gleason
|
2ff40c8fc5
|
db/events: rework tags, make event_id a FK to events again, drop value_2 and value_3
|
2023-09-05 16:55:16 -05:00 |
Alex Gleason
|
4708839fd6
|
db: improve output of migrations, exit on failure
|
2023-09-05 16:05:02 -05:00 |
Alex Gleason
|
cdffe42cfd
|
db/events: delete tags during deleteFilters
|
2023-09-05 13:23:45 -05:00 |
Alex Gleason
|
df17f62ecb
|
db/events: try fixing types in CI?
|
2023-09-05 12:31:59 -05:00 |
Alex Gleason
|
aea07fd28a
|
db/events: fix type error
|
2023-09-04 22:16:43 -05:00 |
Alex Gleason
|
5d19c21f51
|
cron: delete old remote events every hour
|
2023-09-04 19:46:39 -05:00 |
Alex Gleason
|
08dd5fa4eb
|
db/events: fix `local: false` filter
|
2023-09-04 17:17:47 -05:00 |
Alex Gleason
|
8ec215402f
|
db/migrations: fix `down` in 003_events_admin to drop the new "admin" column, not the "relays" table (whoops)
|
2023-09-04 13:20:07 -05:00 |
Alex Gleason
|
25e023aaf2
|
db/users: add indexes on users.pubkey and users.username
|
2023-09-04 13:18:11 -05:00 |
Alex Gleason
|
561ae9532a
|
db/events: getFiltersQuery, break to multiple lines for readability
|
2023-09-04 13:04:20 -05:00 |
Alex Gleason
|
1f06035bf2
|
db/events: getFiltersQuery, improve variable names
|
2023-09-04 13:03:10 -05:00 |
Alex Gleason
|
e377d7b3ce
|
events/db: add a deleteFilters function to delete all events from the local db matching the filters
|
2023-09-04 12:58:35 -05:00 |
Alex Gleason
|
5a3d112396
|
frontendConfigController: add a #d filter
|
2023-09-03 19:18:05 -05:00 |
Alex Gleason
|
7686371183
|
Implement frontend configurations
|
2023-09-03 18:49:45 -05:00 |
Alex Gleason
|
3c45a4a3aa
|
sign: simplify awaitSignedEvent (remove unnecessary conditional, rearrange error, fix crash)
|
2023-09-02 22:39:35 -05:00 |
Alex Gleason
|
93f06fd342
|
config: preserve query params in Conf.local
|
2023-09-02 22:38:21 -05:00 |
Alex Gleason
|
b81091f5da
|
auth98: requireProof --> requireAdmin
|
2023-09-02 20:52:17 -05:00 |
Alex Gleason
|
f7d74c97ca
|
db/users: add `admin` column
|
2023-09-02 20:52:02 -05:00 |
Alex Gleason
|
c8a5da086e
|
sign: ensure the NIP-46 result matches the template
|
2023-09-02 20:09:28 -05:00 |
Alex Gleason
|
007565b513
|
eventSchema: ensure the event ID matches its hash
|
2023-09-02 19:40:28 -05:00 |
Alex Gleason
|
7595dfa2e5
|
auth98: make requireProof obtain the event over NIP-46
|
2023-09-02 19:33:13 -05:00 |
Alex Gleason
|
c8d6389132
|
sign: refactor the unnecessarily complex awaitSignedEvent function
|
2023-09-02 18:56:42 -05:00 |
Alex Gleason
|
61f5acc937
|
nip98: add a dedicated nip98 module, refactor auth98.ts
|
2023-09-02 18:32:01 -05:00 |
Alex Gleason
|
4c41ce8c0a
|
@/nip05.ts --> @/utils/nip05.ts
|
2023-09-02 13:43:01 -05:00 |
Alex Gleason
|
4ff27ddc04
|
Add /api/v1/favourites
|
2023-09-01 13:14:27 -05:00 |
Alex Gleason
|
54481ab96b
|
Fix unfurl timeout
|
2023-08-30 21:40:52 -05:00 |
Alex Gleason
|
b9fc663db4
|
Switch to my fork of deno-sqlite with FTS support
|
2023-08-30 17:29:45 -05:00 |
Alex Gleason
|
3cd6b6f3f3
|
db/events: index profiles in search
|
2023-08-30 17:09:44 -05:00 |
Alex Gleason
|
e976f51d55
|
schemas/nostr: add `search` key to filters
|
2023-08-30 16:19:21 -05:00 |
Alex Gleason
|
af76d8cbae
|
Bump kysely-deno-sqlite to v1.0.1, remove `as any` from database type
|
2023-08-30 16:12:39 -05:00 |
Alex Gleason
|
b7b5e67118
|
search: refactor/cleanup searchController
|
2023-08-30 15:40:18 -05:00 |
Alex Gleason
|
080cfe817b
|
search: support account_id query param
|
2023-08-30 15:31:07 -05:00 |
Alex Gleason
|
799a9c1e9a
|
search: support searching by account_id
|
2023-08-30 15:22:39 -05:00 |
Alex Gleason
|
8079679f18
|
search: support MastoAPI params, improve performance, improve value lookup
|
2023-08-30 15:02:28 -05:00 |
Alex Gleason
|
675010ddec
|
search: fix FTS special characters, optimize search
|
2023-08-30 14:03:16 -05:00 |
Alex Gleason
|
df14ff66bc
|
search: search use FTS to search for statuses
|
2023-08-30 12:16:04 -05:00 |
Alex Gleason
|
5e9a3dd8d1
|
db/events: only index kind 1 events in search
|
2023-08-30 12:07:49 -05:00 |
Alex Gleason
|
02e1a4ce58
|
db/events: support "search" filter
|
2023-08-30 12:04:45 -05:00 |
Alex Gleason
|
9b67d7a7c0
|
Add followers/following endpoints
Fixes https://gitlab.com/soapbox-pub/ditto/-/issues/69
|
2023-08-30 10:27:45 -05:00 |
Alex Gleason
|
728f0bd657
|
accounts: followers/following & status counts
Fixes https://gitlab.com/soapbox-pub/ditto/-/issues/68
|
2023-08-30 09:50:51 -05:00 |
Alex Gleason
|
b27b84e3fb
|
Add favourited_by and reblogged_by controllers
|
2023-08-29 18:08:00 -05:00 |
Alex Gleason
|
9b761ff960
|
firehose: apparently the `since` filter is essential
|
2023-08-29 16:40:23 -05:00 |
Alex Gleason
|
ad823e587a
|
accounts: remove unecessary sort call
|
2023-08-29 15:29:12 -05:00 |
Alex Gleason
|
d01dbcbfee
|
relay: add support for NIP-45 COUNT
|
2023-08-29 15:24:07 -05:00 |
Alex Gleason
|
fc1ed59002
|
firehose: use `limit: 0` instead of `since`
|
2023-08-29 14:53:12 -05:00 |
Alex Gleason
|
9d714b6173
|
Pass viewerPubkey to toStatus in more places
|
2023-08-29 14:48:28 -05:00 |
Alex Gleason
|
2ee29bf1e2
|
Make favourites stick, refactor some async logic in threads
|
2023-08-29 14:44:59 -05:00 |
Alex Gleason
|
d4612d5f21
|
toStatus: make status counters work (local db only)
|
2023-08-29 14:13:41 -05:00 |
Alex Gleason
|
95761e2eef
|
schema: add comments
|
2023-08-29 13:28:16 -05:00 |
Alex Gleason
|
2841d4f399
|
queries: remove unused import
|
2023-08-29 13:25:58 -05:00 |
Alex Gleason
|
77b09baa8c
|
db/events: don't throw on duplicate events
|
2023-08-29 13:20:21 -05:00 |
Alex Gleason
|
ebd933126a
|
webfinger: fix import order
|
2023-08-29 13:14:03 -05:00 |
Alex Gleason
|
d21ec6d241
|
apps: use AppController type
|
2023-08-29 13:04:38 -05:00 |
Alex Gleason
|
4d211d637e
|
timelines: add DRY renderStatuses function
|
2023-08-29 13:01:47 -05:00 |
Alex Gleason
|
4216a7931a
|
Add `paginated` helper function, DRY pagination code
|
2023-08-29 12:55:00 -05:00 |
Alex Gleason
|
ce4a330812
|
Rename timeline controllers, homeController --> homeTimelineController, etc
|
2023-08-29 12:41:14 -05:00 |
Alex Gleason
|
ccb8c534ca
|
Add hashtag timeline
|
2023-08-28 19:51:21 -05:00 |
Alex Gleason
|
a075c533e6
|
Make notifications kind of work
|
2023-08-28 15:56:38 -05:00 |
Alex Gleason
|
2029c73eab
|
requireAuth --> requirePubkey
|
2023-08-28 15:38:32 -05:00 |
Alex Gleason
|
dfbad6b2e7
|
Add boilerplate notifications controller, fix import order in app.ts
|
2023-08-28 14:23:27 -05:00 |
Alex Gleason
|
e18aa878bb
|
streaming: reorder tag params
|
2023-08-28 13:37:15 -05:00 |
Alex Gleason
|
e6d1494a10
|
streaming: make user stream mostly work, in a kind of hacky way
|
2023-08-28 13:34:15 -05:00 |
Alex Gleason
|
e8a7dfef2b
|
Remove uneeded session ID from auth token
|
2023-08-28 13:00:00 -05:00 |
Alex Gleason
|
f25284daa9
|
streaming: support hashtag timeline
|
2023-08-28 12:42:28 -05:00 |
Alex Gleason
|
2e8b26cf4f
|
Remove legacy stream.ts module
|
2023-08-27 10:07:13 -05:00 |
Alex Gleason
|
320d2f493e
|
change .positive() to .nonnegative() !!!
|
2023-08-26 23:13:48 -05:00 |
Alex Gleason
|
0a9b53bbc1
|
sign: fix parsing connect response from string to JSON
|
2023-08-26 22:49:32 -05:00 |
Alex Gleason
|
655004e775
|
Rework web signer to use NIP-46 events
|
2023-08-26 18:03:59 -05:00 |
Alex Gleason
|
1806cf2286
|
filter: treat the admin pubkey as local
|
2023-08-26 17:31:52 -05:00 |
Alex Gleason
|
9cd1ca1861
|
streaming: don't forget to close the subscription when the socket closes
|
2023-08-26 15:57:51 -05:00 |
Alex Gleason
|
c13b7f4af7
|
subs: allow any object in place of the socket
|
2023-08-26 15:55:16 -05:00 |
Alex Gleason
|
67bba508af
|
utils/web: make `tags` optional
|
2023-08-26 15:22:49 -05:00 |
Alex Gleason
|
1b2a486c65
|
pipeline: don't store ephemeral events
|
2023-08-26 13:40:10 -05:00 |
Alex Gleason
|
2aefdc4bd1
|
kinds: improve detection of legacy kinds
|
2023-08-26 13:25:32 -05:00 |
Alex Gleason
|
fdc39297fd
|
Add kinds module to classify events by kind
|
2023-08-26 13:18:58 -05:00 |
Alex Gleason
|
63def1d62c
|
utils: add return types (to improve readability)
|
2023-08-26 12:58:17 -05:00 |
Alex Gleason
|
7570b0dee4
|
utils: new Date().getTime() --> Date.now()
|
2023-08-26 12:56:07 -05:00 |
Alex Gleason
|
e17111a859
|
utils/web: PendingEvent --> EventStub
|
2023-08-26 12:52:24 -05:00 |
Alex Gleason
|
60cecafdb5
|
Remove admin.ts, move to sign.ts, add createAdminEvent function
|
2023-08-26 12:48:08 -05:00 |
Alex Gleason
|
3c279175bc
|
instance: actually, put all this under a nostr key
|
2023-08-26 12:28:25 -05:00 |
Alex Gleason
|
baf4c00fee
|
instance: add urls.nostr_relay and pubkey properties to instance
|
2023-08-26 12:01:46 -05:00 |
Alex Gleason
|
887c68f052
|
config: add comments to all config options
|
2023-08-26 11:55:16 -05:00 |
Alex Gleason
|
9da03aa053
|
streaming: socket.addEventListener('open', ...) --> socket.onopen, etc
|
2023-08-25 17:17:26 -05:00 |
Alex Gleason
|
a93d77c851
|
streaming: add `stream` param to streaming events
|
2023-08-25 16:17:45 -05:00 |
Alex Gleason
|
b60e84d29b
|
relay: only send if socket is open
|
2023-08-25 15:09:16 -05:00 |
Alex Gleason
|
f7cd67c572
|
Make MastoAPI streaming work for public feeds
|
2023-08-25 14:59:37 -05:00 |
Alex Gleason
|
d1117f5513
|
relay: improve variable names in handleReq
|
2023-08-25 13:42:58 -05:00 |
Alex Gleason
|
c18d7b952f
|
Move filter types into filter.ts
|
2023-08-25 13:38:21 -05:00 |
Alex Gleason
|
baace5ea2d
|
Refactor streaming to use async iterators
|
2023-08-25 13:35:20 -05:00 |
Alex Gleason
|
00c531bbff
|
relay: close sub when socket is closed
|
2023-08-24 18:43:14 -05:00 |
Alex Gleason
|
f9de6932ac
|
utils: remove unused import
|
2023-08-24 17:42:28 -05:00 |
Alex Gleason
|
2f7914f044
|
pipeline: skip previously encountered events
|
2023-08-24 17:39:24 -05:00 |
Alex Gleason
|
a0dff12ca0
|
pipeline: don't stream events older than 10 seconds
|
2023-08-24 17:26:46 -05:00 |
Alex Gleason
|
f1c465beea
|
pipeline: optimize database calls
|
2023-08-24 17:16:44 -05:00 |
Alex Gleason
|
658dd397f5
|
relay: respect "local: true" filter
|
2023-08-24 15:28:13 -05:00 |
Alex Gleason
|
a676b71d23
|
relay: make Nostr streaming work
|
2023-08-23 23:25:38 -05:00 |
Alex Gleason
|
bcfc3e2414
|
Use createEvent in more places
|
2023-08-19 22:25:45 -05:00 |
Alex Gleason
|
a82ae40c43
|
db/events: don't add tags to query unless they exist
|
2023-08-19 15:26:41 -05:00 |
Alex Gleason
|
98b6a4b222
|
Increase NIP-05 lookup timeout to 2s
|
2023-08-19 14:56:40 -05:00 |
Alex Gleason
|
f198779ebe
|
Merge branch 'sync' into 'develop'
Sync the user on verify_credentials
Closes #11
See merge request soapbox-pub/ditto!17
|
2023-08-19 19:09:09 +00:00 |
Alex Gleason
|
23928c0024
|
Move hono-related functions until utils/web
|
2023-08-19 14:05:08 -05:00 |
Alex Gleason
|
eb4aebedd7
|
Sync the user on verify_credentials
Fixes https://gitlab.com/soapbox-pub/ditto/-/issues/11
|
2023-08-19 13:57:17 -05:00 |
Alex Gleason
|
c08c801e71
|
Make following work
|
2023-08-19 13:37:44 -05:00 |
Alex Gleason
|
b087d08306
|
Make the local timeline correctly filter only local users
|
2023-08-19 13:01:05 -05:00 |
Alex Gleason
|
c37dd2c2b5
|
db/events: skip undefined filter values
|
2023-08-19 12:59:22 -05:00 |
Alex Gleason
|
fecd69bf8f
|
mixer: don't use the client pool for local filters
|
2023-08-19 12:38:20 -05:00 |
Alex Gleason
|
05a7a773fe
|
getFilters: return immediately if filters are empty
|
2023-08-19 12:37:42 -05:00 |
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 |
Alex Gleason
|
89b98ae77a
|
Fix tag history date
|
2023-07-26 14:51:57 -05:00 |
Alex Gleason
|
14e60048a6
|
loopback: use RelayPool instead of nostr-tools just because it doesn't die so often
|
2023-07-26 12:54:06 -05:00 |
Alex Gleason
|
7eedeef2b4
|
Track up to 5 tags max per post
|
2023-07-26 09:40:52 -05:00 |
Alex Gleason
|
c88e58344f
|
Improve tag history
|
2023-07-25 23:21:42 -05:00 |
Alex Gleason
|
5b536040ce
|
Minor logging tweaks
|
2023-07-25 20:55:12 -05:00 |
Alex Gleason
|
ad48e4a787
|
Trends: add limit param, fix order
|
2023-07-25 20:40:31 -05:00 |
Alex Gleason
|
1a860adde7
|
Support tag history
|
2023-07-25 20:26:49 -05:00 |
Alex Gleason
|
7c8aa88069
|
Trends: track based on the event's created_at date, instead of whenever the row was inserted
|
2023-07-25 18:35:07 -05:00 |
Alex Gleason
|
79ec5dd4e0
|
Refactor loopback.ts
|
2023-07-25 18:28:53 -05:00 |
Alex Gleason
|
33f87822d4
|
Trends: support author threshold (default: 3)
|
2023-07-25 18:04:00 -05:00 |
Alex Gleason
|
969bc1fcba
|
TrendsDB: cleanup on construction
|
2023-07-25 17:49:42 -05:00 |
Alex Gleason
|
cbb294dbc2
|
Trends: support `limit` param
|
2023-07-25 17:44:38 -05:00 |
Alex Gleason
|
48b7310d52
|
Trends: clean up old tag usages
|
2023-07-25 17:33:16 -05:00 |
Alex Gleason
|
e8df411834
|
Trends: also track total tag usages
|
2023-07-25 17:19:31 -05:00 |
Alex Gleason
|
1d67181e52
|
Add trends controller... and it kind of works!
|
2023-07-25 17:07:09 -05:00 |
Alex Gleason
|
11f21e3922
|
Improve TrendsDB, add loopback script, almost ready to do something?
|
2023-07-25 15:30:58 -05:00 |
Alex Gleason
|
3bdde98f8f
|
TrendsDB: fix parameterized queries
|
2023-07-25 12:10:37 -05:00 |
Alex Gleason
|
9ebf83af5d
|
Add preliminary TrendsDB module
|
2023-07-25 12:07:34 -05:00 |
Alex Gleason
|
2d5f9db5c3
|
Use 2048 bit RSA, because it's more secure and won't have the same performance penalty as on the bridge
|
2023-07-23 11:15:52 -05:00 |
Alex Gleason
|
f8674ed053
|
Add RSA key to actors, use LRU cache
|
2023-07-13 22:00:27 -05:00 |
Alex Gleason
|
e5082ed805
|
transmogrify --> transformers
|
2023-07-13 20:47:09 -05:00 |
Alex Gleason
|
97e6f1385c
|
Move transmute into transmogrify directory
|
2023-07-13 20:23:04 -05:00 |
Alex Gleason
|
0d4b9e416c
|
Copy some ActivityPub conversion code from Mostr
|
2023-07-13 19:50:16 -05:00 |
Alex Gleason
|
8fa6ac0a4c
|
Add nodeinfo
|
2023-07-09 20:32:45 -05:00 |
Alex Gleason
|
8894bb5513
|
HostMeta: pretty xml
|
2023-07-09 18:58:08 -05:00 |
Alex Gleason
|
19d7d1ae52
|
Move host-meta to its own file
|
2023-07-09 18:50:47 -05:00 |
Alex Gleason
|
be6aa89c39
|
Rename Conf.url() to Conf.local(), replace it with a URL of localDomain
|
2023-07-09 18:26:33 -05:00 |
Alex Gleason
|
5ec40f285d
|
Webfinger: actually, remove nostr lookup (this is bloat)
|
2023-07-09 18:16:20 -05:00 |
Alex Gleason
|
60cd92384d
|
Webfinger: reorganize more
|
2023-07-09 18:10:12 -05:00 |
Alex Gleason
|
9d6216aff7
|
Clean up the webfingerController a bit
|
2023-07-09 17:38:39 -05:00 |
Alex Gleason
|
da9bea7560
|
Webfinger: fix resource parameter
|
2023-07-09 17:21:38 -05:00 |
Alex Gleason
|
bf23afdce0
|
Webfinger: support nostr URI, fix resource parsing
|
2023-07-09 17:11:26 -05:00 |
Alex Gleason
|
cf78b721f5
|
Implement Webfinger
|
2023-07-09 16:08:49 -05:00 |
Alex Gleason
|
215ff85b6d
|
Add Conf.url() function for producing local absolute URLs
|
2023-07-09 14:23:02 -05:00 |
Alex Gleason
|
a3323a2618
|
Simplify \w+ regex usage
|
2023-07-09 14:22:18 -05:00 |
Alex Gleason
|
0e15e174c5
|
Add nostr.json (NIP-05)
|
2023-07-09 12:55:37 -05:00 |
Alex Gleason
|
7808565d71
|
User: enforce {1,30} character limit on username
|
2023-07-09 12:30:04 -05:00 |
Alex Gleason
|
c93aa5b314
|
Switch from Dongoose to Pentagon instead of the db
|
2023-07-09 12:27:10 -05:00 |
Alex Gleason
|
505b9db409
|
Try adding Dongoose and a users table
|
2023-07-09 11:47:19 -05:00 |
Alex Gleason
|
fb9bb284db
|
Fix crash with invalid nip98 base64
|
2023-07-08 21:01:49 -05:00 |
Alex Gleason
|
4e68e3868f
|
Prevent cyclical import of Time module
|
2023-07-08 20:01:10 -05:00 |
Alex Gleason
|
028ff27c49
|
Use new Time module in more places
|
2023-07-08 19:54:27 -05:00 |
Alex Gleason
|
d7d5057617
|
Support nip98 auth
|
2023-07-08 18:41:11 -05:00 |
Alex Gleason
|
c80a9e5d9a
|
paginationSchema: fix problem with nostrNow() being called only at startup
|
2023-07-08 15:21:28 -05:00 |
Alex Gleason
|
cc751f03a7
|
Refactor to use nostrDate() and nostrNow()
|
2023-07-08 15:04:50 -05:00 |
Alex Gleason
|
bdf8e9a61d
|
Return an error for POST /api/v1/accounts
|
2023-07-08 11:20:10 -05:00 |
Alex Gleason
|
b7ecc609de
|
publicController: return early if there are no events
|
2023-07-07 15:15:26 -05:00 |
Alex Gleason
|
d4eef9c2af
|
Add public timeline, fix limit param
|
2023-07-07 15:07:59 -05:00 |
Alex Gleason
|
cacf51ea36
|
Fix spoiler_text type
|
2023-07-02 14:13:14 -05:00 |
Alex Gleason
|
07b406c25c
|
Handle CW/subject tags in render, fix schema for status create params
|
2023-07-02 13:49:41 -05:00 |
Alex Gleason
|
4edebaa105
|
createStatusController: handle most request params
|
2023-07-02 13:28:58 -05:00 |
Alex Gleason
|
6a20df2704
|
createStatusController: prevent non-public posts
|
2023-07-02 01:13:17 -05:00 |
Alex Gleason
|
164e7259e0
|
accountStatusesController: support `tagged` query param
|
2023-06-11 16:04:42 -05:00 |
Alex Gleason
|
4bcf9c171c
|
accountStatusesController: support exclude_replies
|
2023-06-11 15:47:55 -05:00 |
Alex Gleason
|
860b653892
|
Allow users to update their profile
|
2023-06-11 14:41:16 -05:00 |
Alex Gleason
|
009747105d
|
Add boilerplate frontend_configurations controller
|
2023-06-10 23:10:27 -05:00 |
Alex Gleason
|
39b75d7f95
|
deno fmt
|
2023-06-10 23:02:55 -05:00 |
Alex Gleason
|
75135c62a4
|
Add admin signing module
|
2023-06-10 23:00:10 -05:00 |
Alex Gleason
|
b5643c4aba
|
Refactor config to use a better interface
|
2023-06-10 17:15:08 -05:00 |
Alex Gleason
|
8a62cb604d
|
Support pagination on user profile
|
2023-06-09 19:22:38 -05:00 |
Alex Gleason
|
75a7a0a2ff
|
Bump nostr-tools version
|
2023-06-09 16:41:25 -05:00 |
Alex Gleason
|
265a97a191
|
Sanitize oembed html
|
2023-05-27 16:40:18 -05:00 |
Alex Gleason
|
74024e36b6
|
Support OAuth 'client_credentials' grant type, improve Mastodon API compat
|
2023-05-24 11:19:02 -05:00 |
Alex Gleason
|
b0c58bff70
|
Remove unused handler.ts file
|
2023-05-23 20:52:21 -05:00 |
Alex Gleason
|
161c77b85d
|
Streaming: parse stream channel param
|
2023-05-20 23:47:51 -05:00 |
Alex Gleason
|
da6e31c647
|
Validate event signing, make it more Mastodonic
|
2023-05-20 21:16:22 -05:00 |
Alex Gleason
|
ec5e0ed330
|
Streaming: refactor, add unsubscribeAll method
|
2023-05-20 20:23:01 -05:00 |
Alex Gleason
|
3ffad1df29
|
Build a websocket topics framework
|
2023-05-20 19:39:05 -05:00 |
Alex Gleason
|
02160f8c9e
|
credentialsController --> verifyCredentialsController
|
2023-05-20 14:44:18 -05:00 |
Alex Gleason
|
f3e42cc6a7
|
Add a UUID to auth tokens for private websocket event signing
|
2023-05-20 14:34:13 -05:00 |
Alex Gleason
|
9500ceee7c
|
Upgrade nostr-tools, fix BECH_32_REGEX imports
|
2023-05-20 12:28:12 -05:00 |
Alex Gleason
|
91bc0549c7
|
sign: 504 --> 408
|
2023-05-13 21:25:43 -05:00 |
Alex Gleason
|
c14ebe6631
|
sign: only add stream if nostr=true on the user stream (still subject to change)
|
2023-05-13 21:05:55 -05:00 |
Alex Gleason
|
ce02f7d56c
|
Update streaming comments
|
2023-05-13 20:16:44 -05:00 |
Alex Gleason
|
9ff5e7c738
|
Websocket signing kind of works!!
|
2023-05-13 19:48:08 -05:00 |
Alex Gleason
|
8ba456a100
|
streaming: establish WebSocket connection
|
2023-05-13 17:41:21 -05:00 |
Alex Gleason
|
a766449ba6
|
Let searchController look up accounts
|
2023-05-13 14:45:13 -05:00 |
Alex Gleason
|
017a34d5d4
|
Stub out missing Elk endpoints
|
2023-05-13 14:27:49 -05:00 |
Alex Gleason
|
ab1bb3854a
|
Return empty array for public timeline
|
2023-05-12 16:27:52 -05:00 |
Alex Gleason
|
45807e29de
|
Fix login with Elk
|
2023-05-12 16:17:02 -05:00 |
Alex Gleason
|
cfa7498feb
|
Upgrade unfurl, fixes crashing
|
2023-05-12 16:12:35 -05:00 |
Alex Gleason
|
837a3ae1dd
|
Support custom emojis in statuses
|
2023-05-11 23:49:32 -05:00 |
Alex Gleason
|
d109043440
|
Fix /api/v1/accounts/lookup nip05
|
2023-05-11 23:39:25 -05:00 |
Alex Gleason
|
a21ad4caec
|
Support custom emojis in usernames
|
2023-05-11 23:39:10 -05:00 |
Alex Gleason
|
1ba46dd7a3
|
Truncate npub username
|
2023-05-11 22:34:56 -05:00 |
Alex Gleason
|
ef5bfb79f0
|
buildInlineRecipients: delete extra space when there are no inline mentions
|
2023-05-11 20:12:05 -05:00 |
Alex Gleason
|
7820f88859
|
timelines: bail early if there are no events
|
2023-05-11 20:11:00 -05:00 |
Alex Gleason
|
af5420222b
|
Add recepients-inline for better Mastodon compatibility
|
2023-05-08 18:19:45 +02:00 |
Alex Gleason
|
8d021865c6
|
Don't log nip05 cache
|
2023-05-07 16:59:36 -05:00 |
Alex Gleason
|
1271e36f7e
|
Throw a user-friendly error when a private key isn't provided
|
2023-05-07 15:43:38 -05:00 |
Alex Gleason
|
8f65939f1c
|
OAuth form improvements, support NIP-07
|
2023-05-07 15:29:27 -05:00 |
Alex Gleason
|
d825f9d7cb
|
Yo dawg I heard u like pools
|
2023-05-07 12:59:55 -05:00 |
Alex Gleason
|
4993b4ca52
|
Support favourites
|
2023-05-07 12:32:24 -05:00 |
Alex Gleason
|
6e09e6f9e5
|
Fix NIP-05 cache
|
2023-05-07 11:44:22 -05:00 |
Alex Gleason
|
af9f376ad0
|
Verify NIP05's with cache, fixes #1
|
2023-05-06 22:29:41 -05:00 |
Alex Gleason
|
f567acb58f
|
Cache rich media cards for 12 hours
|
2023-05-06 20:30:11 -05:00 |
Alex Gleason
|
78b1c24ee0
|
card: sane defaults
|
2023-05-06 20:09:33 -05:00 |
Alex Gleason
|
b6ce22cfaf
|
Unfurl card in link previews
|
2023-05-06 19:58:41 -05:00 |
Alex Gleason
|
2fff0ed879
|
First pass linkifying status content and rendering attachments
|
2023-05-06 15:17:50 -05:00 |
Alex Gleason
|
0c71b5a696
|
Try Deno's experimental KV as a cache
|
2023-05-03 22:15:18 -05:00 |
Alex Gleason
|
9539eb5055
|
Try to make relationshipsController reflect following
|
2023-05-03 21:56:22 -05:00 |
Alex Gleason
|
192ee7f76d
|
Make getFilter return a pure event object instead of the class from nostr-relaypool
|
2023-05-03 21:54:22 -05:00 |
Alex Gleason
|
e3dca47241
|
Extend getFollows timeout
|
2023-05-03 21:53:36 -05:00 |
Alex Gleason
|
3880fdd61c
|
accountStatusesController: sort results by timestamp
|
2023-05-03 15:33:54 -05:00 |
Alex Gleason
|
502af2cd48
|
Return first page of statuses in profile
|
2023-05-03 15:22:24 -05:00 |
Alex Gleason
|
6fa897145e
|
Include source property on own account
|
2023-05-02 13:58:45 -05:00 |
Alex Gleason
|
e93fcdc643
|
Add default banner to account
|
2023-04-30 23:31:30 -05:00 |
Alex Gleason
|
8b3eab80b3
|
Add email field to /api/v1/instance
|
2023-04-30 23:27:29 -05:00 |
Alex Gleason
|
0a12bbb42f
|
Refactor client code, hope for the best
|
2023-04-30 20:21:55 -05:00 |
Alex Gleason
|
7bb8821b1b
|
Escape HTML fields
|
2023-04-30 16:07:07 -05:00 |
Alex Gleason
|
d7805ae65b
|
Add logger middleware
|
2023-04-30 15:16:33 -05:00 |
Alex Gleason
|
cb8e78ab59
|
Add landing page
|
2023-04-30 14:51:56 -05:00 |
Alex Gleason
|
610ce4444a
|
api --> controllers/api
|
2023-04-30 14:45:30 -05:00 |
Alex Gleason
|
2554379cef
|
api/home.ts --> api/timelines.ts
|
2023-04-30 14:16:30 -05:00 |
Alex Gleason
|
e26b540246
|
OAuth token endpoint: support formData
|
2023-04-30 14:13:27 -05:00 |
Alex Gleason
|
81357fa1e3
|
Make OAuth form mostly work
|
2023-04-30 13:28:49 -05:00 |
Alex Gleason
|
d860ef7f98
|
Apps: get the redirect_uri into the app
|
2023-04-30 12:41:01 -05:00 |
Alex Gleason
|
9734d0a961
|
lint
|
2023-04-29 21:57:30 -05:00 |