When creating a new [mini]card, typing `@` or `#` brings up an
auto-complete box for board members and labels which will get applied to
the card upon creation. These textual tags are removed from the card
title before saving to maintain sanity. If a label doesn't have a name,
it's colour is used (i.e. `red`, `purple`, etc).
This was developed to ease the creation of new cards and allow users to
rapidly create cards without having to click numerous times just to
apply labels & members.
The removeMemberPopup was missing the required helper to get the user and board
information and the user profile field is called "fullname" and not "name".
We need to use "function() {}" instead of the ES6 style "() {}" with
popup.afterCommit because we need the original value of "this" inside
the callback.
If every element already has the label/member, we do not need to add it
but it should be removed and if every element does not have the element,
we should add it.
This commit uses a new package that I need to document. It tries to
solve the long-standing debate in the Meteor community about
allow/deny rules versus methods (RPC).
This approach gives us both the centralized security rules of
allow/deny and the white-list of allowed mutations similarly to Meteor
methods. The idea to have static mutation descriptions is also
inspired by Facebook's Relay/GraphQL.
This will allow the development of a REST API using the high-level
methods instead of the MongoDB queries to do the mapping between the
HTTP requests and our collections.
This commit fixes the download link in the activity feed on the
sidebar and the mention link on card description and comments
(replaced by a popup).
`eslint .` now passes without any error or warning.
Fixes#286
We now update the internal state of the application every time a user
connects to the application, which means that if the sandstorm sharing
graph has changed since the last time we saw a user, his permissions
will be updated accordingly.