# DoneJS Contributors Meeting – 2017-05-19

**URL:** <https://forums.bitovi.com/t/donejs-contributors-meeting-2017-05-19/640>\
**Category:** DoneJS\
**Created:** [May 12, 2017, 6:12pm UTC](https://forums.bitovi.com/t/donejs-contributors-meeting-2017-05-19/640 "2017-05-12T18:12:49Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![chasen](https://yyz1.discourse-cdn.com/flex035/user_avatar/forums.bitovi.com/chasen/32/402_2.png) [@chasen](https://forums.bitovi.com/u/chasen)\
**Post date:** [May 12, 2017, 6:12pm UTC](https://forums.bitovi.com/t/donejs-contributors-meeting-2017-05-19/640/1 "2017-05-12T18:12:49Z")

</div>

Please add topics for discussion (and your status if you’re a contributor).

**Epics:**

- [bit-docs website](https://github.com/bit-docs/bit-docs-website/issues/1) — `5 / 104`
- [CanJS 3 Codemods](https://github.com/canjs/can-migrate-codemods/issues/14) — `0 / 35`
- [CanJS 3.9](https://github.com/canjs/canjs/issues/2990) — `112 / 249` ↗️
- [Proposal: Streamable apps](https://github.com/donejs/donejs/issues/834) — `0 / 77`
- [React View-Model](https://github.com/canjs/react-view-models/issues/13) — `29 / 51` ↗️
- [Revisit can-connect](https://github.com/canjs/can-connect/issues/288) — `0 / 25`
- [Slim Loader](https://github.com/stealjs/steal-tools/issues/661) — `0 / 0`
- [Spring 2017 CanJS.com Design Updates](https://github.com/canjs/canjs/issues/3220) — `12 / 43` ↗️
- [2017-05 Developer Relations & Evangelism](https://github.com/donejs/developer-relations/issues/35) — `51 / 167` ↗️

**Live Stream:**

---

<div class="post-metadata">

**Author:** ![chasen](https://yyz1.discourse-cdn.com/flex035/user_avatar/forums.bitovi.com/chasen/32/402_2.png) [@chasen](https://forums.bitovi.com/u/chasen)\
**Post date:** [May 19, 2017, 3:08pm UTC](https://forums.bitovi.com/t/donejs-contributors-meeting-2017-05-19/640/2 "2017-05-19T15:08:39Z")

</div>

**Last week:**

- Wrote & published [Build a YouTube Playlist Editor, an Advanced Weather Report Guide, & TodoMVC with CanJS](https://www.bitovi.com/blog/new-canjs-recipes-playlist-editor-todomvc-with-stealjs-advanced-weather-report-guide)
- Finished my SitePoint article rough draft
- Submitted some PRs:
- [Set “latedef” to “nofunc” in the plugin generator](https://github.com/donejs/generator-donejs/pull/244)
- [Minor changes to Weather Report Guide (Advanced)](https://github.com/canjs/canjs/pull/3256)
- [Update chat guide to use SSL for socket.io](https://github.com/canjs/canjs/pull/3257)

**Next week:**

- Update the DoneJS chat presentation to 1.0
- Continue working on the migration guide blog post
- Work on other outside evangelism

---

<div class="post-metadata">

**Author:** ![matthewp](https://yyz1.discourse-cdn.com/flex035/user_avatar/forums.bitovi.com/matthewp/32/77_2.png) [@matthewp](https://forums.bitovi.com/u/matthewp)\
**Post date:** [May 19, 2017, 3:20pm UTC](https://forums.bitovi.com/t/donejs-contributors-meeting-2017-05-19/640/3 "2017-05-19T15:20:06Z")

</div>

# Last week

- Worked on a blog post about the upcoming streaming strategies we are pursuing in DoneJS.
- Updated done-ssr to support setting the navigator.language field.
- Refactored done-ssr so that it can support multiple rendering strategies in preparation for the “streaming instructions” strategy.

# Next week

- Publish the blog article.
- Implement the streaming instructions strategy.

---

<div class="post-metadata">

**Author:** ![phillipskevin](https://yyz1.discourse-cdn.com/flex035/user_avatar/forums.bitovi.com/phillipskevin/32/102_2.png) [@phillipskevin](https://forums.bitovi.com/u/phillipskevin)\
**Post date:** [May 19, 2017, 3:24pm UTC](https://forums.bitovi.com/t/donejs-contributors-meeting-2017-05-19/640/4 "2017-05-19T15:24:32Z")

</div>

**Last Week**

- working on can-reflect (can-stache done, finishing up can-stache-bindings)
- presented at [Indy.js](https://www.youtube.com/watch?v=2o_zFW0JloY&feature=youtu.be&t=21m30s)
- published [Testee 0.5.1](https://github.com/bitovi/testee/releases/tag/v0.5.1)

**Next Week**

- continue on can-reflect

**Topic:** What is can-reflect?

---

<div class="post-metadata">

**Author:** ![mickmcgrath13](https://yyz1.discourse-cdn.com/flex035/user_avatar/forums.bitovi.com/mickmcgrath13/32/101_2.png) [@mickmcgrath13](https://forums.bitovi.com/u/mickmcgrath13)\
**Post date:** [May 19, 2017, 3:30pm UTC](https://forums.bitovi.com/t/donejs-contributors-meeting-2017-05-19/640/5 "2017-05-19T15:30:23Z")

</div>

**Last Week**

- bit-docs-generate-html
  - Implement Strategy for clearing localStorage in the search when the seachMap changes ([searchMapHash](https://github.com/bit-docs/bit-docs-generate-searchmap/blob/master/generators/search-map-hash.js))
  - [v0.5.0 Release](https://github.com/bit-docs/bit-docs-generate-html/releases/tag/v0.5.0) - Remove searchMap generation logic
  - [v0.6.0 Release](https://github.com/bit-docs/bit-docs-generate-html/releases/tag/v0.6.0) - Allow has syntax in linking like: `[some-name#someSectionId]`

- bit-docs-html-canjs
  - [v0.5.1 Release](https://github.com/canjs/bit-docs-html-canjs/releases/tag/v0.5.1)
    - Only pushState to urls with same protocol
    - Search - wait until we get a new searchMap before clearing localStorage
    - Search - rewrite to be es5

  - [v0.5.2](https://github.com/canjs/bit-docs-html-canjs/releases/tag/v0.5.2) and [v0.5.3](https://github.com/canjs/bit-docs-html-canjs/releases/tag/v0.5.3) - es6 -\> es5 cleanup

- Created [bit-docs-generate-searchmap](https://github.com/bit-docs/bit-docs-generate-searchmap)

**Next Week**

- Deploy CanJS Site Search!
- Move search functionality out of `bit-docs-html-canjs` into its own repo ([issue](https://github.com/canjs/bit-docs-html-canjs/issues/248))
- Back to `can-stache-animate`

---

<div class="post-metadata">

**Author:** ![m-mujica](https://yyz1.discourse-cdn.com/flex035/user_avatar/forums.bitovi.com/m-mujica/32/116_2.png) [@m-mujica](https://forums.bitovi.com/u/m-mujica)\
**Post date:** [May 19, 2017, 3:35pm UTC](https://forums.bitovi.com/t/donejs-contributors-meeting-2017-05-19/640/6 "2017-05-19T15:35:38Z")

</div>

### Last Week

- Released steal-tools 1.3.5
- Minor documentation issues ([https://github.com/stealjs/steal-tools/pull/705](https://github.com/stealjs/steal-tools/pull/705), [https://github.com/stealjs/stealjs/issues/46](https://github.com/stealjs/stealjs/issues/46))
- Worked on minimal/slim loader issues

### Next Week

- Add the “slim” format to transpile and put together a working example with the minimal loader.

---

<div class="post-metadata">

**Author:** ![chasen](https://yyz1.discourse-cdn.com/flex035/user_avatar/forums.bitovi.com/chasen/32/402_2.png) [@chasen](https://forums.bitovi.com/u/chasen)\
**Post date:** [May 19, 2017, 6:41pm UTC](https://forums.bitovi.com/t/donejs-contributors-meeting-2017-05-19/640/7 "2017-05-19T18:41:49Z")

</div>

**Attendees:** @bmomberger-bitovi @chasen @cherif_b @kdillon @matthewp @mickmcgrath13 @phillipskevin

**Discussed topics:**

What is `can-reflect`?

- Based on [Reflect API](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reflect), which standardizes the APIs for things like getting and setting properties so code can work with any kind of object
- [Reflect JS Bin example](http://jsbin.com/yoqirulefo/1/edit?js,console)
- [can-reflect](https://github.com/canjs/can-reflect/): same idea as the Reflect API, for CanJS observables
- We’re in the process of changing all of our code to use `can-reflect`
- Benefits:
  - Speed! `can-stache` will also be [updated to use can-observation](https://github.com/canjs/can-stache/issues/162), making it upwards of 30% faster
  - Makes it easier to use different types of observables in the same codebase, i.e. an app using `can-map` can start to use `can-define/map/map` more easily
  - Enables easier interoperability with new types, e.g. [Kefir.js](https://rpominov.github.io/kefir/) streams, [RxJS](http://reactivex.io/rxjs/) streams, etc.
  - Building modules that work with CanJS observables will be significantly easier

We briefly discussed [FuncUnit QUnit 2 support](https://github.com/bitovi/funcunit/issues/155).

---

<div class="post-metadata">

**Author:** ![phillipskevin](https://yyz1.discourse-cdn.com/flex035/user_avatar/forums.bitovi.com/phillipskevin/32/102_2.png) [@phillipskevin](https://forums.bitovi.com/u/phillipskevin)\
**Post date:** [May 22, 2017, 6:53pm UTC](https://forums.bitovi.com/t/donejs-contributors-meeting-2017-05-19/640/8 "2017-05-22T18:53:12Z")

</div>

@BigAB pointed out that my Reflect example is not actually correct. `Reflect.set` does not actually do the same thing as `Map.prototytpe.set` when called on a `Map` instance. Hopefuly this example will clarify:

```auto
var map = new Map();
map.set('hello', 'world');
Reflect.set(map, 'hello', 'universe');

```

Running this code ends up with `map` looking like:

![](https://canada1.discourse-cdn.com/flex035/uploads/donejs/original/1X/594effde8b6d98cac9b53b544275dee7d47d3308.png)

This shows that `Reflect.set(map, 'hello', 'universe');` is just doing `map['hello'] = 'universe';` and not correctly setting the value internally on the map.

The point that this example was trying to make was that `Reflect` will smooth out APIs to work across different object types. This isn’t actually true with `Reflect`, but is true with `can-reflect`. Although this example is bad, hopefully it still explains what `can-reflect` is trying to do.

---

<div class="post-metadata">

**Author:** ![kdillon](https://yyz1.discourse-cdn.com/flex035/user_avatar/forums.bitovi.com/kdillon/32/230_2.png) [@kdillon](https://forums.bitovi.com/u/kdillon)\
**Post date:** [May 26, 2017, 4:17pm UTC](https://forums.bitovi.com/t/donejs-contributors-meeting-2017-05-19/640/9 "2017-05-26T16:17:13Z")

</div>

Right click should now send PointerEvents like all other forms of mouse-interaction. Note that PointerType is set to mouse by default, even on touch devices. We are still working on a system that will allow for more flexibility for emulating device environment.

---

<div class="post-metadata">

**Author:** ![justinbmeyer](https://yyz1.discourse-cdn.com/flex035/user_avatar/forums.bitovi.com/justinbmeyer/32/179_2.png) [@justinbmeyer](https://forums.bitovi.com/u/justinbmeyer)\
**Post date:** [May 27, 2017, 8:59pm UTC](https://forums.bitovi.com/t/donejs-contributors-meeting-2017-05-19/640/10 "2017-05-27T20:59:33Z")

</div>

@kdillon I’ve been thinking that a good way to organize the code might be event streams. We’d let people dispatch generic interactions, then depending on the browser, these would result in dispatched events.
