/irc-logs / freenode / #whatwg / 2014-06-16 / end

Options:

  1. # Session Start: Mon Jun 16 00:00:00 2014
  2. # Session Ident: #whatwg
  3. # [00:24] * Joins: tantek (~tantek@ma32836d0.tmodns.net)
  4. # [00:26] * Joins: jarek (~jarek@unaffiliated/jarek)
  5. # [00:26] * Joins: barnabywalters (~barnabywa@89.17.128.127)
  6. # [00:28] * Quits: tantek (~tantek@ma32836d0.tmodns.net) (Ping timeout: 255 seconds)
  7. # [00:43] * Quits: barnabywalters (~barnabywa@89.17.128.127) (Quit: barnabywalters)
  8. # [00:58] <gsnedders> which of the encodings defined in Encoding are not ASCII-supersets?
  9. # [01:00] <caitp> ebcdic
  10. # [01:00] <gsnedders> caitp: is not in Encoding
  11. # [01:01] <caitp> i know
  12. # [01:01] <gsnedders> then it by definition is not an encoding defined in Encoding which is not an ASCII-supserset
  13. # [01:01] <caitp> anyways, it would be anything which doesn't have the "if it's less than 0x80, return it"
  14. # [01:02] <caitp> clause
  15. # [01:02] <caitp> with the exception of the utf16 stuff
  16. # [01:02] <gsnedders> and possibly some of the SBCSes, as at least ibm866 isn't
  17. # [01:02] <zewt> i don't recall there being any at all, ascii-compatibility is pretty fundamental
  18. # [01:03] <caitp> utf16be isn't really ascii-compatible
  19. # [01:03] <caitp> on a little endian system
  20. # [01:03] <gsnedders> no variant of UTF-16 is an ASCII-superset
  21. # [01:03] <zewt> it's not a multibyte encoding at all, double-byte encodings are a different world entirely
  22. # [01:04] <caitp> well, they are sort of
  23. # [01:04] <caitp> if the low byte is the first byte read, and you're skipping a byte for each character, and the code points are all below 0x80
  24. # [01:05] <zewt> oh yeah this http://krijnhoetmer.nl/irc-logs/whatwg/20111215#l-1034
  25. # [01:05] <zewt> hope was to get ibm866 dropped, no idea if anyone actually tried
  26. # [01:06] <zewt> caitp: "skipping a byte for each character" if you have to skip every other byte then ... that's not a superset of ASCII. heh
  27. # [01:06] <caitp> it is for the first character you read ;)
  28. # [01:07] <zewt> as ascii supports streams which are longer than one byte long, that's also not a superset of ASCII :0
  29. # [01:07] <zewt> )
  30. # [01:07] <caitp> ascii is a text encoding and has no concepts of streams
  31. # [01:08] <caitp> a single utf16 character can look like a null-terminated ascii string
  32. # [01:08] <zewt> not sure what this has to do with the fact that UTF-16 is in no possible conceivable contrived way a superset of ASCII, heh
  33. # [01:09] <caitp> it is, because unicode is a superset of ascii, codepoints 0x00-0x7F, followed by latin1 extensions to ascii, followed by the rest of the basic multilingual plane
  34. # [01:09] <zewt> encodings that are streams of 8-bit units (ascii, utf-8, sjis, most of them) are typically treated as separate concepts to ones that are streams of 16-bit units (utf-16, ucs-2) or 32-bit (ucs-4)
  35. # [01:10] <zewt> ... utf-16 is not a superset of ASCII. sorry, this is too silly a conversation for me to bother with
  36. # [01:10] <caitp> unicode is a superset of ASCII, and if you look at patterns of bytes, it's possible that you can't tell the difference between certain single-character UTF16 strings, and certain null-terminated ASCII strings
  37. # [01:12] <zewt> no. an encoding which is a superset of ASCII is one where the same string of codepoints ("hello"), encoded with both encodings, results in the same block of data.
  38. # [01:13] <caitp> nonsense, we're in agreement that utf16 bye definition contains codepoints represented by a minimum of 16 bits, but that does not mean that codepoints between 0x0000 and 0x0080 aren't supersets of ascii, and can't look identical to certain ascii strings
  39. # [01:13] <caitp> obviously that depends on arch and doesn't include multi-character strings, byte that's irrelevant
  40. # [01:16] <zewt> you seem to have a deep misunderstanding of what "superset of ascii" means; it does not mean "every sequence of bytes that is valid ASCII is also valid UTF-16", it means "every sequence of bytes that is valid ASCII *has the same interpretation* in UTF-16", which is obviously false
  41. # [01:16] <zewt> anyhow, going to do something else now :)
  42. # [01:17] <caitp> that's one definition of superset, but when you get down to patterns of bits, it's not the case
  43. # [01:17] <caitp> but regardless I agree it's not a super important discussion to have
  44. # [01:17] <caitp> nobody cares about utf16 =)
  45. # [01:18] <gsnedders> Plenty of people care about UTF-16 and it's used plenty
  46. # [01:20] <caitp> it's not really used in any serious capacity for interchange of data
  47. # [01:20] <gsnedders> Plenty of CJK sites use it
  48. # [01:21] * Joins: smaug____ (~chatzilla@cs78246079.pp.htv.fi)
  49. # [01:25] * Quits: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com) (Ping timeout: 244 seconds)
  50. # [01:25] * Quits: seventh (seventh@207-207-24-6.fwd.datafoundry.com) (Ping timeout: 255 seconds)
  51. # [01:32] * Joins: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com)
  52. # [01:39] * Joins: Rastus_Vernon (uid15187@wikimedia/Rastus-Vernon)
  53. # [01:44] * Quits: jarek (~jarek@unaffiliated/jarek) (Quit: jarek)
  54. # [01:46] * Quits: josemanuel (~josemanue@186.Red-79-147-198.dynamicIP.rima-tde.net) (Quit: Saliendo)
  55. # [01:58] * Joins: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com)
  56. # [01:59] * Quits: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com) (Remote host closed the connection)
  57. # [02:00] * Quits: weinig (~weinig@98.234.191.242) (Quit: weinig)
  58. # [02:13] * Joins: rxgx (uid22483@gateway/web/irccloud.com/x-oegkyagzlrqzunru)
  59. # [02:24] * Quits: JosephSilber (~Joseph@ool-44c3e80a.static.optonline.net) (Ping timeout: 264 seconds)
  60. # [02:25] * Quits: annevk (~annevk@77-57-114-66.dclient.hispeed.ch) (Ping timeout: 244 seconds)
  61. # [02:27] * Quits: KevinMarks (~yaaic@2607:fb90:50f:a9a8:6abe:12eb:144e:ce27) (Ping timeout: 240 seconds)
  62. # [02:27] * Quits: smaug____ (~chatzilla@cs78246079.pp.htv.fi) (Ping timeout: 240 seconds)
  63. # [02:32] * Joins: KevinMarks (~yaaic@2607:fb90:50f:a9a8:7878:7152:cf82:d30)
  64. # [02:32] * Joins: JosephSilber (~Joseph@ool-44c3e80a.static.optonline.net)
  65. # [02:38] * Quits: KevinMarks (~yaaic@2607:fb90:50f:a9a8:7878:7152:cf82:d30) (Ping timeout: 240 seconds)
  66. # [02:40] * Joins: KevinMarks (~yaaic@2607:fb90:2204:b427:8056:ba61:c03c:5098)
  67. # [02:42] * Joins: annevk (~annevk@77-57-114-66.dclient.hispeed.ch)
  68. # [02:43] * Quits: espadrine (~ttyl@AMontsouris-158-1-51-253.w92-128.abo.wanadoo.fr) (Ping timeout: 264 seconds)
  69. # [02:44] * Joins: bnicholson (~bnicholso@24.130.57.109)
  70. # [02:50] * Joins: jungkees (uid24208@gateway/web/irccloud.com/x-nxvwulexlopvcbno)
  71. # [02:55] * Joins: espadrine (~ttyl@AMontsouris-158-1-64-238.w92-128.abo.wanadoo.fr)
  72. # [02:59] * Joins: xiinotulp (~plutoniix@node-rvy.pool-180-180.dynamic.totbb.net)
  73. # [03:02] * Quits: plutoniix (~plutoniix@node-10tu.pool-180-180.dynamic.totbb.net) (Ping timeout: 240 seconds)
  74. # [03:05] * Joins: yutak (~yutak@2401:fa00:4:1000:26be:5ff:fe0d:e1d5)
  75. # [03:10] * Joins: kochi (~kochi@2401:fa00:4:1000:26be:5ff:fe03:db82)
  76. # [03:12] <caitp> nah, you're an ideographic or phonetic language, where you don't need two+ characters for every consonant and vowel, even with utf8 where your average cjk character is 3 bytes, it still doesnt make utf16 massive savings
  77. # [03:12] <caitp> whether it's used or not is besides the point, it's still not heavily used for interchange
  78. # [03:13] <caitp> we use it internally because it's slightly easier to work with, but for interchange it doesn't make a whole lot of sense
  79. # [03:13] <caitp> slightly bigger characters, but fewer characters used
  80. # [03:16] <caitp> i'd attribute the fact that actual documents use it more to the nature of tools than anything else
  81. # [03:21] <caitp> but it's not really a storage size win, it's not a network traffic performance win
  82. # [03:21] <caitp> not that any of it really matters a whole lot
  83. # [03:50] <MikeSmith> caitp: so I've been wondering how things will end up evolving with the big js mvc frameworks once web components actually becomes a cross-browser-implemented part of the platform
  84. # [03:51] <MikeSmith> if it ever does
  85. # [03:51] <caitp> well, we're hoping it does, but these frameworks aren't just about drawing pretty widgets
  86. # [03:51] <caitp> they're about application structure, right
  87. # [03:51] <MikeSmith> sure yeah I realize that
  88. # [03:52] <caitp> so I guess the thing that happens is, ideally, web components and other parts of the framework are easy to test, and it makes it nice and easy for us to help people structure applications, large and small
  89. # [03:52] <MikeSmith> it's not clear to me how much of, e.g., angular is handling the bits that web components does natively
  90. # [03:52] <MikeSmith> ok
  91. # [03:53] <caitp> s/framework/platform/
  92. # [03:53] * Quits: sak_to (~sak_to@24-52-206-247.cable.teksavvy.com) (Remote host closed the connection)
  93. # [03:55] <caitp> well, a good answer to that question is "look at the angular 2.0 prototype stuff", a big issue that they're dealing with is fitting the web component model into an application framework, IE fitting them into the dependency injection model, and making them aware of their surrounding DOM nodes
  94. # [03:55] <caitp> it's pretty interesting, and it's not a super easy problem to solve as web components exists currently
  95. # [03:56] <MikeSmith> so that's another question I had
  96. # [03:56] <MikeSmith> which is, what's lacking in web components as it exists currently
  97. # [03:57] <MikeSmith> I mean, what have you seen that angular could use that web components should ideally provide but doesn't yet
  98. # [03:58] <MikeSmith> I was thinking about this today after seeing abarth's message about his <marquee>-in-js implementation
  99. # [03:59] <MikeSmith> in particular https://groups.google.com/a/chromium.org/d/msg/blink-dev/sQndrT36l1A/b9fJoUK3RAUJ
  100. # [03:59] <MikeSmith> "There were a couple things that I couldn't implement correctly because they're magic pieces of the platform we haven't explained yet..."
  101. # [04:02] <caitp> I've been following that thread a bit, but I'm not sure of the magic necessary for marquee --- but I guess what we're dealing with is, custom elements are always instantiated asynchronously (as far as I'm aware), and you can't really do any magic like inject some parameters into their "constructors", if such a thing were to exist. the hack around it is to do the dependency injection logic in the attach callback
  102. # [04:03] <caitp> so in other words the platform doesn't enable that natively, and that's our mechanism for making controls aware of their relationship to the application
  103. # [04:03] <caitp> and the whole asynchronous "upgrading" of elements has other issues WRT testability, which I think have been raised with the test-the-web-forward people
  104. # [04:05] * Joins: Goplat (~goplat@reactos/developer/Goplat)
  105. # [04:06] <MikeSmith> as far as the testing issue goes, the subset of the test-the-web-forward people working on writing tests for web components and reviewing those tests are actually the same people from Google who implemented web components in blink
  106. # [04:07] <MikeSmith> so I think we're planning on them to also come up with some solution to any special testing issues it creates
  107. # [04:07] <caitp> i expect so
  108. # [04:09] * Joins: sak_to (~sak_to@24-52-206-247.cable.teksavvy.com)
  109. # [04:09] * Quits: sak_to (~sak_to@24-52-206-247.cable.teksavvy.com) (Remote host closed the connection)
  110. # [04:09] <caitp> there are some other things that are sort of frustrating, but I only really hear about it during meetings, since I'm working on other areas at the moment. might be some of it available in the meeting notes
  111. # [04:10] * Joins: sak_to (~sak_to@184.105.235.195)
  112. # [04:12] <caitp> yeah, looks like a lot of the discussion is recorded
  113. # [04:14] * Joins: karlcow (~karl@nerval.la-grange.net)
  114. # [04:16] <MikeSmith> caitp: I guess I'll trust that that folks from angular are getting the feedback to dglazkov and hayato and others working on the web-components implementations and specs
  115. # [04:17] <caitp> i've suggested it, but I don't know if it's getting there. have to ask dglazkov if he's heard anything
  116. # [04:17] * Joins: poona (~poona@117.202.122.145)
  117. # [04:17] * Quits: poona (~poona@117.202.122.145) (Changing host)
  118. # [04:17] * Joins: poona (~poona@unaffiliated/poona)
  119. # [04:24] * Joins: sak_to_ (~sak_to@24-52-206-247.cable.teksavvy.com)
  120. # [04:27] * Quits: sak_to (~sak_to@184.105.235.195) (Ping timeout: 244 seconds)
  121. # [04:34] * Quits: bnicholson (~bnicholso@24.130.57.109) (Remote host closed the connection)
  122. # [04:56] <abarth> MikeSmith: that's one of the reasons to use web components internally in the engine: you discover what's missing
  123. # [04:56] <abarth> MikeSmith: One thing I didn't mention on the list is I haven't figured out how to do inline event handlers properly
  124. # [04:57] <abarth> <marquee onbounce="...">Foo</marquee>
  125. # [04:57] <abarth> setting up the right JS environment for the ... is a bit subtle
  126. # [04:57] <MikeSmith> oh
  127. # [04:57] <abarth> the engine does that all the time, but it's not clear how to authors can do precisely the same thing
  128. # [04:57] <abarth> I think I've got the script version working right
  129. # [04:58] <abarth> foo.onbounce = ...
  130. # [04:58] <abarth> but the attribute version is subtly different
  131. # [04:58] <MikeSmith> it's cool to see these gaps getting exposed
  132. # [04:58] * Quits: montecfel (~montecfel@gateway/tor-sasl/montecfel) (Quit: montecfel)
  133. # [04:59] <MikeSmith> though I guess in the short term you'd just like to have a way to make it work
  134. # [05:01] <MikeSmith> also incidentally I guess this could be added to the list of reasons why inlining event handlers is not a best practice
  135. # [05:02] <abarth> I'm not really injecting much opinion
  136. # [05:02] <abarth> just trying to make thing A work the same way as thing B
  137. # [05:09] * Quits: sak_to_ (~sak_to@24-52-206-247.cable.teksavvy.com) (Remote host closed the connection)
  138. # [05:10] * Joins: sak_to (~sak_to@184.105.235.195)
  139. # [05:15] * Quits: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com) (Ping timeout: 244 seconds)
  140. # [05:18] * Joins: bholley (~bholley@98.210.101.88)
  141. # [05:27] * Quits: zaal (~zaal@cpc65346-nrwh11-2-0-cust48.4-4.cable.virginm.net) (Ping timeout: 264 seconds)
  142. # [05:33] * Quits: bholley (~bholley@98.210.101.88) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  143. # [05:49] * Joins: bholley (~bholley@98.210.101.88)
  144. # [05:58] * Quits: bholley (~bholley@98.210.101.88) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  145. # [06:02] * Joins: mven (~textual@ip68-104-38-84.lv.lv.cox.net)
  146. # [06:03] * Quits: mven (~textual@ip68-104-38-84.lv.lv.cox.net) (Max SendQ exceeded)
  147. # [06:04] * Joins: mven (~textual@ip68-104-38-84.lv.lv.cox.net)
  148. # [06:05] * Quits: mven (~textual@ip68-104-38-84.lv.lv.cox.net) (Client Quit)
  149. # [06:08] * Joins: mven (~textual@ip68-104-38-84.lv.lv.cox.net)
  150. # [06:16] * Joins: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com)
  151. # [06:18] * Joins: a-ja (~Instantbi@70.230.145.246)
  152. # [06:19] * Joins: roc (~chatzilla@121-99-139-9.bng1.tvc.orcon.net.nz)
  153. # [06:20] * Joins: bholley (~bholley@98.210.101.88)
  154. # [06:20] * Quits: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com) (Ping timeout: 244 seconds)
  155. # [06:32] * Quits: bholley (~bholley@98.210.101.88) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  156. # [06:47] * Quits: mven (~textual@ip68-104-38-84.lv.lv.cox.net) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  157. # [06:53] * Joins: mven (~textual@ip68-104-38-84.lv.lv.cox.net)
  158. # [06:57] * Joins: ricea (~ricea@2401:fa00:4:1000:b6b5:2fff:feca:47f8)
  159. # [06:58] * Quits: kochi (~kochi@2401:fa00:4:1000:26be:5ff:fe03:db82) (Remote host closed the connection)
  160. # [07:00] * Joins: BigBangUDR (~Thunderbi@220.225.242.27)
  161. # [07:02] * Joins: kochi (~kochi@2401:fa00:4:1000:26be:5ff:fe03:db82)
  162. # [07:09] * Joins: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com)
  163. # [07:10] * Quits: xiinotulp (~plutoniix@node-rvy.pool-180-180.dynamic.totbb.net) (Quit: จรลี จรลา)
  164. # [07:18] * Quits: scrollback (scrollback@conference/jsconf/x-arkbcghccshawyis) (Remote host closed the connection)
  165. # [07:19] * Joins: 7F1AADEMT (scrollback@conference/jsconf/x-lplqubfdukfpdpec)
  166. # [07:24] * Quits: 7F1AADEMT (scrollback@conference/jsconf/x-lplqubfdukfpdpec) (Remote host closed the connection)
  167. # [07:25] * Joins: scrollback (scrollback@conference/jsconf/x-nhsennvupzusmvzj)
  168. # [07:26] * Quits: Rastus_Vernon (uid15187@wikimedia/Rastus-Vernon) (Quit: Connection closed for inactivity)
  169. # [07:26] * Joins: sak_to_ (~sak_to@24-52-206-247.cable.teksavvy.com)
  170. # [07:29] * Quits: sak_to (~sak_to@184.105.235.195) (Ping timeout: 240 seconds)
  171. # [07:41] * Joins: zdobersek (~zan@109.201.154.176)
  172. # [07:56] * Quits: BigBangUDR (~Thunderbi@220.225.242.27) (Quit: BigBangUDR)
  173. # [07:57] * Joins: BigBangUDR (~Thunderbi@220.225.242.27)
  174. # [08:01] * Quits: sak_to_ (~sak_to@24-52-206-247.cable.teksavvy.com) (Remote host closed the connection)
  175. # [08:01] * Quits: globbot (~logbot@lump.glob.com.au) (Remote host closed the connection)
  176. # [08:01] * Joins: sak_to (~sak_to@24-52-206-247.cable.teksavvy.com)
  177. # [08:01] * Joins: globbot (~logbot@lump.glob.com.au)
  178. # [08:05] * Quits: sak_to (~sak_to@24-52-206-247.cable.teksavvy.com) (Ping timeout: 244 seconds)
  179. # [08:07] * Joins: BigBangU1 (~Thunderbi@220.225.242.27)
  180. # [08:08] * Quits: BigBangUDR (~Thunderbi@220.225.242.27) (Ping timeout: 244 seconds)
  181. # [08:08] * Quits: scrollback (scrollback@conference/jsconf/x-nhsennvupzusmvzj) (Remote host closed the connection)
  182. # [08:09] * Joins: 17SAAC7EF (scrollback@conference/jsconf/x-cschuyudcaflbkvp)
  183. # [08:10] <annevk> krit: ah okay, guess I have some time to read up on SVG then :-)
  184. # [08:10] * Joins: nicolasbadia (~nicolasba@78.209.78.103)
  185. # [08:11] * Quits: kinetik (~kinetik@121-98-135-7.bng1.nct.orcon.net.nz) (Quit: leaving)
  186. # [08:12] <annevk> gsnedders: utf-16 is the only encoding that's not ASCII-compatible
  187. # [08:13] * Joins: weinig (~weinig@98.234.191.242)
  188. # [08:14] * Joins: Streusel (~Anonymous@unaffiliated/streusel)
  189. # [08:14] * Quits: BigBangU1 (~Thunderbi@220.225.242.27) (Ping timeout: 264 seconds)
  190. # [08:15] * Joins: sak_to (~sak_to@24-52-206-247.cable.teksavvy.com)
  191. # [08:19] * Joins: BigBangUDR (~Thunderbi@220.225.242.27)
  192. # [08:22] * Quits: weinig (~weinig@98.234.191.242) (Quit: weinig)
  193. # [08:23] * Joins: a-ja1 (~Instantbi@70.230.145.120)
  194. # [08:23] * Quits: a-ja (~Instantbi@70.230.145.246) (Ping timeout: 240 seconds)
  195. # [08:26] * Quits: Goplat (~goplat@reactos/developer/Goplat) (Remote host closed the connection)
  196. # [08:38] <MikeSmith> hsivonen: about https://bugzilla.mozilla.org/show_bug.cgi?id=1024447#c12 I don't think the EME spec specifies the "keysystem" content attribute for the source element sufficiently, and it would be better to have it defined properly in the HTML spec -- provided that the attribute is actually suppored in UAs.
  197. # [08:38] <MikeSmith> hsivonen: I mean, for one thing, the relevant text in the EME spec reads in whole just, "The keysystem content attribute is added to HTMLSourceElement."
  198. # [08:39] * Quits: tomaw (tom@freenode/staff/tomaw) (Ping timeout: 610 seconds)
  199. # [08:39] * Quits: JosephSilber (~Joseph@ool-44c3e80a.static.optonline.net) (Ping timeout: 272 seconds)
  200. # [08:40] <annevk> MikeSmith: did you file a bug on that?
  201. # [08:40] <annevk> MikeSmith: you should really file bugs :-)
  202. # [08:40] <SamB> MikeSmith: what, no "TODO: flesh out"?
  203. # [08:40] * Joins: tomaw (tom@freenode/staff/tomaw)
  204. # [08:46] * Joins: markkes (~markkes@62.207.90.201)
  205. # [08:49] * Quits: KevinMarks (~yaaic@2607:fb90:2204:b427:8056:ba61:c03c:5098) (Ping timeout: 240 seconds)
  206. # [08:50] * Joins: KevinMarks (~yaaic@c-67-164-14-200.hsd1.ca.comcast.net)
  207. # [08:55] * Joins: mpt (~mpt@nat/canonical/x-ymaylrzqndrmxqle)
  208. # [08:55] * Quits: mpt (~mpt@nat/canonical/x-ymaylrzqndrmxqle) (Changing host)
  209. # [08:55] * Joins: mpt (~mpt@canonical/mpt)
  210. # [08:55] <annevk> JakeA: Headers is now defined in more detail
  211. # [08:55] * Joins: Guest6359 (~kvirc@158.148.7.59)
  212. # [09:00] <JakeA> annevk: cool. Will review in detail tomorrow. Stupid I/O deadline today.
  213. # [09:01] <annevk> JakeA: I'll mostly be working on SVG this week so that seems fine
  214. # [09:02] <annevk> JakeA: you already in SF?
  215. # [09:02] * Quits: sak_to (~sak_to@24-52-206-247.cable.teksavvy.com) (Remote host closed the connection)
  216. # [09:03] * Joins: sak_to (~sak_to@24-52-206-247.cable.teksavvy.com)
  217. # [09:06] <JakeA> annevk: nah, heading out on Friday
  218. # [09:07] * Joins: Ducki (~Ducki@137.116.197.171)
  219. # [09:08] * Quits: sak_to (~sak_to@24-52-206-247.cable.teksavvy.com) (Ping timeout: 255 seconds)
  220. # [09:09] * Quits: KevinMarks (~yaaic@c-67-164-14-200.hsd1.ca.comcast.net) (Ping timeout: 245 seconds)
  221. # [09:10] * Quits: rxgx (uid22483@gateway/web/irccloud.com/x-oegkyagzlrqzunru) (Quit: Connection closed for inactivity)
  222. # [09:10] * Joins: KevinMarks (~yaaic@2607:fb90:2207:4d65:547b:63f2:9f85:cf9c)
  223. # [09:11] * Parts: a-ja1 (~Instantbi@70.230.145.120)
  224. # [09:14] * Quits: kochi (~kochi@2401:fa00:4:1000:26be:5ff:fe03:db82) (Remote host closed the connection)
  225. # [09:17] * Joins: kochi (~kochi@2401:fa00:4:1000:26be:5ff:fe03:db82)
  226. # [09:17] * Joins: kochi1 (~kochi@2401:fa00:4:1000:26be:5ff:fe03:db82)
  227. # [09:20] * Joins: davve (~user@83.218.67.123)
  228. # [09:21] * Joins: cheron (~cheron@unaffiliated/cheron)
  229. # [09:28] * Joins: sak_to (~sak_to@24-52-206-247.cable.teksavvy.com)
  230. # [09:32] * Quits: sak_to (~sak_to@24-52-206-247.cable.teksavvy.com) (Ping timeout: 245 seconds)
  231. # [09:34] * annevk finds out jungkees has been busy
  232. # [09:51] * Joins: sankha93 (uid12218@fsf/emeritus/sankha93)
  233. # [09:51] <mathiasbynens> zcorpan: you called it! (re: DnD/picture)
  234. # [09:56] * Joins: ianchak (~quassel@94-21-177-142.pool.digikabel.hu)
  235. # [09:59] * Joins: sak_to (~sak_to@24-52-206-247.cable.teksavvy.com)
  236. # [10:03] * Quits: sak_to (~sak_to@24-52-206-247.cable.teksavvy.com) (Ping timeout: 264 seconds)
  237. # [10:03] * Joins: sicking (~sicking@118-163-10-190.HINET-IP.hinet.net)
  238. # [10:10] <zcorpan> mathiasbynens: what do you mean?
  239. # [10:10] * Quits: Streusel (~Anonymous@unaffiliated/streusel) (Quit: Computer has gone to sleep.)
  240. # [10:14] <jungkees> annevk: https://github.com/slightlyoff/ServiceWorker/issues/235
  241. # [10:15] <jungkees> annevk: with this particular thread, what should be fixed more?
  242. # [10:17] <annevk> jungkees: looking at https://slightlyoff.github.io/ServiceWorker/spec/service_worker/#default-method
  243. # [10:17] <annevk> jungkees: step 3.2 needs to be removed
  244. # [10:18] <annevk> jungkees: if response is a network error you need to reject with a TypeError
  245. # [10:18] <annevk> jungkees: and you need to explain how this relates to the overall lifecycle
  246. # [10:22] * Quits: karlcow (~karl@nerval.la-grange.net) (Quit: :tiuQ tiuq sah woclrak)
  247. # [10:22] * Joins: richt (~richt@83.218.67.123)
  248. # [10:24] <jungkees> annevk: alright
  249. # [10:29] * Joins: karlcow (~karl@nerval.la-grange.net)
  250. # [10:31] <annevk> jungkees: I think the spec still does not do a great job of explaining the overall model and how all the various pieces interact with it
  251. # [10:32] <annevk> jungkees: e.g. what is .default() plugging into that makes "handle a fetch" return the correct thing?
  252. # [10:33] <jungkees> annevk: will add them after sorting out the hooks to Fetch this week
  253. # [10:34] * Joins: SteveF (~chatzilla@cpc3-nmal20-2-0-cust916.19-2.cable.virginm.net)
  254. # [10:34] <annevk> jungkees: ah yeah, Nikhil opened an issue for that
  255. # [10:35] * Quits: sicking (~sicking@118-163-10-190.HINET-IP.hinet.net) (Quit: sicking)
  256. # [10:37] <jungkees> annevk: I'll add informal sections to explain the overall hook model and the use of fetch API in SW context xref to Fetch esp. Request/Response/Fetch part
  257. # [10:38] <annevk> jungkees: I'm not talking non-normative
  258. # [10:38] <annevk> jungkees: my concern is with the normative model
  259. # [10:38] <annevk> jungkees: the current setup is not sufficient
  260. # [10:39] <mathiasbynens> zcorpan: i assumed it would be simple & a no-brainer but you realized logic doesn’t necessarily apply in the world of Web Standards
  261. # [10:39] <jungkees> annevk: as I'll remove the Request/Response interfaces from SW
  262. # [10:39] <zcorpan> mathiasbynens: ah. yeah
  263. # [10:39] * Joins: smaug____ (~chatzilla@cs78246079.pp.htv.fi)
  264. # [10:40] * Joins: sicking (~sicking@118-163-10-190.HINET-IP.hinet.net)
  265. # [10:53] * Quits: Lachy (~Lachy@cm-84.215.104.248.getinternet.no) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  266. # [11:00] * Joins: sak_to (~sak_to@24-52-206-247.cable.teksavvy.com)
  267. # [11:02] * Joins: adactio (~adactio@212.42.170.121)
  268. # [11:05] * Quits: sak_to (~sak_to@24-52-206-247.cable.teksavvy.com) (Ping timeout: 272 seconds)
  269. # [11:17] * Joins: zaal (~zaal@cpc65346-nrwh11-2-0-cust48.4-4.cable.virginm.net)
  270. # [11:22] <krit> annevk: am back… back online
  271. # [11:24] <krit> zcorpan: hi. I uploaded a couple of DOMRect,DOMPoint and DOMQuad tests. If you have time, please review them. https://github.com/w3c/csswg-test/pulls #551-#553
  272. # [11:24] <zcorpan> krit: ok nice
  273. # [11:26] <annevk> krit: okay, how to best do this?
  274. # [11:26] <smaug____> heycam: would you need some ["foo", "bar"] defaults values for the dictionary/eventinit ?
  275. # [11:26] <annevk> krit: it seems your best bet is assuming the model HTML has outlined
  276. # [11:26] <krit> annevk: we could switch to #svg on w3c irc server… it is recorded as well IIRC
  277. # [11:27] <krit> annevk: we can discuss it here. Just not sure if we produce to much noise
  278. # [11:27] <annevk> krit: here is fine, this channel is known to be noisy
  279. # [11:27] <krit> annevk: ok
  280. # [11:28] <krit> annevk: agree that we should start from the HTML model
  281. # [11:28] <krit> annevk: For standalone SVG’s the model should be identical
  282. # [11:28] <krit> annevk: not much different to inline SVG
  283. # [11:28] <annevk> krit: given that, it's not clear why https://svgwg.org/specs/integration/ is needed, it seems the text should just be in https://svgwg.org/svg2-draft/
  284. # [11:29] <krit> annevk: Problem comes with fetching further resources… more specifically, SVG as fetch resource
  285. # [11:29] <krit> annevk: I think the SVG WG wanted to produce an anchor for specs using SVG
  286. # [11:30] <krit> annevk: something light weighted that provides all reference modes
  287. # [11:30] <krit> annevk: also, it would apply to all SVG specs, regardless of the version W3C status as REC and so on
  288. # [11:31] <annevk> krit: I think that's the wrong way to think about SVG. The way I see it is that we have some new elements (elements in the SVG namespace) and a special processing mode for XML with an "image/svg+xml" MIME type loaded as image
  289. # [11:31] <krit> annevk: I think for the security model, the WG would be open to put it back to SVG2.
  290. # [11:32] <krit> annevk: that doesn’t seem to be the biggest issue :)
  291. # [11:32] <annevk> krit: so you'd need to define the processing model for these new elements and you need to define a special algorithm for the "image" case that disables scripting and such
  292. # [11:33] <krit> annevk: there might be more modes…. SVG OpenType fonts could have a different set
  293. # [11:33] <annevk> krit: fair, that might be a third
  294. # [11:33] <annevk> krit: although I think fonts and images have roughly similar security characteristics
  295. # [11:33] <krit> annevk: At least for SVG images and SVG external resources (<pattern>, <filter>) we already agreed on the same policy
  296. # [11:34] <krit> annevk: agree, just that SVG as font gets context information to color the font
  297. # [11:34] <krit> annevk: but I am fine with keeping SVG as font as a special case that we handle later.
  298. # [11:35] * Quits: karlcow (~karl@nerval.la-grange.net) (Ping timeout: 240 seconds)
  299. # [11:35] <krit> annevk: so far there is just one implementer willing to implement SVG OpenType fonts
  300. # [11:36] <krit> annevk: back to SVG as document and SVG as image/svg+xml
  301. # [11:36] <annevk> krit: https://etherpad.mozilla.org/fixing-svg-processing
  302. # [11:39] <annevk> krit: so <svg:image> is like <img> these days?
  303. # [11:39] <krit> annevk: it ought to be
  304. # [11:39] <annevk> krit: if it loads SVG that SVG cannot execute script?
  305. # [11:39] <annevk> krit: sounds good
  306. # [11:39] <krit> annevk: still need to add cross origin attribute
  307. # [11:39] <krit> annevk: yes, same model as <img>
  308. # [11:40] <annevk> krit: that's fine, as long as the security model is equivalent
  309. # [11:41] <annevk> krit: do you know why CSS was seen as a risk? is it the fetching?
  310. # [11:41] * Joins: Lachy (~Lachy@213.166.174.2)
  311. # [11:41] <krit> annevk: the WebAppsSec WG wanted to disable styling in general… they feared that some data could be used to trick the user
  312. # [11:41] <krit> annevk: example is coloring the image dependent on viewport size
  313. # [11:42] <krit> annevk: by using media queries and selectors
  314. # [11:42] <annevk> krit: ah okay, so the attack vector would be anything that can read from the environment
  315. # [11:42] <krit> annevk: that was the strongest argument, yes
  316. # [11:43] <krit> annevk: while “read” does not mean that the attacker can read
  317. # [11:43] <annevk> hmm yeah, need better word
  318. # [11:43] <krit> annevk: just a different display behavior dependent on context
  319. # [11:44] <annevk> krit: so https://svgwg.org/svg2-draft/linking.html#processingIRI has a long list of things that can fetch
  320. # [11:45] <krit> annevk: let me check if it is accurate
  321. # [11:45] <annevk> krit: for each of those we need to figure out what happens with the resources retrieved
  322. # [11:46] <krit> annevk: a view elements can’t anymore: mask, filter.. otherwise correct
  323. # [11:46] <annevk> few?
  324. # [11:46] <krit> annevk: yes :)
  325. # [11:47] <krit> annevk: I think with the exception of script, a, (cursor?) the policy can be the same for all elements
  326. # [11:47] <annevk> krit: can they all reference externally too?
  327. # [11:47] <krit> annevk: yes
  328. # [11:47] <annevk> krit: but they're a bit different from the SVG as image case right?
  329. # [11:48] <krit> annevk: I don’t think so...
  330. # [11:48] <krit> annevk: actually they can'y
  331. # [11:48] <krit> t
  332. # [11:48] <annevk> krit: you basically extract some elements to act as a paint server or some such?
  333. # [11:48] <krit> annevk: they must be treated the same
  334. # [11:49] <krit> annevk: <use>, <text> and a couple of other elements reference elements for drawing, other elements are pain sources…. to differ here is not necessary
  335. # [11:49] <krit> s/pain/paint/
  336. # [11:49] <annevk> well it seems good to make a difference since you'd invoke different algorithms
  337. # [11:50] <krit> annevk: in this case there are 4:
  338. # [11:50] <annevk> one is draw an image given a response object and some height/width criterea
  339. # [11:50] <annevk> the others would be not that :)
  340. # [11:50] <krit> annevk: image, as paint source(gradients patterns), as operator (mask, clipPath, filter)
  341. # [11:51] <krit> annevk: and referenced (external) elements that are drawn in the context of the current document
  342. # [11:51] <krit> annevk: example for the last: <use xlink:href=“other.svg#path/>
  343. # [11:51] <krit> annevk: A <path> element is “copied” from the document other.svg and added in the place of <use>
  344. # [11:52] <annevk> krit: but you don't actually change the DOM, correct?
  345. # [11:52] <annevk> krit: this is some kind of shadow DOM thingy?
  346. # [11:52] <krit> annevk: no, it is implemented with shadow DOM
  347. # [11:52] <krit> annevk: right
  348. # [11:52] <annevk> same-origin restriction?
  349. # [11:53] <krit> annevk: none defined yet
  350. # [11:53] <krit> annevk: part of the new security model :)
  351. # [11:53] <annevk> do scripts execute?
  352. # [11:53] <annevk> I see
  353. # [11:53] <annevk> please start calling it processing model ;)
  354. # [11:53] <annevk> security is just one aspect of the many things that are not defined here :)
  355. # [11:53] <krit> annevk: that was brought up recently : <use xlink:href=“other.svg#g”/> that references <g><script></script></g>
  356. # [11:54] <krit> annevk: and it is not executed
  357. # [11:54] * Quits: sicking (~sicking@118-163-10-190.HINET-IP.hinet.net) (Quit: sicking)
  358. # [11:54] <annevk> okay, so potentially less volatile than HTML imports
  359. # [11:54] <krit> annevk: if implemented correctly :)
  360. # [11:54] * Joins: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com)
  361. # [11:56] <annevk> krit: does <use> have an object model?
  362. # [11:56] <krit> annevk: it was removed
  363. # [11:57] <annevk> krit: what about hit testing on <use> does that return the <use> element?
  364. # [11:57] <krit> annevk: so hit testing applies in general to <use>… do you mean event handlers?
  365. # [11:58] <annevk> krit: what would elementFromPoint() return?
  366. # [11:58] <krit> annevk: something like onmouseover may apply… need to check
  367. # [11:58] <annevk> krit: but yes, event handlers, :hover, etc.
  368. # [11:58] <annevk> krit: note that hit testing can return different things depending on who is asking
  369. # [11:58] <krit> annevk: elementFromPoint would not go into the <use> tree
  370. # [11:58] <annevk> krit: hit testing not being defined is of course problematic for that...
  371. # [11:59] * Quits: Kolombiken1 (~Adium@94.137.124.2) (Quit: Leaving.)
  372. # [11:59] <krit> annevk: there are no restrictions to hit testing for <use>… think that is defined
  373. # [11:59] * Quits: mpt (~mpt@canonical/mpt) (Ping timeout: 245 seconds)
  374. # [11:59] * Joins: sak_to (~sak_to@24-52-206-247.cable.teksavvy.com)
  375. # [12:00] <krit> annevk: “The event handling for the non-exposed tree works as if the referenced element had been textually included as a deeply cloned child of the ‘use’ element, and events are dispatched according to the shadow tree event dispatching algorithm [SHADOWDOM]."
  376. # [12:02] <annevk> krit: so basically this is defined in terms of shadow DOM, except shadow DOM does not actually provide encapsulation at the moment
  377. # [12:02] <annevk> krit: only Chrome has such a thing
  378. # [12:02] <krit> annevk: yes
  379. # [12:03] <annevk> mkay, I guess you guys can clean that up at some point, hit testing should prolly follow from that
  380. # [12:03] <krit> annevk: is there an example in HTML?
  381. # [12:03] <krit> annevk: how HTML defines hit testing?
  382. # [12:04] <annevk> krit: nobody defines hit testing
  383. # [12:04] <annevk> krit: it's a big problem
  384. # [12:04] <krit> annevk: that sounds like a meme
  385. # [12:04] * Quits: sak_to (~sak_to@24-52-206-247.cable.teksavvy.com) (Ping timeout: 252 seconds)
  386. # [12:04] <annevk> might be something about anne and being a broken record on hit testing
  387. # [12:08] <annevk> krit: so is <use> non-isolated or isolated?
  388. # [12:09] <krit> annevk: not isolated for styling, isolated for DOM
  389. # [12:09] <annevk> hmm
  390. # [12:10] <krit> annevk: hooking up <use> on shadow DOM is new… there might potentially be changes
  391. # [12:10] <annevk> krit: so <use> fetches a resources, parses it as XML, then locates node by ID and deepclones it into the shadow tree?
  392. # [12:11] <annevk> krit: and when it parsers it does so with scripting disabled
  393. # [12:11] * Joins: mpt (~mpt@canonical/mpt)
  394. # [12:12] <krit> annevk: so, what happens in implementations is that we fetch the document and run it though the parser… then we look for the id and deep clone it (some implementations just create the render tree)
  395. # [12:12] <krit> if you just create the render tree, you exclude Scripting already
  396. # [12:13] <annevk> well the render tree is created from the shadow tree
  397. # [12:13] <annevk> and the parser is what executes script
  398. # [12:16] <krit> annevk: animations can not be disables=d by author ATM. This is one problem with Canvas’s drawImage() “first frame” doesn’t really apply for SVG… in this case the UA indeed disables the animation
  399. # [12:17] <annevk> okay
  400. # [12:18] <annevk> krit: "(result of rendering to a bitmap or something else?)" is about how we'd define it; how it's implemented is immaterial
  401. # [12:18] * Joins: sicking (~sicking@118-163-10-190.HINET-IP.hinet.net)
  402. # [12:19] <krit> annevk: ok, defining it by bitmap is the easiest
  403. # [12:19] * Quits: Guest6359 (~kvirc@158.148.7.59) (Ping timeout: 246 seconds)
  404. # [12:19] <krit> annevk: (resolution depends on the device of course)
  405. # [12:23] <krit> annevk: xref == xlink:href ?
  406. # [12:23] <annevk> krit: cross-reference
  407. # [12:23] <krit> annevk: makes sense :P
  408. # [12:23] * Quits: sicking (~sicking@118-163-10-190.HINET-IP.hinet.net) (Ping timeout: 272 seconds)
  409. # [12:25] <krit> annevk: beside elementFromPoint() we have CSSOM calls like getClientsRect() and so on… which of course don’t look into the shadow tree
  410. # [12:25] <krit> annevk: not sure if there is a common expression for these kind of interfaces
  411. # [12:26] <annevk> krit: layout APIs?
  412. # [12:26] <krit> annevk: maybe
  413. # [12:26] <annevk> krit: render tree APIs I suppose, as they operate on that
  414. # [12:26] <krit> annevk: basically all APIs in http://dev.w3.org/csswg/cssom-view/ :P
  415. # [12:27] * Joins: sicking (~sicking@118-163-10-190.HINET-IP.hinet.net)
  416. # [12:28] <krit> annevk: CSS WG refuses to deifne render tree. so layout actually sounds good
  417. # [12:29] <annevk> krit: is there anything in particular with getClientsRect()?
  418. # [12:29] <annevk> krit: it seems if you use it on <use> it would reveal the render size of the shadow tree?
  419. # [12:31] <krit> annevk: <use> it would
  420. # [12:31] <krit> annevk: *it would
  421. # [12:31] <annevk> krit: seems like <use> should be same-origin / CORS
  422. # [12:31] <krit> annevk: yes… it is in Firefox
  423. # [12:32] * Joins: charl_ (~charl@maidcafe.nl)
  424. # [12:32] <krit> annevk: In FF the same for paint sources and operators
  425. # [12:33] <krit> annevk: And it shouldn’t be a problem to add this requirement in the spec. External references are just implemented in Firefox so far.
  426. # [12:33] <krit> annevk: and Opera <= 12
  427. # [12:33] <annevk> krit: I remember there was a problem with CSS and SVG together?
  428. # [12:34] <annevk> krit: where for CSS we did not want to have that restriction and so we ended up making the distinction through fragment identifiers?
  429. # [12:34] <krit> annevk: you probably mean the mask-image: url() problem, where url() can reference an image or an SVG resource?
  430. # [12:35] * Joins: montecfel (~montecfel@gateway/tor-sasl/montecfel)
  431. # [12:35] <krit> annevk: well, we went away from present fragment switching and required the same policies for both
  432. # [12:35] <krit> annevk: this indeed seems critical with same origin requirement for SVG resources :/
  433. # [12:36] <annevk> krit: okay, so if that's always same-origin that's great
  434. # [12:36] <krit> annevk: hm… need to think about it
  435. # [12:36] * Joins: Kolombiken (~Adium@gateway.creuna.se)
  436. # [12:36] <krit> annevk: well, for use definitely
  437. # [12:36] <krit> annevk: for paint sources/operators maybe not so much because if the url() CSS function issue
  438. # [12:36] <krit> s/if/of/
  439. # [12:37] <annevk> I think I remember what I proposed to roc
  440. # [12:37] <krit> annevk: Ah! FF added the restriction because the resource was allowed to fetch more data
  441. # [12:37] <krit> annevk: IIRC
  442. # [12:38] <krit> annevk: and with the new model, operators and paint sources are not allowed to fetch anything no matter what
  443. # [12:38] <annevk> That we would make the cross-origin fetch, but if the resulting document was SVG, we would treat it as an error
  444. # [12:39] <annevk> krit: I thought you could still do some amount of discovery based on what gets masked on the page
  445. # [12:39] <krit> annevk: for clipPath yes, it affects hit testing
  446. # [12:39] <krit> annevk: that wasn’t seen as issue by the CSS WG when I brought it up
  447. # [12:40] <annevk> krit: yeah, so I'm thinking that blocking tainted SVG is probably the way to go (while allowing tainted images)
  448. # [12:40] <annevk> I'm not sure the CSS WG is the best place for security issues
  449. # [12:40] <annevk> It's not like CSS' processing model is very clear
  450. # [12:41] <krit> annevk: well, atm implementations fetch resources with certain policies… there is no checking for further policies after fetching
  451. # [12:41] <annevk> I'm not sure what that means
  452. # [12:42] <krit> annevk: you fetch a resource with same origin requirement, or you fetch it without any requirements… (to make it simple just the two cases)
  453. # [12:42] <annevk> sure
  454. # [12:42] <krit> annevk: once the implementation has the resource, it is assumed that everything is ok IIRC
  455. # [12:42] <annevk> but you can make a check once you get something back to see whether you want it
  456. # [12:42] <annevk> similarly to doing a content-type check as we sometimes do
  457. # [12:42] <krit> annevk: so if we fetch SVG without policies… then we do not check it a second time
  458. # [12:42] <annevk> yes, but we could, to make this work
  459. # [12:42] <krit> annevk: but do we do that today?
  460. # [12:43] <annevk> without the ridiculous check the url's fragment nonsense
  461. # [12:43] <krit> annevk: I mean somewhere?
  462. # [12:43] * Quits: sicking (~sicking@118-163-10-190.HINET-IP.hinet.net) (Quit: sicking)
  463. # [12:43] <annevk> well, SVG introduced this image or SVG problem
  464. # [12:43] <krit> annevk: true
  465. # [12:44] <annevk> and the way it was initially solved was by trying to distinguish them upfront by checking if the url had a fragment
  466. # [12:44] <annevk> which is broken
  467. # [12:44] <krit> annevk: yes
  468. # [12:44] <annevk> so either we create separate properties for the two cases or we distinguish after the fetch
  469. # [12:45] <annevk> and if you distinguish after the fetch between image and SVG, you can still discard one or the other if there's a problem
  470. # [12:45] <annevk> such as the response being tainted and being SVG
  471. # [12:45] <krit> annevk: to step back… masking does affect the visual output but does not contribute to hit testing
  472. # [12:45] <krit> annevk: it is just clip-path which does it
  473. # [12:45] <krit> annevk: so maybe we can limit it to clip-path only?
  474. # [12:46] <krit> annevk: clip-path property does not fetch images
  475. # [12:46] <annevk> my memory of the public-fx thread was that this was bigger
  476. # [12:46] <krit> annevk: bigger?
  477. # [12:47] * Joins: sak_to (~sak_to@24-52-206-247.cable.teksavvy.com)
  478. # [12:48] <annevk> krit: http://lists.w3.org/Archives/Public/public-fx/2013AprJun/0046.html
  479. # [12:48] <krit> annevk: there is just one thing that could be exposed: rendering time… it take more time to render a mask than no mask
  480. # [12:48] <krit> annevk: so it could have affect on rAF
  481. # [12:48] <annevk> was about mask
  482. # [12:49] <annevk> http://lists.w3.org/Archives/Public/public-fx/2013AprJun/0021.html
  483. # [12:51] <krit> annevk: the first link still assumes that the document with the <mask> element can reference images from the same origin… which we don’t allow anymroe
  484. # [12:51] <krit> annevk: it must be in the document itself… no fetching
  485. # [12:52] <annevk> krit: so if you put a data URL there it'll always fail?
  486. # [12:53] <krit> annevk: dataURLs do not fetch by default, do they? they could have elements within that would try to fetch… which always fails.
  487. # [12:55] <annevk> krit: okay, I guess I see what you meant with respect to <mask>, you guys changed the model to be as "SVG as image" since that email exchange and now you think you can allow tainted responses
  488. # [12:55] <annevk> krit: does Firefox no longer do special casing for fragments then?
  489. # [12:55] <krit> annevk: hehe, right
  490. # [12:55] <krit> annevk: I don’t think it ever did?
  491. # [12:56] <krit> annevk: mask still just allows SVG resource in Gecko
  492. # [12:56] <annevk> okay, so it might be same-origin restricted at the moment?
  493. # [12:56] <krit> annevk: I think it is ATM
  494. # [12:58] <annevk> krit: okay, I want to take a break for a bit; I guess when we come back we should enumerate all the places that fetch
  495. # [12:59] <krit> annevk: ok, will be here
  496. # [12:59] <annevk> krit: prolly hour and a bit
  497. # [13:00] <krit> annevk: ok, thanks for looking into this!
  498. # [13:03] * Joins: laurensclaessen (~laurenscl@91.183.84.141)
  499. # [13:03] * Quits: laurensclaessen (~laurenscl@91.183.84.141) (Remote host closed the connection)
  500. # [13:03] * Joins: laurensclaessen (~laurenscl@91.183.84.141)
  501. # [13:08] * Quits: laurensclaessen (~laurenscl@91.183.84.141) (Client Quit)
  502. # [13:08] * Joins: laurensclaessen (~laurenscl@91.183.84.141)
  503. # [13:09] * Joins: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com)
  504. # [13:16] * Quits: smaug____ (~chatzilla@cs78246079.pp.htv.fi) (Ping timeout: 240 seconds)
  505. # [13:19] * Joins: tantek (~tantek@c-24-118-60-123.hsd1.mn.comcast.net)
  506. # [13:25] * Quits: BigBangUDR (~Thunderbi@220.225.242.27) (Quit: BigBangUDR)
  507. # [13:26] * Joins: plutoniix (~plutoniix@node-rvy.pool-180-180.dynamic.totbb.net)
  508. # [13:27] * Quits: tantek (~tantek@c-24-118-60-123.hsd1.mn.comcast.net) (Quit: tantek)
  509. # [13:39] * Quits: sak_to (~sak_to@24-52-206-247.cable.teksavvy.com) (Remote host closed the connection)
  510. # [13:40] * Joins: sak_to (~sak_to@24-52-206-247.cable.teksavvy.com)
  511. # [13:44] * Quits: sak_to (~sak_to@24-52-206-247.cable.teksavvy.com) (Ping timeout: 240 seconds)
  512. # [13:47] * Joins: Ms2ger (~Ms2ger@48.205-242-81.adsl-dyn.isp.belgacom.be)
  513. # [13:58] * Quits: ianchak (~quassel@94-21-177-142.pool.digikabel.hu) (Ping timeout: 245 seconds)
  514. # [14:03] * Quits: laurensclaessen (~laurenscl@91.183.84.141) (Remote host closed the connection)
  515. # [14:08] * Quits: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com) (Ping timeout: 244 seconds)
  516. # [14:14] * Joins: newtron_ (~newtron@76-10-135-135.dsl.teksavvy.com)
  517. # [14:17] * Joins: laurensclaessen (~laurenscl@91.183.84.141)
  518. # [14:21] * Joins: tj_vantoll (~Adium@2601:4:5380:eba:685e:17c7:fd5c:59ba)
  519. # [14:23] * Joins: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com)
  520. # [14:25] <annevk> krit: https://svgwg.org/ Streaming Draft link is broken
  521. # [14:26] <krit> annevk: doesn’t work for me too
  522. # [14:27] * Quits: nicolasbadia (~nicolasba@78.209.78.103) (Ping timeout: 240 seconds)
  523. # [14:28] <krit> annevk: very strange, it is in the repository
  524. # [14:29] * Joins: nicolasbadia (~nicolasba@78.209.78.103)
  525. # [14:30] <krit> annevk: reported it to heycam, all I can do at the moment
  526. # [14:30] <annevk> krit: k
  527. # [14:30] <annevk> krit: https://etherpad.mozilla.org/fixing-svg-processing
  528. # [14:30] <annevk> krit: trying to complete the list of elements that fetch
  529. # [14:31] <annevk> krit: then I guess we can collect them into buckets somehow
  530. # [14:35] * Quits: Lachy (~Lachy@213.166.174.2) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  531. # [14:40] <annevk> krit: <style> does external references right?
  532. # [14:40] <krit> annevk: yes
  533. # [14:41] <krit> oh
  534. # [14:41] <krit> mistaken
  535. # [14:41] <annevk> krit: so can <cursor> be defined in terms of 'cursor'?
  536. # [14:41] * Joins: harig (~harig@49.200.116.10)
  537. # [14:41] <annevk> krit: as in, it might be good to remove the elements that can be described in terms of CSS
  538. # [14:42] * Joins: sak_to (~sak_to@fifthlight-140-202.cust.b2b2c.ca)
  539. # [14:42] <krit> annevk: old content might use it, but let me bring it up to SVG WG conf
  540. # [14:42] <annevk> krit: I mean spec-wise
  541. # [14:43] <annevk> krit: e.g. HTML defines <font> in terms of CSS
  542. # [14:43] <krit> annevk: needed to check, but yes
  543. # [14:44] <krit> annevk: cursor property might even be more powerful
  544. # [14:45] * Quits: sak_to (~sak_to@fifthlight-140-202.cust.b2b2c.ca) (Remote host closed the connection)
  545. # [14:45] <annevk> krit: is the same true for other elements?
  546. # [14:45] <krit> annevk: looks like SVG has <cursor> to get the cursor position
  547. # [14:45] <annevk> o_O
  548. # [14:45] <krit> annevk: we have <font> in SVG which is the treated the same as in HTML
  549. # [14:45] * Joins: sak_to (~sak_to@fifthlight-140-202.cust.b2b2c.ca)
  550. # [14:46] * Quits: sak_to (~sak_to@fifthlight-140-202.cust.b2b2c.ca) (Read error: Connection reset by peer)
  551. # [14:46] <annevk> krit: <cursor> does not seem to be about getting the cursor position
  552. # [14:46] * Joins: sak_to (~sak_to@fifthlight-140-202.cust.b2b2c.ca)
  553. # [14:46] <krit> annevk: the x and y attributes are described about that + cursor image of course
  554. # [14:46] <annevk> yes
  555. # [14:46] <krit> http://www.w3.org/TR/SVG/interact.html#CursorElement
  556. # [14:47] <annevk> no, x and y are about where the image is to be placed relative to the mouse pointer
  557. # [14:47] <annevk> krit: see http://dev.w3.org/csswg/css-ui/#cursor
  558. # [14:49] <krit> annevk: for the property yes, but the SVG text implies otherwise
  559. # [14:49] <annevk> krit: that seems like one of the SVG's many bugs
  560. # [14:49] * Joins: tantek (~tantek@172.56.13.248)
  561. # [14:50] <hsivonen> MikeSmith: moving the keysystem attribute from EME to the HTML spec is a whole can of worms politically
  562. # [14:50] <annevk> because it doesn't actually make sense
  563. # [14:51] <krit> annevk: not even sure if we implement it in WebKit/Blink
  564. # [14:51] <hsivonen> MikeSmith: I'd rather have it better defined in EME itself as a first step
  565. # [14:52] <annevk> krit: can <feImage> be expressed in CSS?
  566. # [14:52] * Joins: Lachy (~Lachy@213.166.174.2)
  567. # [14:52] * Joins: barnabywalters (~barnabywa@46-239-239-203.tal.is)
  568. # [14:54] <krit> annevk: it does the same as <image> with the exception that it can reference an element
  569. # [14:54] * Quits: nicolasbadia (~nicolasba@78.209.78.103) (Ping timeout: 272 seconds)
  570. # [14:54] * Quits: tantek (~tantek@172.56.13.248) (Ping timeout: 245 seconds)
  571. # [14:54] <krit> annevk: which is than drawn in an offscreen buffer
  572. # [14:54] <krit> annevk: (maybe <image> can do the same? unsure)
  573. # [14:54] <annevk> is that observable somehow?
  574. # [14:55] <krit> annevk: observable how?
  575. # [14:56] <krit> annevk: I mean what do you want to observe?
  576. # [14:57] * Joins: karlcow (~karl@nerval.la-grange.net)
  577. # [14:57] * Joins: JosephSilber (~Joseph@ool-44c3e80a.static.optonline.net)
  578. # [14:57] <annevk> nm
  579. # [14:58] * Joins: nicolasbadia (~nicolasba@78.209.78.103)
  580. # [14:58] * Quits: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com) (Remote host closed the connection)
  581. # [14:58] <annevk> krit: do you know for all of these what the default fetching mode is?
  582. # [14:58] <annevk> krit: e.g. which are no CORS, which are CORS, and which are same-origin?
  583. # [14:59] * Joins: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com)
  584. # [15:00] <krit> annevk: again, definition is as <image> in general… added the cross origin attribute even http://dev.w3.org/fxtf/filters/#element-attrdef-crossorigin
  585. # [15:00] <krit> annevk: so it is no CORS by default, but can CORS can be set
  586. # [15:01] <annevk> what's the benefit of CORS in that case?
  587. # [15:02] <krit> annevk: http://dev.w3.org/fxtf/filters/#security
  588. # [15:03] <annevk> :(
  589. # [15:03] <krit> annevk: hehe, I guess I will never see a smile :)
  590. # [15:03] <annevk> heh
  591. # [15:04] * Quits: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com) (Ping timeout: 272 seconds)
  592. # [15:04] <annevk> Okay, so feImage is tainted if the response's type is opaque
  593. # [15:05] <annevk> krit: I guess what I'm really interested in is whether the elements and properties we listed are same-origin or no-CORS by default
  594. # [15:05] <MikeSmith> hsivonen: ok I guess I'll do as annevk suggested and raise a bug against the EME spec
  595. # [15:06] <annevk> MikeSmith: please copy Chris Pearce and maybe me
  596. # [15:06] * Joins: tantek (~tantek@172.56.10.120)
  597. # [15:06] <MikeSmith> k
  598. # [15:06] * Joins: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com)
  599. # [15:06] <krit> annevk: all no-CORS since CORS didn’t existed when SVG 1.1 was speced
  600. # [15:07] * Quits: harig (~harig@49.200.116.10) (Ping timeout: 244 seconds)
  601. # [15:07] <krit> annevk: (specification wise of course)
  602. # [15:07] <annevk> krit: nothing was same-origin restricted?
  603. # [15:07] <krit> annevk: and CSS doesn’t handle CORS yet either
  604. # [15:07] <krit> annevk: no
  605. # [15:07] <krit> annevk: nothing
  606. # [15:08] <annevk> can we talk implementation-wise now?
  607. # [15:08] <krit> annevk: CSS is still no-CORS
  608. # [15:08] <krit> annevk: same as in HTML
  609. # [15:08] <annevk> even clip-path?
  610. # [15:08] <krit> annevk: clip-path, mask, fill, stroke are same origin in Firefox
  611. # [15:09] <krit> annevk: they don’t fetch in WebKit and Blink yet
  612. # [15:09] <annevk> mask is mask-image?
  613. # [15:09] <krit> annevk: with the exception of -webkit-mask and -webkit-filter and -webkit-clip-path
  614. # [15:09] <krit> annevk: yes
  615. # [15:09] <annevk> ah, and -webkit- properties load images, not SVG, and do so no-CORS?
  616. # [15:09] <krit> annevk: remove -webkit-mask from the list
  617. # [15:10] <krit> annevk: -webkit-filter and -webkit-clip-path do load external resources as well. IIRC no self origin at the moment
  618. # [15:11] <krit> annevk: talking for general documents of course… not for SVG images
  619. # [15:11] <annevk> yeah
  620. # [15:12] <krit> annevk: the SVG elements do not fetch in Blink at all
  621. # [15:12] <annevk> krit: no SVG element?
  622. # [15:12] <krit> annevk: in WebKit we have the <use> element that did fetch. Think it is broken again
  623. # [15:12] <krit> annevk: In Firefox elements fetch same origin
  624. # [15:12] <annevk> krit: as in <svg><image xlink:href=...></svg> is broken?
  625. # [15:13] <krit> annevk: Opera <=12 fetches for CSS and elements without any restrictions
  626. # [15:13] <krit> annevk: I am unspecific
  627. # [15:13] <krit> annevk: operators and paint source elements don’t fetch
  628. # [15:13] <krit> in Blink and WebKit
  629. # [15:13] <annevk> in no context?
  630. # [15:13] <krit> annevk: right
  631. # [15:14] <annevk> but they support inline references?
  632. # [15:14] <krit> annevk: yes
  633. # [15:14] <annevk> okay, so lets figure out the algorithm to get to an SVG element
  634. # [15:14] <annevk> how is it established that you have an inline reference?
  635. # [15:15] <krit> annevk: I am not aware of restrictions for <script>, <?…stylesheet…?>, <image>, <feImage> specification wise
  636. # [15:15] <krit> annevk: we parse URL but just use the fragment identifier and search in the same document
  637. # [15:16] <krit> annevk: This caused a bug where the URL is a different document but we still search for the fragment ID in the same document
  638. # [15:16] <krit> annevk: might still be broken
  639. # [15:17] * Quits: newtron_ (~newtron@76-10-135-135.dsl.teksavvy.com) (Remote host closed the connection)
  640. # [15:17] <annevk> given a document /doc and a base URL /a/ and a fragment in /doc that reads #text where should we look?
  641. # [15:17] <annevk> what if the fragment/reference reads /a/#text
  642. # [15:17] * Joins: newtron_ (~newtron@76-10-135-135.dsl.teksavvy.com)
  643. # [15:18] * Quits: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com) (Remote host closed the connection)
  644. # [15:18] * Quits: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com) (Ping timeout: 244 seconds)
  645. # [15:18] <krit> annevk: exclusively speaking for WebKit/Blink: we do not resolve the URL… we just take the string specified by the user and use the fragment identifier of it…. no resolving of URL yet
  646. # [15:18] * Joins: newtron_work (~newtron@76-10-135-135.dsl.teksavvy.com)
  647. # [15:19] <annevk> krit: what if the string does not start with a #?
  648. # [15:19] * Joins: TallTed (~Thud@63.119.36.36)
  649. # [15:19] * Joins: jwalden (~waldo@2620:101:80fc:224:7e7a:91ff:fe25:a5a3)
  650. # [15:19] <krit> annevk: well, the parsing process looks for the fragment identifier exclusively… example: “other.svg#test”… we do not resolve the base address of other.svg
  651. # [15:20] * Joins: darobin (~darobin@78.109.80.74)
  652. # [15:20] <annevk> krit: what is this "parsing process"?
  653. # [15:20] <annevk> krit: you just try to find a #?
  654. # [15:20] <krit> annevk: let me check, but that is what I remember
  655. # [15:22] * Quits: newtron_ (~newtron@76-10-135-135.dsl.teksavvy.com) (Ping timeout: 240 seconds)
  656. # [15:22] <krit> annevk: the parsing algorithm is 350 loc
  657. # [15:22] * Quits: newtron_work (~newtron@76-10-135-135.dsl.teksavvy.com) (Ping timeout: 240 seconds)
  658. # [15:23] <krit> annevk: I can say that we do not “simply” search for #… the algorithm does a lot more… just say we extract the fragment identifier from the string
  659. # [15:24] <krit> let me find the link
  660. # [15:24] <krit> annevk: http://trac.webkit.org/browser/trunk/Source/WebCore/platform/URL.cpp#L1088
  661. # [15:28] <annevk> krit: oh okay, so it seems to properly parse a URL, but then ignore all the good bits
  662. # [15:28] <annevk> seems to warrant a :(
  663. # [15:30] <krit> annevk: actually, it was a security pro caution and is limited to SVG
  664. # [15:30] <annevk> if you ignore the path and such that's not a security procaution, that's a bug
  665. # [15:31] <krit> annevk: this way we didn’t need to look into when we allow external resources. In the first days of SVG integration in WebKit this seemed wise. And then we never actually came to implement it correctly and there wasn’t a huge demand either
  666. # [15:31] <annevk> sure, I'm not advocating that we support Fetch
  667. # [15:31] <krit> annevk: it is a bug, true
  668. # [15:32] <annevk> but not properly parsing the URL and making sure it actually is relative to the document before proceeding is a huge forward compat issue
  669. # [15:32] <krit> annevk: I know, but implementations are ramping up and now it gets important
  670. # [15:32] <krit> annevk: agree, that was a bug we didn’t thought about at the time
  671. # [15:32] <annevk> o_O
  672. # [15:32] <annevk> okay, lets move on, I started drafting an algorithm
  673. # [15:38] <gsnedders> Hixie: ping; can you give me both your code, how to build it, and how to run it, then I'll try?
  674. # [15:38] * Joins: marcosc (~marcosc@66.207.208.102)
  675. # [15:39] * Quits: marcosc (~marcosc@66.207.208.102) (Read error: Connection reset by peer)
  676. # [15:39] <annevk> krit: data URLs and blob URLs will work due to the fetching algorithm
  677. # [15:39] * Joins: caitp (~caitp@CPE48f8b385c01c-CM602ad06daeed.cpe.net.cable.rogers.com)
  678. # [15:39] * Joins: marcosc (~marcosc@66.207.208.102)
  679. # [15:39] <annevk> krit: though for data URLs we'd need explicit opt in
  680. # [15:39] <krit> annevk: which section is that in URL spec?
  681. # [15:40] <annevk> krit: it's in the fetch spec
  682. # [15:40] <krit> annevk: looking
  683. # [15:43] <krit> annevk: still, your algorithm compares document URL with parsed URL… if they are equal and the URL has a frag id, then we search for an element in the same document OTHERWISE: 1)return network error if fetch is disabled…
  684. # [15:43] <krit> annevk: or do we not quit at 1)?
  685. # [15:44] <annevk> krit: ah
  686. # [15:45] <annevk> krit: no, blob and data URLs would just proceed to step 3
  687. # [15:46] <krit> annevk: right. Just mean that 3.1) says return on fetching disabled
  688. # [15:46] <krit> annevk: so dataURL and blob would return with negative result at 3.1
  689. # [15:46] <annevk> yes
  690. # [15:46] <annevk> if fetching is disabled
  691. # [15:46] <krit> annevk: for SVG image it is… and we should still allow blob and dataURL
  692. # [15:47] <annevk> how can an "SVG image" contain a blob URL?
  693. # [15:47] <krit> annevk: dholbert had a weird example
  694. # [15:47] <krit> annevk: I’ll ask him about the example again
  695. # [15:48] * Joins: newtron_ (~newtron@76-10-135-135.dsl.teksavvy.com)
  696. # [15:49] <krit> annevk: Asked him. He is in PSD timezone and should be awake in a couple of hours
  697. # [15:49] <krit> s/awake/online/
  698. # [15:49] <annevk> krit: okay, we could maybe make it a flag on Fetch
  699. # [15:50] * Joins: newtron_work (~newtron@76-10-135-135.dsl.teksavvy.com)
  700. # [15:50] <annevk> krit: "no networking flag" or some such
  701. # [15:50] <krit> annevk: ok, what about dataURLs and base64?
  702. # [15:50] <annevk> krit: I guess it might be okay to allow those yes
  703. # [15:51] <krit> annevk: it is important! :) People embed there PNGs in SVG files today
  704. # [15:51] <krit> annevk: External fonts seems to be the biggest problem for SVG Images… not sure how Firefox handles that today… not even sure how webkit does
  705. # [15:52] <krit> annevk: think WebKit doesn’t fetch web fonts today
  706. # [15:52] * Quits: newtron_ (~newtron@76-10-135-135.dsl.teksavvy.com) (Ping timeout: 240 seconds)
  707. # [15:52] <krit> annevk: for SVG images
  708. # [15:52] <annevk> krit: "SVG images" is ambiguous
  709. # [15:53] <krit> annevk: indeed. In SVG WG we refer to image/svg+xml usually
  710. # [15:53] <annevk> krit: what is important for now is to define a model that's somewhat realistic, once we have that we can address various features
  711. # [15:55] * Quits: newtron_work (~newtron@76-10-135-135.dsl.teksavvy.com) (Ping timeout: 240 seconds)
  712. # [15:56] <krit> annevk: yes
  713. # [15:56] <annevk> krit: so no scripting seems reasonably solid
  714. # [15:56] <krit> annevk: you refer to blobs?
  715. # [15:56] <annevk> krit: no, lets leave blob/data URLs alone for now, not important
  716. # [15:57] <annevk> krit: not doing scripting for an external resource is straightforward
  717. # [15:57] <annevk> krit: you simply don't invoke the parser with scripting enabled
  718. # [15:57] <annevk> krit: not doing fetching however, is processing layer
  719. # [15:58] <annevk> krit: so somewhere there's an algorithm that takes an SVG element and does something with it; use it as a mask/image/paint server/clip
  720. # [15:58] <annevk> krit: might be various such algorithms
  721. # [15:59] <annevk> krit: those need to be allowed to process elements, but also need to ensure no fetching is done
  722. # [15:59] <annevk> krit: for the CSS part of that CSS will need to gain a flag of "no fetching"
  723. # [15:59] <annevk> krit: which suggests maybe that flag should be passed all the way down to the fetching layer
  724. # [15:59] <annevk> krit: which then can decide whether to allow certain URLs, such as data URLs
  725. # [15:59] <annevk> in that mode
  726. # [16:00] * Joins: abinader (sid21713@gateway/web/irccloud.com/x-tdnrprgufaflljzj)
  727. # [16:00] <krit> annevk: another idea was to flag document
  728. # [16:00] <krit> annevk: and look at the status of document. So in general yes, fetching must pass the mode
  729. # [16:00] <annevk> yeah that seems equivalent
  730. # [16:00] <krit> annevk: fetchingEnables
  731. # [16:01] <krit> d
  732. # [16:02] <annevk> so for HTML most fetching is disabled if there's no browsing context
  733. # [16:02] <annevk> but it seems that wouldn't work here
  734. # [16:04] * Quits: karlcow (~karl@nerval.la-grange.net) (Ping timeout: 264 seconds)
  735. # [16:05] <krit> annevk: right
  736. # [16:05] <krit> annevk: sorry, need to take care of kids… slow in responce
  737. # [16:05] * Joins: arpitab__ (uid10516@gateway/web/irccloud.com/x-zdqghtnpljjsvxkm)
  738. # [16:05] <krit> se
  739. # [16:05] * Joins: karlcow (~karl@nerval.la-grange.net)
  740. # [16:09] <krit> annevk: could we continue tomorrow morning?
  741. # [16:09] * Joins: io__jp (~io@p19237-ipngn2001marunouchi.tokyo.ocn.ne.jp)
  742. # [16:09] <annevk> yeah sure, thanks for the help
  743. # [16:09] <krit> annevk: wrong way around ;)
  744. # [16:10] <annevk> need to think a bit how to proceed here
  745. # [16:10] <annevk> I'll let some Gecko people know we're trying to lock these things down
  746. # [16:14] <krit> annevk: cool! roc , bz and dholbert might be the right ppl to talk too
  747. # [16:19] * Quits: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com) (Remote host closed the connection)
  748. # [16:23] * Quits: Kolombiken (~Adium@gateway.creuna.se) (Quit: Leaving.)
  749. # [16:28] * Krinkle|detached is now known as Krinkle
  750. # [16:30] * Joins: sicking (~sicking@211.72.78.109)
  751. # [16:33] * Quits: tantek (~tantek@172.56.10.120) (Ping timeout: 272 seconds)
  752. # [16:37] * Quits: gungan_fuq (~encryptd_@68-112-125-21.dhcp.stcd.mn.charter.com)
  753. # [16:38] * Joins: newtron_ (~newtron@199.71.174.204)
  754. # [16:38] * Quits: newtron_ (~newtron@199.71.174.204) (Remote host closed the connection)
  755. # [16:39] * Joins: newtron_ (~newtron@199.71.174.203)
  756. # [16:39] * Joins: encryptd_fractl (~encryptd_@68-112-125-21.dhcp.stcd.mn.charter.com)
  757. # [16:42] * Quits: richt (~richt@83.218.67.123) (Quit: Leaving...)
  758. # [16:42] * Joins: mpaarating (~mpaaratin@rrcs-97-78-217-146.se.biz.rr.com)
  759. # [16:52] <jgraham> annevk: I might just be very stupid, but your response about why .to() is preferred over .toX() didn't make any sense to me
  760. # [16:54] * Joins: encrypt__ (~encryptd_@68-112-125-21.dhcp.stcd.mn.charter.com)
  761. # [16:55] <annevk> *waves magic wand to make jgraham understand unstated things*
  762. # [16:56] * Quits: encryptd_fractl (~encryptd_@68-112-125-21.dhcp.stcd.mn.charter.com) (Ping timeout: 244 seconds)
  763. # [16:56] <Ms2ger> The "state them" wand?
  764. # [16:57] <annevk> Ms2ger: unclear
  765. # [16:57] <jgraham> annevk: Erm. You posted the mail, I kind of assumed you already knew what you had stated
  766. # [16:57] <annevk> jgraham: you assumed I would understand what part didn't make sense to you?
  767. # [16:57] <annevk> sorry
  768. # [16:57] <jgraham> All of it didn't
  769. # [16:58] <jgraham> Hence "any sense"
  770. # [16:58] <jgraham> :)
  771. # [16:58] <annevk> seems pretty clear to me
  772. # [16:58] <annevk> anyway, I have to do something else
  773. # [16:58] * Quits: Ducki (~Ducki@137.116.197.171) (Remote host closed the connection)
  774. # [16:59] * Joins: ehsan (~ehsan@66.207.208.102)
  775. # [16:59] <jgraham> I don't think it's at all clear conceptually (wihout reading the spec) why you can only call to() once, or why it would be worse with toX()
  776. # [17:00] <jgraham> Neither seems more complicated than the other to implement, really
  777. # [17:00] * Quits: io__jp (~io@p19237-ipngn2001marunouchi.tokyo.ocn.ne.jp) (Ping timeout: 264 seconds)
  778. # [17:00] <jgraham> But the concerns about feature detection seem legitimate
  779. # [17:04] * Quits: markkes (~markkes@62.207.90.201) (Quit: Nettalk6 - www.ntalk.de)
  780. # [17:04] <gsnedders> Does anyone know if Google use Dart for anything significant?
  781. # [17:04] <gsnedders> (presumably in dart2js form)
  782. # [17:07] <caitp> the greentea stuff, at least
  783. # [17:10] * Quits: KevinMarks (~yaaic@2607:fb90:2207:4d65:547b:63f2:9f85:cf9c) (Ping timeout: 240 seconds)
  784. # [17:10] <caitp> i guess it depends how you define "significant", though
  785. # [17:12] * Joins: izhak (~izhak@92.248.142.152)
  786. # [17:12] * Joins: KevinMarks (~yaaic@c-67-164-14-200.hsd1.ca.comcast.net)
  787. # [17:12] * Quits: mven (~textual@ip68-104-38-84.lv.lv.cox.net) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  788. # [17:16] * Quits: izhak (~izhak@92.248.142.152) (Ping timeout: 240 seconds)
  789. # [17:20] * Quits: sicking (~sicking@211.72.78.109) (Quit: sicking)
  790. # [17:33] * Quits: darobin (~darobin@78.109.80.74) (Remote host closed the connection)
  791. # [17:42] * Quits: gavin_ (~gavin@76.14.87.162) (Read error: Connection reset by peer)
  792. # [17:43] * Joins: gavin_ (~gavin@76.14.87.162)
  793. # [17:45] * Joins: harig (~harig@49.200.116.94)
  794. # [17:47] * Quits: Lachy (~Lachy@213.166.174.2) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  795. # [17:48] <annevk> jgraham: yeah, I guess we can look into it again
  796. # [17:48] * Joins: svl (~me@ip565744a7.direct-adsl.nl)
  797. # [17:53] * Quits: karlcow (~karl@nerval.la-grange.net) (Quit: This computer has gone to sleep)
  798. # [17:53] * Joins: mven (~textual@wsip-98-173-125-120.lv.lv.cox.net)
  799. # [17:53] * Joins: karlcow (~karl@nerval.la-grange.net)
  800. # [17:56] * Joins: jeffreyatw (~jeffreyat@66-194-1-26.STATIC.twtelecom.net)
  801. # [17:59] * abinader is now known as abinader|lunch
  802. # [17:59] * Quits: laurensclaessen (~laurenscl@91.183.84.141)
  803. # [18:03] * Quits: tj_vantoll (~Adium@2601:4:5380:eba:685e:17c7:fd5c:59ba) (Quit: Leaving.)
  804. # [18:07] * Quits: jungkees (uid24208@gateway/web/irccloud.com/x-nxvwulexlopvcbno) (Quit: Connection closed for inactivity)
  805. # [18:07] * Joins: felipedefarias (~felipedef@189-19-85-225.dsl.telesp.net.br)
  806. # [18:08] * Joins: Streusel (~Anonymous@unaffiliated/streusel)
  807. # [18:10] * Quits: svl (~me@ip565744a7.direct-adsl.nl) (Quit: And back he spurred like a madman, shrieking a curse to the sky.)
  808. # [18:10] * Joins: hemanth (~hemanth@122.178.207.93)
  809. # [18:11] * Joins: svl (~me@ip565744a7.direct-adsl.nl)
  810. # [18:13] * Joins: lmclister (~lmclister@192.150.10.206)
  811. # [18:23] * Quits: hemanth (~hemanth@122.178.207.93) (Ping timeout: 240 seconds)
  812. # [18:25] * Joins: Maurice` (~copyman@5ED5617C.cm-7-6b.dynamic.ziggo.nl)
  813. # [18:26] * Quits: mven (~textual@wsip-98-173-125-120.lv.lv.cox.net) (Read error: Connection reset by peer)
  814. # [18:26] * Joins: mven__ (~textual@wsip-98-173-125-120.lv.lv.cox.net)
  815. # [18:28] * Quits: adactio (~adactio@212.42.170.121) (Quit: adactio)
  816. # [18:28] * Joins: Lachy (~Lachy@cm-84.215.104.248.getinternet.no)
  817. # [18:31] * Joins: rxgx (uid22483@gateway/web/irccloud.com/x-kqsoauefrayfzarc)
  818. # [18:33] * abinader|lunch is now known as abinader
  819. # [18:33] * Joins: bnicholson (~bnicholso@24.130.57.109)
  820. # [18:34] * Joins: BigBangUDR (~Thunderbi@123.239.89.223)
  821. # [18:35] * Quits: dshwang_ (~dshwang@192.55.54.40) (Ping timeout: 240 seconds)
  822. # [18:35] * Quits: BigBangUDR (~Thunderbi@123.239.89.223) (Client Quit)
  823. # [18:37] <annevk> Is anyone trying this? https://loop.services.mozilla.com/calls/kfsTnuhULV9QzkcMbR4Xu1vJVV2hi-lQ4blJD1JVxcVlQ5lmH6isvyOI9iroY09PmTtX8hxuXCdeT-D4dXMwswZRId7DvBBEF728FxUOa0uS80v_TAt-pyak6A_Kubg0HU9qpbeQawu8KlEGuxcXYB9cpUPfAtoTWC6OJTMbx4YzxMnSnR0WfJwGJo41VsAVH_gC5W3lSIxArBE9V2-WG-CJ9fA
  824. # [18:37] * Quits: Maurice` (~copyman@5ED5617C.cm-7-6b.dynamic.ziggo.nl) (Read error: Connection reset by peer)
  825. # [18:37] * Joins: Maurice` (copyman@5ED5617C.cm-7-6b.dynamic.ziggo.nl)
  826. # [18:37] * Joins: dshwang_ (~dshwang@192.55.54.40)
  827. # [18:41] * Joins: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com)
  828. # [18:51] * Quits: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com) (Remote host closed the connection)
  829. # [18:52] * Joins: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com)
  830. # [18:52] * Quits: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com) (Remote host closed the connection)
  831. # [18:52] * Joins: poona_ (~poona@117.198.110.185)
  832. # [18:52] * Quits: poona_ (~poona@117.198.110.185) (Changing host)
  833. # [18:52] * Joins: poona_ (~poona@unaffiliated/poona)
  834. # [18:52] * Joins: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com)
  835. # [18:54] * Quits: poona (~poona@unaffiliated/poona) (Ping timeout: 240 seconds)
  836. # [18:56] * Joins: bholley (~bholley@corp.mtv2.mozilla.com)
  837. # [18:59] * Joins: BigBangUDR (~Thunderbi@123.239.89.223)
  838. # [18:59] * Quits: BigBangUDR (~Thunderbi@123.239.89.223) (Client Quit)
  839. # [19:02] * Quits: bnicholson (~bnicholso@24.130.57.109) (Ping timeout: 240 seconds)
  840. # [19:03] * Quits: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com) (Remote host closed the connection)
  841. # [19:03] * Joins: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com)
  842. # [19:06] * Joins: ambv (~ambv@206.108.217.134)
  843. # [19:06] * Quits: mven__ (~textual@wsip-98-173-125-120.lv.lv.cox.net) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  844. # [19:07] * Quits: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com) (Remote host closed the connection)
  845. # [19:07] * Joins: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com)
  846. # [19:07] * Quits: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com) (Remote host closed the connection)
  847. # [19:08] * Joins: mven (~textual@wsip-98-173-125-120.lv.lv.cox.net)
  848. # [19:10] * Quits: barnabywalters (~barnabywa@46-239-239-203.tal.is) (Quit: barnabywalters)
  849. # [19:16] * Joins: smaug____ (~chatzilla@cs78246079.pp.htv.fi)
  850. # [19:17] * Quits: mven (~textual@wsip-98-173-125-120.lv.lv.cox.net) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  851. # [19:18] * Joins: Areks (~Areks@95-26-126-235.broadband.corbina.ru)
  852. # [19:18] * Joins: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com)
  853. # [19:20] * Joins: tj_vantoll (~Adium@108.78.130.35)
  854. # [19:21] * Quits: smaug____ (~chatzilla@cs78246079.pp.htv.fi) (Quit: Reconnecting…)
  855. # [19:22] * Joins: smaug____ (~chatzilla@cs78246079.pp.htv.fi)
  856. # [19:22] * Joins: dbaron (~dbaron@2620:101:80fb:224:51b1:7867:f2dd:82d9)
  857. # [19:22] * Quits: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com) (Ping timeout: 240 seconds)
  858. # [19:26] * Joins: weinig (~weinig@17.202.48.136)
  859. # [19:30] * Joins: mven (~textual@wsip-98-173-125-120.lv.lv.cox.net)
  860. # [19:31] * Joins: bnicholson (~bnicholso@2620:101:80fc:224:3e97:eff:feef:9aba)
  861. # [19:33] * Quits: cheron (~cheron@unaffiliated/cheron) (Ping timeout: 272 seconds)
  862. # [19:33] * Quits: bnicholson (~bnicholso@2620:101:80fc:224:3e97:eff:feef:9aba) (Client Quit)
  863. # [19:33] * Joins: bnicholson (~bnicholso@2620:101:80fc:224:3e97:eff:feef:9aba)
  864. # [19:40] * Joins: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com)
  865. # [19:57] * Joins: othermaciej (~mjs@17.244.0.244)
  866. # [20:01] * Quits: zdobersek (~zan@109.201.154.176) (Ping timeout: 252 seconds)
  867. # [20:03] * Joins: tantek (~tantek@207.225.131.142)
  868. # [20:05] * Joins: Rastus_Vernon (uid15187@wikimedia/Rastus-Vernon)
  869. # [20:06] * Quits: harig (~harig@49.200.116.94) (Quit: harig)
  870. # [20:06] * Joins: zdobersek (~zan@109.201.152.7)
  871. # [20:14] * Quits: jwalden (~waldo@2620:101:80fc:224:7e7a:91ff:fe25:a5a3) (Quit: Reconnecting…)
  872. # [20:14] * Joins: jwalden (~waldo@2620:101:80fc:224:7e7a:91ff:fe25:a5a3)
  873. # [20:19] * Quits: mpaarating (~mpaaratin@rrcs-97-78-217-146.se.biz.rr.com) (Quit: mpaarating)
  874. # [20:21] * Quits: Ms2ger (~Ms2ger@48.205-242-81.adsl-dyn.isp.belgacom.be) (Quit: nn)
  875. # [20:29] * Quits: dbaron (~dbaron@2620:101:80fb:224:51b1:7867:f2dd:82d9) (Ping timeout: 240 seconds)
  876. # [20:30] * Joins: BigBangUDR (~Thunderbi@123.239.89.223)
  877. # [20:30] * Quits: othermaciej (~mjs@17.244.0.244) (Quit: othermaciej)
  878. # [20:31] * Quits: BigBangUDR (~Thunderbi@123.239.89.223) (Client Quit)
  879. # [20:32] * Joins: jeremyj (~jeremyj@17.202.44.231)
  880. # [20:32] * Joins: othermaciej (~mjs@17.244.0.244)
  881. # [20:32] * Krinkle is now known as Krinkle|detached
  882. # [20:33] * Joins: estellevw (~estellevw@209.49.73.82)
  883. # [20:33] * Quits: bholley (~bholley@corp.mtv2.mozilla.com) (Quit: Textual IRC Client: www.textualapp.com)
  884. # [20:38] * Joins: weinig_ (~weinig@17.245.25.226)
  885. # [20:41] * Quits: weinig (~weinig@17.202.48.136) (Ping timeout: 244 seconds)
  886. # [20:41] * weinig_ is now known as weinig
  887. # [20:42] <estellevw> The <output>, even those with a name, never have their value sumbitted along with the associated form, right?
  888. # [20:42] * Joins: dbaron (~dbaron@2620:101:80fb:224:51b1:7867:f2dd:82d9)
  889. # [20:45] * Joins: seventh (seventh@207-207-17-149.fwd.datafoundry.com)
  890. # [20:48] * Krinkle|detached is now known as Krinkle
  891. # [20:49] <zcorpan> estellevw: right
  892. # [20:49] <estellevw> thanks
  893. # [20:51] * Quits: felipedefarias (~felipedef@189-19-85-225.dsl.telesp.net.br) (Remote host closed the connection)
  894. # [20:52] <Domenic> annevk: do you have that list of stream concepts that would be nice to define?
  895. # [20:54] * Quits: weinig (~weinig@17.245.25.226) (Remote host closed the connection)
  896. # [20:55] * Joins: weinig (~weinig@17.245.25.226)
  897. # [20:56] * Joins: darobin (~darobin@2a01:e34:ed05:d180:e84f:5b6:2b79:8589)
  898. # [20:56] * Quits: othermaciej (~mjs@17.244.0.244) (Quit: othermaciej)
  899. # [20:57] * Quits: Areks (~Areks@95-26-126-235.broadband.corbina.ru) (Quit: KVIrc 4.0.2 Insomnia http://www.kvirc.net/)
  900. # [20:57] <Hixie> gsnedders: ok here now
  901. # [20:57] * Quits: tj_vantoll (~Adium@108.78.130.35) (Quit: Leaving.)
  902. # [20:58] <gsnedders> Hixie: you could just email me ;P
  903. # [20:59] * Quits: Streusel (~Anonymous@unaffiliated/streusel) (Quit: Computer has gone to sleep.)
  904. # [20:59] <Hixie> that sounds like crazy talk
  905. # [20:59] <Hixie> ok
  906. # [20:59] <Hixie> so
  907. # [20:59] <Hixie> tests
  908. # [20:59] <Hixie> let's see
  909. # [20:59] <Hixie> git diff gives me a 1653 line diff
  910. # [20:59] * Joins: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com)
  911. # [21:00] <Hixie> how do you want them, one file at a time?
  912. # [21:00] * Quits: rxgx (uid22483@gateway/web/irccloud.com/x-kqsoauefrayfzarc) (Quit: Connection closed for inactivity)
  913. # [21:01] <gsnedders> Hixie: related changes together
  914. # [21:01] <Hixie> how do i do that?
  915. # [21:01] <gsnedders> Hixie: you can use git add -p to select what to commit at each time
  916. # [21:01] <gsnedders> Google or prod someone else as to how, I need to phone my sister before I go out ;P
  917. # [21:01] <Hixie> k
  918. # [21:03] * Joins: ^esc (~esc-ape@178.115.129.192.wireless.dyn.drei.com)
  919. # [21:05] <Hixie> man git makes no sense to me at all
  920. # [21:05] <Hixie> what's the equivalent of "svn commit", meaning, the thing that sends my change upstream?
  921. # [21:05] * Quits: weinig (~weinig@17.245.25.226) (Ping timeout: 244 seconds)
  922. # [21:05] * Joins: othermaciej (~mjs@17.244.165.240)
  923. # [21:06] <Hixie> everyone on the web is talking about multi-step processes involving web pages
  924. # [21:07] <caitp> `git push`?
  925. # [21:07] <Hixie> and waht does that push? all my commits?
  926. # [21:07] <SamB> hmm, anyone know a reference for the term "tofu"?
  927. # [21:08] * Quits: jacobolus (~jacobolus@70-36-196-50.dsl.static.sonic.net) (Remote host closed the connection)
  928. # [21:08] <Hixie> SamB: context?
  929. # [21:09] <SamB> that stuff you see when you don't have the right font
  930. # [21:10] <SamB> usually little boxes, sometimes with hex codes in them
  931. # [21:10] <Hixie> oh the little squares?
  932. # [21:10] <caitp> Hixie: it will push the objects needed for the local refs to make sense remotely
  933. # [21:10] <Hixie> caitp: i've no idea what that means
  934. # [21:10] * Quits: othermaciej (~mjs@17.244.165.240) (Ping timeout: 252 seconds)
  935. # [21:10] * Joins: weinig (~weinig@17.245.25.226)
  936. # [21:10] <Hixie> caitp: do i run git add, then git push? or git add, then git commit, then git push?
  937. # [21:10] <SamB> you have to commit before you can push changes
  938. # [21:10] <Hixie> how do i get several patches up to gsnedders?
  939. # [21:10] <SamB> commit each patch
  940. # [21:11] * Quits: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com) (Remote host closed the connection)
  941. # [21:11] <SamB> then push the lot of them somewhere and inform him of where
  942. # [21:11] <Domenic> branch per patch, if they are independent
  943. # [21:11] <caitp> it's easier to explain with a chalkboard, but for the most part it's not worth worrying about the specifics of what gets pushed --- the simple case is, you have a branch, and you want to update a remote branch to match it
  944. # [21:12] <caitp> so you push your branch to the remote, and if it's a fast-forward commit, it will just work
  945. # [21:12] * Joins: othermaciej (~mjs@17.245.25.187)
  946. # [21:12] <caitp> and if it's not a fast-forward commit, then you should think carefully about it :d
  947. # [21:12] * Joins: tj_vantoll (~Adium@2601:4:5380:eba:c51f:8f6a:528c:7a73)
  948. # [21:12] <Hixie> ok so with subversion, all i have to do is "svn diff", then i have the patch for review, then "svn commit", then it's upstream.
  949. # [21:13] <SamB> Hixie: in git you can commit first and review second
  950. # [21:13] <Hixie> you can do that in subversion too. svn commit, then svn diff with the revision numbers.
  951. # [21:13] <Hixie> i don't understand why git has to be so much more complicated.
  952. # [21:13] <SamB> yes, but without it being upstream
  953. # [21:13] <Hixie> i want it upstream
  954. # [21:14] <Hixie> what's the point of it not being upstream :-P
  955. # [21:14] <caitp> it's pretty simple, but there's a bit of a learning curve maybe. once you get the hang of it, it is totally natural
  956. # [21:14] <SamB> Hixie: git is used by many who don't have write access to upstream
  957. # [21:14] <Hixie> anyway
  958. # [21:14] <Hixie> so you're saying i should git add, then git commit, then git push, then git add, then git commit, then git push, etc?
  959. # [21:15] <Hixie> until i've got no more local changes?
  960. # [21:15] <caitp> you don't have to commit -> push -> commit -> push
  961. # [21:15] <caitp> you can commit -> commit -> commit -> push
  962. # [21:15] <caitp> if it's easier =)
  963. # [21:16] <Hixie> and that results in multiple patches on gsnedders' side?
  964. # [21:16] <Hixie> separate "pull requests" or whatever they're called?
  965. # [21:16] * Quits: tj_vantoll (~Adium@2601:4:5380:eba:c51f:8f6a:528c:7a73) (Ping timeout: 240 seconds)
  966. # [21:16] * Quits: othermaciej (~mjs@17.245.25.187) (Ping timeout: 244 seconds)
  967. # [21:17] <Domenic> it results in separate commits, but not separate patches
  968. # [21:17] <Domenic> for separate patches, you should make separate branches
  969. # [21:17] <Domenic> Has anyone gotten Anolis + Travis-CI up and running?
  970. # [21:18] <Hixie> separate _branches_?
  971. # [21:18] <Domenic> Alternately, TabAtkins, how do I switch to Bikeshed?
  972. # [21:18] <Hixie> just to commit two separate files?
  973. # [21:18] * Quits: karlcow (~karl@nerval.la-grange.net) (Ping timeout: 244 seconds)
  974. # [21:18] <Domenic> branches are basically equivalent to commits in git
  975. # [21:18] <Domenic> they are not heavyweight as in svgn
  976. # [21:18] * Joins: othermaciej (~mjs@17.114.217.240)
  977. # [21:19] * Quits: mven (~textual@wsip-98-173-125-120.lv.lv.cox.net) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  978. # [21:21] <Hixie> Domenic: i'm not finding anything online that leads me to that conclusions :-)
  979. # [21:21] <Domenic> Branches are pointers to commits
  980. # [21:21] * Joins: tj_vantoll (~Adium@2601:4:5380:eba:fde2:2a66:ef4d:1cc3)
  981. # [21:21] <Domenic> literally if you look in the .git directory there will be files saying something like "branch_name: deadb33f"
  982. # [21:22] <Hixie> maybe i should just send gsnedders diffs
  983. # [21:23] * Quits: mven_ (~textual@169.241.49.57) (Read error: Connection reset by peer)
  984. # [21:23] <SamB> branches are *names* for commits
  985. # [21:23] <SamB> Hixie: you can use "git send-email" for that ;-P
  986. # [21:23] <SamB> after committing everything
  987. # [21:23] <SamB> or get format-patch
  988. # [21:24] <Hixie> is there no real documentation got git? i'm not finding anything sane on the web.
  989. # [21:24] <Hixie> for git
  990. # [21:24] * Joins: mven (~textual@169.241.49.57)
  991. # [21:24] <Hixie> not got git
  992. # [21:24] <SamB> you could try the manpages
  993. # [21:24] <TabAtkins> Domenic: What are you switching from?
  994. # [21:24] <TabAtkins> git manpages are terrible.
  995. # [21:24] <Domenic> TabAtkins: Anolis. Not too much complicated stuff yet. https://github.com/whatwg/streams/blob/master/index.html
  996. # [21:24] <Hixie> the man pages are impenetrable
  997. # [21:24] * Quits: TallTed (~Thud@63.119.36.36) (Read error: Connection reset by peer)
  998. # [21:24] <SamB> hmm
  999. # [21:25] <Domenic> http://git-man-page-generator.lokaltog.net/
  1000. # [21:25] * Joins: TallTed (~Thud@63.119.36.36)
  1001. # [21:25] <TabAtkins> Domenic: That's pretty easy to switch from, since it's similar to the old CSSWG preprocessor, and Bikeshed is a spiritual descendent.
  1002. # [21:25] <TabAtkins> I can convert for you, or you can just follow the docs and ask me questions.
  1003. # [21:25] <Domenic> Hixie: http://git-scm.com/book is probably the best
  1004. # [21:25] <SamB> Hixie: anwyay, the nice thing is that anything you screw up before you push, you can still fix
  1005. # [21:26] <Hixie> Domenic: i don't even know where to begin with that
  1006. # [21:26] <Hixie> Domenic: (i've been trying to read that for the past half hour)
  1007. # [21:26] <TabAtkins> Ugh, there's a super-great visual guide to git I'm trying to find.
  1008. # [21:26] <Domenic> TabAtkins: hmm documentation has gotten much better since I last saw. I'll give it a shot and ask questions if I get stuck. Thanks!
  1009. # [21:26] <TabAtkins> Domenic: It's been stable for like a year, so you must have looked at it a *long* time ago. ^_^
  1010. # [21:27] <TabAtkins> https://marklodato.github.io/visual-git-guide/index-en.html
  1011. # [21:27] <SamB> Hixie: maybe http://eagain.net/articles/git-for-computer-scientists/ will help?
  1012. # [21:27] <TabAtkins> Hixie: ^^^ this was super informative to me.
  1013. # [21:27] <SamB> Hixie: you aren't scared of DAGs are you?
  1014. # [21:27] * Quits: tj_vantoll (~Adium@2601:4:5380:eba:fde2:2a66:ef4d:1cc3) (Read error: Connection reset by peer)
  1015. # [21:28] <Hixie> i'm not _scared_ of them, i just find the idea that i need to know about hashes and branches and DAGs and so forth just to submit some small diffs to be absurd
  1016. # [21:28] <Hixie> TabAtkins: thanks, loking
  1017. # [21:28] <Hixie> [24~looking
  1018. # [21:28] <Hixie> l o o k i n g
  1019. # [21:28] <TabAtkins> Hixie: The link I gave gives you a great, easy visual guide to the commands and what effect they have on the working directory, the index, and the history.
  1020. # [21:28] <TabAtkins> Hahahaha
  1021. # [21:28] <SamB> Hixie: well you don't have to know much about hashes to use it
  1022. # [21:28] <TabAtkins> The hardest part of getting into git is (a) learning, intuitiveyl, what the index is for and why it's exposed, and (b) what commands interact with what thing.
  1023. # [21:29] * Quits: tantek (~tantek@207.225.131.142) (Quit: tantek)
  1024. # [21:29] * Joins: tj_vantoll (~Adium@2601:4:5380:eba:fde2:2a66:ef4d:1cc3)
  1025. # [21:29] <SamB> call it the staging area
  1026. # [21:29] <TabAtkins> Hard when you're used to a VCS that doesn't expose an index, at least.
  1027. # [21:29] <TabAtkins> Yeah, same deal.
  1028. # [21:29] <Hixie> TabAtkins: that explains the local stuff, but my real problem here is i don't care about the local stuff and just want to upload stuff to a remote server
  1029. # [21:30] <SamB> the chief virtual of calling it an "index" is that that is less misleading than "cache"
  1030. # [21:30] <SamB> er.
  1031. # [21:30] <Hixie> i literally have zero use for the fact that git stores anything locally
  1032. # [21:30] <SamB> s/virtual/virtue/
  1033. # [21:30] <TabAtkins> Hixie: Pushing to a remote is just (1) get the stuff into your history, then (2) git push.
  1034. # [21:30] <SamB> Hixie: you do it locally and then upload when you've got all the things locally that you want remotely
  1035. # [21:30] <Hixie> TabAtkins: but what does it push?
  1036. # [21:30] <SamB> just pretend you are the server for the moment
  1037. # [21:30] <TabAtkins> Your history.
  1038. # [21:30] <Hixie> i only want to push one diff
  1039. # [21:30] <SamB> Hixie: all it needs to push to keep the dag in one piece
  1040. # [21:30] <TabAtkins> (Using the "visual guide" terms.)
  1041. # [21:30] <SamB> you can't push a diff
  1042. # [21:30] <SamB> git has no diffs
  1043. # [21:31] <TabAtkins> Hixie: You're already tracking the server, right?
  1044. # [21:31] <TabAtkins> So you pulled from the server, then made changes and committed them, and want to push?
  1045. # [21:31] <Hixie> "tracking"?
  1046. # [21:31] <TabAtkins> Sorry, I keep using terms of art. ^_^
  1047. # [21:31] <SamB> Hixie: you have it in the output of "git remote -v"?
  1048. # [21:31] <TabAtkins> Point is: how did you get the code you were hacking on?
  1049. # [21:31] <TabAtkins> With a `git pull`?
  1050. # [21:31] <Hixie> i've no idea how i got my working directory, at this point, it's scrolled off the top of my .bash_history :-)
  1051. # [21:32] <TabAtkins> Or `git clone`, whatever?
  1052. # [21:32] <SamB> Hixie: so what says "git remote -v"?
  1053. # [21:32] <TabAtkins> You probably cloned it. There a `.git` folder in the top-level folder?
  1054. # [21:32] <Hixie> git remote -v says "origin https://github.com/html5lib/html5lib-tests (fetch)" (and origin)
  1055. # [21:32] <TabAtkins> Okay, cool.
  1056. # [21:32] <Hixie> er, and push
  1057. # [21:32] * Joins: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com)
  1058. # [21:32] <SamB> so yeah, you're tracking it
  1059. # [21:32] <Hixie> now i have several changes in this direcory, and i'd like to submit them as separate patches. pull requests. whatever.
  1060. # [21:33] <TabAtkins> Ah, you wanna do PRs.
  1061. # [21:33] <SamB> hmm, separate pull requests means you'll need a branch for each
  1062. # [21:33] <TabAtkins> That makes things a touch more complex.
  1063. # [21:33] <TabAtkins> Want a walkthrough?
  1064. # [21:33] <Hixie> if you're happy to give me one i would be much obliged, but i'd happily settle for documentation :-)
  1065. # [21:33] * Joins: catalinb (~catalinb2@corp.mtv2.mozilla.com)
  1066. # [21:34] <TabAtkins> Github's docs are okay for this, but it'll be compolicated since you've already made your changes all together.
  1067. # [21:34] <SamB> "git gui" is your friend, I think
  1068. # [21:34] <Hixie> they're in different files, fwiw
  1069. # [21:34] <TabAtkins> Okay, that's easier.
  1070. # [21:34] <SamB> oh, then "git add" is all you need
  1071. # [21:34] <TabAtkins> Have you committed them yet? "No" is okay.
  1072. # [21:34] <Hixie> (if they're not we'll pretend they are and then apologise to gsnedders later)
  1073. # [21:34] <Hixie> nope
  1074. # [21:34] <TabAtkins> Okay, cool.
  1075. # [21:35] <TabAtkins> So you've got a lot of new files added, and none of them have had `git add` or `git commit` run on them yet, right?
  1076. # [21:35] <SamB> ("yes" would have been okay too)
  1077. # [21:35] <Hixie> no new files iirc, just edits to existing files
  1078. # [21:35] <Hixie> (these are changes to the html5lib tests)
  1079. # [21:35] <TabAtkins> SamB: (Yeah, but I was trying to head off a "No, but I'm doing it now").
  1080. # [21:35] <TabAtkins> Hixie: Okay.
  1081. # [21:35] <SamB> Hixie: "git add" isn't just for new files
  1082. # [21:35] <TabAtkins> So for each PR you wanna do, you'll need a fresh branch.
  1083. # [21:35] <Hixie> ok
  1084. # [21:35] * Hixie grabs some wood
  1085. # [21:35] <TabAtkins> So run `git checkout -b my-new-branch-name`.
  1086. # [21:36] <TabAtkins> That'lll make a new branch and switch you to it.
  1087. # [21:36] <Hixie> is that going to create new directories or anything?
  1088. # [21:36] <TabAtkins> No.
  1089. # [21:36] <Hixie> or just change the local directory to be in a branch?
  1090. # [21:36] <TabAtkins> Branches are a magic git concept, not reflected in your directory structure.
  1091. # [21:36] <TabAtkins> They're just a way of naming commits.
  1092. # [21:36] <Hixie> so this is basically a way of naming the next commit(s)?
  1093. # [21:36] <TabAtkins> The Yeah.
  1094. # [21:36] <SamB> it switches which branch git considers to be your current branch
  1095. # [21:37] <TabAtkins> Once you're in a new branch, `git add` the files you changed that you want to submit in a single PR, and `git commit`.
  1096. # [21:37] <TabAtkins> Then make a new branch, and repeat.
  1097. # [21:37] <Hixie> are these branch names local only, or should i take care to make them relevant in the future?
  1098. # [21:37] <TabAtkins> Your uncommited files will follow you around as yous witch branches.
  1099. # [21:37] <SamB> TabAtkins: shouldn't he switch back to "master" or whatever before he makes the next one?
  1100. # [21:37] <TabAtkins> They'll go away as soona s the PR is merged.
  1101. # [21:37] <TabAtkins> SamB: Oh yeah, right.
  1102. # [21:37] <Hixie> ok
  1103. # [21:37] <SamB> Hixie: the branch names don't have to last
  1104. # [21:37] <TabAtkins> Do `git checkout master` after each commit, or your history'll be weird.
  1105. # [21:38] <TabAtkins> And github will be unhappy.
  1106. # [21:38] <SamB> I mean, probably the branches will be around forever but nobody will care once they've been merged up
  1107. # [21:38] <TabAtkins> SamB: GH's UI lets you delete the branches.
  1108. # [21:38] <SamB> well, sure
  1109. # [21:38] <Hixie> where do i put the commit message?
  1110. # [21:38] <TabAtkins> At least, remotely, and then that'll sync down.
  1111. # [21:38] <Hixie> git commit -m"" ?
  1112. # [21:38] <TabAtkins> Hixie: `git commit -m ""`
  1113. # [21:38] <Hixie> k
  1114. # [21:38] <SamB> but most people don't seem to bother to actually delete them ;-)
  1115. # [21:38] <Hixie> and that gets sent to gsnedders somehow as part of the pull request?
  1116. # [21:39] <SamB> Hixie: yes
  1117. # [21:39] <TabAtkins> Not quite.
  1118. # [21:39] <TabAtkins> Heh.
  1119. # [21:39] <TabAtkins> This is preparing them for that.
  1120. # [21:39] <TabAtkins> There are ways to do the PR from teh command-line, but I've never learned them.
  1121. # [21:39] <TabAtkins> I do it through github's UI.
  1122. # [21:39] <zcorpan> Hixie: you will want to checkout master (or gh-pages or whatever is the default branch) before doing the next git checkout -b foo
  1123. # [21:39] <Hixie> TabAtkins: github can see my server?
  1124. # [21:39] <SamB> TabAtkins: well, it does get included in the PR more-or-less
  1125. # [21:40] <TabAtkins> Hixie: It can after you push.
  1126. # [21:40] <TabAtkins> You'll be pushing the branches individually, and then you can tell GH to turn each branch into a PR.
  1127. # [21:40] <TabAtkins> Like I said, there are more direct ways to do this last part, but I ahven't learned them yet.
  1128. # [21:41] <Hixie> ok, so i've done git checkout -b format-changes; git add README.md; git commit -m"Update README file to include new and recent changes to the format"
  1129. # [21:41] <TabAtkins> Now checkout master.
  1130. # [21:41] <TabAtkins> Then repeat those steps for each other change.
  1131. # [21:41] <Hixie> ok
  1132. # [21:41] * Quits: sak_to (~sak_to@fifthlight-140-202.cust.b2b2c.ca) (Remote host closed the connection)
  1133. # [21:41] <TabAtkins> This'll clear out your working directory, which'll make things simpler if you have to resolve conflicts or whatever.
  1134. # [21:41] <zcorpan> not push first?
  1135. # [21:42] <zcorpan> git push origin -u format-changes
  1136. # [21:42] <TabAtkins> zcorpan: Yeah, I'm just worrying about merge conflicts, though I guess that can be handled later.
  1137. # [21:42] * Joins: sak_to (~sak_to@fifthlight-140-202.cust.b2b2c.ca)
  1138. # [21:42] <TabAtkins> There won't be any conflict with the initial push.
  1139. # [21:42] <TabAtkins> So yeah, do what zcorpan says.
  1140. # [21:44] <Hixie> k
  1141. # [21:44] * Hixie wonders what his username is
  1142. # [21:44] <TabAtkins> Is it asking for that?
  1143. # [21:44] <TabAtkins> It's your github username/pw.
  1144. # [21:44] <zcorpan> (if you want to make more commits to the same PR later, you can just checkout that branch and make your change, git add <file>; git commit -m "..."; git push )
  1145. # [21:45] <zcorpan> (to fix review comments or rebase etc)
  1146. # [21:45] <Hixie> hm
  1147. # [21:45] * Hixie tries to log in via the web site
  1148. # [21:45] <Hixie> i thought i knew my credentials...
  1149. # [21:46] <zcorpan> Hixie: did you clone with https: URL?
  1150. # [21:46] * Quits: sak_to (~sak_to@fifthlight-140-202.cust.b2b2c.ca) (Ping timeout: 245 seconds)
  1151. # [21:46] <Hixie> "The requested URL returned error: 403 while accessing https://github.com/html5lib/html5lib-tests/info/refs"
  1152. # [21:46] <Hixie> so i guess yes?
  1153. # [21:46] <Domenic> if you have two-factor auth on you get screwed and have to generate a new per-machine password
  1154. # [21:47] <Hixie> looks like chrome knows my password
  1155. # [21:47] <Domenic> good old chrome
  1156. # [21:47] <Hixie> now i just need to get chrome to tell it to me :-)
  1157. # [21:47] <TabAtkins> That's in your settings page.
  1158. # [21:47] <Hixie> yeah, chrome i know how to use. :-P
  1159. # [21:48] <Hixie> ok well it's what i thought it was
  1160. # [21:48] <Hixie> weird
  1161. # [21:48] <Hixie> wtf
  1162. # [21:49] <Hixie> no two factor auth...
  1163. # [21:49] * Quits: SteveF (~chatzilla@cpc3-nmal20-2-0-cust916.19-2.cable.virginm.net) (Ping timeout: 244 seconds)
  1164. # [21:49] <TabAtkins> Oooh!
  1165. # [21:49] <TabAtkins> You may have used your keys, and it's asking for your key password.
  1166. # [21:49] <TabAtkins> Though, if it's asking for username, that's not right.
  1167. # [21:49] <Hixie> it's asking for my username first, yeah...
  1168. # [21:50] <TabAtkins> Oh wait, that might still be right.
  1169. # [21:50] <Hixie> my .gitconfig has different information
  1170. # [21:50] <Hixie> i wonder if that's the problem
  1171. # [21:50] <TabAtkins> Maybe your key password for whatever key you gave to github?
  1172. # [21:50] <Hixie> TabAtkins: i have no ssh keys set up
  1173. # [21:50] <TabAtkins> Okay, then never mind that.
  1174. # [21:50] <Hixie> though maybe i should just do that
  1175. # [21:51] <TabAtkins> It means no un/pw, so that's what I do.
  1176. # [21:51] * Quits: zcorpan (~zcorpan@90-230-218-37-no135.tbcn.telia.com) (Remote host closed the connection)
  1177. # [21:52] <Hixie> yeah
  1178. # [21:52] <Hixie> ok done
  1179. # [21:52] <Hixie> let's try git push again
  1180. # [21:52] <Hixie> still asking for username
  1181. # [21:52] <Hixie> wtf
  1182. # [21:54] <Hixie> https://help.github.com/articles/https-cloning-errors is unhelpful...
  1183. # [21:55] <Hixie> i've just discovered you can use svn with github
  1184. # [21:55] <Hixie> that's rather tempting
  1185. # [21:56] <TabAtkins> Haha, you'll have to learn git someday!
  1186. # [21:56] <caitp> I think it just uses git-svn behind the scenes, but it's probably not as tempting as you think
  1187. # [21:56] <TabAtkins> (Though, learning GitHub is somewhat harder than just learning git.)
  1188. # [21:56] <Hixie> ok seriously, why is github not letting me login
  1189. # [21:56] <Hixie> i can ssh to github fine
  1190. # [21:57] <TabAtkins> annevk: Which spec was it that I offered to Bikeshed for you? Was it DOM?
  1191. # [21:57] * Joins: tj_vantoll1 (~Adium@c-98-250-130-237.hsd1.mi.comcast.net)
  1192. # [21:58] <caitp> Hixie: which remote url are you using? if its your own repository, and you aren't using the secure url, you should be able to login with your github user/pass
  1193. # [21:58] <Hixie> https://help.github.com/articles/why-is-git-always-asking-for-my-password seems likely to be what's going on, but i don't understand the words on that page
  1194. # [21:58] <caitp> if it's the secure url, you should associate a key with your account and make sure git knows where to find it
  1195. # [21:58] <Hixie> caitp: i'm trying to push to https://github.com/html5lib/html5lib-tests
  1196. # [21:58] <Hixie> caitp: and i have the key set up such that ssh -T git@github.com works fine
  1197. # [21:59] <caitp> if it's not an account you have write access to, you're out of luck regardless
  1198. # [21:59] <jamesr_> you can push to the ssh url if you want to use ssh key to auth
  1199. # [21:59] <caitp> i'm guessing you have write access to html5lib
  1200. # [21:59] <caitp> actually, I don't see you in the members list for that org
  1201. # [21:59] <Hixie> caitp: i'm just trying to upload a pull request, presumably i don't need any rights to do that
  1202. # [21:59] <TabAtkins> Oh yeah, that's probably it.
  1203. # [21:59] * Quits: tj_vantoll (~Adium@2601:4:5380:eba:fde2:2a66:ef4d:1cc3) (Ping timeout: 252 seconds)
  1204. # [22:00] <caitp> for a pull request, you'd upload to your own account
  1205. # [22:00] <TabAtkins> To do a PR without commit right, you need to fork the repo to your own account.
  1206. # [22:00] <TabAtkins> Then you push to your fork, and issue a PR from that.
  1207. # [22:00] <Hixie> (seriously, what was wrong with the way we did it five years ago)
  1208. # [22:00] <SamB> TabAtkins: is there a quick way to delete all the branches then?
  1209. # [22:00] <TabAtkins> The main account can then accept the PR to integrate the change into themselves.
  1210. # [22:00] <caitp> defunkt's `hub` tool makes this workflow pretty nice
  1211. # [22:00] <caitp> so you might want to look into that
  1212. # [22:00] <Hixie> so...
  1213. # [22:00] <TabAtkins> Hixie: If you have commit rights its easier.
  1214. # [22:00] <Hixie> how do i do that
  1215. # [22:00] <Hixie> i thought i had already done my own fork
  1216. # [22:00] <TabAtkins> Go into GitHub, and click the "fork" button.
  1217. # [22:00] <Hixie> isn't that the whole point of git
  1218. # [22:01] <TabAtkins> Then we can change your remote.
  1219. # [22:01] <Domenic> TabAtkins: what metadata can I use to get something like the headers on http://fetch.spec.whatwg.org/ et al?
  1220. # [22:01] <TabAtkins> And push your branches there instead.
  1221. # [22:01] <caitp> cloning and forking are distinct
  1222. # [22:01] <TabAtkins> Domenic: We don't have WHATWG boilerplate yet, but you can add that yourself really easily.
  1223. # [22:01] <Domenic> TabAtkins: sounds good, will do later.
  1224. # [22:01] <TabAtkins> Hixie: "forking" is a GH concept, not a git one.
  1225. # [22:02] <Hixie> ok https://github.com/Hixie/html5lib-tests exists, whatever that is
  1226. # [22:02] <TabAtkins> Hixie: All of these instructions are *way* more complicated than they have to be, because you're working within the GH model, but didn't *start* that way.
  1227. # [22:02] * Quits: othermaciej (~mjs@17.114.217.240) (Quit: othermaciej)
  1228. # [22:02] <Hixie> TabAtkins: i'd be happy to work in some other model if it's simpler
  1229. # [22:02] * Quits: weinig (~weinig@17.245.25.226) (Quit: weinig)
  1230. # [22:02] <TabAtkins> Hixie: Easiest model is to ask gsnedders to give you commit rights, and just push your changes. ^_^&
  1231. # [22:02] <Hixie> i just want to have gsnedders review my changes and then have them committed to the repo
  1232. # [22:03] <TabAtkins> Then you can set up cleanly with the GH model.
  1233. # [22:03] <TabAtkins> In the GH model, you do all your work in your own fork, and throw PRs at the main repo.
  1234. # [22:04] <caitp> the GH model is typically, you have your organization with a canonical repository, which is considered upstream, you have your own fork on your own account, and you have your local clones on however many machines
  1235. # [22:04] <Hixie> TabAtkins: so in the GH model, you have a local repo, and then you push to a GH repo, and then you push from there to another GH repo?
  1236. # [22:04] <Hixie> man
  1237. # [22:04] <caitp> so all of your pushes should be against your fork on your github account, and you can submit those pushes for review in the canonical repository, it's pretty elegant
  1238. # [22:04] <Hixie> again
  1239. # [22:04] <TabAtkins> You push from your local repo to your fork, then PR over to the main fork, yeah.
  1240. # [22:04] <Hixie> life was so much easier back in the subversion days
  1241. # [22:04] <Hixie> but whatever
  1242. # [22:05] <TabAtkins> Hixie: Depends on what you mean by "easier".
  1243. # [22:05] <Hixie> is there some way to change my local working copy to point to https://github.com/Hixie/html5lib-tests instead?
  1244. # [22:05] <TabAtkins> The GH model is designed for easy collaboration with strangers without allowing them to stomp on everything.
  1245. # [22:05] <TabAtkins> And it works, once you know how to use it.
  1246. # [22:05] <caitp> this model really grows on you, I am looking forward to chromium fully switching to git so that it's less crazy
  1247. # [22:05] <TabAtkins> Yes, `git remote set-url origin <url-here>`
  1248. # [22:06] <Hixie> caitp: so far this model has only grown on me like a disgusting fungus :-P
  1249. # [22:06] <TabAtkins> You'll have to do this for each branch, I think? I'm not super-sure, haven't done that before.
  1250. # [22:06] <TabAtkins> Hixie: You're just experiencing change aversion due to trying to apply your SVG mental model on top of git.
  1251. # [22:06] * Joins: othermaciej (~mjs@17.114.217.240)
  1252. # [22:06] <TabAtkins> They're close, but not exact, so the friction feels like errors.
  1253. # [22:06] <Hixie> no, i'm pretty sure it's not change aversion :-)
  1254. # [22:06] <TabAtkins> Adn then having to deal with GH's structure on top of it is makign it worse.
  1255. # [22:07] <TabAtkins> Having used both SVG and git extensively, I know it's not just "git is fucked up and hard". ^_^
  1256. # [22:07] <TabAtkins> It's a little bit more complex, but most of the time you don't see that, and the complexity is actually quite worthwhile.
  1257. # [22:07] <TabAtkins> Hixie: You may be able to make changes directly to .git/config
  1258. # [22:08] * Joins: morrita_ (uid16889@gateway/web/irccloud.com/x-zshpelfmsfsrlozu)
  1259. # [22:08] <Hixie> so .git/config has no mention of the old url at all anymore
  1260. # [22:09] <caitp> the basics are super simple, and intermediate stuff like complicated rebasing and refactoring stuff across multiple commits is actually really straight forward, but I guess I should focus on meetings and do less git-evangelism
  1261. # [22:09] <Hixie> but i'm still getting prompted for my username
  1262. # [22:09] <Domenic> TabAtkins: what if I have <dfn>Chunks</dfn> and want to (auto?) link to it from the word "chunk"
  1263. # [22:09] <TabAtkins> Domenic: That happens automatically.
  1264. # [22:09] <Domenic> such magic :O
  1265. # [22:09] <TabAtkins> When it doesn't, use the title attribute to provide alternate text.
  1266. # [22:10] * Joins: tantek (~tantek@63-252-49-201.ip.mcleodusa.net)
  1267. # [22:10] <Domenic> Is there any difference between <a> and '?
  1268. # [22:10] <jgraham> Hixie: We can make this easier
  1269. # [22:10] <TabAtkins> (Bikeshed automatically accounts for common plurals, possessives, and -ing for both definitions and auotlinks.)
  1270. # [22:10] <TabAtkins> Domenic: Big diff. Single quotes are for CSS property autolinks.
  1271. # [22:10] <jgraham> Hixie: The GitHub model is broken for cases like this
  1272. # [22:10] <TabAtkins> <a> by itself is a dfn autolink.
  1273. # [22:10] <Domenic> ah k
  1274. # [22:10] <TabAtkins> That is, a definition of type "dfn".
  1275. # [22:10] <TabAtkins> A normal term, in other words.
  1276. # [22:10] <jgraham> You should push to a branch of the main repo
  1277. # [22:11] <jgraham> Then gsnedders or whoever can make pushes to fix your commits if needed
  1278. # [22:11] <TabAtkins> jgraham: He just needs commit right for that, which he currently doesn't have.
  1279. # [22:12] <jgraham> TabAtkins: That seems like a solvable problem
  1280. # [22:12] <TabAtkins> That's what I said. ^_^
  1281. # [22:13] <Hixie> ok, i've changed my password and now it lets me use that to push
  1282. # [22:13] <jgraham> TabAtkins, Hixie: OK, now you have push access
  1283. # [22:13] <Hixie> still isn't using ssh
  1284. # [22:13] <Hixie> but whatever
  1285. # [22:13] <Hixie> jgraham: ah
  1286. # [22:13] <TabAtkins> Hixie: Okay, so just pushing to the main repo should be good now.
  1287. # [22:13] <Domenic> General question (not Bikeshed specific): when should I use a normative vs. informative reference?
  1288. # [22:13] <Hixie> does "push" affect my local repo at all?
  1289. # [22:13] <Hixie> or can i just change the remote url and push again
  1290. # [22:13] <TabAtkins> Domenic: Will a change in the reference cause your spec to need to change? If so, normative.
  1291. # [22:13] <Domenic> In this case I am using the reference in an example, so it is presumably informative, but curious what the dividing line is.
  1292. # [22:14] <TabAtkins> Hixie: Don't bother with remote urls now.
  1293. # [22:14] <Domenic> TabAtkins: nice, that's a pretty clear line. thanks.
  1294. # [22:15] <Hixie> Domenic: normative reference means that implementations of your spec need to read and implement the other spec or your spec won't make sense
  1295. # [22:15] <TabAtkins> Hixie: But no, a push does nothing to your local repo. It just copies commits from your history to the remote repo's history.
  1296. # [22:15] <Hixie> Domenic: non-normative means that the other document could be deleted from the world, and your spec would be unaffected
  1297. # [22:15] <Hixie> Domenic: but that readers might still want to see that other spec for context
  1298. # [22:15] <Hixie> TabAtkins: k
  1299. # [22:15] <Domenic> Thanks Hixie.
  1300. # [22:16] <TabAtkins> Hixie: Just like how "add" just copies changes from your working area to your staging area, and "commit" just copies changes from your staging area to your history. ^_^
  1301. # [22:16] * Quits: darobin (~darobin@2a01:e34:ed05:d180:e84f:5b6:2b79:8589) (Remote host closed the connection)
  1302. # [22:16] <Domenic> TabAtkins: well, that was pretty darn easy; impressive tool.
  1303. # [22:17] <jgraham> Hixie: You want to do something like git remote add github git@github.com:html5lib/html5lib-tests.git; git push --set-upstream github HEAD:hixie/new_tests
  1304. # [22:17] <TabAtkins> Starting from Anolis makes some things easy. It's also possible that your dfns aren't typed correctly yet. ^_^
  1305. # [22:17] <Domenic> TabAtkins: what's the best way to get WHATWG boilerplate in? Pull request bikeshed, or can I have it take a boilerplate from external?
  1306. # [22:17] <TabAtkins> I'll give it a lookover if you want.
  1307. # [22:17] <Hixie> TabAtkins: there sure are a lot of different stages in the git/gh model
  1308. # [22:17] <Hixie> what is whatwg boilerplate?
  1309. # [22:17] <TabAtkins> Domenic: PR bikeshed - the /include directory has all the boilerplate files.
  1310. # [22:17] <Hixie> there shouldn't be any whatwg boilerplate
  1311. # [22:17] <TabAtkins> Just make new ones for whatever you need.
  1312. # [22:18] <TabAtkins> Hixie: The entire header and footer are boilerplate.
  1313. # [22:18] <Domenic> TabAtkins: Eek, that means I have to get it running locally on Windows... wheeee
  1314. # [22:18] <Hixie> there's no standard header and footer for whatwg specs
  1315. # [22:18] <Hixie> unless you mean the DOCTYPE
  1316. # [22:18] <TabAtkins> You should make one. ^_^
  1317. # [22:18] <Domenic> Hixie: "boilerplate" in this case includes <script> and <link> files
  1318. # [22:18] <TabAtkins> But also, the Group can be as granular as needed.
  1319. # [22:18] <Hixie> TabAtkins: no, i mean, there's no standard. it's whatever the spec writer wants.
  1320. # [22:18] <Hixie> e.g. whatwg/html and whatwg/dom are quite different
  1321. # [22:19] <TabAtkins> HTML's a special case. Everyone else is mostly different just because of the lack of a standard.
  1322. # [22:19] <TabAtkins> Crafting a stadnardized header would be fine for most of them.
  1323. # [22:19] <Hixie> noooooo
  1324. # [22:19] <Hixie> no bureaucracy
  1325. # [22:19] <Hixie> no boilerplate
  1326. # [22:20] <Hixie> the spec author should be responsible for all spec content
  1327. # [22:20] <TabAtkins> It's nothing to do with "bureacracy".
  1328. # [22:20] <TabAtkins> It's just that the header is pretty formulaic.
  1329. # [22:20] <Hixie> it shouldn't be
  1330. # [22:20] <TabAtkins> And so typing it all out yourself is dumb.
  1331. # [22:20] <Hixie> it should be compelling
  1332. # [22:20] <Hixie> it should draw the reader in
  1333. # [22:20] <Hixie> if it's formulaic then we're doing something wrong
  1334. # [22:20] <Hixie> different specs have different needs
  1335. # [22:21] * Quits: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com) (Remote host closed the connection)
  1336. # [22:22] <TabAtkins> Those needs are much less unique and special than I think you're indicating. Case in point: most WHATWG specs have nearly identical-looking headers.
  1337. # [22:22] <Hixie> and they all suck
  1338. # [22:22] <TabAtkins> And I'll bet that whenever Anne makes a new one, he copy/pastes from an old one.
  1339. # [22:22] <Hixie> seriously they're ugly headers right now
  1340. # [22:22] <Hixie> we shouldn't create new specs that look like that
  1341. # [22:23] <TabAtkins> Then figure out what they *should* look like, and standardize on that.
  1342. # [22:23] * Joins: mven_ (~textual@wsip-98-173-125-120.lv.lv.cox.net)
  1343. # [22:23] <Hixie> it will surely change regularly
  1344. # [22:23] <Hixie> as different spec authors experiment
  1345. # [22:23] <TabAtkins> Then change it regularly.
  1346. # [22:24] <Hixie> there shouldn't be an "it"
  1347. # [22:24] <TabAtkins> This is far easier to do when it's generated by the tool.
  1348. # [22:25] <Hixie> it should just be part of the spec source
  1349. # [22:25] <Hixie> there's nothing to generate
  1350. # [22:25] <TabAtkins> Welp, most of it is repetitive garbage no matter what you do, so I guess I totally disagree.
  1351. # [22:26] <Hixie> there shouldn't be anything repetitive about it
  1352. # [22:26] <Hixie> if it's repetitive it shouldn't be in the spec
  1353. # [22:27] <Domenic> I *would* be happier right now if I could just port over the existing parts of the spec source, and have Bikeshed only touch the main body of the spec... there's like 15 lines that I'm going to spend the next few hours duplicating
  1354. # [22:28] <TabAtkins> Domenic: If you do that, you'll lose the auto-genned index, refs, issues index, etc.
  1355. # [22:28] <TabAtkins> But you can trick Bikeshed into not doing the header generation by including a doctype.
  1356. # [22:28] <TabAtkins> If the first line is the html doctype, Bikeshed assumes you're providing your own header.
  1357. # [22:28] <TabAtkins> Hm, I can't remember if it still includes the footer in that case. Lemme see...
  1358. # [22:29] <Hixie> um, so i broke something with this git stuff i'm doing
  1359. # [22:29] <TabAtkins> Ah, it does not.
  1360. # [22:29] <Hixie> i tried to be clever and use git add -p to add just one part of a change
  1361. # [22:29] <Hixie> and now it's saying "error: You have local changes to 'tree-construction/template.dat'; cannot switch branches" when i try to checkout master
  1362. # [22:30] <SamB> Hixie: "git stash" now
  1363. # [22:30] <TabAtkins> Hixie: You need to commit them first.
  1364. # [22:30] * Joins: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com)
  1365. # [22:30] <SamB> then "git stash pop" after you switch back
  1366. # [22:30] * Quits: Lachy (~Lachy@cm-84.215.104.248.getinternet.no) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  1367. # [22:30] <Hixie> i did commit them
  1368. # [22:30] <Hixie> i'm following the same steps you gave before :-)
  1369. # [22:30] <TabAtkins> Oh, but they're to the file that's also commited.
  1370. # [22:30] <Hixie> git checkout -b BRANCHNAME; git add FILES; git commit -m"MESSAGE"; git push origin -u BRANCHNAME; git checkout master
  1371. # [22:30] <TabAtkins> Okay, yeah, stash.
  1372. # [22:31] <Hixie> what does git stash pop do?
  1373. # [22:31] <TabAtkins> `git stash` now will save and undo all the remaining uncommitted local changes.
  1374. # [22:31] <TabAtkins> pop throws them away, don't do that.
  1375. # [22:31] <Hixie> it says "nothing to apply"
  1376. # [22:31] <SamB> hmm
  1377. # [22:31] <SamB> I thought pop applied them first, THEN threw them away if that worked
  1378. # [22:31] <Hixie> how do i see my "local changes"?
  1379. # [22:32] <Hixie> and what are they local to?
  1380. # [22:32] <TabAtkins> So, back to the visual guide. ^_^
  1381. # [22:32] <Hixie> since there's three levels just in my own repo...
  1382. # [22:32] <TabAtkins> working directory is the current state of your files.
  1383. # [22:32] <TabAtkins> What you actually see.
  1384. # [22:32] <SamB> Hixie: once committed, they don't count as "local" according to git
  1385. # [22:32] <TabAtkins> staging area is what's getting ready for a commit.
  1386. # [22:32] <Hixie> so which are the local changes? staged or working?
  1387. # [22:33] <TabAtkins> (This exists for a few reasons, one of which is so that `git add -p` can exist and make sense)
  1388. # [22:33] <TabAtkins> It usually means "not committed".
  1389. # [22:33] <Hixie> git diff looks at working vs current comitted state of the branch?
  1390. # [22:33] <jgraham> Hixie: git status shows the files with changes
  1391. # [22:33] <TabAtkins> git diff looks at lots of things depending on the args.
  1392. # [22:33] <TabAtkins> Visual guide explains that.
  1393. # [22:33] <jgraham> Split into staged / unstaged / untracked
  1394. # [22:33] <TabAtkins> Better than I'd be able to.
  1395. # [22:33] <jgraham> git diff shows the unstaged changes
  1396. # [22:33] <jgraham> git diff --staged shows the staged changes
  1397. # [22:34] <Hixie> git diff --staged is empty
  1398. # [22:34] <Hixie> git status shows everything under "On branch newtemplatetest" "Changed but not updated"
  1399. # [22:34] <Hixie> presumably this is because i commited just one bit of one of these changed files
  1400. # [22:34] <Hixie> and it doesn't know how to throw just that change away when going back to the earlier branch
  1401. # [22:35] <Hixie> while keeping my other changes
  1402. # [22:35] <Hixie> so i guess i do git diff > foo.patch; git reset; patch < foo.patch ?
  1403. # [22:35] <jgraham> Hixie: Can you pastebin the output somewehre
  1404. # [22:35] <Hixie> output of what?
  1405. # [22:35] <jgraham> No, if you're using patch files you're doing it wrong
  1406. # [22:35] <jgraham> Hixie: git status
  1407. # [22:36] <Hixie> damowmow.com/temp/git-output
  1408. # [22:36] <Hixie> http://damowmow.com/temp/git-output
  1409. # [22:36] <Hixie> $ git checkout master
  1410. # [22:36] <Hixie> error: You have local changes to 'tree-construction/template.dat'; cannot switch branches.
  1411. # [22:36] <Hixie> template.dat is the file for which i commited just one chunk
  1412. # [22:36] <Hixie> on the current branch
  1413. # [22:37] <jgraham> Hixie: Just to make sure I know, what are you trying to achieve
  1414. # [22:37] <jgraham> The scrollback was quite hard to follow
  1415. # [22:37] <Hixie> trying to get gsnedders a bunch of patches
  1416. # [22:37] <Hixie> one for each related change
  1417. # [22:37] <Hixie> (brb getting food, back in 5 min)
  1418. # [22:37] * Quits: seventh (seventh@207-207-17-149.fwd.datafoundry.com) (Ping timeout: 272 seconds)
  1419. # [22:37] <jgraham> OK, and you have committed one patch and want to make more
  1420. # [22:39] * Joins: Lachy (~Lachy@cm-84.215.104.248.getinternet.no)
  1421. # [22:39] <TabAtkins> jgraham: And specifically, he's commited part of a changed file with add -p, and wants the rest of the file's changes in another branch.
  1422. # [22:39] <jgraham> OK
  1423. # [22:39] * Joins: weinig (~weinig@17.245.25.226)
  1424. # [22:40] * Quits: weinig (~weinig@17.245.25.226) (Client Quit)
  1425. # [22:40] * Quits: jeremyj (~jeremyj@17.202.44.231) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  1426. # [22:40] * Quits: jwatt (~roslea@host109-145-4-35.range109-145.btcentralplus.com) (Ping timeout: 240 seconds)
  1427. # [22:40] <jgraham> Hixie: So the advice from everyone about git stash was correct
  1428. # [22:41] * Joins: aklein (sid4454@gateway/web/irccloud.com/x-frqvnemfwgzfzxlp)
  1429. # [22:41] <jgraham> git stash basically commits all the changes in your working directory to a temporary branch
  1430. # [22:42] * Joins: weinig (~weinig@17.202.48.136)
  1431. # [22:42] <jgraham> These temporary areas are notionally arranged as a stack
  1432. # [22:42] <jgraham> so git stash; git checkout master; git stash pop
  1433. # [22:42] <annevk> TabAtkins: yeah, DOM I think
  1434. # [22:42] <Hixie> back
  1435. # [22:43] * Joins: KevinMarks_ (~KevinMark@c-67-164-14-200.hsd1.ca.comcast.net)
  1436. # [22:43] <Hixie> jgraham: ok cool, thanks
  1437. # [22:43] <Hixie> jgraham: that's basically the same as what i said about with diff and patch
  1438. # [22:43] <annevk> Domenic: hmm "tee", push x to stream, read from stream (and read until empty or read current buffer)
  1439. # [22:45] <annevk> Domenic: if stream is closed/open I guess
  1440. # [22:45] <annevk> (I currently use "is fully read" for closed)
  1441. # [22:47] * Joins: bholley (~bholley@corp.mtv2.mozilla.com)
  1442. # [22:47] <Hixie> if i added something to my staging area in error, how do i remove it?
  1443. # [22:48] <Hixie> git reset?
  1444. # [22:49] * Quits: TallTed (~Thud@63.119.36.36)
  1445. # [22:49] <Hixie> yeah that seems to be it
  1446. # [22:49] <Hixie> how about a way to diff the working directory against the staged stuff?
  1447. # [22:49] <Hixie> so i can tell what i haven't staged?
  1448. # [22:49] <TabAtkins> Hixie: VISUAL GUIDE
  1449. # [22:49] <TabAtkins> It has all of these questions in beautiful diagram form.
  1450. # [22:50] <Hixie> it claims "git diff" does what i want
  1451. # [22:50] <Hixie> but it's not clear that that is true
  1452. # [22:50] <TabAtkins> It hasn't lied to me yet, so shrug.
  1453. # [22:51] <Hixie> k
  1454. # [22:51] <Hixie> part of the problem is that things that seem symmetric have entirely different names
  1455. # [22:51] <Hixie> e.g. look at the diff diagram on that page
  1456. # [22:51] <TabAtkins> Yes.
  1457. # [22:51] <Hixie> diff maint, diff HEAD, diff, diff --cached, wtf
  1458. # [22:52] <Hixie> it's all over the place
  1459. # [22:52] <TabAtkins> Note that "maint" is just a branch name there, not a command.
  1460. # [22:52] <TabAtkins> And HEAD is a magic commit name that always refers to the tip of your branch.
  1461. # [22:53] <Hixie> yeah
  1462. # [22:53] <TabAtkins> So `diff` is WD against SA, `diff <commit/branch/etc>` is WD against history, `diff <commit/etc> <commit/etc>` is commit against commit.
  1463. # [22:53] <TabAtkins> The --cached one is weird, but it's also rare to have to diff staging area against history.
  1464. # [22:54] <Hixie> basically i think git suffers from two fundamental problems (both made orders of magnitude worse by github): it's over-engineered, and it has a horrible inconsistent ui
  1465. # [22:54] <TabAtkins> Ignore the GH parts right now. They have a simple and consistent model that is terribly confusing if you come at it piecemeal and trying to slowly adapt your working process to it.
  1466. # [22:54] * Joins: jeremyj (~jeremyj@17.202.44.231)
  1467. # [22:54] <TabAtkins> Once you actually learn it and use it proper, it's fairly easy and simple.
  1468. # [22:55] * Hixie accidentally types git checkout -p foo instead of -b foo and hopes that didn't break anything
  1469. # [22:56] <TabAtkins> I can't make the same argument as strongly for git itself, because it does have some weird edges, but its core is pretty simple and elegant.
  1470. # [22:56] * Joins: jwatt (~roslea@host109-145-4-35.range109-145.btcentralplus.com)
  1471. # [22:56] <TabAtkins> Though again, piecemeal changing your process from SVG to git is confusing, and it burned me too.
  1472. # [22:56] <TabAtkins> Once I found the visual guide everything made way more sense.
  1473. # [22:56] <Hixie> i'm not trying to change my process at all
  1474. # [22:56] <Hixie> i'm just trying to commit this one set of changes
  1475. # [22:56] <Hixie> :-)
  1476. # [22:57] <TabAtkins> Your process being "make changes, commit them". ^_^
  1477. # [22:57] <TabAtkins> Domenic: Point me to a spec that you want to use the heading portion of, and I'll make boilerplates for you to use.
  1478. # [22:58] * Quits: abinader (sid21713@gateway/web/irccloud.com/x-tdnrprgufaflljzj)
  1479. # [22:58] <TabAtkins> Domenic: If you and annevk can agree on what heading stuff to use, all the better.
  1480. # [22:58] <TabAtkins> Domenic: Also, I'm happy to review your bikeshedded file, to make sure you're using the right dfn types (so Shepherd will be happy when it starts parsing your spec).
  1481. # [22:59] <Hixie> jgraham: (btw, thanks for setting me up with access)
  1482. # [22:59] <Domenic> TabAtkins: excellent. i am very close to being done with a bikeshed draft that repros my current stuff, will ping you in 10 minutes probably
  1483. # [22:59] <TabAtkins> kk
  1484. # [23:00] * Joins: jacobolus (~jacobolus@74-95-6-5-SFBA.hfc.comcastbusiness.net)
  1485. # [23:01] <TabAtkins> annevk: Is "dom-core.html" an important filename to maintain for the generated file?
  1486. # [23:01] <TabAtkins> Totally fine if it is, just making sure what you want.
  1487. # [23:02] <Hixie> TabAtkins: ok i've committed everything
  1488. # [23:02] <Hixie> TabAtkins: is there somewhere i can review these changes?
  1489. # [23:02] <Hixie> pushed everything ,rather
  1490. # [23:02] <TabAtkins> In the github UI, you can change what branch you're looking at.
  1491. # [23:03] <TabAtkins> And if you need to make changes, `git checkout my-branch-name`, make changes, commit, push.
  1492. # [23:04] * Quits: jwatt (~roslea@host109-145-4-35.range109-145.btcentralplus.com) (Ping timeout: 245 seconds)
  1493. # [23:04] <Hixie> then i hit "create pull request"?
  1494. # [23:05] <TabAtkins> PRing from a branch to another branch in the same repo is fiddly.
  1495. # [23:05] <TabAtkins> Better to just ping gsnedders about it and let him deal with it.
  1496. # [23:05] <TabAtkins> He can pull the branch and merge it himself.
  1497. # [23:06] <Hixie> ah ok these are all publicly viewable already? good
  1498. # [23:06] <Hixie> https://github.com/html5lib/html5lib-tests/branches
  1499. # [23:06] <TabAtkins> Yeah.
  1500. # [23:06] <Hixie> gsnedders: ok dude, https://github.com/html5lib/html5lib-tests/branches
  1501. # [23:06] <Hixie> TabAtkins: thanks so much for the help
  1502. # [23:06] <Hixie> and to everyone else also
  1503. # [23:07] <Hixie> but mainly tab :-)
  1504. # [23:07] <TabAtkins> Now in the *future*, this can be much easier.
  1505. # [23:07] <TabAtkins> Because you can do it right from the start.
  1506. # [23:07] <TabAtkins> Clone your fork instead.
  1507. # [23:07] <Domenic> heh, Python doesn't like Unicode
  1508. # [23:07] <TabAtkins> Then make branches whenever you want to submit something.
  1509. # [23:07] <TabAtkins> *Then* the "create PR" button in GitHub is easy and does the right thing.
  1510. # [23:08] <TabAtkins> Domenic: Bikeshed errors? Plz let me know, everything should be clean by now.
  1511. # [23:08] * Quits: annevk (~annevk@77-57-114-66.dclient.hispeed.ch) (Read error: Connection reset by peer)
  1512. # [23:08] * Joins: annevk (~annevk@77-57-114-66.dclient.hispeed.ch)
  1513. # [23:10] * Joins: RiVale (~rv@a79-168-80-35.cpe.netcabo.pt)
  1514. # [23:11] * Parts: RiVale (~rv@a79-168-80-35.cpe.netcabo.pt)
  1515. # [23:11] * Quits: Lachy (~Lachy@cm-84.215.104.248.getinternet.no) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  1516. # [23:11] <TabAtkins> annevk: Would it annoy you if I converted your indentation to tabs?
  1517. # [23:12] <jgraham> TabAtkins: No it isn't
  1518. # [23:12] * Joins: Lachy (~Lachy@cm-84.215.104.248.getinternet.no)
  1519. # [23:12] <TabAtkins> jgraham: What isn't?
  1520. # [23:12] <jgraham> Fiddly to create PRs from branches in the same repo
  1521. # [23:12] <jgraham> There is like a big green button for that
  1522. # [23:13] <jgraham> Working from a fork is *much* harder
  1523. # [23:13] <jgraham> Because there are 3 repos to worry about rather than two
  1524. # [23:13] <jgraham> and it's much harder for anyone else to help you out
  1525. # [23:13] <jgraham> because they can't push commits
  1526. # [23:13] * Joins: josemanuel (~josemanue@99.Red-88-26-150.staticIP.rima-tde.net)
  1527. # [23:14] <TabAtkins> jgraham: In my experience with picture-element, it was really annoying.
  1528. # [23:14] <TabAtkins> But maybe that was because we used a non-master main branch.
  1529. # [23:14] <jgraham> Perhaps
  1530. # [23:14] <TabAtkins> The GH UI was just super-unfriendly for this.
  1531. # [23:14] <TabAtkins> And defaulted to doing some crazy shit when trying to specify what branch you were PRing against.
  1532. # [23:14] <jgraham> In all the situations where I use GH I vastly prefer working with one upstream rather than a fork and a master
  1533. # [23:15] <jgraham> s/master/origin/
  1534. # [23:15] <Hixie> i have no experience of this, so my opinion is worthless, but what jgraham is saying makes more sense to me. :-)
  1535. # [23:15] <jgraham> TabAtkins: For example https://github.com/html5lib/html5lib-tests/tree/newtemplatetest seems to be one of Hixie's branches
  1536. # [23:15] * Quits: Maurice` (copyman@5ED5617C.cm-7-6b.dynamic.ziggo.nl)
  1537. # [23:16] <jgraham> and the green button to the left of the branch name creates a PR from that branch against master
  1538. # [23:16] <TabAtkins> I've worked with several repos in the "fork and PR" model, and it's always worked well for me.
  1539. # [23:16] <TabAtkins> jgraham: Okay, so my difficulty may have mainly been from the non-master main branch.
  1540. # [23:16] <TabAtkins> Stupid gh-pages bullshit.
  1541. # [23:16] * Quits: svl (~me@ip565744a7.direct-adsl.nl) (Quit: And back he spurred like a madman, shrieking a curse to the sky.)
  1542. # [23:17] <TabAtkins> In Anolis, does <span> by itself do anything?
  1543. # [23:17] <jgraham> If you then want to make a PR against another branch, you can do it using the "pick a branch
  1544. # [23:17] <jgraham> " UI after you select "create pull request"
  1545. # [23:17] * jgraham wished he knew that a few hours ago
  1546. # [23:17] <TabAtkins> jgraham: Yeah, that UI *completely bugged out* when I last used it in the picture-element repo.
  1547. # [23:18] <Domenic> TabAtkins: https://github.com/whatwg/streams/tree/bikeshed
  1548. # [23:18] <Domenic> index.html is the old Anolis source; output.html is the bikeshed output.
  1549. # [23:18] <Domenic> In the future will have Travis run bikeshed on gh-pages branch and not commit the output at all.
  1550. # [23:18] * Quits: jeremyj (~jeremyj@17.202.44.231) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  1551. # [23:19] <TabAtkins> Okay.
  1552. # [23:19] <Domenic> Haven't started using implicit paragraphs yet but I think I got most other things like references and definitions updated.
  1553. # [23:20] <Domenic> https://rawgit.com/whatwg/streams/bikeshed/output.html is the rendered output
  1554. # [23:20] <TabAtkins> Domenic: OH man, use them. They're so good!
  1555. # [23:20] <TabAtkins> Also: Markdown headings should work now.
  1556. # [23:20] <Domenic> Ooooh
  1557. # [23:20] <TabAtkins> But they're still technically experimental.
  1558. # [23:20] <TabAtkins> Have I updated the docs yet? Hm...
  1559. # [23:20] <Domenic> Can I use them for no-num no-toc or similar?
  1560. # [23:21] <Hixie> <span> is just a cross-ref source (<a>)
  1561. # [23:21] * Quits: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com) (Remote host closed the connection)
  1562. # [23:21] <Hixie> in anolis
  1563. # [23:21] <TabAtkins> I have not.
  1564. # [23:21] <TabAtkins> Domenic: Not quite yet.
  1565. # [23:21] <TabAtkins> Domenic: I have a shorthand for adding an id, but not for marking them no-num or no-toc.
  1566. # [23:21] <TabAtkins> Hixie: Thanks.
  1567. # [23:21] * Joins: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com)
  1568. # [23:22] <Domenic> TabAtkins: any other markdown features to know about? E.g. links?
  1569. # [23:23] <TabAtkins> Domenic: No inline markdown yet.
  1570. # [23:23] <TabAtkins> Still slightly unsure if I want to do them or not.
  1571. # [23:23] <Domenic> ya
  1572. # [23:23] <TabAtkins> But code blocks work.
  1573. # [23:23] <TabAtkins> And I'm working on lists.
  1574. # [23:23] <Domenic> oooh
  1575. # [23:23] <Domenic> fenced code blocks? dare i ask, with syntax highlighting??
  1576. # [23:23] <TabAtkins> Plan to add syntax highlighting to code blocks a la gfm
  1577. # [23:24] <Domenic> yessss will make these examples so much better
  1578. # [23:24] <TabAtkins> Oh, I haven't added the code block support quite yet!
  1579. # [23:24] * Joins: SteveF (~chatzilla@cpc3-nmal20-2-0-cust916.19-2.cable.virginm.net)
  1580. # [23:24] <TabAtkins> I'll do that today, it's easy.
  1581. # [23:26] <Hixie> ok so now that i have an html parser i need to figure out what features i need in my pipeline
  1582. # [23:26] <Hixie> TabAtkins: what does bikeshed do that's critical?
  1583. # [23:26] * Quits: jensnockert (~jensnocke@dynamic.1.7.34dbfd722180.e0f8471ae7fa.afb.bredband2.com) (Ping timeout: 272 seconds)
  1584. # [23:26] <TabAtkins> Hixie: Biggest one is cross-spec cross-references.
  1585. # [23:26] <Hixie> ok, got that one
  1586. # [23:26] <Hixie> outline, also
  1587. # [23:26] <TabAtkins> Totally automagic unless there's a conflict.
  1588. # [23:26] <Hixie> not so worried about the magic aspect, i like being explicit
  1589. # [23:26] <TabAtkins> Bleh, okay.
  1590. # [23:27] <TabAtkins> Railroad diagrams seem to be a lot of people's favorite feature. ^_^
  1591. # [23:27] <Hixie> i also need spec splitting, and back-references from <dfn>
  1592. # [23:27] <TabAtkins> IDL auto-markup, too.
  1593. # [23:27] <TabAtkins> (That is, inserting <dfn> or <a>, as appropriate, on all the things in an IDL block.)
  1594. # [23:28] <Hixie> interesting
  1595. # [23:28] <Hixie> i'll just stick to using <span>s for now
  1596. # [23:28] <Hixie> i need to get this up and running before i start making it clever :-)
  1597. # [23:28] * Quits: tj_vantoll1 (~Adium@c-98-250-130-237.hsd1.mi.comcast.net) (Quit: Leaving.)
  1598. # [23:29] <TabAtkins> Yeah, those were all nice-to-haves that I added later.
  1599. # [23:29] <TabAtkins> cross-spec refs were the actual reason I started Bikeshed.
  1600. # [23:29] * Hixie adds that to the "v2" list
  1601. # [23:33] * Joins: cheron (~cheron@unaffiliated/cheron)
  1602. # [23:35] * Joins: bholley_ (~bholley@corp.mtv2.mozilla.com)
  1603. # [23:37] * Quits: bholley (~bholley@corp.mtv2.mozilla.com) (Ping timeout: 264 seconds)
  1604. # [23:38] * Quits: tantek (~tantek@63-252-49-201.ip.mcleodusa.net) (Quit: tantek)
  1605. # [23:39] * Joins: jwatt (~roslea@host109-145-4-35.range109-145.btcentralplus.com)
  1606. # [23:45] <Domenic> TabAtkins: When I do "<dfn>Some term</dfn> means ..." at the start of a paragraph, it gets capitalized in the index, which seems silly.
  1607. # [23:45] <TabAtkins> Domenic: You can manually specify the linking test with title='', just like Anolis.
  1608. # [23:45] <TabAtkins> I don't want to tweak any capitalization normally, as that will often be wrong.
  1609. # [23:46] <Domenic> niiice
  1610. # [23:47] * Quits: montecfel (~montecfel@gateway/tor-sasl/montecfel) (Ping timeout: 264 seconds)
  1611. # [23:49] * Quits: SteveF (~chatzilla@cpc3-nmal20-2-0-cust916.19-2.cable.virginm.net) (Ping timeout: 240 seconds)
  1612. # [23:49] * Quits: cheron (~cheron@unaffiliated/cheron) (Ping timeout: 272 seconds)
  1613. # [23:50] * Quits: jeffreyatw (~jeffreyat@66-194-1-26.STATIC.twtelecom.net) (Ping timeout: 244 seconds)
  1614. # [23:51] * Joins: jeffreyatw (~jeffreyat@66-194-1-26.STATIC.twtelecom.net)
  1615. # [23:51] <TabAtkins> annevk: Is your definition of "throw" supposed to be the same as WebIDL's, or something different?
  1616. # [23:52] * Quits: mven_ (~textual@wsip-98-173-125-120.lv.lv.cox.net) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…)
  1617. # [23:56] <TabAtkins> annevk: Hmmmm, the version of DOM on GitHub is different from the version on whatwg.org. Where's the canonical source?
  1618. # [23:57] * TabAtkins is going to stop working on Bikeshedding this until figuring this out, in case he has to redo anything.
  1619. # [23:58] * Quits: KevinMarks_ (~KevinMark@c-67-164-14-200.hsd1.ca.comcast.net) (Remote host closed the connection)
  1620. # [23:59] * Joins: KevinMarks_ (~KevinMark@c-67-164-14-200.hsd1.ca.comcast.net)
  1621. # [23:59] * Joins: montecfel (~montecfel@gateway/tor-sasl/montecfel)
  1622. # Session Close: Tue Jun 17 00:00:00 2014

The end :)