Comments (4)
We have a responsibility to let users know this is only cosmetic; their old message will still be available in the feed. Otherwise they might think that e.g. editing away personal information will be effective.
But overall I'm excited to try this! I have a lot of questions but that doesn't mean I'm opposed:
This would be the first client using the edit plugin? https://github.com/fraction/ssb-edit/network/dependents
Is there a spec for these edit
messages? The ssb-edit
code looks like a view for indexing them but doesn't describe the format for publishing them, and the expected semantics around them. Has this format been discussed w/ the community?
What types of messages can be edited?
Can anyone edit a message or is it limited to the original author?
I think the index uses the last edit message in the order provided by flume. If using ssb-ooo
, could the messages be out of order so that the wrong one is chosen?
It looks like editing is done by publishing a type: edit
message which is expected to supersede the original. Those messages will be invisible in most clients. Could it be more backwards-compatible to publish the edits as regular message types, with an additional key like replaces: "%abc... "
, so that they will visible in older clients (graceful degradation style).
Some other message types are already editable e.g. the last one is considered to supersede the previous ones (about
, gathering
, contact
). Do they have a uniform format for referring back to the thing they're replacing?
(sorry for the wall of questions, this feels like an ecosystem-level decision to make with care)
from oasis.
How about a delayed post plugin? Make it all client-side. One implementation could post to your local feed, but filter that message in gossips until post time + (1 hour? 15 minutes?). If a post is edited, roll back, recalculate hashes, and re-add to feed.
from oasis.
How about a delayed post plugin?
We could safe it as a pending draft, but once you introduce a message to the flumedb views you can't remove it without rebuilding all of your indexes. What do you think about having the ability to edit?
from oasis.
How about a delayed post plugin? Make it all client-side. One implementation could post to your local feed, but filter that message in gossips until post time + (1 hour? 15 minutes?). If a post is edited, roll back, recalculate hashes, and re-add to feed.
If the user posts and then turns off their computer, their message won't get published. This could be ok if the delay is very short (10 seconds?) and there's clear communication about this in the UI.
from oasis.
Related Issues (20)
- Blob metadata in messages
- core dump due to too much memory? HOT 7
- Getting Error: listen EINVAL: invalid argument ::1:8989 on OpenBSD HOT 4
- Refactoring code base for easier maintaining
- Crashes on loading certain images HOT 1
- Oasis shows replies and comments from blocked people HOT 4
- ENOENT when running via podman HOT 3
- On Safari; the defacto browser for ios, video does not work.
- Various breakage under Node 16. HOT 3
- No option to reindex in Settings HOT 2
- Wanted blobs are bigger than currently set blobs.max HOT 1
- pub invites seems to be broken HOT 1
- ssb.friends.get Error HOT 27
- Critical bugs with database indexing preventing use
- allow-host parameter is not read from config file HOT 1
- Error: spawn nj-cli ENOENT when building ~/.npm-global/lib/node_modules/@fraction/oasis/node_modules/ssb-validate2-rsjs-node HOT 2
- App immediately crashing HOT 1
- Cannot install on MacOS arm64 / Apple Silicon HOT 4
- Doc: Add upgrade instructions HOT 1
- Error when installing oasis HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from oasis.