{"action":"created","issue":{"url":"https://api.github.com/repos/aspnet/SignalR-Server/issues/196","repository_url":"https://api.github.com/repos/aspnet/SignalR-Server","labels_url":"https://api.github.com/repos/aspnet/SignalR-Server/issues/196/labels{/name}","comments_url":"https://api.github.com/repos/aspnet/SignalR-Server/issues/196/comments","events_url":"https://api.github.com/repos/aspnet/SignalR-Server/issues/196/events","html_url":"https://github.com/aspnet/SignalR-Server/issues/196","id":166209141,"number":196,"title":"1.0.0 Planning","user":{"login":"DamianEdwards","id":249088,"avatar_url":"https://avatars.githubusercontent.com/u/249088?v=3","gravatar_id":"","url":"https://api.github.com/users/DamianEdwards","html_url":"https://github.com/DamianEdwards","followers_url":"https://api.github.com/users/DamianEdwards/followers","following_url":"https://api.github.com/users/DamianEdwards/following{/other_user}","gists_url":"https://api.github.com/users/DamianEdwards/gists{/gist_id}","starred_url":"https://api.github.com/users/DamianEdwards/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DamianEdwards/subscriptions","organizations_url":"https://api.github.com/users/DamianEdwards/orgs","repos_url":"https://api.github.com/users/DamianEdwards/repos","events_url":"https://api.github.com/users/DamianEdwards/events{/privacy}","received_events_url":"https://api.github.com/users/DamianEdwards/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/aspnet/SignalR-Server/labels/planning","name":"planning","color":"0052cc"}],"state":"open","locked":false,"assignee":{"login":"DamianEdwards","id":249088,"avatar_url":"https://avatars.githubusercontent.com/u/249088?v=3","gravatar_id":"","url":"https://api.github.com/users/DamianEdwards","html_url":"https://github.com/DamianEdwards","followers_url":"https://api.github.com/users/DamianEdwards/followers","following_url":"https://api.github.com/users/DamianEdwards/following{/other_user}","gists_url":"https://api.github.com/users/DamianEdwards/gists{/gist_id}","starred_url":"https://api.github.com/users/DamianEdwards/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DamianEdwards/subscriptions","organizations_url":"https://api.github.com/users/DamianEdwards/orgs","repos_url":"https://api.github.com/users/DamianEdwards/repos","events_url":"https://api.github.com/users/DamianEdwards/events{/privacy}","received_events_url":"https://api.github.com/users/DamianEdwards/received_events","type":"User","site_admin":false},"assignees":[{"login":"DamianEdwards","id":249088,"avatar_url":"https://avatars.githubusercontent.com/u/249088?v=3","gravatar_id":"","url":"https://api.github.com/users/DamianEdwards","html_url":"https://github.com/DamianEdwards","followers_url":"https://api.github.com/users/DamianEdwards/followers","following_url":"https://api.github.com/users/DamianEdwards/following{/other_user}","gists_url":"https://api.github.com/users/DamianEdwards/gists{/gist_id}","starred_url":"https://api.github.com/users/DamianEdwards/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DamianEdwards/subscriptions","organizations_url":"https://api.github.com/users/DamianEdwards/orgs","repos_url":"https://api.github.com/users/DamianEdwards/repos","events_url":"https://api.github.com/users/DamianEdwards/events{/privacy}","received_events_url":"https://api.github.com/users/DamianEdwards/received_events","type":"User","site_admin":false}],"milestone":null,"comments":10,"created_at":"2016-07-18T22:32:46Z","updated_at":"2016-08-15T12:10:51Z","closed_at":null,"body":"A refresher on the high-level features SignalR offers (that may or may not be reassessed):\r\n- Auto-reconnect of connections\r\n- Message storage and replay on reconnect (required for Long Polling to work at all really)\r\n- Persistent connection and Hub programming abstractions\r\n- Transport negotiation (via fallback)\r\n- Round-tripped server/client shared state (Hub state)\r\n- Plug-in scale-out providers\r\n\r\nThe givens:\r\n- Make SignalR server work on ASP.NET Core (including .NET Core)\r\n- Must support existing clients\r\n  - We may remove some features though\r\n- Rewrite JS client using TypeScript and no dependencies\r\n\r\nSome ideas:\r\n- Try to remove some of the complexity that has eventuated in the code-base today\r\n- Re-baseline our supported browsers\r\n- Support pluggable serialization\r\n- Support JSON-RPC clients\r\n- Support binary\r\n- Move issues from signalr/signalr tagged as v3 to here and triage\r\n- Make SignalR server not require a client for basic pub/sub & dispatching features\r\n- Try to connect to server with single request (for streaming transports)\r\n- Should the new JS client support existing SignalR server?\r\n- Reconsider the design based on the assumption that WebSockets is the normal case, and other transports may not get all features\r\n- Rethink scale-out\r\n- Support server-publishers, i.e. an app that connects to a SignalR server as a client but doesn’t receive any messages, just publishes them\r\n- Rewrite the C# client using… C#\r\n\r\nNext steps:\r\n- Continue discussion on whether we pull out the concept of an `IMessageBus` and build SignalR programming model on top of that\r\n"},"comment":{"url":"https://api.github.com/repos/aspnet/SignalR-Server/issues/comments/239787651","html_url":"https://github.com/aspnet/SignalR-Server/issues/196#issuecomment-239787651","issue_url":"https://api.github.com/repos/aspnet/SignalR-Server/issues/196","id":239787651,"user":{"login":"shutdown256","id":17111455,"avatar_url":"https://avatars.githubusercontent.com/u/17111455?v=3","gravatar_id":"","url":"https://api.github.com/users/shutdown256","html_url":"https://github.com/shutdown256","followers_url":"https://api.github.com/users/shutdown256/followers","following_url":"https://api.github.com/users/shutdown256/following{/other_user}","gists_url":"https://api.github.com/users/shutdown256/gists{/gist_id}","starred_url":"https://api.github.com/users/shutdown256/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shutdown256/subscriptions","organizations_url":"https://api.github.com/users/shutdown256/orgs","repos_url":"https://api.github.com/users/shutdown256/repos","events_url":"https://api.github.com/users/shutdown256/events{/privacy}","received_events_url":"https://api.github.com/users/shutdown256/received_events","type":"User","site_admin":false},"created_at":"2016-08-15T12:10:50Z","updated_at":"2016-08-15T12:10:50Z","body":"I would love to loose the dynamics - or at least make them optional. It looks great in samples but for a large project it is a total mess (IMHO). I kove the idea of being able to define client interface and call client methods trough this interface with full intellisense and strong typing support. Also to be able to access and enumerate users and connections trough LINQ (also as POCO not dynamic). \r\n\r\nAlso I would like to be able to define path(s) to hubs javascript, because the default is sometimes incompatible with some client frameworks."}}
{"actor":{"display_login":"shutdown256"}}