Commit graph

104 commits

Author SHA1 Message Date
63a36d8a71 [server] Extract shared editing logic into a branch 2020-03-25 21:12:57 +00:00
aa074d181b [server] Rename "graft" to "draw" 2020-03-25 21:12:34 +00:00
83406dff10 [server] Reimplement collaborative editing 2020-03-25 21:12:32 +00:00
a2d392bc4d [server] Remove old tree modules 2020-03-25 21:12:09 +00:00
f6a281fee1 [server] Add schema for tree-like node structures 2020-03-25 21:11:38 +00:00
cdfe515df6 [server] Add new structure for server applications 2020-03-25 21:11:25 +00:00
04b8bd7445 [all] Include summary of subprojects in readme 2020-03-25 21:11:03 +00:00
56373a0748 [stack] Update resolver to lts-15.3 2020-03-25 21:11:03 +00:00
f8fd5b3c3e [web] Move web client to this repo 2020-03-25 21:11:03 +00:00
4b8d0ee4a4 [all] Reorganize haskell code into multiple packages 2020-03-25 21:10:59 +00:00
0edc241149 [client] Adjust editor to look like web client text boxes 2020-03-14 01:12:21 +00:00
d58f1e4fef [client] Fix rendering of nodes containing empty strings 2020-02-28 19:35:42 +00:00
041f117df8 [client] Allow choosing the attribute name for the indentation text 2020-02-28 19:28:44 +00:00
0d01e4792d [client] Remove microlens dependency 2020-02-28 19:25:31 +00:00
50e78cfed3 [client] Use the correct function for the job
Somehow, I missed this function and reimplemented it myself. Sometimes it helps
to read the documentation...
2020-02-28 19:25:31 +00:00
ab8c764329 [client] Align node permissions to the right
The previous layout depended on txtWrap being greedy, but not taking up all
available horizontal space. That behaviour is incorrect according to the
definition of greedy widgets, which have to take up all available horizontal
space.

In brick 0.52, this behaviour has been partially fixed. The padRight function
added in this commit emulates the correct txtWrap behaviour even for cases where
txtWrap has not been fixed yet. If txtWrap is fixed entirely, the padRight can
be removed again.
2020-02-27 15:09:11 +00:00
22974d96a7 [server] Move server-related files into their own subdirectory 2020-02-26 08:57:09 +00:00
a2c2c4487b [client] Improve cursor behaviour when elements are deleted 2020-02-26 08:57:09 +00:00
9fa804f87f [stack] Update resolver 2020-02-24 13:27:39 +00:00
657adad7e5 [client] Improve reply interactions 2020-02-24 12:41:32 +00:00
901a1c4bce [client] Grey out tree lines 2020-02-24 00:20:37 +00:00
6359555db6 [client] Add key bindings to help text 2020-02-20 00:39:53 +00:00
e6958e11cb [client] Only send packets when the corresponding permission is set 2020-02-19 23:48:21 +00:00
ec61c4d092 [client] Unfold a node when replying to it 2020-02-19 23:45:54 +00:00
1fd476e585 [client] Fix initial editor contents 2020-02-19 23:37:36 +00:00
385ec894ef [client] Fix rendering of editor 2020-02-19 23:37:22 +00:00
661c233ce1 [client] Fix cursor becoming invisible 2020-02-19 23:36:14 +00:00
e8b6efcb76 [client] Rewrite client structure 2020-02-19 23:12:53 +00:00
bd06b64699 [docs] Add back inital root node in server hello packet 2020-02-18 12:13:29 +00:00
f2e77b7c03 [server] Implement shared editing module 2020-02-18 00:43:30 +00:00
e917893a9b [server] Print exceptions encountered during a connection 2020-02-18 00:42:57 +00:00
af8305bfac [client] Print exceptions encountered while UI is running 2020-02-18 00:42:30 +00:00
8c233ae4e0 [server] Fix fork module
Previously, the fork module would return Just () on all actions. This made the
server disconnect any client after a successful action (e. g. editing a node).
2020-02-18 00:41:19 +00:00
d2c6efd6c4 [server] Implement API changes 2020-02-17 23:34:02 +00:00
964b13739a [server] Add ordered map
It works similar to a map, but additionally keeps track of the order of its
keys.
2020-02-17 23:33:50 +00:00
4d06e48a82 [docs] Switch to map of child nodes plus display order 2020-02-16 23:32:33 +00:00
a50338a028 [docs] Add link to status code section of websocket RFC 2020-02-15 14:27:29 +00:00
8bf783b85a [docs] Add API documentation 2020-02-15 14:27:23 +00:00
2a2b148046 [server] Add return value to tree modules
Now, tree modules can't just stop, they can Just stop. Sorry... But they can
return values now, with a tiny bit of type class trickery.
2020-02-13 23:38:26 +00:00
220b5a3234 [server] Adjust TreeModule structure
This commit prepares a slighly more powerful TreeModule structure: Now,
TreeModules can finish their execution, which should make some kinds of menus
and transitions possible.
2020-02-13 23:23:15 +00:00
d08f858692 [client] Make websocket connection closing more robust 2020-02-12 13:04:47 +00:00
5e7f90c6d5 [server] Rename tree module files 2020-02-12 11:34:25 +00:00
3656483bc8 [server] Add very simple animation module
I mostly used this module for testing the partial tree updates.
2020-02-12 11:07:12 +00:00
b2b34d551a [server] Send partial updates when possible 2020-02-12 10:58:39 +00:00
45a6d1934e [server] Fix typo 2020-02-12 00:38:35 +00:00
6d6344d372 [server] Add ForkModule for combining other modules
This one has some interesting code in its constructor, using the Cont monad
because of the way the ModuleConstructor is structured.
2020-02-12 00:38:29 +00:00
d5d0fccdaf [server] Improve readability of project description 2020-02-11 18:04:07 +00:00
7709fc92a9 [server] Write better project description 2020-02-11 17:37:38 +00:00
f101ecdbb4 [client] Adjust padding 2020-02-11 17:35:55 +00:00
a546ce0334 Fix order of nodes in client 2020-02-11 17:35:55 +00:00