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
3a0ca6af86
feat: control how many statuses to insert
2024-03-26 00:53:07 +01:00
4a99a3dc40
chore: small improvements and fixed some warns
2024-03-26 00:49:07 +01:00
6d078f7068
feat: show pub key and created time for app actor
2024-03-26 00:48:37 +01:00
88808f020c
feat: storage for application keys
2024-03-25 21:18:27 +01:00
5d7ce0e3c4
feat: simple delivery system + http signatures
2024-03-25 05:07:58 +01:00
6be486ca3d
fix: add also server column for server addressing
2024-03-25 02:26:47 +01:00
41899556bf
fix: session id is session
2024-03-25 01:58:06 +01:00
e02a48d9da
fix: wrong id type for addressing model
2024-03-24 05:55:50 +01:00
28ba5f1b40
feat: add global inbox get, which respects privacy
2024-03-24 04:58:49 +01:00
2ac7fa0588
chore: split inbox/outbox, added forgotten mods
2024-03-24 04:05:09 +01:00
65032ef606
fix: faker followers/following counts
2024-03-24 04:04:48 +01: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
7251a3e92c
feat: added sessions with credentials
2024-03-24 04:03:22 +01:00