freamon

joined 3 days ago
[–] freamon@community.nodebb.org 1 points 45 minutes ago

Looks like I was wrong before: whilst it's true that Lemmy isn't always great at sending an 'Accept' back, that's not the issue here. I was thinking about it from the perspective of a Person following a Group, not a Group following a Group.

It'll be interesting to see how the Lemmy devs respond. It's not really relevant for PieFed, because I'm not sure that there's communities there that have enough activity to warrant syncing to a category, but I thought about what would happen if you tried, and it would fail. The follower would be checked to see if they are a Person, and the request would go no further if not (there's no handy error returned, though).

I'm not sure it would be possible to enable, with the way the database is currently set up. We have a 'community_member' table, that looks like:

pyfedi=# \d community_member
                         Table "public.community_member"
      Column      |            Type             | Collation | Nullable | Default
------------------+-----------------------------+-----------+----------+---------
 user_id          | integer                     |           | not null |
 community_id     | integer                     |           | not null |
 is_moderator     | boolean                     |           |          |
 is_owner         | boolean                     |           |          |
 is_banned        | boolean                     |           |          |
 notify_new_posts | boolean                     |           |          |
 created_at       | timestamp without time zone |           |          |
Indexes:
    "community_member_pkey" PRIMARY KEY, btree (user_id, community_id)
    "ix_community_member_is_banned" btree (is_banned)
Foreign-key constraints:
    "community_member_community_id_fkey" FOREIGN KEY (community_id) REFERENCES community(id)
    "community_member_user_id_fkey" FOREIGN KEY (user_id) REFERENCES "user"(id)

So if the 'user_id' was actually a Group instead of a Person, then it would have a join to the wrong table.

Yeah, as mentioned - Lemmy is often quite bad at sending the 'Accept' back for a Follow. It's particularly the case if the instance hasn't heard of you before, because in the process of fetching your user and instance details, it 'forgets' about the Accept. Within Lemmy, everyone's sort of got into the habit of 'Subscribe / Unsubscribe / Subscribe'. (where the first 'subscribe' lets them get your details, and the second one actually gets an 'Accept' back.)

PieFed is more reliable at sending 'Accept' back, so it's maybe useful to check your logic from this end with a community from there, e.g. https://piefed.social/c/antisocialmedia

[–] freamon@community.nodebb.org 4 points 1 day ago (1 children)

@ericjmorey@discuss.online OP answered here: https://feddit.org/comment/4286281 (the lack of mobile apps, was the answer)

[–] freamon@community.nodebb.org 3 points 2 days ago* (last edited 2 days ago) (1 children)

Oh, yeah. It's still ongoing. You can track the progress at https://codeberg.org/rimu/pyfedi/src/branch/main/app/api/alpha/routes.py if you like. At the bottom of that page, things with a 'Stage 1' are what's left to do.

The remaining stuff is mostly to do with chat / notifications. Once done, a basic app could be released, and then improved to include stuff that's missing (things like uploading an image to post or a comment, and viewing reports)

EDIT: sorry, this was meant to be a reply to another comment. Still getting the hang of NodeBB. Now will this edit work ...

[–] freamon@community.nodebb.org 5 points 2 days ago (2 children)

@blaze@feddit.org Thunder is written using Flutter / Dart - meaning that it's cross-platform. I've compiled the version for PieFed for windows, linux and macos, so as long as I'm able to get it working for Android, it should also work for iOS. I'll need to be someone else who does though, 'cos my mac is too old, and I don't have an iphone.

Bonus screenshot: