1
0
Fork 0
forked from alemi/upub
Commit graph

489 commits

Author SHA1 Message Date
94a26a0c7d
feat: parse and serve shared_inbox endpoint 2024-05-15 18:51:34 +02:00
b9386c286a
fix: register cli command 2024-05-13 19:16:41 +02:00
be6d9bf28b
chore: use ' ' instead of " " so clippy is happy 2024-05-13 18:54:09 +02:00
bd9b9782b4
feat: added registration cli and route and cfg
defaults to disabled registrations ofc
2024-05-13 18:53:51 +02:00
401ef08af3
fix: shared inbox MUST NOT contain private stuff 2024-05-13 18:53:03 +02:00
d2f0ce0391
chore: moved http signatures code in separate file 2024-05-13 18:52:42 +02:00
cb9cae1af8
fix: calling this a fix is preposterous
but it should *not* work *less* often???
2024-05-13 17:17:19 +02:00
d5e01cc655
fix: urlencoding is too precise, just replace %20
omg i really chose such a bad way to do this i need to pick a proper one
2024-05-13 15:07:58 +02:00
4aff505a16
fix: more verbose errors 2024-05-13 14:56:16 +02:00
025981228d
fix: urlencode reconstructed urls
ouch wordpress, thank you but clean your urls pls
2024-05-13 14:41:37 +02:00
8f806b1bd6
feat: on debug level show in/out activities 2024-05-13 13:52:38 +02:00
6efc5c4ad6
fix: after fetching object recheck if present 2024-05-13 02:51:17 +02:00
6edb379578
fix: webfinger request should not request ld+json 2024-05-13 02:15:40 +02:00
21cde13f96
fix: webfinger/fetch if checks 2024-05-13 02:01:07 +02:00
8a1afadea0
feat: logged in user can search by webfinger
more expensive than "localized" +..@..@ urls because must always make
one extra request but allows easier searching
2024-05-13 01:48:51 +02:00
f2867e56e7
feat: webfinger resolution in fetcher 2024-05-13 01:48:32 +02:00
e11b972826
fix: properly clean follow counts 2024-05-13 01:41:21 +02:00
8a36e91fde
fix: empty digest is rejected by mastodon, revert 2024-05-12 02:26:55 +02:00
7fa15a57a8
feat: add url field to objects
so that we can configure a frontend url and have posts redirect there
when remote instances press "external source"
2024-05-12 01:58:51 +02:00
aa19211b8e
fix: very ugly way to infer media-type
since lemmy sends us images but doesnt tell us what they are...
2024-05-12 01:21:12 +02:00
38efbeb76f
chore: imports 2024-05-12 00:56:27 +02:00
1219dbca34
fix: ownerships 2024-05-12 00:56:22 +02:00
ab0300894f
fix: treat lemmy images like attachments 2024-05-12 00:54:48 +02:00
18f712194c
chore: comment out so i dont get warns compiling 2024-05-11 22:54:41 +02:00
79bc9c938b
fix: process emojireacts as likes for now 2024-05-11 22:50:39 +02:00
0a0facae79
fix: dont print twice the server response body 2024-05-11 22:47:59 +02:00
fc572f1c69
fix: update cli tasks to receive built context 2024-05-11 22:47:43 +02:00
15746c699f
feat: server config file and default generator 2024-05-11 22:47:29 +02:00
b062608134
fix: dispatcher auto restarts
since akkoma is destroying my postgres, I/O is maxed out and sqlite
queries time out. restart the dispatcher worker if it fails!
this is kind of a nasty fix, but whatev
2024-05-11 21:59:02 +02:00
e96b778392
fix: send empty digest rather than digest of ""
maybe fixes iceshrimp? maybe breaks everyone else??
2024-05-11 19:19:42 +02:00
e9fe8ba236
fix: also reject deletions which are not GONE 2024-05-11 17:37:31 +02:00
292b9f06d8
fix: show remote server response when its an error 2024-05-11 17:08:38 +02:00
5b22c0c33b
feat: added /api/v1/instance in mastodon api
because aode relay blasts me of requests on that endpoint... aode you
should limit how many fetches you do!!!!!!!!!!
2024-05-11 15:59:35 +02:00
488cac9703
fix: accept link attachments
kind of hacky way but should work
2024-05-08 02:26:18 +02:00
c56203bf57
chore: moved cli tasks under cli dir
also they're optional, turn off the feature flag if u dont want them
2024-05-06 01:09:14 +02:00
854fd95a4d
fix: correctly reconstruct urls for users too 2024-05-03 06:23:28 +02:00
6cb45bd5f0
chore: shut many unused warning with one smple trick 2024-05-03 06:17:26 +02:00
85a2bedc1a
fix: bad fix for sqlite 2024-05-03 05:10:26 +02:00
97b0c822f4
fix: oof my method sucks!!!!! 2024-05-03 05:05:07 +02:00
9e42d4b460
feat: add server crawler
i may remove this tho, it definitely should not be arbitrarily invokable
by local users!!!
2024-05-03 04:43:25 +02:00
7454da6525
chore: cleanup 2024-05-03 04:12:15 +02:00
a0df9f8cc4
fix: use rsa-sha256 for http signatures
peertube (and thus iceshrimp because it uses peertube's lib) seems to
not support hs2019
2024-05-03 04:11:10 +02:00
1ab351cc7f
fix: increase replies counts from local replies 2024-05-02 16:35:46 +02:00
34df958af0
feat: parse markdown when posting
can't be toggled off for now 🤷
2024-05-02 16:29:01 +02:00
64d7f25aa2
fix: mastodon doesn't tell who likes are intended
why cant you fill your to fields???????? mastodon is a joke
2024-05-02 15:29:42 +02:00
583ddce914
fix: ld_context in dispatcher again 2024-05-02 15:21:45 +02:00
df072d8cc6
fix: faker task new field 2024-05-02 15:16:14 +02:00
ee8ab38570
fix: add updated field on objects and set it 2024-05-02 15:15:16 +02:00
8b75e2be84
fix: dispatch activities with @context 2024-05-02 15:12:36 +02:00
23c9a0a106
fix: some impls dont include to in folreqs
i mean, it's obviously addressed to the target actor of this activity,
but it would cost nothing to put it in the `to` field... i do! added
special cases to make sure follow/accept/reject activities are at least
addressed to target actor
2024-05-02 14:36:56 +02:00
4a7425ef24
fix: mut 2024-05-02 13:31:09 +02:00
44de7040ec
fix: when updating must reset changing fields 2024-05-02 13:16:23 +02:00
4095b0eece
fix: add context extensions depending on type
if actor, add both counters and fe, if object add just fe:likedByMe, to
avoid sending useless text every time
2024-05-02 05:10:38 +02:00
0b21dd47e6
fix: skip local users while updating 2024-05-02 03:03:43 +02:00
5d58ef40a9
feat: added users update task 2024-05-02 03:02:36 +02:00
9bc7ddb0ae
chore: separate fetcher fetch from pull
fetch uses db and inserts, pull just gets the remote resource
2024-05-02 02:58:56 +02:00
01c02c5258
feat: impl Addressed on object and activity models 2024-05-02 02:58:45 +02:00
bcd8f27933
fix: use new apb fields 2024-05-02 00:47:11 +02:00
b1e4c4e79b
fix: add sensitive to context since we use it 2024-05-01 21:21:26 +02:00
dbf2450433
fix: select only user id column 2024-05-01 18:45:30 +02:00
84a446b494
fix: answer deletions with 200 2024-05-01 18:43:43 +02:00
bb4f6e9df0
fix: show follow/by for remote users too
this is super ugly because there's a ton of duplication but let's see if
it works first...
2024-05-01 18:37:26 +02:00
4527ff884e
feat: show in user queries if follow/by self 2024-05-01 17:47:37 +02:00
75d03195d9
feat: allow checking if identity is someone 2024-05-01 17:47:21 +02:00
e8b36cecdf
chore: should move this later 2024-04-30 16:51:30 +02:00
f2dc3f69f2
chore: refactor, moved cli tasks under directory 2024-04-30 16:48:28 +02:00
b0ebeb9fff
fix: mastodont sized 2024-04-30 16:48:00 +02:00
6f033de946
fix: try fetching following/followers, dont fail 2024-04-30 16:47:34 +02:00
938d219d7d
fix: whoops other way around 2024-04-30 15:33:41 +02:00
a6c3ef9a3e
feat: increment statuses count
be it when posting, receiving a Create or fetching an object, increment
relevant user statuses count
2024-04-30 14:22:44 +02:00
a966f7fcb5
fix: fetch remote users following/followers count 2024-04-30 14:17:29 +02:00
0bfa49fed6
chore: imports 2024-04-30 04:29:03 +02:00
3237a38d74
fix: insert liked element also in single obj view 2024-04-30 02:57:50 +02:00
8af2cd2664
fix: maybe don't filter whole queries 2024-04-30 02:05:28 +02:00
a4cdd2e67b
feat: show followers, following, statuses in users 2024-04-30 01:51:38 +02:00
45d16fa0a3
feat: query and show objects liked by you
it shows it in quite a jank way: inside the "audience" collections you
find your id as only item. it's weird af but technically valid ap i
think? will probably be replaced with a local api extension as soon as i
read about those
2024-04-30 01:50:25 +02:00
63ba54dad9
fix: activity redirects when fetching different id 2024-04-30 01:49:05 +02:00
3df01b5b0a
chore: helper to reconstruct ids 2024-04-30 01:48:30 +02:00
f0cdd4bd7a
feat: like and share relations with object 2024-04-30 00:53:57 +02:00
97ed5d60b1
feat: show users following/followers
use audience for followers, generator for following and replies for
total statuses count. restored followers, following and outbox as bare
links. silly AP!!!
2024-04-30 00:53:07 +02:00
5bdf139ef5
chore: imports 2024-04-29 22:02:18 +02:00
7f996aa2c1
feat: kinda botched way to ignore relays
basically relays send us a lot of announce activities to share posts
but we don't care about those activities: it's db bloat and it increases
the shares count. keep a table keeping track of followed relays and
lazily skip activities by them, just fetch. IMPORTANT relays are only
loaded at startup, so if you subscribe to a new relay restart your
server once it accepts!!!
2024-04-29 21:58:08 +02:00
a6e12468b7
fix: db fix tasks would get stuck on sqlite
i think because the db would end up locked, added brackets to be sure to
drop the streaming reference. also it could crash when updating records
not found, just spit a warn
2024-04-29 21:23:12 +02:00
e4b92584db
chore: imports, renamed future routes 2024-04-29 21:23:02 +02:00
3e0e4ff8d3
fix: also update comments count when fetching 2024-04-29 21:22:48 +02:00
35804730de
fix: temporarily don't set replies
we don't serve those routes yet
2024-04-29 21:02:41 +02:00
3129970fb5
feat: added fix task to recalculate stats
note that won't reset everything to 0, just force set every post which
has a count != 0
also this is kind of a bad way to do it. at least we stream objects, but
we could have it happen all inside our db with SELECT, DISTINCT and SUM,
i just don't know how to represent it in sea_orm. an intermediate
optimization may be selecting only certain columns but it's relevant
almost only for replies
2024-04-29 20:53:19 +02:00
4fe53f7011
fix: increment share and like counters for outbox 2024-04-29 20:40:20 +02:00
5ae9a140b4
feat: show likes and shares and replies in objects
it's done with anonymous inline collections, which hold a "totalItems"
field. for replies it's perfect, for likes it's stretched ("audience",
used as a Collection) and for shares it's really stretched ("generator",
used as a Collection). also using audience and generator as collections
seems weird because they should be objects but collections are objects
so it should be fine? i haven't seen these fields used anyway so it
should be safe to "claim" it for ourselves?
2024-04-29 20:30:29 +02:00
95f9d05875
fix: redirect after fetching if id is different
for example, pleroma servers objects under /notice/abcd... but the
object id itself is different, under /objects/<uuid>. when fetching
pleroma redirects, but we get unreliable behavior. redirect so that we
can force clients to use the proper id
2024-04-29 20:11:19 +02:00
ab91a4c7bc
fix: your inbox contains posts by you 2024-04-26 13:48:57 +02:00
ed0a4fd211
fix: always forget about this... 2024-04-24 05:21:04 +02:00
3156b8d2d2
feat: sensitive field
this is not part of activitystreams afaik and should not be in apub but
it's quite convenient to do it this way sooooooooooo for now will do
2024-04-24 05:19:39 +02:00
abf4e8b370
fix: always embed specific activities 2024-04-24 05:04:30 +02:00
2ba96e802e
fix: show own activities/objects 2024-04-24 04:08:07 +02:00
768081c251
fix: big refactor of timelines querying
should not be more reliable, consistent and all around less buggy, but
it may actually break some things so let's find out
2024-04-24 02:32:23 +02:00
165bf19f8c
feat: don't add next link when done paginating 2024-04-23 23:37:57 +02:00
ba07b2cb9d
fix(apb): correct node order when iterating
use a VecDeque under the hood to be able to pop_front()
2024-04-23 20:58:37 +02:00
4b4d52ef6f
feat: fetch related things
fetching an object will get its author
fetching an activity will get its object and author
2024-04-23 17:56:46 +02:00
597dee934d
fix: try hiding locked activities for public objs
idk if this works but basically when there's a public object from a
private activity, the query joins the activity anyway because it uses
the object relation, try using the addressing relation and see what
comes out
2024-04-23 17:21:32 +02:00