-
-
Notifications
You must be signed in to change notification settings - Fork 119
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create a Conversations section #354
base: main
Are you sure you want to change the base?
Conversation
Is it possible for you to deploy this on your GitHub Pages (or any static site hosts) so that I can try it out? Should work with a subfolder path. |
e0a9e61
to
ea9fd9e
Compare
Here you go ! https://rakoo.github.io/phanpy/ (I added the github actions in the repo) |
Ok this is embarrassing on my part; the subfolder hosting isn't working after auth-ed for some reason, so that's another bug 🫣 Will look into this. |
Ah shoot, too bad, that's interesting because it worked for me on Pleroma 😄 |
Added f213a8e fix, so maybe you can pull and redeploy, thanks 🙇♂️ |
Updated ! |
Just want to add that this is only true for bad providers like Google. Stuff like Proton is E2EE so admins can't read the content of the email. |
Hey there,
Thanks a lot for your application, it's really wonderful ! I'm loving the ideas you put forward, and the result is just so gorgeous :)
One of the domains I want to see the Fediverse grow is Conversations, aka person-to-person messages because it can help make any Fediverse tool a more generic tool for doing stuff together.
The situation
There are some ways to put private Conversations forth here and there, all of them a little bit incompatible with each other:
It's all a mess, because it looks like each software wants to be compatible with itself first and others after.
How it's done here
I took a different approach here: I assume all software speak the Mastodon API (which is far from perfect but is becoming a de facto standard) and do the filtering and triaging from there. Here's the flow:
<Timeline>
component to automagically thread and display all of that, it's just fantastic.Here's a quick preview of what the list of conversations looks like:
![Screenshot Phanpy Conversations](https://private-user-images.githubusercontent.com/501707/289382983-e534fdf4-5e18-4ea1-a983-95d5c0ea8447.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzUzMjgzMTQsIm5iZiI6MTczNTMyODAxNCwicGF0aCI6Ii81MDE3MDcvMjg5MzgyOTgzLWU1MzRmZGY0LTVlMTgtNGVhMS1hOTgzLTk1ZDVjMGVhODQ0Ny5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQxMjI3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MTIyN1QxOTMzMzRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1kOWEyYzgzYWY4YzJjZmY4ZDFmMGIxZmE0NmQ2NjdjZThmOTNlMDhmMzEyMzViYzIyYTQzMGZiOTI5YzY2NzgyJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.lywW9fMbLAXZO8Ff6Vt4kPdUuczHNQ-vAk6G3HrhK1k)
Here's a quick preview of what a specific conversation looks like:
![Screenshot Phanpy Conversation](https://private-user-images.githubusercontent.com/501707/289383017-2e3a02c4-9e63-4d31-b997-006263b998ee.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzUzMjgzMTQsIm5iZiI6MTczNTMyODAxNCwicGF0aCI6Ii81MDE3MDcvMjg5MzgzMDE3LTJlM2EwMmM0LTllNjMtNGQzMS1iOTk3LTAwNjI2M2I5OThlZS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQxMjI3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MTIyN1QxOTMzMzRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1lYjRlZTk2ZTI4NjI2YzNkNTRlYWMxYTYxNTkzMDU4ZjAxNjQxZjJmMWRhNGZmZjI3OGVkMzY1ZDIwYjg1MGU3JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.y4FVrZFRT1tiIaJQUX1FgWheeO52ATtTC_nCHhYXwyM)
Now there are many questions, from most important to least important:
Is this actually needed ?
This PR is mostly to start a conversation (ha!) about the topic (you can tell by the low code quality, it's mostly a poc), and the functionality might not be needed, but I feel like it is interesting still. There is a "mentions" view with a "private" tab, but a) you only see the mentions for each message, not the full context unless you click and b) you can't quickly go to a specific contact.
Right now the flow to reply to a thread is the same as usual, click on one, that opens the side bar, then click on reply. To create a new thread in this "context" of conversations, however, you need to manually mention the people and change visibility; it would be really helpful to have it all prefilled when opening the compose modal. Taking a step back, that means having a compose modal that depends on the page that is currently displayed, and I think it can make sense: if you're listing a hashtag and open compose, prefill with the hashtag. If you're on the page of an account and click on compose, prefill with a mention (there's already a "mention " button, but doing it with compose is more generic).
If it's not needed because that's not the direction you want to go in, feel free to close and I'll do my thing on my side :)
Security ?
All messages are readable by admins, in essence what we have here is exactly the same as email. Which means the same tools can be built on top with the same caveats.
Should non-private messages be displayed ?
In the current state all messages in a thread are displayed, including non-private ones. I haven't decided yet if they should be displayed in this view or not, because there are reasonable arguments on both sides.
Name ?
I like
conversations
more thanchat
because it conveys the idea that it's encapsulated in a context, and even with the same people you might have multiple conversations.