Munia Roadmap
Version 1.0
Release scheduled in a not too far future.
Server
Document client→server commands
Document server→client commands
Generally rename
task
to
node
in code.
Add unit-test framework
Port existing, in-file/embedded unit-test to unit-test framework
Mark nodes as they are being dragged (
dragged attribute)
Add positional arguments to create and move command to make it possible to alter the order of the children in a node.
Fix subscribing to other nodes than 0. Subscription node now always has parent id -1.
Fix node create when a node is moved into a subscribed area. It is missing all its attributes.
Compile with c++11 instead of c++17 until it can actually compile with c++17!
Depend on libwebsockets 2.0 instead of 2.1.
Disable debug (hugin) output, if configure
–without-debug
.
BUG: On
create
as consequence of
move
, also create children recursively.
Find way to split messages so they don't exceed max_http_header_data
.
Split messages if they get “long” (more than 512 bytes) at the first-coming message boundary.
BUG: Check if
id
is actually being subscribed to by client before unsubscribing.
BUG: Prevent creation of nodes with id's already in the tree.
Add error server command and use it wherever applicable.
Add password hash checks using
Argon2 as sub-module.
Depend on libwebsockets 1.7 instead of 2.0 and make cli compile with both versions.
BUG: On
remove
as consequence of
move
, also remove children recursively?
Don't send empty responses to clients. (see munia_proto.cc:163)
Add tests for each of the commands:
login
logout
subscribe
unsubscribe
create
delete
update
move
Windows support.
Web Client
Add intra-node drag'n'drop for reordering.
Add node title edit with double-click.
Add attribute name/value
URL-encoding of (in particular) double-quotes.
Add collapse buttons and store the states on cookies.
Add different background colors to better distinguish between group nodes and leaf nodes.
-
-
-
-
Position lineedit for editing titles at the top.
Make description editing use textarea instead of singleline-lineedit.
Make board root-node children background a different colour.
Add anchor tags as accepted, including src attribute.
Make lineedits selectable with the mouse.
Fix unsubscribe, not properly removing root node/board node.
Add markdown support in description fields.
Show errors as alert box.
Show password prompt with “remember me” checkbox for storing password in cookie and performing auto-login.
Add child indicator (to visualize the presence of children on collapsed nodes)
Add description indicator (to visualize the presence of description text on collapsed nodes)
Figure out a way to disable html tag support in markdown.
Visualise to others when a node title/description is being edited.
Add save/discard buttons to edits and remove discard on focus loss.
Use Roboto font.
Deleting content of title and description doesn't work
CLI Client
Version 1.1
Release not yet scheduled.
Server
Web Client
CLI Client
Backlog
Server
Add XML serializer/deserializer tests
-
Evaluate persistence strategy (when/how is data persisted)
Change eXpat to pugixml in a submodule (consider using json instead?)
Add support for alternative storage backends (postgresql, sqlite, …?)
-
Consider storing users in a special parent node, with usernames, passwords hashes, etc as attributes.
ACL on http requests to protect attachments, avatars, etc…
Refactor entire code-base to modern C++.
Add depth to subscribe command so for example
subscribe 0 2
will subscribe to the root node with depth 2 showing only the root node itself and its immediate children (could be projects list).
Add attribute filter to subscriptions, so only changes matching the filter is being published (for example
assignee or
tags)
Add
ubsubscribe all
command option.
From TODO file (maybe still relevant?):
Web Client
Add “initial command string”, stored in cookie.
Use “bounce move” for mouse drags.
Make
animation when a node changes/moves to make it easier to see in the UI for other users.
Make
animation for other UI components such as expand/collapse.
CLI Client
Make it work again.
-
-