- Released 1.8.22 with support for jQuery 1.8.
- Working on new API documentation site.
- Working on new release script.
- Fully covers functionality from old release script.
- Working on uploading zips to GitHub.
- Working on download builder rewrite.
- Working on new jqueryui.com design and implementation.
- Working on 1.9.0 upgrade guide.
Author Archives: builder
Ecma/TC39 Meeting – Jul 24 2012
link July 24 2012 Meeting Notes
Present: Yehuda Katz (YK), Luke Hoban (LH), Rick Waldron (RW), Alex Russell (AR), Tom Van Cutsem (TVC), Bill Ticehurst (BT), Brendan Eich (BE), Sam Tobin-Hochstadt (STH), Norbert Lindenberg (NL), Allen Wirfs-Brock (AWB), Doug Crockford (DC), John Neumann (JN), Oliver Hunt (OH), Erik Arvidsson (EA), Dave Herman (DH)
10:00-11:00am
Discussion of proposed agenda.
Determine participants required for specific subjects.
July agenda adopted
May minutes approved
link 4.1 AWB Presents changes resulting in latest drafts
Draft related bug filing Increased community participation, a good thing Issue with numbers not matching duplicate filings, be aware
Quasi Literal added to specification Spec issues have arisen, will review
Initial work defining tail call semantics (still need to define tail positions in 13.7) What defines a "tail call" in ES Existing Call forms need to be specified in how they relate to tail positions. (call, apply, etc)
STH: Important that call and apply be treated as tail calls
YK: and accessors
STH: Agree.
...discussion of examples
AWB: Differences between accessor calls as they apply to proxy call traps, not definitively identifiable at syntax level. The function call operator and the call trap.
TVC: Proxy trap calls currently can never be in a tail position (except "apply" and "construct" traps)
STH: call should be in tail position. Clarification of known call site syntax, per spec.
link Consensus/Resolution
Anything that could invoke user written code in a tail position to act as a tail call.
call, apply, accessors, quasi (interpolation), proxy calls
We still need to specify the tail positions in the syntax. There's a start by DH on http://wiki.ecmascript.org/doku.php?id=harmony:proper_tail_calls which uses an attribute grammar, but the current spec draft leaves this blank.
Filed: https://bugs.ecmascript.org/show_bug.cgi?id=590
link 4.5 RegEx "Web Reality"
(http://wiki.ecmascript.org/doku.php?id=strawman:match_web_reality_spec)
Introduction to discussion by Luke Hoban
LH: Attempted to write a guide to make regex specification match current implementation wherein order of production matters. See 15.10.1 Patterns in above link.
...Gives specfic examples from 15.10.1
Discussion between AWB and LH re: semantic annotations and redefinition.
YK: Do non-web implementations match current spec or web reality?
AR: Are there any non-web implementations?
YK: Rhino?
BE: matches reality because based on SpiderMonkey circa 1998
Test cases? Yes.
BT: Yes, cases exist in Chakra
LH: (Refers to examples)
NL: Do these affect unicode? We had agreement at previous meeting that web reality changes would not be applied in Unicode mode (/re/u).
LH: This is what regex is in reality... Waldemar did not want to specify because it's too hard to specify, but now the work is done
AWB: Too hard is not an excuse to not specify, good that the work is now done.
Discussion of "\u" in existing regex - \ug or \u{12} is interpreted, but differently than planned for Unicode mode
Trailing /u flag?
Makes grammar more complicated to have \u{...} only if /u flag used.
AWB: Three things to address: Web reality, Unicode support, new extensions
LH: /u the only way to opt-in to Unicode escapes with curlies, with Unicode extensions.
NL: need to reserve backslash with character for new escapes in the future, e.g. \p for Unicode character properties
OH: Fairly substantial regex in wild all created with RegExp constructor.
YK: Moving forward: Evangelize using Unicode and tacking "/u" onto all new regex?
BE, OH, AR: yes.
Decision: LH and NL to collaborate on integrated proposal
link 4.7 Adding forEach to Map and Set
http://wiki.ecmascript.org/doku.php?id=harmony:simple_maps_and_sets
Deferred, got to it on third day
link 4.9 getClassNameOf
BE: Recap, last meeting there was discussion about getting a strawman from YK
YK: I began specifying, but existing questions prevented
BE: some want to solve not only the typeof null problem, but also "array"
YK: What is the usecase for Object.isObject
DC: Polymorphic interface
AWB: "has properties"
RW: Similar to isNaN: isNull that is only for null
OH:(Reiterates that we cannot change typeof)
AWB: what is it about host (exotic) objects that need to be differentiated from native (ordinary) objects?
YK: Reclarification about things that are not objects (in the [object Object] sense) that say they are.
AWB: If we go down this path, can anyone redefine the return value
YK: My question is: either always return object Object, or let anyone change to return anything
AWB: Rephrase as "extending toString()". Removing [[Class]] from spec, but now as [[NativeBrand]]. The default: exactly as they are today. in ES6, if this property is defined, then use it, if not, use default.
Mixed discussion of real world uses of: Object.prototype.toString.call(o)
BE: 1JS Killed typeof null
BE, OH: Like the idea of a configurable property to define explicit value of brand
YK: why is what "toString" returns so important?
AR: 2 things:
- Fixing is not easy
- How to correctly fix w/o making more surface area for the wrong thing
link Consensus/Resolution
There is worry that changes to spec that affect the return of toString will have adverse impact on existing libraries and users when they encounter new runtime behaviours where the existing behaviour is expected.
Belief that we need a more flexible mechanism, whether it is AWB's configurable property that defaults when not explicitly set, or AR et al trait type test proposal.
BE, AWB: nominal type tests considered an anti-pattern per Smalltalk, but they happen in JS not only "because they can" -- sometimes because of built-ins you need to know
link 6 Internationalization Standard
Norbert Lindenberg: (Introduction and opening discussion)
Discussion, re: contributors
link 6.1 Last call for feedback before final draft
Function length values? Using ES5 section 15 rules would cause respecified functions like String.prototype.localeCompare to have larger length values; using ES6 rules would let them keep old values.
Leads into larger discussion about Function length property.
Decision: Apply ES6 rules to all functions in Internationalization API.
Numbering system, number formatting system. Would like to reference Unicode Technical Standard 35.
Outstanding issue:
If you have 4 different impls, 3 of them support a language that you want to support, how can you polyfill the 4th to support the language.
The constructor can re-declared?
link Conclusion/Resolution
There is no easy way currently, second version of Intl spec will address this.
Conformance tests being written for test262.
NL will have the final draft prepared for September meeting, but will produce drafts leading up to that meeting.
link 6.2 Microsoft and Google are implementing prototypes
link Unicode support
AWB:
within curlies: any unicode code point value \u{nnn} so essentially three ways within string literal:
- two old-style escapes, expressing utf16 encoding
- two new-style escapes, expressing utf16 encoding
- one new-style escape, expressing code point
BT: treating curlies as utf32 value? AWB: curlies contain code point value, which you could call utf32
DH: old-style escapes always are a single utf16 code unit, so always .length 1; new-style escapes always are a single Unicode code point, so may have .length 2
NL: "<
AWB: one point of controversy: what happens with utf16 escape sequences within identifiers
- no current impl recognizes suppl pair escape sequences for suppl identifier characters
var <<wacky identifier>> = 12-- is that a valid identifier?var \u{<<wacky identifier code point>>} = 12-- is that a valid identifier?
NL: and, for example, what if it goes in an eval?
DH: careful! difference between:
|
1
2
3
|
|
AWB: disallowed:
var \uD83D\uDE01 = 6
eval("var \\uD83D\\uDE01 = 6")
allowed:
var \u{1F601} = 6
eval("var \\u{1F601} = 6")
DH: any reason to allow those?
YK: sometimes tools taking Unicode identifiers from other languages and translating to JS
DC: we have an opportunity to do this right; \u{...} is the right way to
think of things
DH: we have eval in the language, so the language thinks of strings as UTF16 and should have a correspondence in the concept of programs
LH: there's just no strong argument for this inconsistency
DH: there's no real practical value for disallowing; there is potential harm for the inconsistency in causing confusion in an already-complicated space
DC: the only real value here is for attackers; no normal code uses this
BE: and maybe code generators
LH: it's just removing an inconsistency that could be a gotcha
LH: there isn't a codePointLength -- is that intentional?
AWB: since strings are immutable could be precomputed
DH: which is why you want it to be provided by the engine, so it can optimize (precompute, cache, whatever)
DH: should it be a function, to signal to programmer that it has a potential cost?
AR: but no other length is a function
DH: fair enough, just spitballing
AWB: what about code point iteration from end to beginning? and also codePointIndexOf? don't have those yet
link 4.1 (cont) Processing full Unicode Source Code
String Value
Conversion of the input program to code point sequence outside of standard
Trad. \uxxxx escapes represent a single char, creates a single BMP character, 16bit element
Issue: in string values, ?? (Etherpad is broken) === \u1F601 === \uD83D\uDE01 === \u{D83D}\u{DE01}. In identifiers, ?? === \u1F601 !== \uD83D\uDE01 !== \u{D83D}\u{DE01}. Inconsistency that's hard to explain to developers.
DC: This feature is more likely to be used by hackers than developers.
AWB: Two APIs
|
1
2
3
|
|
What's here, valid surrogate pair?
DH: Mixing the API levels is problematic, should it be scrapped?
...The problem in naming is the "At"
...If we're going to build code point abstractions, we really need a new data type.
NL: ICU has iterators for grapheme clusters, words, sentences, lines – all based on UTF-16 indices. Abstractions don't require different indices.
Need more here.
link 4.13 Destructuring Issues
A. Patterns discussion on es-discuss
Issue: ToObject() on the RHS?
This is currenty specified and enables things like:
let {concat, slice} = "";
This equivalence is desirable and maintain by the current spec:
|
1
2
3
4
5
|
|
A syntax for pattern matching against objects
|
1
2
3
4
|
|
|
1
2
|
|
DH: Pure WAT. Let's pick the most common case and address that. You cannot presume to cover everyone's pet case
What is the right thing to do.
DH: Future pattern matching
LH: Reiteration of correct matching vs intention
More discussion, defer until AR is present
|
1
2
3
|
|
Consensus without AR is to impute undefined for missing property when destructuring, and if we add pattern matching, use different rules for patterns compared to their destructuring meaning.
BE talked to AR at dinner on day 2, thinks he heard this and may have agreed (to avoid breaking consensus). Need to confirm.
B. Defaults
Explicit undefined value triggerw use of default value initializer.
|
1
2
3
4
|
|
Issue: is this desirable? dherman and others think an explicit undefined should trigger use of default value. use case in support
|
1
2
3
4
5
6
7
8
9
|
|
Note same rules are used for both formal parameter default values and destructuring default values.
|
1
2
3
4
|
|
Need summary. decision: change spec. to make undefine trigger use of default value.*
C. Unresolved issues related to iterator naming/access
- Be able to destructure things that did not opt-in
- No implicit coercion
- Array.from
spread works on array-like destructuring has rest pattern
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
|
link Consensus/Resolution
- change spec. to make undefine trigger use of default value.
(DH) iterator is a unique name -- can't be public because iterable test not confined to for-of RHS
Destructing and spread - no iterator protocol. (return to existing draft semantics of arraylike — [Cannot be both iterable and array-like])
Array.from should... (this is a change to current specification)
- Attempt to use the iterable protocol, if cannot...
- Fall back to using Array-like protocol
- Always return a copy
jQuery Core Team Meeting – Jul 23 2012
July 23, 2012
Minutes (Notes) of the meeting of jQuery
Location: #jquery-meeting on Freenode
Attending: DaveMethvin, rwaldron, gnarf, timmywil, scott_gonzalez
Time: Noon ET
Official Agenda:
Sizzle
Landed gibson042 pulls
Switched to using Sizzle unit tests with Sizzle HTML
- Easier to maintain
- “Scoops out” main page HTML and replaces
jQuery 1.8RC1?
This week — Thursday?
GET TESTING TO WORK IN BROWSERSTACK (Dave)
What else needs to land?
- Effects bug list is rather long (gnarf/timmywil reviewing)
MUST be released with jQuery UI 1.8.x refresh
- scott_gonzalez to release this week
jQuery Mobile Team Meeting – Jul 19 2012
- Attending: Todd Parker, John Bender, Ghislain Seguin, Gabriel Schulhof, Jasper de Groot, Anne-Gaelle Colom
link Todd
- 1.1.1 final shipped last week - issues have been pretty quiet
- Still working on 1.2 refinements
- popup positioning (Gabriel) and testing
- non-inset listviews (Jasper)
- orientation/resize position re-calculation - rename popupbeforeopento popupbeforeposition tomake it work with this case
- Site move underway to new servers, John Bender is coordinating
- Roadmap - in progress, need to review feature requests
- Add this listview filter tweak to add a hook to build an auto-complete - https://github.com/jquery/jquery-mobile/issues/4721 and this Go button behavior - https://github.com/jquery/jquery-mobile/issues/3303
- Nice ideas. Ghislain to review
- ScrollSuppression - let’s bump this up to 30 to have more tolerance https://github.com/jquery/jquery-mobile/issues/2107#issuecomment-7085452
- Symbian^3 - need to clarify version, this covers a wide range of devices - https://github.com/jquery/jquery-mobile/issues/3203#issuecomment-7096931
- Orientation fix - https://github.com/jquery/jquery-mobile/issues/3956
link Ghislain Seguin
- Monitoring jquerymobile.com migration
- Looks like there is an issue with the “other” category in the builder
- After moving out comes moving in
link John Bender
- Monitoring jquerymobile.com migration
link Gabriel Schulhof
- Please test the crap out of popups - I did a lot of code refactoring
- Reposition popups upon orientationchange
link Jasper de Groot
- worked on popup iframe
- working on non-inset collapsibles https://github.com/jquery/jquery-mobile/issues/3976
- working on fix for controlgroup issue https://github.com/jquery/jquery-mobile/issues/4716
link Anne-Gaelle Colom
- Continued work on the API docs
Testing Team Meeting – Jul 19 2012
July 19, 2012
Location: #jquery-meeting on Freenode
Attending: Jörn, Timo, Scott
Time: Noon ET
QUnit
TestSwarm
- Experiment with test-running in new windows instead of iframes has been completed. Details at https://github.com/jquery/testswarm/issues/195. Long story short: popups are worse than iframes, we’ll have to stick with iframes for now and instead let those bugs depend on the implementation of the new “in-host” system where we don’t use a frame-relationship with a constant long-lived “run page”.
Jenkins integration
- botio integration stalled until EOL servers are dealt with
- See also “Perf regression testing”
Perf regression testing
There’s two parts to perf testing. One is the performance of a regular test suite run, to catch overall issues and slowness:
- We’re going to implement a json report aside from the html-snapshot report of each test run
- Aside from the assertion results, we’re going to add the test duration of each test
- in Jenkins we will use that json report to form an “jUnit Ant XML” report card, so that Jenkins will generate historic graphs for each job with the performance over time of each project as a whole, as well as each individual module, test and assertion.
The other is dedicated jsperf-like testing with repetition of certain specific tasks that should perform well. This likely requires the introduction of a framework or plugin in addition to core QUnit.
Move to new service box
gnarf has given krinkle access to jq03. Right now just has a fresh testswarm clone, nothing is set up yet. Krinkle intends to set up and document and/or puppetize it over the coming 1-2 weeks. If it needs to happen earlier, he is willing to document is somewhere and have someone else implement it (most if not all is documented very well at https://github.com/jquery/testswarm/wiki/Automated-Distributed-Continuous-Integration-for-JavaScript )
- Update: Some internal details at https://github.com/jquery/infrastructure/wiki/TestSwarm:-Install-&-Upgrade
jQuery UI Team Meeting – Jul 18 2012
- Updated menu and spinner to conform to common
iconsoption. - Finalized manifest files and landed in master.
- Working on new API documentation site.
- Need a better index page that provides an overview rather than an API dump.
- Need a way to document stable public methods that aren't exposed via
.widget( method ). - all open issues
- Menu's documented API is too large.
- See notes above about stable public methods.
- Most documented methods are not part of the "normal API".
- Working on new release script.
- The existing script for 1.8.x is written in bash.
- The new script is being written in node using shells.
- Should work for minor and major releases.
- Working on download builder rewrite.
- Need to work on new jqueryui.com design and implementation.
jQuery Core Team Meeting – Jul 16 2012
July 16, 2012
Minutes (Notes) of the meeting of jQuery
Location: #jquery-meeting on Freenode
Attending: DaveMethvin,
Time: Noon ET
Official Agenda:
Sizzle
Several pull requests from gibson042 to land
Should this need escaping? http://bugs.jquery.com/ticket/12087
- NO, gibson042 to look at it
Ajax
jaubourg refactored serialize
Other things to split from ajax.js?
$.sjax is dead, no need to create it
As of 1.8
- use of ajaxSettings.traditional DIRECTLY with serialize() is deprecated
- new argument to serialize() sends traditional
- $.ajax usage is unchanged, it will pass the flag from ajaxSettings
jQuery 1.8RC1?
Target next week
Land Sizzle fixes
jaubourg to look at issue with Deferred passed as `this` to .progress()
Fix several new bugs
- right-click delegation
MUST be released with jQuery UI 1.8.x refresh
- Needs fixes for Sizzle and curCSS changes
jQuery Mobile Team Meeting – Jul 12 2012
- Attending: Todd Parker, John Bender, Gabriel Schulhof, Jasper de Groot, Anne-Gaelle Colom
link Todd
- Download builder - released
- Updated for 1.1.1 today too: http://jquerymobile.com/download-builder/
- Device donation page - done
- Linked here: http://jquerymobile.com/donate-devices/
- 1.1.1 final - released today!
- http://jquerymobile.com/blog/2012/07/12/jqm-1-1-1/
- ThemeRoller and Download builder updated to be in sync
- 1.2 alpha - final tweaks underway, hoping for alpha late next week
- code review (Bender and Ghislain) - done
- speed: takes 1-2 seconds to open the most minimal popup which is too slow. Suggestion: change the default transition to “none” from “fade” which seems to go much faster. Look for other optimizations.
- default styling - done (thanks Jasper!)
- add position option to center the popup over various thing (link, window, selector)
- data-position-to=”origin|window|selector”
- origin is the default (the link you click to open it)
- Android 2.3.x nav issue (Gabriel) - fixed
- Gabriel to look at dealing with the nav dependency with popup to remove this requirement, may be added post alpha but before RC
- Add 3 events for popup to hook into popups for customization
- "popupbeforeopen", "popupafteropen" and "popupafterclose"
- change log in progress (thanks mauriceG) - http://test.jqmobile.de/commit12a.html
- Site re-templating for the conference - met with Richard, Todd is working on porting over the static pages, Richard to port the blog, then we need to make CSS changes
- Roadmap - Todd to start sketching out based on UI discussion
- UI and mobile will stay separate for foreseeable future
- Share a lot of code and infrastructure between projects
link Ghislain Seguin
- More code re-org, moved widgets into widgets directory
- Fixed https://github.com/jquery/jquery-mobile/issues/3558
- Started looking into popup code
- Getting feedback on download builder UI
link John Bender
- testswarm is in the works
- issues with url handling firefox
- OSCON/Throne of JS next week
link Gabriel Schulhof
- https://github.com/jquery/jquery-mobile/issues/4595 We publicly support changePage with changeHash: false, but we don't support navigating to the page inserted with changeHash: false We could document that, if people do push pages into urlHistory with changeHash: false, then they're on their own, or we could help them out by displaying the last page in a changeHash: false sequence when going back, and displaying the last changeHash: true page when navigating forward, like so:
|
1
2
3
4
5
6
7
8
|
|
- Images inside popup: Let's provide an "opening" signal to give app devs the opportunity to size the popup contents before the in-transition starts.
- Work on making unit tests pass in FF.
link Jasper de Groot
- just done some triage and bug fixing
- popop: issue with image max-height - we have to discuss this
link Anne-Gaelle Colom
- Jqm new copyright to 126 files, Corrected title to 3 files, Added 1 footer info, PR:2
- Triage
- added new resources to the resources page
- Would like the team to look at:
- https://github.com/jquery/jquery-mobile/pull/4606 (Is technical aspect ok?) Can this be pulled in or is there some rework on same page transitions?
- https://github.com/jquery/jquery-mobile/issues/4583#issuecomment-6841271
- get back into the api docs
- a few title corrections
jQuery UI Team Meeting – Jul 11 2012
- Working on new API documentation site.
- Need a better index page that provides an overview rather than an API dump.
- Need a way to document stable public methods that aren't exposed via
.widget( method ). - all open issues
- Menu's document API is too large.
- See notes above about document stable public methods.
- Most documented methods are not part of the "normal API".
- New widgets don't conform to icons option standard.
- Menu's icon option needs to be icons.submenu.
- Spinner needs to expose icons.up and icons.down.
- Finalize manifest files for inclusion in master.
- Started working on the download builder rewrite.
- Need to write the new release script.
- The existing script for 1.8.x is written in bash.
- The new script will be written in node using shelljs.
- Should work for minor and major releases.
jQuery Core Team Meeting – Jul 09 2012
July 9, 2012
Minutes (Notes) of the meeting of jQuery
Location: #jquery-meeting on Freenode
Attending: DaveMethvin, gibson042, timmywil, jaubourg, gnarf,
scott_gonzalez
Time: Noon ET
Official Agenda:
Sizzle
- Sizzle docs updated: https://github.com/jquery/sizzle/wiki/Sizzle-Documentation
- Blog post last week: http://blog.jquery.com/2012/07/04/the-new-sizzle/
- Closure pull needs updated (Dave will ping Chad)
Ajax
Need to refactor ajax dependencies to new file
- serialize, param, parseJSON, parseXML
- otherwise it’s hard to use other ajax impls like $.jsonp
- jaubourg to change
Making promises resolve async
jaubourg has a possible solution
- separate method to resolve sync
dave will start thread in jquery-devs-team
jQuery.unique – no action to be taken
What needs to be done for beta2?
- Full test with UI passing? timmywil says YES it’s done
- still need to fix “:not( .foo ):has( bar )”
- What should “:contains( asdf )” match (spaces) — gibson042′s patch fixes
- Possible effects issue, gnarf to investigate – scott already fixed! WIN!
- beta2 tomorrow