andres-erbsen / chatterbox Goto Github PK
View Code? Open in Web Editor NEWA chat thingy
License: Apache License 2.0
A chat thingy
License: Apache License 2.0
It currently takes about one second to get a message across if using TOR and a slow network. Improving this would make the user experience a lot better, and some of the latency is probably easily avoidable. It would be good to know what actually takes time.
for users that want to start a single thing, like with pidgin. This should probably not replace any of the previous -- the gui should either have a flag or be a library that is called from two executables.
lists have huge spacing right now
The hoops that a new user has to jump to directly limit adoption. For every single step (including dename setup steps), we should consider whether we actually need it, and whether it could be merged with some other step or completely automated. We will probably need a complete list of the actual steps first...
We definitely want to have binaries for every reasonable platform we support. We want an automated way of building them (andres will take care of signing stuff). Ideally we want reproducible builds (which is trivial for pure go, but not for QML bindings). We definitely don't want go get
that automatically falls back to unauthenticated connections.
The receiver of the message has no way to verify any information about when it was written or sent. As a goal of chatterbox is to avoid display incorrect information, the times need to go. The bundled dename lookups will still have timestamp, but it will not be displayed anywhere and used for any other purpose.
This will involve changing the filesystem layout again. We can either use the time when a message was received (which will mean many messages will have the same timestamp after the recipient comes online) or maybe a couple of words from the message.
line wrapping would be nicer
Current error handling errs on the side of safety, but it errs way too much. Keeping chatterbox running during network connectivity issues should not be worse than starting it after the issues are over. Nothing should ever get stuck (and do so without losing messages).
some way to edit all your protoc conf files from chatterbox-qt
Regardless of whether we are expecting push notifications or not.
This should be something like
type ServerConn interface {
Send(message) error
Receive() (message, error)
}
The lack of this has already caused multiple bugs and spent wasted several hours of dev time
as the daemon does. Maybe make it match the fsnotify interface.
I ran chatterbox-init without starting tor --> error part way through. After starting tor it gives "2015/03/13 14:38:11 mkdir /home/david/.chatterbox/david/.daemon: file exists". Either that file should have been deleted or some flag should have been set for "failed init" (which would have the benefit of making it possible to debug anything that went wrong during init)
it's a pretty good size for chatting with someone, but ideally chatterbox replaces email too and it's kind of a small space to type an email in
currently, I put the fuzzy timestampe into the first 8 bytes of the message hash on the server, but this broke deletion. We probably want a separate index structure on the server...
The gui currently opens:
a) scrolled to the least recent messages
b) in a tiny window
This results in a proto: missing extion error instead of something reasonable.
optionally also prompt the user (or offer) to start chatterboxd on the current profile if it isn't sent after x time units. But it would have to be a fairly unobtrusive/disableable feature or chatterbox would get annoying to use offline or with a slow network connection
After you use them.
Mark (bold?) threads that have unread messages in them
there are simpler ways now. and different paths.
I don't know how to call qml.Window.close from Go :(
#18 is an example of where this is necessary. Or maybe not -- should the GUI do its own lookup?
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.