2ca4bfedc4
fix!: eh make it a string
...
it breaks object.ap() which is used a lot deep, i dont want to have to
deal with that now tbh
2024-05-29 04:33:19 +02:00
b89bb87c19
feat!: add instance internal id on objects table
2024-05-29 03:44:20 +02:00
3c3e98a4f4
chore: initial work converting outbox logic
2024-05-26 18:42:22 +02:00
b09cfd0526
chore: updated models and some server components
2024-05-25 05:31:10 +02:00
94ec7d0d37
chore: better id, mix strings and numbers in joins
...
"hot" joins will use internal ids (relations, like/share, addressing)
while "slow" relations will use full ap ids (attributed to, context,
user configs)
2024-05-25 04:37:17 +02:00
12c5a6f3a5
feat: updated entities
...
i think it's all of them? constructors are still weird
2024-05-24 05:05:14 +02:00
af994da294
fix: duplicate context to conversation properly
2024-05-24 00:26:22 +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
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
f0cdd4bd7a
feat: like and share relations with object
2024-04-30 00:53:57 +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
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
c595f5f5e3
feat: process and store remote attachment urls
2024-04-21 22:58:33 +02:00
f3dcbffeca
feat: parse object comments count from replies
2024-04-20 04:26:31 +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
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
0d1250fd6f
feat: add addressing table
...
this should allow to build timelines and check access permissions
quickly. my only concern is keeping thousands, if not even millions, of
rows always with full strings. future optimizations may look into an
intermediary table to map ids to integers and optimize this table's
storage
2024-03-24 04:03:44 +01:00
72c2cd5f81
chore: cleaned up all model modules
2024-03-23 06:32:15 +01:00
4fd8ad2c2c
fix: sqlite can't handle u64
2024-03-22 06:35:50 +01:00
9f1e6da4b9
feat: add likes and shares, process likes
...
also redid migrations because its easier and also its just me using this
cursed thing and i can just delete the db and migrations look nicer this
way
2024-03-22 05:34:08 +01:00
efb1f506c3
fix: add cc/to , clear bcc/bto in object too
2024-03-21 20:40:07 +01:00
8ad5738579
feat: add audiences to objects too
2024-03-21 20:36:46 +01:00
017f508907
feat: add context to objects
2024-03-21 19:25:37 +01:00
c4f677097b
fix: make @context addition explicit
...
also moved things around: object() is now into LD trait
2024-03-21 19:15:19 +01:00
30637f93ee
feat: extended database entities
2024-03-21 01:09:33 +01:00
680c61ff9a
feat: mut traits, getter/setters for base+object
2024-03-20 05:44:10 +01:00
3a53c6a2ed
feat: added back ToJson trait for db entities
2024-03-19 06:49:21 +01:00
7d69f8148c
chore: refactored type enums
2024-03-19 01:00:44 +01:00
0adeb667c4
feat: add constructors for entities
2024-03-16 20:09:06 +01:00
85c9b363f6
feat: db model for activity and object + routes
2024-03-16 05:45:58 +01:00
7876b95de5
feat: recreated models, now with sea_orm
...
old ones from mastodon's blog weren't that useful since all
objects/activities are traits in the end
2024-03-16 03:27:36 +01:00
c69027638f
feat: add simple models
...
actor, webfinger, activity, object
thanks gargron
https://blog.joinmastodon.org/2018/06/how-to-implement-a-basic-activitypub-server/
2023-12-30 05:08:05 +01:00