{"action":"created","issue":{"url":"https://api.github.com/repos/SeleniumHQ/selenium/issues/3264","repository_url":"https://api.github.com/repos/SeleniumHQ/selenium","labels_url":"https://api.github.com/repos/SeleniumHQ/selenium/issues/3264/labels{/name}","comments_url":"https://api.github.com/repos/SeleniumHQ/selenium/issues/3264/comments","events_url":"https://api.github.com/repos/SeleniumHQ/selenium/issues/3264/events","html_url":"https://github.com/SeleniumHQ/selenium/pull/3264","id":196297807,"number":3264,"title":"Split Open/Read Timeouts, defaulting Http::Default open_timeout to nil","user":{"login":"richseviora","id":8601555,"avatar_url":"https://avatars.githubusercontent.com/u/8601555?v=3","gravatar_id":"","url":"https://api.github.com/users/richseviora","html_url":"https://github.com/richseviora","followers_url":"https://api.github.com/users/richseviora/followers","following_url":"https://api.github.com/users/richseviora/following{/other_user}","gists_url":"https://api.github.com/users/richseviora/gists{/gist_id}","starred_url":"https://api.github.com/users/richseviora/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/richseviora/subscriptions","organizations_url":"https://api.github.com/users/richseviora/orgs","repos_url":"https://api.github.com/users/richseviora/repos","events_url":"https://api.github.com/users/richseviora/events{/privacy}","received_events_url":"https://api.github.com/users/richseviora/received_events","type":"User","site_admin":false},"labels":[{"id":182503883,"url":"https://api.github.com/repos/SeleniumHQ/selenium/labels/C-rb","name":"C-rb","color":"fbca04","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2016-12-18T20:37:55Z","updated_at":"2016-12-19T01:22:10Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/SeleniumHQ/selenium/pulls/3264","html_url":"https://github.com/SeleniumHQ/selenium/pull/3264","diff_url":"https://github.com/SeleniumHQ/selenium/pull/3264.diff","patch_url":"https://github.com/SeleniumHQ/selenium/pull/3264.patch"},"body":"Ruby 2.3 changed `Net::HTTP#open_timeout` default from `nil` to `60`. As a result, debuggers that freeze the process (like RubyMine) timeout when evaluating browser operations. [Details here](https://youtrack.jetbrains.com/issue/RUBY-18301).\r\n\r\nThe following changes were made:\r\n- Split `Remote::HTTP::Common#timeout` accessor to `open_timeout` and `read_timeout`.\r\n- Added backwards compatibility for `#timeout=`.\r\n- Defaulted `Remote::HTTP::Default#http` open_timeout to nil (maintains behaviour w/ Ruby 2.2 and earlier).\r\n- Added specs for above.\r\n\r\n- [x] By placing an `X` in the preceding checkbox, I verify that I have signed the [Contributor License Agreement](https://github.com/SeleniumHQ/selenium/blob/master/CONTRIBUTING.md#step-6-sign-the-cla)\r\n"},"comment":{"url":"https://api.github.com/repos/SeleniumHQ/selenium/issues/comments/267862462","html_url":"https://github.com/SeleniumHQ/selenium/pull/3264#issuecomment-267862462","issue_url":"https://api.github.com/repos/SeleniumHQ/selenium/issues/3264","id":267862462,"user":{"login":"richseviora","id":8601555,"avatar_url":"https://avatars.githubusercontent.com/u/8601555?v=3","gravatar_id":"","url":"https://api.github.com/users/richseviora","html_url":"https://github.com/richseviora","followers_url":"https://api.github.com/users/richseviora/followers","following_url":"https://api.github.com/users/richseviora/following{/other_user}","gists_url":"https://api.github.com/users/richseviora/gists{/gist_id}","starred_url":"https://api.github.com/users/richseviora/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/richseviora/subscriptions","organizations_url":"https://api.github.com/users/richseviora/orgs","repos_url":"https://api.github.com/users/richseviora/repos","events_url":"https://api.github.com/users/richseviora/events{/privacy}","received_events_url":"https://api.github.com/users/richseviora/received_events","type":"User","site_admin":false},"created_at":"2016-12-19T01:22:10Z","updated_at":"2016-12-19T01:22:10Z","body":"Thanks! I'm glad you approve. This is my first change to a major OS project, so this is all rather new to me!\r\n\r\nRe: accessor vs instance variable setting, this is a habit I picked up from programming in C#. Their fields operate similarly to ruby instance variables, and there's a very strong best practice not to interact with fields directly for the reasons you've mentioned.\r\n\r\nI honestly don't have an opinion on whether to use `self.cat = dog` vs `@cat = dog` in constructors. \r\nThe argument for the former is that it preserves consistent handling of property settings regardless of whether it's set during initialization, or further down the road. However, the argument for the latter is that if the settor has outside effects, then those outside effects may cause problems during initialization when the object is not in a complete state. I've personally had that happen to me.\r\n\r\nSo maybe the answer is... depends? :smile:\r\n\r\nI'll push the amended changes shortly, and wait to hear back from yourself and @p0deje on the final changes."}}
{"actor":{"display_login":"richseviora"}}