Ecosyste.ms: OpenCollective
An open API service for software projects hosted on Open Collective.
github.com/arborchat/muscadine
[legacy] The Arbor reference client implementation
https://github.com/arborchat/muscadine
647b2cc987c76fd02a0eb196383c81f73a62d2d1 authored about 6 years ago
3520d1add644388403f5fd41083c08a680625974 authored about 6 years ago
eb1cdf9e08f278e4132bcbd5fc4193b84b7698a2 authored about 6 years ago
73e46e1d2ff075a323812e173a649b810453b225 authored about 6 years ago
This was surprisingly simple. The TUI just needs to detect when its
width changes and trigger a ...
f51ad7b6c1f2c546e79a68d40c4e44c78f564788 authored about 6 years ago
337f2b36930776de2f757a5cea43611323ad3ae1 authored about 6 years ago
e3e8b9d1246adca08217f420a6243a2782cf45e9 authored about 6 years ago
9bbbfa2d800f2fd599cf71b1f0ec2e9f27e708cb authored about 6 years ago
4cdc03ca4a063033b92edf628ae305e58d6f0962 authored about 6 years ago
336c5db5570de24d76a019945f72cd3221b92a7d authored about 6 years ago
8660a2f6f00df5ba379b0d8a8d415acf1303e9e0 authored about 6 years ago
379b722ef78908889d2e6d0a060500c0065db3fa authored about 6 years ago
0b280611f7acf2f6e132c9880379ab7d041ca715 authored about 6 years ago
Any code that has to actually write the protocol messages feels like
it should be centralized so...
c114e30f7e4b339e267a4021e8d1d0113c23e0ff authored about 6 years ago
This commit highlights each ancestor of the selected message. This exposes
the chat tree in a hi...
Having `RenderMessage` use the internal state of the HistoryState was starting to
feel really gr...
This reverts commit e1055cba6b043974043d8e44deb51d965fc4f930.
This was the only way I could fin...
13714651f0b99674469a8b7128af239113ba1a1d authored about 6 years ago
I noticed that messages sent at nearly the same time would randomly
swap places in the message h...
27d54ca332713285a71fbff05e4d47872b2cf3cc authored about 6 years ago
8d50dc71f96d2cc4cf5892dbceb482d1a109c6a6 authored about 6 years ago
It certainly isn't the most intuitive possible design, but I've added the ability to scroll the ...
7023c13658b1264b2f51c886dbe1b771070843b0 authored about 6 years ago3fedd2dbf5138e4997a02e7ea3df3fd541f63a49 authored about 6 years ago
Previously, I'd written my own line-wrapping algorithm that took
unicode width into account. Tha...
35692d1f640d63b09bbf48e0f68d90dc725038c6 authored about 6 years ago
e24d0ba42047af4dd720d3614640e70caa87514b authored about 6 years ago
I added a boolean to the TUI to track whether we're in "editing mode"
and was gearing up for add...
When you join a server, now we automatically query for the root
message and all recent messages....
ff2351eaf74cc02ff674ac256109961a83833b8a authored about 6 years ago
d139a46542955b8d3be51d8099b6847b68a7ea38 authored about 6 years ago
d0100836ad5918b529f89dde4f840ba01a8ec0fe authored about 6 years ago
a074fb2d2858fed4d467f31c9904ea2f0fa7b301 authored about 6 years ago
b99deac0fb4609fc625fb1a2b4029e204fbc7500 authored about 6 years ago
174a4458aa3fd4f4d41da51cf88de0cc9028971b authored about 6 years ago
The test wasn't attempting to render the correct message when checking
that non-current messages...
In my attempt to highlight the current message correctly, I discovered
that you can crash the re...
This test checks that the message marked as current is rendered in ANSI
color while any other me...
The `HistoryState` will keep track of a current message for use when
the user is scrolling, filt...
ab5ffd64bebe11b64c8d3c4e768492819e9154f3 authored about 6 years ago
It would be better if the wrapping didn't break up words, but we can work
on that later.
Accidentally wrote an infinite loop in the original. Also, I didn't handle checking for
trailing...
`RenderMessage` will handle all of the display properties of showing a message
on the screen. Ri...
Now the `HistoryState` will not attempt to render more messages than the
available number of ter...
`HistoryState` needs to know the dimensions of the render area in order
to correctly display mes...
99baeaeb498da904d8fc47d463fcca9264cba7cd authored about 6 years ago
Now the `HistoryState` is responsible for how the UI is rendered, though it
currently renders ex...
I decided to introduce a thing called a `HistoryState` that is responsible
for managing the actu...
This implements a single vertical slice of functionality: we can receive
messages from the serve...