Commit graph

98 commits

Author SHA1 Message Date
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
488cac9703
fix: accept link attachments
kind of hacky way but should work
2024-05-08 02:26:18 +02:00
ee8ab38570
fix: add updated field on objects and set it 2024-05-02 15:15:16 +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
f2dc3f69f2
chore: refactor, moved cli tasks under directory 2024-04-30 16:48:28 +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
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
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
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
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
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
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
f2f7b51fdc
feat: order by publish date, not discovery
also centralized ordering inside select_* queries
2024-04-22 02:49:04 +02:00
cc287d3aa4
feat: show attachments in inbox, outbox and /object
attachments are lazy loaded, so it may be efficient if not all posts
have media, but it should probably be eager loaded anyway eventually
2024-04-21 23:22:55 +02:00
c595f5f5e3
feat: process and store remote attachment urls 2024-04-21 22:58:33 +02:00
cd9d3f9db4
fix: use preferred_username before using url 2024-04-21 21:15:58 +02:00
645e14cc32
fix: ops wrong relation direction 2024-04-21 16:39:56 +02:00
379b4daa84
fix: don't create mock activities
basically remade addressing table so that activity too can be null
2024-04-21 15:41:29 +02:00
f3dcbffeca
feat: parse object comments count from replies 2024-04-20 04:26:31 +02:00
789fae1eae
fix: oops revert! breaks querying
probably im doing it wrong somewhere else but nonetheless fuck go back
2024-04-19 06:21:26 +02:00
4883597ee3
fix: don't rename columns while joining 2024-04-19 05:02:59 +02:00
ab5d0cb61a
fix: replies only in object view, page uris 2024-04-19 04:42:43 +02:00
973a3060ac
feat: show replies collection inline with object 2024-04-19 04:04:19 +02:00
dfe116506a
chore: refactor
moved into models converters to ap objects, single conditions are now
direct column checks
2024-04-19 03:28:39 +02:00
a897edd310
feat: add statuses count and in_reply_to fields
migration + models update
2024-04-18 04:09:13 +02:00
8aa80c7670
fix: faker inserts addressing too 2024-04-17 22:08:41 +02:00
d5a83a5c7c
fix: attempt to select only one addressing 2024-04-15 22:10:49 +02:00
b11da7f3c0
fix: oops i mixed up some fields 2024-04-14 03:48:37 +02:00
a735e16f73
fix: image and icon live under url 2024-04-14 03:39:52 +02:00
f29d3baeb9
fix: name is nullable, preferredUsername is not 2024-04-13 16:43:19 +02:00
d3d5f98dfd
feat: authorized fetch on activities and objects 2024-04-12 22:21:23 +02:00
4e34446894
fix: oops must be generic impl 2024-04-12 21:55:19 +02:00
5de807b3d9
fix: don't clear audiences
still quite jank way to do it but at least should work again?
2024-04-12 21:42:06 +02:00
0d340185cf
feat: improved addressing select 2024-04-12 19:35:26 +02:00
86e84d88aa
chore: updated apb things, restructured a bit 2024-04-11 00:29:32 +02:00
bb26ff763d
chore: restructured completely
kinda MVC:
Model -> model
View -> routes
Controller -> server
2024-04-09 01:14:48 +02:00
24d547e93a
feat: subdivide into features 2024-04-06 18:03:13 +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
e9dc33a39d
fix: typo 2024-03-26 23:55:57 +01:00
6097493932
chore: faker creates test user, not root 2024-03-26 23:53:30 +01:00
4afb0ae946
fix: generate keys on the fly 2024-03-26 04:20:35 +01:00
794548d14a
fix: duhhh 2024-03-26 01:19:34 +01:00
6a050c0bb4
fix: actually fixed it 2024-03-26 00:58:01 +01:00