earthstar-project / earthstar-lobby Goto Github PK
View Code? Open in Web Editor NEWHome Page: https://earthstar-lobby.vercel.app
Home Page: https://earthstar-lobby.vercel.app
If you delete a workspace, its data goes away but the name persists in the dashboard view.
Looking in localStorage, it gets removed from pubs
but not from workspaces
.
Ideas to make common tasks easier
Hovering over the workspace name could show the full address as a tooltip (using HTML title attribute), both on the dashboard view and the workspace view. I happened to make two workspaces with the same prefix and it was hard to tell them apart
There are some workspace actions that can only be done from the dashboard (copy address, pubs) that would be nice to have in the workspace view also
The sync button could be always visible since it's such a common action
To reproduce
""
. It immediately vanishes.Trying to trace what happens when you delete a message:
➟ Delete button calls set("")
https://github.com/sgwilym/earthstar-lobby/blob/9bc81246757a20ac8ed57c8c89968dee6069796c/src/Message.tsx#L89
➟ set
is defined here
https://github.com/sgwilym/earthstar-lobby/blob/9bc81246757a20ac8ed57c8c89968dee6069796c/src/Message.tsx#L40-L63
➟ ? relay and graphql happens
➟ The graphql pub at https://earthstar-graphql-pub.glitch.me/ still contains the original document from before it was zeroed out
So people can write multi-line messages.
Maybe like this?
.message-with-linebreaks {
white-space: break-spaces;
overflow-wrap: break-word;
hyphens: auto;
}
This changes the way people will use the space and encourages longer messages with several paragraphs. I personally like spaces with longer messages but how does this mesh with your idea of what "lobby" is?
Or if we want Lobby to be one-liners only, maybe the text input could change to prevent multi-line input so we don't make people think they can use newlines.
The display-name paths need a tilde like /about/~${author.address}/name
. The tilde means only that author can write to that path (spec), otherwise anyone can write there.
While we're changing this, can we also change the path from name
to displayName.txt
?
Writing happens here in lobby:
https://github.com/sgwilym/earthstar-lobby/blob/c747c35205d34c924ed733e327de2fe771808b6a/src/AuthorStatusBit.tsx#L152-L155
Reading seems to happen in graphql
https://github.com/earthstar-project/earthstar-graphql/blob/245eb7d96b2014c60e995a0794977fadf999c5a5/src/util.ts#L119-L121
I don't care much about preserving the old names since we have so few users.
If we care, there's 2 approaches
Both ways leave the security hole open (anyone can write to the old style paths) so they should only be deployed for a limited time, or not done at all.
I made a thread over in earthstar-foyer
to discuss the details of lobby messages
Woo display names! 🎉
Cinnamon
@cinn.ba0830fha...
Hello world
BTW you can ignore the Earthstar spec which says display names go in a JSON document at /about/@suzy.bxxxxx/profile.json
along with some other profile info. I'm thinking about breaking this back up into separate documents for each property, like you're doing (.../name
).
It could be nice to sort posts by their original date instead of last-edited, so they stay in the same place when you edit them.
The original timestamp is in the path. If the timestamp came first, like /lobby/158105938/[email protected]
, you could just sort them by path.
Uploading an author keypair as a JSON file is cool, I hadn't thought of that!
It would be nice to also have a pair of traditional "username" / "password" inputs for entering the same information, in case someone is keeping it in their password manager.
(Earthstar calls these "author address" and "author secret" but I think apps can just say "username" and "password" since people are familiar with that metaphor already.)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.