These 12 commits are when the Protocol Buffers files have changed:
| Commit: | d8a14fb | |
|---|---|---|
| Author: | John Brooks | |
| Committer: | John Brooks | |
Remove the concept of numeric contact IDs In ricochet-qt, contacts were stored with a sequential numeric ID, and that was used in various places to refer to the contact uniquely. The habit carried over here in an attempt to keep configuration compatibility. These IDs are error prone (particularly over RPC) and unnecessary. This removes the entire concept and uses addresses to index and refer uniquely to contacts everywhere.
The documentation is generated from this commit.
| Commit: | 32230b7 | |
|---|---|---|
| Author: | John Brooks | |
| Committer: | John Brooks | |
core: Reuse protobuf structures for configuration The existing configuration was partially compatible with Ricochet's, but not enough to actually be useful. It also required a bunch of boilerplate code to copy data between configuration data structures, internal data structures, and RPC data structures. Protobuf conveniently supports encoding messages to JSON, and we already need to store most data (e.g. contacts) in protobuf structures. This commit changes the configuration to be a protobuf JSON serialization of the Config message, which can directly reuse RPC messages like Contact. Additionally, the RWMutex-based configuration type was a deadlock waiting to happen. There is now a read-only clone of the configuration available atomically at any time. Writers need an exclusive lock on the ConfigFile object, which commits its changes to disk and readers on unlock.
| Commit: | dcda924 | |
|---|---|---|
| Author: | John Brooks | |
| Committer: | John Brooks | |
core: Implement inbound contact requests This does not yet include persistence of inbound requests in the config, and it's mostly untested, but it's more or less complete.
| Commit: | 91dbe5a | |
|---|---|---|
| Author: | John Brooks | |
core: Remove outdated todo comments
| Commit: | 2fd3cd2 | |
|---|---|---|
| Author: | John Brooks | |
rpc: Add 'go generate' commands and update ContactRequest It's now possible to regenerate the protobuf files by calling 'go generate' in rpc/. You will need protoc and protoc-gen-go in PATH. This is only necessary after changing the protobuf definitions.
| Commit: | 8664873 | |
|---|---|---|
| Author: | John Brooks | |
cli: Keep track of conversations and prettify output
| Commit: | bb530cf | |
|---|---|---|
| Author: | John Brooks | |
| Committer: | John Brooks | |
core: Track unread state of received messages
| Commit: | 623dccb | |
|---|---|---|
| Author: | John Brooks | |
core: Early proof-of-concept conversations API
| Commit: | 6e68f86 | |
|---|---|---|
| Author: | John Brooks | |
rpc: Add UNKNOWN connection status for contacts UNKNOWN is the new default status for contacts. A contact is in the UNKNOWN state when we're not sure whether they are available or not, and is in the OFFLINE state when we believe that we're online but attempts to connect to that contact have failed.
| Commit: | 2c4a1c8 | |
|---|---|---|
| Author: | John Brooks | |
core: Load contacts from config
| Commit: | 0b44f08 | |
|---|---|---|
| Author: | John Brooks | |
rpc: Draft more RPC API calls
| Commit: | 0547162 | |
|---|---|---|
| Author: | John Brooks | |
| Committer: | John Brooks | |
Skeleton of RPC