1
0
Fork 0
forked from alemi/upub
Commit graph

25 commits

Author SHA1 Message Date
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