Commit graph

325 commits

Author SHA1 Message Date
d9d7acbe98
fix: refuse proxying valid json documents
this to avoid impersonation. this should usually be a cheap check, as
most media won't be starting with valid json characters, so from_slice()
should just check 1 byte most of the times
2024-07-17 18:08:15 +02:00
d6977d24af
fix: media proxy works for logged out users too 2024-07-16 02:13:40 +02:00
2cbf7aff9f
fix: ap proxy is now on /fetch?uri=...
to avoid nginx proxy conflicts
2024-07-16 02:07:58 +02:00
7ae1d02c02
fix: also cloak object intrinsic image 2024-07-16 01:19:47 +02:00
af5f5e2554
fix: oops not yet stable if let && 2024-07-16 00:52:25 +02:00
b88c13e587
feat: cli taks to cloak actors too 2024-07-16 00:21:32 +02:00
74bfd77dff
fix: cloak also user images 2024-07-16 00:21:16 +02:00
eb6cce2787
fix: cloak also while updating 2024-07-16 00:21:07 +02:00
3d8aca843e
fix: multiple path parameters come as tuples!! 2024-07-16 00:00:41 +02:00
5a5c47ecbc
fix: oops forgot to commit but also no need for tx
in case of failures mid-way, this allows restarting it multiple times
and still succeeding
2024-07-15 23:58:50 +02:00
09362ff7cc
fix: logging in cloak task 2024-07-15 23:55:49 +02:00
b43431cb03
feat: cloak media urls 2024-07-15 23:47:18 +02:00
9d2996dece
fix: oops go back must be generic object 2024-07-15 21:54:40 +02:00
8e9695c1d5
fix: all fields of fields are defaultable 2024-07-15 21:48:26 +02:00
5c384e9b9e
fix: limit actor update modifiable fields 2024-07-15 21:36:17 +02:00
84f1cbd913
fix: skip verified_at if not present 2024-07-15 21:18:30 +02:00
0873ff46f8
fix: its value not content 2024-07-15 21:15:29 +02:00
4ea7c4b0fe
fix: also wrap try_get_from_json 2024-07-15 20:57:48 +02:00
1f4f8cb45c
fix: oops leftover macro crate 2024-07-15 20:22:04 +02:00
fafe5307c5
fix: generic JsonVec that accepts null
not the cleanest solution but should be generic and transparent
2024-07-15 20:20:43 +02:00
88b87c0b20
chore: deps cleanup
core down to 180 crates!! theres probably still a lot to be improved but
eh its a start!
2024-07-15 20:19:27 +02:00
799b958543
fix: oops migration doesnt like default(vec![]) 2024-07-15 14:21:09 +02:00
960f7be291
fix: added new fields to constructors 2024-07-15 14:03:22 +02:00
e0f427a2b9
feat: process and store fields and aliases
basically moved_to, also_known_as and actor attachments
2024-07-15 13:57:03 +02:00
b9b49df009
chore: simplified cloak proxy route 2024-07-15 03:05:27 +02:00
e5748860e7
feat(cli): added cloak command to fix previous urls 2024-07-15 02:57:51 +02:00
1eb5cda033
feat: add cloaker trait 2024-07-15 02:57:32 +02:00
a7004d1603
fix: fetch actor/object handles "pretty url"
it does an extra fetch which is wasteful but it would fetch and then
fail anyway before so i think this is an improvement
2024-07-15 01:54:13 +02:00
3d6c144c55
fix: address with activity/object time, not now
maybe not the best security-wise because remotes can "control" our
timeline order by putting fake dates but gives better results for users
because discovered objects don't appear just below boosts
2024-07-15 01:36:29 +02:00
902aabe36b
feat: process quote_url 2024-07-15 01:32:15 +02:00
83b3db8e75
fix: base app ap id without trailing / 2024-07-15 01:14:31 +02:00
6ff288e936
fix: /#main-key for application 2024-07-10 15:20:23 +02:00
b086fe969f
fix: delivery passes error up 2024-07-06 06:08:58 +02:00
11b4ae8678
chore: renamed PullError in RequestError 2024-07-06 06:08:42 +02:00
9adeff6fbf
feat: added error field to jobs
basically just for manual inspection, maybe we could drop this again
once upub is much more stable?
2024-07-06 06:03:26 +02:00
90f483a0ba
fix: try to resolve mentioned users 2024-07-06 05:55:52 +02:00
0934a84de9
fix: skip lemmy community hashtags 2024-07-06 05:27:35 +02:00
6d9bc1fa5b
fix: dont personalize global timelines
so they can stay cached for everyone, also queries should be faster
2024-07-06 05:08:29 +02:00
692ae7f31d
fix: hashtag query should discard dupes 2024-07-06 04:41:02 +02:00
6f5b494a25
fix: batch load fills multiple identical objects
in case of an announce and a view, we get the attachments only once
otherwise and frontend may overwrite cache with the empty one. this is
wasteful because we clone everytime tho, TODO!
2024-07-06 04:39:14 +02:00
2b4fb3bd62
fix(apb): actually link href is not guaranteed 2024-07-06 04:25:06 +02:00
98f1e5ee06
fix: oops should be an OR not an AND 2024-07-05 04:39:03 +02:00
abb8095685
fix: also set inner actor on filled undos 2024-07-05 04:23:53 +02:00
1b5ae14b99
fix: show your own replies in threads 2024-07-05 03:29:11 +02:00
f36c249803
feat: fill undo ids for user in outbound activities 2024-07-05 03:18:33 +02:00
c14531afc8
fix: delivery also embeds activities in activities
it was supposed to do already but i was just joining on objects, oops
2024-07-05 02:57:41 +02:00
7079662391
fix: add special case for 447 from lemmy.cafe
because its clogging my job queue
2024-07-05 02:43:01 +02:00
9311cf25de
fix: fetch relay usr or else we cant know internal 2024-07-05 00:31:42 +02:00
1c86110ed4
fix: include published column in hashtags feed 2024-07-04 03:26:47 +02:00
2836ec2b37
feat: added hashtags collections routes 2024-07-04 02:59:22 +02:00
9f81116ba3
fix: don't normalize html by default
it breaks remote posts a little and frontend sanitizes again anyway so
might as well store the original stuff they serve us? could be malicious
tho, if FE doesn't sanitize again could lead to stored XSS, maybe
reconsider?
2024-07-04 01:51:15 +02:00
1bd93d7c2b
fix: ughhh faker... 2024-07-03 05:29:52 +02:00
024679a0a9
feat: add dedicated image field to objects
so we don't need anymore to convert lemmy post images to attachments
2024-07-03 05:08:41 +02:00
32929f0909
fix: include audience in outbox
this allows lemmy groups to work in current upub frontend without
changes, and it kind of makes sense as group broadcast everything they
do. however just doing it like this is unsafe: anyone could send me
stuff with audience "my_id" and have it be on my outbox, broadcasted by
me
2024-07-03 04:19:11 +02:00
64ab2c3bb9
feat: add index on audience for faster groups 2024-07-03 03:26:40 +02:00
e707bf7344
feat: allow paginating content by actor audience
basically to browse lemmy communities
2024-07-03 01:58:02 +02:00
45da3a1684
fix: filter_objects() -> filter() 2024-07-02 19:33:00 +02:00
781619a899
chore: removed filter_objects 2024-07-02 01:55:37 +02:00
056be56843
feat: logged in users can see their full outbox 2024-07-02 01:51:58 +02:00
a4df9f2fc0
fix: webfinger accepts full ids
thanks ari for helping me debug this! <3
2024-06-29 19:28:17 +02:00
3fbff70933
fix: temporary extra debug to fix iceshrimp 2024-06-29 16:50:31 +02:00
19ae80f874
feat: add user approval after registration
basically credentials are disabled until approved by admin
2024-06-28 06:06:33 +02:00
1ee7eb1498
feat: add indexes on followers/following fields
will use them for proper address expansion soon™️
2024-06-28 05:11:41 +02:00
37a812f3c6
fix: actor outbox should include viewed posts 2024-06-28 03:03:49 +02:00
54e6b517e2
fix: merge Create addressing
basically bring Addresser out of Normalizer again and address manually
everywhere so that in Create we can join the row. in the future we may
be able to resolve contexts more wisely and thus be able to insert
merged rows for likes and announces too, but for now this should be
quite enough
2024-06-28 02:50:46 +02:00
75fce425ad
fix: consider both to and cc for activities 2024-06-28 01:28:46 +02:00
ddb1ee7319
fix: wrap all bare objects, with getter to skip 2024-06-28 01:27:21 +02:00
bb79ca7728
feat: added notifications collections 2024-06-28 01:06:31 +02:00
727e977c4e
feat: removed object timelines
it's back to original concept babyyyy activities all the way down
2024-06-28 00:12:03 +02:00
3698d1947d
fix: remove addressing ad-hoc cases 2024-06-26 05:30:19 +02:00
9e555e1b32
feat: generate notifications 2024-06-26 05:30:09 +02:00
2a719f14fb
fix!: oops add index on notifications activity 2024-06-26 05:29:42 +02:00
f3f176406e
feat!: store mentions as internal ids
this completely breaks all current mentions (unless you want to cook
some script to join and fix them) but should mean halving the mentions
table size, or close to that. also theres foreign keys so it cascades
automatically, at the cost that now we can't store mention links for users
we don't know yet
2024-06-26 04:37:33 +02:00
9822fc3f07
feat!: remove published from some join tables
it was now() anyway just look object's published, this saves some space
but i won't bother making a migration :p
2024-06-26 04:27:16 +02:00
5a4671f20d
feat: add notifications table and model 2024-06-26 03:54:15 +02:00
4e9f6ea419
fix: "smart" join direction on related query
not really smart because if both are some it arbitrarily returns "to"
actor but ehhhh i mean if you have both "from" and "to" you're probably
just checking that it exists so who cares which comes back
2024-06-25 05:58:16 +02:00
ae4950b2e7
feat: implemented relay unfollow/remove, fixes 2024-06-25 05:25:57 +02:00
e6b40f0239
fix: oops doesnt work that way :( 2024-06-25 05:14:59 +02:00
804a2fba29
fix: im an idiot ................................. 2024-06-25 04:46:46 +02:00
a5c28c83c7
fix: oops dont leak private posts on local tl
this too should get filtered depending on auth
2024-06-25 04:38:08 +02:00
9fce61ea78
feat: reworked relay cli command
still misses remove and unfollow but ehh whatevsss
2024-06-25 04:20:10 +02:00
54b619dffc
fix: related query also brings up relation
as a treat
2024-06-25 04:19:53 +02:00
fde3372bcc
feat: anyquery uses count for faster checks 2024-06-25 04:05:23 +02:00
934d8ca8ef
chore: rewritten relation-related queries 2024-06-25 03:50:05 +02:00
9cf461c7c4
chore: split down selector 2024-06-25 03:30:16 +02:00
9a9cb567f9
fix: insert more activities otherwise no notifs 2024-06-25 02:14:33 +02:00
21343436e8
feat: super simple thread fixer task
probably a bit stupid to do it like this? but whatever eventually should
fix everything just run it a lot lmao
2024-06-25 01:27:07 +02:00
4bf5835001
fix: ad-hoc activity normalization
ihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethis
ihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethis
ihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethis
ihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethis
ihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethis
ihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethis
ihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethis
ihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethis
ihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethis
ihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethis
ihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethis
ihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethis
ihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethis
ihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethis
ihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethis
ihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethis
ihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethisihatethis
2024-06-24 17:55:34 +02:00
38e45c11d4
fix: dont overwrite context when updating 2024-06-24 03:19:30 +02:00
ab1ca489be
fix: insert undo activities or nuke doesnt work
.............
2024-06-24 03:02:13 +02:00
19a6ca2fcb
fix: omg it wants embedded undos fix nuke for real 2024-06-24 02:43:15 +02:00
206bc4d0db
fix: nuke task but for real i swear 2024-06-24 02:38:12 +02:00
48a8ff9fef
fix: oops nuke must put jobs with activity id 2024-06-24 02:29:45 +02:00
8df27847ce
fix: insert activities
this isnt enough but its something
2024-06-24 02:17:42 +02:00
f1287b1639
feat: cases for dropping jobs 2024-06-23 23:40:23 +02:00
5302e4ad46
feat: add dislikes table, process them
not displayed anywhere yet tho
2024-06-23 17:27:49 +02:00
fc744e7604
fix: set updated in outgoing notes 2024-06-23 17:06:48 +02:00
4a3a2e2647
fix!: attachment url no longer unique, add an index 2024-06-23 16:56:34 +02:00
89f5b200a8
feat: added hmac validated proxy route 2024-06-23 03:55:03 +02:00
669240b87f
fix: show updated only if different from published 2024-06-22 06:13:15 +02:00
e6e13e95da
docs: added notes on improving addressing expansion 2024-06-22 05:41:37 +02:00
16a10112a8
fix: cascade obj/activity deletions in addressing
otherwise its impossible to delete objects because foreign key relation
is violated!
2024-06-22 05:17:03 +02:00
b3184e7ae2
fix: iter after flat and unpack node
flat iter gives us only objects, but we want links...
2024-06-22 05:08:05 +02:00
8890538c69
chore: stubbed hashtags routes 2024-06-22 04:34:34 +02:00
ee12ef37ad
chore: better comments, unreachable!() 2024-06-22 04:34:22 +02:00
62628ea076
fix: for batch loading use object id 2024-06-22 04:34:00 +02:00
399022ef86
fix: ughhhhh 2024-06-22 03:51:01 +02:00
b80eb03373
feat: process, store and fill obj hashtags/mentions 2024-06-22 03:40:17 +02:00
e7e1a926c1
fix: dont overwrite private key 2024-06-21 05:44:42 +02:00
3734c5f1c2
feat: implemented post deleting, fix addressing 2024-06-21 05:44:10 +02:00
f466016c01
feat: nuke cli task
not awesome but eh acceptable i think
2024-06-21 02:32:31 +02:00
3d504e5059
fix: try both 2.0.json and 2.0 for nodeinfo 2024-06-19 17:58:16 +02:00
6efd121080
fix: show why http sign failed fetching in dbg 2024-06-15 02:13:52 +02:00
a80819685a
feat: allow specifying worker threads 2024-06-14 15:51:55 +02:00
6fed451513
fix: updates should now work! 2024-06-14 02:10:00 +02:00
e1f1548e7e
fix: use .udpate method, internal unchanged 2024-06-13 17:20:50 +02:00
37fa1df9ab
fix: update task should have unchanged not set 2024-06-13 17:10:43 +02:00
3db892f038
fix: cheap way to make public activities public 2024-06-12 06:07:34 +02:00
40392aef56
feat: add streams and move feed to its own field 2024-06-11 05:51:12 +02:00
105b829e32
fix: can only update self 2024-06-10 06:44:26 +02:00
2d08511e05
fix: maybe must be unchanged? 2024-06-10 06:34:13 +02:00
116d5f3f8c
fix: outbox show announces basically 2024-06-10 04:57:40 +02:00
9967870ca2
fix: show only accepted follows 2024-06-10 04:46:43 +02:00
caf990f291
fix: join with actors and select id 2024-06-10 04:24:51 +02:00
bc747af055
feat: graceful shutdown to not lose tasks 2024-06-10 04:13:15 +02:00
ec910693d9
fix: oops didnt actually fix the comparison 2024-06-10 04:07:58 +02:00
3781d38f95
fix: dont over-decrement on follow undo 2024-06-10 03:36:29 +02:00
94c8900dcb
fix: oops uid not oid
honestly these fn names looked cool but were probably a bad choice
2024-06-10 03:22:25 +02:00
3f52b4d566
feat: show if user manually approves follows 2024-06-10 01:43:39 +02:00
03603a396d
fix: following/followers collections 2024-06-10 00:50:39 +02:00
89c6a923dc
fix: accept update modifies non null column 2024-06-09 19:46:51 +02:00
129724d30e
feat: add instance id in relations
this is needed to provide instance-scoped relations
2024-06-09 19:46:27 +02:00
2542c98fe4
fix: ughh bug came back? 2024-06-08 18:58:58 +02:00
6e4f492069
fix: better default configs 2024-06-08 17:32:22 +02:00
743080395b
fix: new follows update the relation, fix counters 2024-06-08 17:22:12 +02:00
fb0242221b
fix!: oops actually use jsonb here too
sorry last breaking db change i swear (<---lie)
2024-06-08 16:58:16 +02:00
e7b25bfe1d
fix: distinct doesnt work because published...
it differs by few microseconds but it still differs so duplicates
2024-06-08 16:34:40 +02:00
f664cb1cbe
fix: fill addressing for outbound note activities 2024-06-08 15:55:07 +02:00
a8257deeeb
fix: fill attachments in RichObject too 2024-06-08 15:19:46 +02:00
a35ff4832f
fix!: OOOOOPPSSSS use jsonb 2024-06-08 06:25:55 +02:00
1fd31bc7be
fix: maybe fix for postgres distinct
maybe adding internal to order will make it respect the distinct constraint?
2024-06-08 06:03:36 +02:00
972ef97721
fix: addressing of local objects 2024-06-08 05:45:41 +02:00
453fb2a031
fix: replies collection shows all replies
still keep paginated view, to get embedded objects rather than ids
2024-06-08 05:06:33 +02:00
9e5740d6e4
fix: oops keep mixing up activity and object... 2024-06-08 04:54:48 +02:00
1852f78a2f
fix: use distinct_on because of postgres
it complains otherwise, im using this just to make it shut uppp
2024-06-08 04:50:34 +02:00
13f23d147a
fix: also need to group by addressing? 2024-06-08 04:13:57 +02:00
216c08c623
fix: do i need to group by more? 2024-06-08 04:05:01 +02:00
2d6ab97820
fix: try to remove duplicates with group-by 2024-06-08 03:57:47 +02:00
aa953a71f8
fix: oops user feed should select objects 2024-06-08 03:53:22 +02:00
cc45de7e6d
fix: don't remove object id when missing embed 2024-06-08 03:04:32 +02:00