2ac0ca8a38
feat(apb): quote url
2024-05-20 08:58:38 +02:00
4a17c12b58
fix(uriproxy): use URL_SAFE base64 alphabet
2024-05-20 07:04:29 +02:00
af3a3fbbb8
feat: way smarter way to represent remote ids
...
base64 em basically. big commit because touches basically everything!!
2024-05-20 06:29:44 +02:00
27073138ae
feat: proxy url
...
should be properly activitypub compliant
2024-05-20 05:18:27 +02:00
b3df8efa29
chore: clippy
2024-05-20 05:18:09 +02:00
b910e346ea
chore: centralized way to process and insert objects
...
it shouldn't break anything, also names are kind of weird (normalizer?
insert??) but ill think about it later, after ive done the same for
activities and users
2024-05-20 02:55:30 +02:00
9d59c73c59
chore: stuff i forgot to commit ooops
2024-05-20 01:57:22 +02:00
39f6ff24b3
fix: show in UA requests coming from devtools
2024-05-20 01:45:26 +02:00
d3b141c9b5
feat: option to allow public debug fetches
2024-05-20 01:42:30 +02:00
9105f73921
fix: dont trust activities' object ids, fetch them
...
implies that its no longer possible to like/announce/accept anything
that the server isnt aware of yet, which i think is fair
thanks sn0w good catch <3
2024-05-20 01:08:24 +02:00
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