Commit graph

261 commits

Author SHA1 Message Date
0fa88e51e6
feat: added all inboxes and outboxes
base POST to /outbox still returns NOT IMPLEMENTED tho
2024-04-12 20:01:47 +02:00
af8d11e75b
feat: inbox/outbox security and obj embedding 2024-04-12 19:36:00 +02:00
0d340185cf
feat: improved addressing select 2024-04-12 19:35:26 +02:00
3a874ed3e7
fix: insert activities, expand addressing
remote activities for Likes and Follows should still be added to our
database so we know where to verify those and we can present them in a
timeline for notifications
2024-04-12 18:40:24 +02:00
9e67eead69
feat: multi-join maybe? fix inbox not embedding obj
got this from https://github.com/SeaQL/sea-orm/discussions/1502, not
sure it's what i need but i'm trying some stuff
2024-04-11 17:00:09 +02:00
d5c5d341e8
fix: ownerships 2024-04-11 16:59:47 +02:00
0261f87306
feat: first mastodon route yay, mastodon default on 2024-04-11 00:52:44 +02:00
86e84d88aa
chore: updated apb things, restructured a bit 2024-04-11 00:29:32 +02:00
4c2eb7b990
chore: better routing structure 2024-04-09 04:35:57 +02:00
bb26ff763d
chore: restructured completely
kinda MVC:
Model -> model
View -> routes
Controller -> server
2024-04-09 01:14:48 +02:00
20ca18f9e3
chore: also modularized APInbox 2024-04-08 02:55:21 +02:00
7ce872cfff
chore: separated outbox business logic in methods
dumped all in server but temporary, now can be properly modularized
also fixed endpoints
2024-04-08 02:30:43 +02:00
24d547e93a
feat: subdivide into features 2024-04-06 18:03:13 +02:00
a624222751
feat: listed half of mastodon's api routes 2024-04-06 17:20:44 +02:00
ca871a867f
docs: some readmes
pretty useless but at least they're there
2024-04-06 17:20:14 +02:00
520c8eff3a
feat: separated apb types into crate, reworked
no more "impl ..." hell, each trait has associated types so that we know
it's a "Self::Link" or a "Self::Actor", but in practice they can both be
a "serde_json::Value" and thus we can change its type. also Node::Array
is now a Vec<T> rather than Vec<Node<T>> because it makes more sense.
Node is Iterable and will yield zero (Empty|Link), one (Object) or many
(Array) Ts
2024-04-06 16:56:13 +02:00
b5867b90ac
feat: accept also bare note to publish 2024-03-28 05:24:38 +01:00
0ec839f42f
fix: followers was wrong because full model 2024-03-28 05:19:13 +01:00
3725097749
fix: followers querying with full id 2024-03-28 05:14:50 +01:00
d7efbf5131
chore: imports cleanup 2024-03-28 05:14:17 +01:00
e68332bc31
chore: refactor collections with utils, moved stuff 2024-03-28 04:52:17 +01:00
68823559c1
feat: process updates for notes and users 2024-03-28 04:47:49 +01:00
5bad5e0405
fix: more lenient nodeinfo 2024-03-28 04:05:47 +01:00
4274367285
feat: immediately wakeup dispatcher when sending 2024-03-27 05:09:20 +01:00
70c1f96959
fix: maybe fix for expanding addressings 2024-03-27 04:46:57 +01:00
746c5e5921
fix: log follow request accept/reject 2024-03-27 04:40:50 +01:00
bd4d123223
fix: less extreme logging for deliveries 2024-03-27 04:38:14 +01:00
742c769014
fix: filter out empty targets 2024-03-27 04:36:46 +01:00
625b8e0e02
fix: when missing embedded object still show url! 2024-03-27 04:28:09 +01:00
fe30ad59d7
feat: normalized pagination 2024-03-27 04:23:42 +01:00
139e973277
fix: don't insert when there's nothing to insert 2024-03-27 04:13:29 +01:00
ac2c86f16e
feat: crude implementation of most inbox flows 2024-03-27 04:00:27 +01:00
db8ecc7c3d
chore: moved around stuff 2024-03-27 04:00:18 +01:00
c3face463e
feat: crude implementation for most outbox methods 2024-03-27 03:24:14 +01:00
f83103ba72
fix: Node::id() returns owned value, imports fix 2024-03-27 03:23:54 +01:00
b37d799f59
fix: oh yes that was it! now digest 2024-03-27 02:11:14 +01:00
21db907e17
fix: omg is it the day of the week? 2024-03-27 02:08:50 +01:00
e75758b320
fix: if this is it............. 2024-03-27 02:07:02 +01:00
44adbeb434
fix: maybe without the day? omg mastodon... 2024-03-27 01:56:44 +01:00
b730598abe
fix: well it's not standard duhh 2024-03-27 01:53:41 +01:00
ad012bd2ee
fix: what the fuck mastodon?
or is it rust's fault?
2024-03-27 01:48:55 +01:00
4d06af9c54
fix: ooo is it this one? 2024-03-27 01:44:27 +01:00
f2513f30c8
fix: show me what they say when rejecting sign :( 2024-03-27 00:24:14 +01:00
a2f77fa6fb
fix: apparently i need to put flat links...
what's the point of being ActivityPub if you expect a fixed structure!!!
2024-03-27 00:15:17 +01:00
e9dc33a39d
fix: typo 2024-03-26 23:55:57 +01:00
603724ebcc
feat: improved dispatcher sleep logic 2024-03-26 23:53:44 +01:00
6097493932
chore: faker creates test user, not root 2024-03-26 23:53:30 +01:00
46394af394
fix: include request-target 2024-03-26 23:42:22 +01:00
8437de6c1b
fix: add back algorithm, fix digest fn 2024-03-26 21:48:39 +01:00
e8eff349cf
fix: ops must include digest and compose header 2024-03-26 21:30:41 +01:00
fc4674ecca
fix: maybe if i do it the old way?? 2024-03-26 21:24:10 +01:00
98cb07b547
fix: does 'require_header' change anything? 2024-03-26 21:14:01 +01:00
923d96bd7f
fix: are these the issue? 2024-03-26 21:09:49 +01:00
46b9a339f7
fix: also full AP header 2024-03-26 21:02:07 +01:00
2f5344af37
fix: correct path for signature 2024-03-26 20:22:15 +01:00
a99c21654d
fix: use date format mastodon shows in docs
can't be this, or can it?
2024-03-26 20:17:41 +01:00
8bf41aa28b
fix: use a reasonable crate for http signing
http_signatures is abandoned, http_sig is weird???
2024-03-26 19:27:35 +01:00
d321d0b22a
fix: calculate digest, remove algo field
https://docs.joinmastodon.org/spec/security/#http
2024-03-26 05:25:51 +01:00
4afb0ae946
fix: generate keys on the fly 2024-03-26 04:20:35 +01:00
8ed4251d31
fix: #main-key ... 2024-03-26 04:14:23 +01:00
82f8abd96b
fix: well known without protocol 2024-03-26 03:54:25 +01:00
d918caa815
fix: was getting host wrongly, also log way more 2024-03-26 03:49:09 +01:00
90cae9e5fd
fix: header and LD context... 2024-03-26 03:41:17 +01:00
8ba25d511e
fix: more resilient priv key selection 2024-03-26 03:21:00 +01:00
e6b30975cc
feat: catch dispatcher errors 2024-03-26 03:11:59 +01:00
81b6a7183a
fix: log delivery responses bodies 2024-03-26 03:05:43 +01:00
83b0b35043
fix: check status code when delivering 2024-03-26 02:50:58 +01:00
d5c73e85e8
fix: fetch activity case for non embedded 2024-03-26 02:46:10 +01:00
34a3769fba
fix: acktually algorithm is required by spec 2024-03-26 02:27:40 +01:00
7d1473691e
fix: valid ids for inserted things 2024-03-26 02:24:09 +01:00
a7a6a23560
fix: also insert like relation when posting likes 2024-03-26 02:13:03 +01:00
c6703a0a1e
fix: add published which must be non null 2024-03-26 02:07:46 +01:00
36aec4f447
fix: improvements for debugging 2024-03-26 02:05:20 +01:00
b464aa0e98
fix: register outbox route 2024-03-26 01:31:17 +01:00
f588df751f
fix: don't attempt to deliver to public target 2024-03-26 01:25:15 +01:00
794548d14a
fix: duhhh 2024-03-26 01:19:34 +01:00
0c8afc2780
fix: some logging on fetcher and dispatcher 2024-03-26 01:14:43 +01:00
13f99532fe
fix: put bac protocol in urls 2024-03-26 01:02:48 +01:00
6a050c0bb4
fix: actually fixed it 2024-03-26 00:58:01 +01:00
3a0ca6af86
feat: control how many statuses to insert 2024-03-26 00:53:07 +01:00
71acddb766
feat: crude handling of line and create 2024-03-26 00:50:07 +01:00
d7e846370a
feat: show public key of user 2024-03-26 00:49:56 +01:00
b0d8957f41
feat: Node::get() returns owned object 2024-03-26 00:49:42 +01:00
be75ac33d1
feat: parse some algorithms for digest, all rsa 2024-03-26 00:49:27 +01:00
4a99a3dc40
chore: small improvements and fixed some warns 2024-03-26 00:49:07 +01:00
6d078f7068
feat: show pub key and created time for app actor 2024-03-26 00:48:37 +01:00
f74aab7852
feat: implemented GET inbox to browse home feed 2024-03-25 21:48:58 +01:00
b0e4940ec8
feat: validate incoming http signatures 2024-03-25 21:19:25 +01:00
e1b93e8a93
feat: added basic fetcher, get keys at startup 2024-03-25 21:19:02 +01:00
88808f020c
feat: storage for application keys 2024-03-25 21:18:27 +01:00
6ea4f06d54
feat: initial work on validating http signatures 2024-03-25 05:12:49 +01:00
d0816a0f6a
fix: from -> actor 2024-03-25 05:12:09 +01:00
6be1a445be
chore: not all pub 2024-03-25 05:08:29 +01:00
5d7ce0e3c4
feat: simple delivery system + http signatures 2024-03-25 05:07:58 +01:00
76c0bd5218
feat: store base domain and protocol separately 2024-03-25 05:02:39 +01:00
de74669bd7
chore: moved version as const 2024-03-25 05:02:20 +01:00
7f69abf6c0
fix: cleanup 2024-03-25 02:27:31 +01:00
6be486ca3d
fix: add also server column for server addressing 2024-03-25 02:26:47 +01:00
acd4fa0bd4
feat: work on authed outbox/inbox 2024-03-25 02:00:57 +01:00
384d5147ed
feat: initial auth extractor 2024-03-25 01:58:30 +01:00