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 |