Commit graph

990 commits

Author SHA1 Message Date
84a446b494
fix: answer deletions with 200 2024-05-01 18:43:43 +02:00
bb4f6e9df0
fix: show follow/by for remote users too
this is super ugly because there's a ton of duplication but let's see if
it works first...
2024-05-01 18:37:26 +02:00
693687dce2
feat(web): show follow button when not following 2024-05-01 18:24:32 +02:00
62b426acc1
feat(web): combine token and username in auth ctx 2024-05-01 18:24:27 +02:00
4527ff884e
feat: show in user queries if follow/by self 2024-05-01 17:47:37 +02:00
75d03195d9
feat: allow checking if identity is someone 2024-05-01 17:47:21 +02:00
71c3c54859
feat(apb): allow editing inner nodes
actually only if it implements Clone but whatever good enough for now
2024-05-01 17:46:54 +02:00
7439b815be
docs: added matrix room link, updated progress 2024-05-01 17:04:32 +02:00
d1760f2637
fix(web): buttons are not reactive until logged in 2024-05-01 16:55:02 +02:00
c059f664ac
fix(web): CWs are always closed
should do a frontend config option eventually, rather than using
`sensitive` to decide
2024-05-01 16:46:51 +02:00
a3d649d17b
chore(web): more wildcard imports for components 2024-05-01 16:46:36 +02:00
f483ea14b4
feat(web): added reply button
not the best way to do it but it works!
2024-05-01 16:46:19 +02:00
102414e1a3
chore(web): separated ActorStrip component 2024-05-01 16:45:27 +02:00
9fe3cb3bda
feat(web): use reference counting rather than clones
before, cache would clone the underlying object every time it was
accessed. this was definitely incredibly wasteful! now it clones the
Arc, which is super cheap. the extra work necessary while fetching
things is most likely more than compensated by saved clones every time
we render stuff. there is some dumb arc creation here and there (like
for the debug page), but it's mostly my lazyness, they can probably go
and should not be that much of a big deal anyway.
TLDR things were already fast but should be EVEN FASTER!!!
2024-05-01 16:06:46 +02:00
e8b36cecdf
chore: should move this later 2024-04-30 16:51:30 +02:00
f2dc3f69f2
chore: refactor, moved cli tasks under directory 2024-04-30 16:48:28 +02:00
b0ebeb9fff
fix: mastodont sized 2024-04-30 16:48:00 +02:00
6f033de946
fix: try fetching following/followers, dont fail 2024-04-30 16:47:34 +02:00
938d219d7d
fix: whoops other way around 2024-04-30 15:33:41 +02:00
85d0a9e69d
fix(web): smooth scroll to top 2024-04-30 15:26:27 +02:00
ae4987a3c8
chore: bump version, add lockfile 2024-04-30 14:23:30 +02:00
a6c3ef9a3e
feat: increment statuses count
be it when posting, receiving a Create or fetching an object, increment
relevant user statuses count
2024-04-30 14:22:44 +02:00
a966f7fcb5
fix: fetch remote users following/followers count 2024-04-30 14:17:29 +02:00
6b44f9b084
fix(web): followers/following/statuses counts 2024-04-30 04:31:17 +02:00
be1c379477
feat(web): repost button, fixed like button to/cc 2024-04-30 04:29:14 +02:00
0bfa49fed6
chore: imports 2024-04-30 04:29:03 +02:00
3237a38d74
fix: insert liked element also in single obj view 2024-04-30 02:57:50 +02:00
2c302b4fbf
feat(web): like button (without undo) 2024-04-30 02:09:23 +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
63ba54dad9
fix: activity redirects when fetching different id 2024-04-30 01:49:05 +02:00
3df01b5b0a
chore: helper to reconstruct ids 2024-04-30 01:48:30 +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
5bdf139ef5
chore: imports 2024-04-29 22:02:18 +02:00
394c7a487b
fix(web): centered CW text 2024-04-29 22:01:49 +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
a6e12468b7
fix: db fix tasks would get stuck on sqlite
i think because the db would end up locked, added brackets to be sure to
drop the streaming reference. also it could crash when updating records
not found, just spit a warn
2024-04-29 21:23:12 +02:00
e4b92584db
chore: imports, renamed future routes 2024-04-29 21:23:02 +02:00
3e0e4ff8d3
fix: also update comments count when fetching 2024-04-29 21:22:48 +02:00
35804730de
fix: temporarily don't set replies
we don't serve those routes yet
2024-04-29 21:02:41 +02:00
ee6120190d
feat(web): show replies/likes/shares counters
soon to be buttons!
2024-04-29 21:02:13 +02:00
3129970fb5
feat: added fix task to recalculate stats
note that won't reset everything to 0, just force set every post which
has a count != 0
also this is kind of a bad way to do it. at least we stream objects, but
we could have it happen all inside our db with SELECT, DISTINCT and SUM,
i just don't know how to represent it in sea_orm. an intermediate
optimization may be selecting only certain columns but it's relevant
almost only for replies
2024-04-29 20:53:19 +02:00
4fe53f7011
fix: increment share and like counters for outbox 2024-04-29 20:40:20 +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
95f9d05875
fix: redirect after fetching if id is different
for example, pleroma servers objects under /notice/abcd... but the
object id itself is different, under /objects/<uuid>. when fetching
pleroma redirects, but we get unreliable behavior. redirect so that we
can force clients to use the proper id
2024-04-29 20:11:19 +02:00
a3cf7a17e8
feat(apb): allow upcasting from object
basically now object.as_actor() or object.as_collection() returns an
option which is full with a self ref only if the type is correct, so
that we can assume flexible json behavior from anything implementing our
apb traits, and we don't need to rely anymore on knowing the underlying
type
also little import refactor
2024-04-29 20:01:39 +02:00
f6ba30a43f
feat(web): show when tl is loading, disable btn 2024-04-29 03:26:45 +02:00
a664a0372f
fix(web): video max sizing, cursor 2024-04-29 02:42:59 +02:00