3stack:presence upgraded from 1.0.4 to 1.0.5
arillo:flow-router-helpers upgraded from 0.4.5 to 0.4.7
cosmos:browserify upgraded from 0.8.3 to 0.9.2
fortawesome:fontawesome upgraded from 4.4.0 to 4.5.0
kadira:blaze-layout upgraded from 2.2.0 to 2.3.0
kadira:flow-router upgraded from 2.9.0 to 2.10.0
meteorhacks:fast-render upgraded from 2.10.0 to 2.11.0
useraccounts:core upgraded from 1.12.4 to 1.13.0
useraccounts:flow-routing upgraded from 1.12.4 to 1.13.0
useraccounts:unstyled upgraded from 1.12.4 to 1.13.0
We now use the `preferredHandle` exposed by Sandstorm as source for
the username and append a number if the username is already taken
since we need to ensure username uniqueness (eg 'max', 'max1', 'max2')
Fixes#352
This version includes a more complete selection of ES2015 polyfills
that I started used across the code base, for instance by replacing
`$.trim(str)` by `str.trim()`.
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.
tmeasday:presence was doing unnecessary ping calls to the server every
5 seconds instead of using the status of the DDP connection (this
could save a fair amount of traffic in case of important server load).
I guess this change also fixes#221, but since no issue reproduction
was provided, it's difficult to tell.
Replace the old (and broken) jshint + jscsrc by eslint and configure
it to support some of the ES6 features.
The command `eslint` currently has one error which is a bug that was
discovered by its static analysis and should be fixed (usage of a
dead object).
Bower build process was sometimes unpredictable and had unspecified
dependencies (git) that caused bugs (eg #164, #172). Meteor packages
have better integration with the meteor build system and ensure
deterministic build, the downside being that we have to maintain
wrapper of JS package just for the purpose of publishing in
atmosphere. Others are also struggling with this, see for instance:
https://github.com/MeteorCommunity/discussions/issues/14
Hopefully we'll have a better solution one day (official browserify
integration? Who knows.)
As a side effect the new release of perfect-scrollbar breaks the
style, this will be fixed in a later commit.
Fixes#172
The new version of meteor speeds up the reload cycle, which is super
valuable during the development. I also removed the "imply-everything"
"meteor-platform" package in favor of a more fined-grained package
selection.
This version also introduces ES6 support with transparent babeljs
transpilation. Most features are enable (with the notable exception of
ES6 modules) and this commit started to use them in places where a XXX
comment suggested it.
Motivations:
* Iron-Router foces us to use Tracker.nonreactive black magic in order
to avoid un-necessary re-renders;
* There is a community consensus (supported by some MDG members) that
the flow-router API is easier to reason about;
* The useraccounts now supports flow router (that was a blocking
element when I considered the switch ~3months ago)
On the server we use the Picker router, as encouraged by the Kadira
team (which develop both Flow and Picker routers).
In the current state of things there are some bugs related to the
missing Loading architecure. Previously onRendered callback where
always called when the data the component needed was available, now
we have to handle this ourselves, which we will in a following commit.
This includes a security fix in mquandalle:bower, and a new package
for useraccounts iron-router templates which forced us to move some
configuration function calls.
Use a custom build of jquery-ui with only the plugins we need (instead
of including everything).
Fix a tricky bug of conflict between Blaze reactive updates and
jquery-ui (which caused cards to sometimes disappear).
The user is now able to upload an avatar, and pick one in a list.
This functionality should eventually be abstracted in a community
package but we still need to work on a great public API. We rely on
collectionFS to manage uploaded avatars. We also removed
bengott:avatar which was trying to solve the wrong problem (namely
displaying the avatar, which is as simple as displaying an image), and
not a avatar system as it should be.
Gravatar support is coming (back) soon. We may also want to have a
list of default fun avatars the user can choose instead of uploading
its own one.
We now replace native scrollbar by custom ones on the list card (which
is required by the new ergonomics in the parent commit), but the
"scrolling engine", is still native, we just hide the scrollbar and
draw our own in HTML/CSS using the perfect-scrollbar package (from
bower).
This commit also implements component scrolling when certain actions
are performed, eg scroll to the bottom when the new card composer is
opened.