{"action":"created","issue":{"url":"https://api.github.com/repos/leeoniya/domvm/issues/27","repository_url":"https://api.github.com/repos/leeoniya/domvm","labels_url":"https://api.github.com/repos/leeoniya/domvm/issues/27/labels{/name}","comments_url":"https://api.github.com/repos/leeoniya/domvm/issues/27/comments","events_url":"https://api.github.com/repos/leeoniya/domvm/issues/27/events","html_url":"https://github.com/leeoniya/domvm/issues/27","id":136494527,"number":27,"title":"Road to 1.0","user":{"login":"leeoniya","id":43234,"avatar_url":"https://avatars.githubusercontent.com/u/43234?v=3","gravatar_id":"","url":"https://api.github.com/users/leeoniya","html_url":"https://github.com/leeoniya","followers_url":"https://api.github.com/users/leeoniya/followers","following_url":"https://api.github.com/users/leeoniya/following{/other_user}","gists_url":"https://api.github.com/users/leeoniya/gists{/gist_id}","starred_url":"https://api.github.com/users/leeoniya/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/leeoniya/subscriptions","organizations_url":"https://api.github.com/users/leeoniya/orgs","repos_url":"https://api.github.com/users/leeoniya/repos","events_url":"https://api.github.com/users/leeoniya/events{/privacy}","received_events_url":"https://api.github.com/users/leeoniya/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/leeoniya/domvm/labels/discuss","name":"discuss","color":"d4c5f9"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":12,"created_at":"2016-02-25T20:02:56Z","updated_at":"2016-03-29T02:59:29Z","closed_at":null,"body":"Road to 1.0\r\n-----------\r\n\r\nMy hope is to release a stable version by April 1st. This means no further breakage of:\r\n\r\n- The published API (Docs)\r\n- Defined behavior (Tests)\r\n\r\nThere's a lot of work just in the above items for functionality that already exists in the lib. Since I'm currently the only dev, ~~claims of IE9+ compat will have to wait till post-1.0 as I simply have no time to fix everything that might be broken in older browsers and vet all needed polyfills. If anyone cares to help with this, great.~~ IE9+ is done!\r\n\r\nGenerally, I'm satisfied with the `view` and `html` modules' semantics and performance at this point. However, there's still some significant effort to be put into the `route` and `watch` modules. I'd prefer to stabilize each module indepedently, but this prevents offering a stable concat+min dist build that includes everything. I'm not sure what to do here, but either remove/re-branch some features that are experimental or simply leave them out of the docs; the latter would be simpler, but would bloat the lib size to a small degree to include codepaths that shouldn't run.\r\n\r\n**Big-Ticket Items** (besides more tests and docs)\r\n\r\n- ~~Hash-based routing interop, query params (https://github.com/leeoniya/domvm/issues/11#issuecomment-186761920)~~ **Done**.\r\n- ~~Prop/attr magic (#18). Maybe needed for 1.0 since it affects ergonomics/expectations. Not sure if this magic should be opt-out or opt-in? If implemented, will need clear and simply-explained behavior plus tests to ensure it doesn't do wonky things.~~ **Done**.\r\n\r\n**Small-But-Necessary Items**\r\n\r\n- ~~Event handlers can be arrays w/args: {onclick: [cb, arg1...]}~~ **Done**.\r\n- Ponder arguments & order provided to various callbacks and pass-through semantics.\r\n  - ~~view: Event handlers (delegated handlers should also get attachment node)~~ **Done**: `function(arg1..,e, node)` where `arg1..` only appears when using `[cb, arg1..]` style handlers.\r\n  - ~~view: Emit arg pass-through format `vm.emit(\"myEvent\", arg1..)` or `vm.emit(\"myEvent\", args)`~~ **Done**: `vm.emit(\"myEvent\", arg1..)`\r\n  - view: Lifecycle hooks handlers and what's valuable in each case? didMount/willRecycle/etc, `oldNode, newNode`\r\n  - ~~route: handlers (e, arg1..) how should this interop with named querystring params when implemented?~~ **Done**.\r\n  - ~~route: `rt.goto(\"routeName\", args)`, same concerns as above, named vs ordinal? both can exist in URI.~~ **Done**.\r\n  - ~~route: `rt.href(\"routeName\", arg1...)`~~ **Done**.\r\n  - watch: allow setting a context for handlers (vm, vnode?)\r\n  - probably more i've forgotten here\r\n\r\n**Maybe Items** (probably post-1.0)\r\n\r\n- Third-party lib interop (#7)\r\n  - `{_guard: true}` for nodes\r\n  - `vm.absorb(vnode, el, props)`\r\n  - Accept existing DOM elements in tpl defs (assume guarded?) \r\n- Optimization channel: allow vtree diff & re-build suppression for known-static trees at both self and children levels. Would just graft the old vtree branch to new.\r\n\r\n@lawrence-dol\r\n@yosbelms"},"comment":{"url":"https://api.github.com/repos/leeoniya/domvm/issues/comments/202682219","html_url":"https://github.com/leeoniya/domvm/issues/27#issuecomment-202682219","issue_url":"https://api.github.com/repos/leeoniya/domvm/issues/27","id":202682219,"user":{"login":"leeoniya","id":43234,"avatar_url":"https://avatars.githubusercontent.com/u/43234?v=3","gravatar_id":"","url":"https://api.github.com/users/leeoniya","html_url":"https://github.com/leeoniya","followers_url":"https://api.github.com/users/leeoniya/followers","following_url":"https://api.github.com/users/leeoniya/following{/other_user}","gists_url":"https://api.github.com/users/leeoniya/gists{/gist_id}","starred_url":"https://api.github.com/users/leeoniya/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/leeoniya/subscriptions","organizations_url":"https://api.github.com/users/leeoniya/orgs","repos_url":"https://api.github.com/users/leeoniya/repos","events_url":"https://api.github.com/users/leeoniya/events{/privacy}","received_events_url":"https://api.github.com/users/leeoniya/received_events","type":"User","site_admin":false},"created_at":"2016-03-29T02:59:28Z","updated_at":"2016-03-29T02:59:28Z","body":"@lawrence-dol \r\n\r\n> Since all versions of IE before 11 ceased support from MS as of Feb this year, and even IE 11 is only on life-support, that seems quite reasonable.\r\n\r\nunfortunately, this is meaningless for most practical purposes. domvm is not a library just for internal apps where you can dictate the env. IE9 is alive an well in the real world and if you're spending good money on ads to get eyeballs to your site, then showing even 10% of visitors a middle finger is a non-starter.\r\n\r\nwe even see orders placed from IE8 on old Windows Media Center PCs that never update (shudder). but really, how often do you update the equivalent of a kiosk/dvd player? it's sad, but i get it :/\r\n\r\n> a big pain for the ones we officially (contractually) support\r\n\r\nwe officially support none. there are some bundled for convenience which are known to not cause test failures (for the current set of tests). it saves people the effort and at least creates a common ground for reporting compat issues and finding better polyfills."}}