- Fixed view.jqueryui.com to support tags not reachable from any branch.
- Fixed errors with long URLs in ThemeRoller.
- Continuing work to port ThemeRoller image generation to node.
- Fixed all reported regressions in 1.10.0.
- Planning to release 1.10.1 in about a week.
- Continuing work on effects rewrites, planned for 1.11.0.
Author Archives: builder
Ecma/TC39 Meeting – Jan 29 2013
link January 29 2013 Meeting Notes
John Neumann (JN), Norbert Lindenberg (NL), Allen Wirfs-Brock (AWB), Rick Waldron (RW), Waldemar Horwat (WH), Tim Disney (TD), Eric Ferraiuolo (EF), Sam Tobin-Hochstadt (STH), Erik Arvidsson (EA), Brian Terlson (BT), Luke Hoban (LH), Matt Sweeney (MS), Doug Crockford (DC), Yehuda Katz (YK), Nebojša Ćirić (NC), Brendan Eich (BE)
JN: ...Welcome and introduction, agenda. Discussion of TG/TC procedural changes. Please review and feedback.
...Adoption of the Agenda.
WH: All of the initial agenda items are missing references. Can't figure out what some of them are referring to from just their titles. WH, JN: Please put proposal links (or other references) into agenda items like we did in the past.
AWB: Are there items that need to be discussed that aren't yet on the agenda?
STH: Will provide an update on Modules
link Added: 4.14 Modules Update
AWB: Discussion about Proxy?
STH: A lot of discussion about the interaction of Proxy and Private Names
...Should we wait for Mark Miller?
AWB: Nowhere near consensus on any point of discussion from the mailing list.
link Added: 4.15 Proxy Issues
LH: (to AWB) did you want to give an update on the spec?
link Added: 4.16 Spec Status Update
JN: We should have a discussion regarding the list of items that will actually end up in ES6 and determine exact ES6 additions.
RW: Let's set this as an agenda item for the next meeting and try to reduce the number of submitted agenda items. This allows everyone the opportunity to prepare for the large scale discussion.
JN: Will add an agenda item for March.
...Brief discussion about features that may or may not be ready; STH identifies: event loop (dependency of modules, Object.observe)
AWB: Two issues: Semantic completeness of the designs and what does it take to implement these into the language.
WH: Are proxies ready? AWB: Not yet.
Mixed discussion.
JN summarizes as part of 4.16 discussion
link Agenda Approved
link November 2012 Minutes Approved
link 4.16 Spec Status Update
(Presented by Allen Wirfs-Brock)
AWB: Revisits Nov 22, http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts
Discussion re: instanceof.
EA: Checks and changes to implementations that use instanceof
STH: Expect slow down from use of instanceof?
AWB/EA: yes.
WH: Concerns, how do you tell if a regex is a regex
YH: Not with instanceof, use Object.prototype.toString
AWB: Shouldn't use instanceof
EA: This hook makes instanceof behave they way you expect it.
AWB: Revisits Dec 21, 2012 Draft changes
Mixed discussion re: keeping up to date with the spec drafts, request for more technical-focused reviews.
link __proto__
.
LH: Begins with raised points about __proto__
...
Mixed discussion about __proto__
semantics.
AWB: There is an underlying feeling that we don't like this and we need to get over that.
LH/YK: Agree.
DC, WH: Disagree.
YK, DC: Discussion about __proto__
reality.
YK: We need consistency.
DC: We should not standardize and leave as is.
Impasse.
LH: Similar issues with block scoped function declaration incompatibilities.
WH: We should give up on __proto__
in the same way that we gave up on "with"
EA: IE is implementing for web compatibility
AWB: The defacto standard for mobile web uses __proto__
EA: IF we could go back, we would do it differently
YK: We just need compatibility
LH: We need to just suck it up and standardize
Mixed discussion re: user code and __proto__
AWB: (clarifies) Luke is requesting that we pin down the __proto__
details as soon as possible.
WH/DC: (have concerns, against standardizing __proto__
)
YK/BE: Discussion re: interop with current implementations.
BE: (Review of latest changes to __proto__
in Firefox)
EA: Matches Safari
BE: __proto__
is configurable (can be deleted), accessor (getter and setter throw), reflection does not leak.
AWB: Involves magic
BE: Yes, but minimal. (Confirms that latest __proto__
is out in wild, Firefox)
WH: Clarify "poisoning"?
BE: When you call it, it throws.
WH: So how does it know when not to throw? (If it always throws then it won't work.)
EA: Throws if called with object and setter coming from different realms
...Discussion re: MOP semantics with __proto__
BE: Proxy has to stratify the MOP.
AWB: Another issue... Objects that are non-extensible, can you change __proto__
? Specifically, now that we're talking about being able to change __proto__
, what type of objects can be changed?
BE: Wait for Mark?
YK?: Changing __proto__
is a write, not adding a property, so it should not be affected by extensibility.
AWB: Agree.
Hold until Mark Miller is present.
EA: ES5 requires [[Prototype]] to be read only when the object is non extensible.?
(Further discussion)
BE: Let's get back to this with Mark present and come to a conclusion.
link 4.1 is/isnt operators
(Presented by Allen Wirfs-Brock) http://wiki.ecmascript.org/doku.php?id=harmony:egal
AWB: The plan of record on the wiki is that there is an "is" and "isnt" operator. There are various discussions on the mailing list that refer to this, but also to Object.is and Object.isnt. We need a final decision on the operator form.
YK: The discussion was to move the world from ==?
YK: The differences between === and is are significantly small.
BE: On behalf of Dave Herman and Jason Orendorff... Syntax needs to be worth the expense and there options.
General agreement.
WH: (question about new type NaNs)
AWB: No spec provisions, currently...
WH: Hypothetical discussion about new "decimal" type with a "decimal NaN" and the implications of NaN equality. The issue that would arise would be that a decimal NaN would be unequal to itself but would be distinguishable from the regular Number NaN. Therefore the example code for how users could implement is
wouldn't work. However, if is
is a language feature, then an implentation can fix it up to behave correctly when it adds additional primitive types such as Decimal, just as it would fix up the behavior of ==, etc.
link Conclusion/Resolution
Consensus on No operator
Do we want API? Yes.
What is the name? Object.is(x, y) (NOT Object.isnt, ! is sufficient for negation)
If it's "all discriminating", should it discriminate +0/-0? Yes
NaN is not different from NaN (all NaNs are equated).
Every observable value "is" itself and nothing else.
link 4.4 Is there are need for Number.isNaN if we have Object.is available?
BE: Keep the concerns separate.
AWB: If we have Object.is, we don't actually need Number.isNaN
DC: Object.is is sufficient.
BE: (Whiteboard example)
RW: Punt on Number.isNaN for ES6, defer to ES7 hinging on need based on potential emergent library code.
WH: Number.isNaN is analogous to other Number functions such as Number.isFinite and Number.isInteger. It should stay.
(toInteger was mistakenly changed to toInt, discussion leads to revisiting March 29th 2012 notes where no rationale was recorded. https://mail.mozilla.org/pipermail/es-discuss/2012-March/021919.html)
Given the existence of the other Number.is* functions, several people flip their views.
link Conclusion/Resolution
Overturn the Number.toInteger=>toInt change. Restore as toInteger. (Brendan, can you fill in the rationale for this?)
Number.isNaN remains in ES6
link 4.2 SameValue for Map/Set equivalence?
link 4.3 Parameterize the equivalence operator for Map/Set?
AWB: For ES6, only specify a limited set of comparison operators?
Discussion re: arbitrary comparisons?
Hash Codes?
STH, WH, several others: Need to support strict (is
) equality at a minimum.
YK: If the goal is to avoid whole new design issues, stick to strict equality.
BE: Reminder that adding hash codes now is too late in the game.
YK/AWB: Concerns that maps with strict equality will trip people up.
YK: Typically, Maps have custom equality capabilities.
AWB: (Reminder of hash code pitfalls) But only strict equality will be a disaster, but can't introduce hash codes at this stage.
AWB: [if we support both strict and other kinds of equality] suggest the default: +0/-0 are the same; NaN is a value, that is equal to itself for Map/Set equivalence.
Assuming we have a mechanism to override...
Ideally, we'd want to set this in the constructor, but there is already a single optional initializer argument.
BE: Let's find a champion to work this out over the next two days.
AWB: I can do this.
link Conclusion/Resolution
To revisit, pending proposal from AWB. (See Jan 31 notes)
Must address the minimal requirements on the wiki
link 6 Second Edition of ECMA-402 (Internationalization)
Last Update: https://github.com/rwldrn/tc39-notes/blob/master/es6/2012-11/nov-27.md#internationalization-update
NC: Approved to continue work. APIs covered, people assigned to write strawman. Have API changes to be written into the spec, based on use cases that have emerged.
NL: Normalization in the language specification: talked about 2 additional normalization forms.
- CF, Case folding
- NFKC_CF, Normalization form, Compatibility Decomposition, followed by Canonical Composition, combined with case folding
NL: Chrome 24 shipped with the first implementation of Edition 1, not prefixed any longer
NC: Overrode the old methods String.prototype.localeCompare, Date/Number.prototype.toLocaleString
BE: Good so far?
NC: Have some bugs with performance, but can address.
EA: No issues with actual semantics?
NC: No complaints.
JN: Schedule? On track?
NC/NL: So far, but rely on ES6.
Discussion about overlapping schedule. Current plan for Intl 2 is for approval in June 2014, but ES6 may slip to the same date. NL wondering whether TC 39 can review two specs at the same time; AWB thinks that should be OK.
Notes from NL/NC:
December 12: Ecma GA approves ECMA-402 http://ecma-international.org/publications/standards/Ecma-402.htm
January 10: Google shipped first implementation without prefix in Chrome 24
December 14: Internationalization ad-hoc met
- discussed scope in more detail, assigned strawman writing
Since then: Strawmen written, but not reviewed yet:
number parsing http://wiki.ecmascript.org/doku.php?id=globalization:numberparsing
text segmentation http://wiki.ecmascript.org/doku.php?id=globalization:text_segmentation
message formatting http://wiki.ecmascript.org/doku.php?id=globalization:messageformatting
Strawmen assigned, but not written yet:
- character properties (regex or API?)
- display names
- time duration formatting
- alphabetic index
API changes to be written up:
- normalization (language spec - add CF and NFKC_CF)
- case conversion
- time zone support
- script reordering in Collator
- pseudo-numbering systems in NumberFormat
link 4.5 Why standardizing on __proto__
and not __define(G|S)etter__
, __lookup(G|S)etter__
?
(Based on a recent es-discuss thread)
Why __proto__
normative mandatory in ES6 but no __define/lookup...
is:
__proto__
much more used on the mobile (iOS WebKit-first) web, no equivalent interop pressure for __d/l.- ES5 is in all new/evergreen browsers and it has standard APIs supplanting
__d/l
but nothing for writing to__proto__
.
Therefore __proto__
gets standardized, __d/l
do not.
Rationale for not adding Object.setPrototypeOf https://mail.mozilla.org/pipermail/es-discuss/2012-May/022904.html
link Conclusion/Resolution
Consensus that __define(G|S)etter__
, __lookup(G|S)etter__
will not be standardized, nor added to an Appendix.
link 4.8 Refactored new operator and the @@create method
(Presented by Allen Wirfs-Brock)
The Basic Issue:
- Object Allocation and object initialization are separable issues.
- Subclassable abstractions require program level control...
Why Doesn't this work?
1
2
3
4
5
6
7
8
9
10
11
12
13
|
|
Because...
Array uses a special exotic object representation that changes the semancs of [[DefineOwnProperty]].
The object that new Vector creates and passes to the Vector constructor is an ordinary object, not an exotic Array object.
Even with the super call, the Array constructor doesn’t transform its this object into an exotic Array
First Solution
- Use normal [[Construct]] for built-‐ins.
- Move magic ini1aliza1on (internal data proper1es and internal methods) into the constructor func1on, post object alloca1on.
- Internal data proper1es need to be expandos (probably based upon private symbols)
- Built-‐in methods use internal data property sniffing instead of [[Class]] brand check.
Objections
Ollie's Objections:
- Doesn't want internal data properties to be expandos
- Implementors want to allocate different machine/C level data structures for different kinds of built-ins.
Allen's Objections:
- What about internal method conflicts?
WH: Jason's Objections:
- More than one magic constructor can be applied to an object
1
2
3
4
5
|
|
What do other dynamic OO languages do?
- Separate object allocation and initialization into separate phases.
- The "shape" and special characteristics of an object are fixed during the object allocation phase. – Kind of like what [[Construct]] does, but...
- The allocation phase is defined as a separate class method – Can be inherited, or over-ridden, or super-invoked by subclasses.
Sounds Good, Let’s see if it works for JavaScript
- @@create is a well known symbol that when used as a property of a constructor provides the alloca1on method for that constructor.
- New definition of the ordinary [[Construct]] :
- Let creator be [[Get]] of this constructors @@create property
- If creator is not undefined, then a. Let obj be the result of calling creator with this constructor as its this value.
- Else, fallback implementation a. Let obj be a new ordinary object with its [[Prototype]] initialized from this constructor's “prototype” property.
- Call this constructor with obj as the this value and the original argument list.
- Return obj.
BE, EA, YK, WH, others: Get rid of the fallback implementation and just throw if there is no @@create. It's unnecessary complexity.
- Most constructors just inherit Function.prototype[@@create] which allocates a new ordinary object with its [[Prototype]] initialized from this.prototype (the constructor’s “prototype” property).
new Foo() <=> Foo.call(Foo[@@create]())
TODO: Copy slide text to notes?
Discussion re: class Foo extends ??
semantics discussed in July, https://github.com/rwldrn/tc39-notes/blob/master/es6/2012-07/july-26.md#maxmin-class-semantics
WH: What happens when you do Number[@@create]?
AWB/EA: Creates a new wrapped Number object.
BE: new Number()
<=> Number.call(Number[@@create]())
AWB: Built-in @@create methods are non-writable, non-configurable. Just like built-in "prototype" properties (From slides).
... Back to slides.
@@create Also Useful for Application Classes
- DIY Branding
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
|
(note: $$
sigil for illustration purpose only)
WK: The @@create could be hijacked and used to brand some other object with my object's brand.
AWB: No different from hijacking from an Array or Date...
WK: Good for branding case, not for security
AWB: (Gives example of how you might make it work). Explanation of creating Proxy based instances with @@create (see slides)
ES5 Built-In Branding
Consider ES5+ Reality:
1
2
3
4
5
6
7
8
9
10
11
12
|
|
Built-in branding is based on the shape and capabilities of the actual instance object.
ES6: @@create Determines Branding
- Array.isArray will report true for subclass instances that are built-in exotic Array objects. These are allocated using Array[@@create];
1
2
|
|
- Unless over-ridden using the
@@toStringTag
,{}.toString
will report the legacy [[Class]] for built-in subclass instances if they are allocated using a built-in @@create method.
WH: If you're call isArray and it returns true, you'd expect to call Array.prototype methods.
AWB: No guarantees about the prototype chain
MM: Even if Array is frozen, the Array.prototype is mutable and I can add my own malicious push, pop, join.
MM, AWB, WH: (Discussion of security concerns)
Agreement that none of this weakens any existing invariants.
No Need for [[Class]] or [[BuiltinBrand]]
- These are really just specification devices for talking about specific forms of objects.
- Spec has always also used language like "an Array object" or "a RegExp instance"
- In ES6 spec. all [[Class]] uses uses can replaced with language like: - "is an exotic array object" <=> [[Class]]=="Array" - "has a [[Match]] internal data property" <=> [[Class]]=="RegExp"
File: [[Match]] => [[RegExpMatch]]
Testing the |this| value almost works
(See slides for code example)
link Conclusion/Resolution
Consensus on @@create, allocation and initialization decoupling.
Constructors need to be able to recognize initialized instances
- Built-ins can do this via existing internal properties
- User code could roll its own
Probably better to formalize initialized state as part of ES object model
- Add one bit of state to every object: initialized/unitialized.
- Built-in @@create methods set new object state to uninitialized.
Object.call(uninitObj)
and other built-in constructors set initialized this objects to initialized state.Object.isInitialized(obj)
is a new method that only returns false if obj is an object that is in the initialized state.- Object.create(), {}, [] and various built-in functions create objects that are already initialized (backwards compat)
Semantics...
1
2
3
4
5
6
7
8
|
|
EA: Worth the additional bit? Is the need common enough to address with new language API surface?
What about @call?
MM: @construct? If one is specified, otherwise ... super call vs. super construct (Mark—Sorry, I had trouble following this—can you fill this in? Thanks!)
MM: Are there any objections to the parallel @construct entry point.
YK: It makes less sense in the ES6 context, since classes are focused around defining a constructor...
MM: I see, then call is the odd-ball. Agree with the objection.
YK: @call makes sense in the class case, @construct makes sense in the function case.
AWB/YK: Need statics to make the @call
Mixed discussion regarding "static"
Yehuda will draft a static strawman for tomorrow.
(Break)
YK: All functions have a call and construct property, I propose to expose them
AWB: All functions are constructible, when a function is "newer", something happens before the function is invoked.
AWB/YK: (Discussion re: existing semantics of function call and construct)
BE: The idea of having state in objects for initialization...
WH: The main point of the discussion was that many are uncomfortable with adding an extra bit of state to objects to define whether they're initialized or not and, worse, that state is not a reliable indicator of whether a function was called via Foo() or new Foo(). Someone could forget to set the initialized bit (in a variety of ways) and disrupt further code at a low level. The consensus seemed to be to get rid of that state and instead use either separate call and construct code or some way to detect whether code was called as a function or as a constructor, although we hadn't decided on the details
[STH: conclusion/resolution: no new bit of state (IOW, I agree with WH)]
Various Oddities/Backward Compat Issues, 1
...Missed first slide...
Various Oddities/Backward Compat Issues, 2
- Array.prototype.concat
- Currently always creates Array instance, for subclasses usually want subclass instance
- Change to use subclass constructor to create subclass instances but only when this object is tagged as array subclass
- Currently auto-spreads Array instance arguments
- Similar to above, auto-spread tagged array subclass args.
- Currently always creates Array instance, for subclasses usually want subclass instance
- Must compatibly support this idiom:
[].concat.apply(Array.prototype, arguments);
- Precomputing result length will support use with TypedArrays
- Similar result object handling for slice, splice, map, filter(?)
(Re: Bullet 1) WH: Concerned about the proliferation of "types of an object"... class, prototype, type... species?
(Re: Bullet 2)
Discussion focuses around built-ins whose prototype property are first-born instances of that object, eg. Array.prototype
is an Array
. The desire was to remove this from ES6, however there a slew of issues that are not specifically edge cases rise to the surface.
Conclusion/Resolution, Bullet 2
Brendan to experiment with changing the prototype properties of Boolean, Number and String away from first born instances into ordinary object ([object Object]).
(Re: Bullet 4) Discussion focuses on what type ("species") of object should be created by these methods when subclassing.
AWB: All of them, "species" is what you want, except in the case of map. For slice, splice and filter, you always want to operate on and return the "species" calling.
?: Want to customize it differently for different methods.
WH: (Doesn't want another "type" thing)
YK: (Doesn't think it's a problem)
AWB: You can always cast your object back into the type of your class with this.constructor
.
Illustrating Bullet 4:
1
2
3
4
5
6
7
8
9
10
|
|
Various Oddities/Backward Compat Issues, 3
- String.prototype.match, replace, search, split.
- Currently spec'ed to directly use RegExp internal APIs which limit the ability to use them with RegExp subclasses that use alternative engines that don't expose those APIs
- Refactor into public operations upon RegExp subclass
- String methods delegate to RegExp methods
MM: Confirm that any symbols defined only need to be unique, not private?
AWB: Yes.
link 4.10 Data collection/analysis: Function-in-block, duplicate parameter names, const, strict mode, var let/let[x]=1, and maybe more
(Presented by Brian Terlson)
1.85% of scripts make use of function hoisting intersection semantics. Almost all of these are due to functions defined inside arms of an if statement. Few examples of defining functions inside loops. No scripts do let[x]. 10% of "use strict" directives are incorrect because they're not in the prologues.
Mixed discussion regarding the actual expectation of these cases.
Can the tests be expanded beyond the top 10k?
BE: w/r to FIB, should we go with strict mode standardization?
YK: Does it always leak the identifier?
MM: In different ways.
Discussion regarding language forking.
LH: (Identifies a dark future that hinges on "use strict")
MM: That should be the future.
... YK: Are there intersections of existing implementations that can be spec'ed?
Mixed discussion.
Table discussion until tomorrow.
jQuery Core Team Meeting – Jan 25 2013
January 21, 2013
Minutes (Notes) of the meeting of jQuery
Location: #jquery-meeting on Freenode
Attending: DaveMethvin, timmywil, gibson042, mikesherov
Time: Noon ET
Official Agenda:
Swarm failures
- 2.0 is the grunt issue only?
- can copy package.json deps from 1.9
jQuery 1.9.1 date?
next week, early
.apply( x, NodeList) doesn’t work on qtwebkit http://bugs.jquery.com/ticket/13282
- gibson042 to back out the optimization
IE<=8 doesn’t sort nodes right http://bugs.jquery.com/ticket/13281
jQuery 2.0 beta2/final date?
- beta2 next week?
- final? no hurry i guess
jQuery 1.9
- Shipped!
Unassigned tickets
jQuery Mobile Team Meeting – Jan 24 2013
- Attending: Todd Parker, John Bender, Jasper de Groot, Anne-Gaelle Colom, Gabriel Schulhof, Alex Schmitz, Ralph Whitbeck
link Todd
- 1.3 Beta - no blockers, just waiting for more testing
- Targeting RC1 within the next 7-10 days, 3-4 issues we’d like to button up first
- Work well underway on the new demos site, IA and templates coming together and this will be a focus in the near term so we can fully retire the old docs:
- Collecting examples and templates here - http://jquerymobile.com/test/docs/demos/
- Example of a new widget page with copy/paste html viewer - http://jquerymobile.com/test/docs/demos/buttons/
- Q&A section with common issues (need authors) - http://jquerymobile.com/test/docs/demos/faq/
- Open question: should we keep guides or do this all on the learn site?
link John Bender
- Holding down the fort
link Jasper de Groot
- triage and bug fixes: more activity after 1.3 beta release, but we are able to stay on top of them and get compliments about how quick we fix reported bugs
- helped Todd with new docs&demos
- added “panel swipe open” and “listview autodividers selector” demos
- making the grid listview demo at the moment https://github.com/jquery/jquery-mobile/issues/4956
- have been looking into possible solutions for chaining panel issue https://github.com/jquery/jquery-mobile/issues/5510
- suggest not to support opening multiple panels programmatically
link Anne-Gaelle Colom
- Added edit and bars button icons and examples (to button entry) to API
- Added new textinput options (cleartxt) and example to API
- Added entry for responsive grids to API
- Arranged to get a FF phone for testing
link Gabriel Schulhof
- Fixed two-three (don't remember) nav bugs - a page sequence (), lack of urlHistory when browser history modification is turned off (https://github.com/jquery/jquery-mobile/issues/5465)
- Popup bug with history turned off (https://github.com/jquery/jquery-mobile/issues/5486)
- Got rid of e.hasElement() from custom select (unavailable in IE7) (https://github.com/jquery/jquery-mobile/issues/5506)
- Improved buttonMarkup performance (https://github.com/jquery/jquery-mobile/issues/5466) based on PR from Changsuk (http://jsperf.com/jqmdatavsremovedata/7)
- Fixed button widget so ”mini” and ”inline” can be proper options without breaking auto-mini-and-inline-ing when button widgets are in a header/footer
- Started working on https://github.com/jquery/jquery-mobile/issues/5519 - popup focus restriction issue on iOS
link Alexander Schmitz
- triage and small bug fixes
- Working on new nav features to support deeplinking and passing hashes to pages
- added several demos
- worked with ryanneufeld to get php parsing in html files
- update to core 1.9
- h2 widget
- worked with todd on demo planning
- widget review planning with |Nix|
link Ralph Whitbeck
- Need to work with Anne-Gaelle and Todd on a plan for the new jQuerymobile.com
- Would like to put some effort into working on the learn site content with Anne-Gaelle
jQuery UI Team Meeting – Jan 23 2013
- Released 1.10.0.
- Introduced a few regressions, which are being worked on.
- Added multi-version support to download builder.
- Working on creating shorter URLs for download builder to avoid bad gateway errors with nginx.
- Porting ThemeRoller image creation from PHP to node.
- Working on collapsing margin bugs with effects.
- Working on using CSS clip for effects.
jQuery Mobile Team Meeting – Jan 17 2013
- Attending: Todd Parker, John Bender, Jasper de Groot, Anne-Gaelle Colom, Alex Schmitz, Ghislain Seguin, Ralph Whitbeck
link Todd
- 1.3.0 Beta released late this Monday - blog post and demo
- Tracking issues as they come in and fixing as we go.
- Two blocker issues found so far are already fixed:
- https://github.com/jquery/jquery-mobile/issues/5453
- https://github.com/jquery/jquery-mobile/issues/5445
- jQuery core 1.9.0 is now final - we should replace 1.8.3 in our docs today
- New jQuery Mobile API docs released - need to start redirecting people there and not updating the old docs site.
- In the current docs, replace the API info with a link to the new API page and work out permanent re-directs. For now, link http://jquerymobile.com/test/docs/forms/textinputs/ to http://api.jquerymobile.com/textinput/
- New demos site - we should start focusing on polishing that up
- New docs design and IA
- Port non-API content and demos into the new docs format
- New plugins site released, we need to add our widgets there - who wants to take point on the package.json creation?
- Working to port the mobile site and blog over to the new responsive within the next 3-4 weeks. Anne and Adam will help out. The blog theme is a current blocker for the site port.
- Jeff has created drafts of the changelogs for 1.1.2 and 1.2.1 so we can start planning when we want to do RCs of those maintenance releases.
- 1.4 planning will happen here: https://github.com/jquery/jquery-mobile/wiki/1.4-planning
- Thanks to Microsoft for donating a huge batch of WP7.8 phones to the project for testing. We’ll distribute to team members once they arrive in the Boston lab.
- Thanks to RIM for donating two BB10 phones to the project for testing.
link John Bender
- Bug fixes for nav
- Tests are failing/timing out
- Working example in $.mobile.navigate docs
link Jasper de Groot
- Panel:
- worked on panel re-factor
- fixed panel issues that have been reported after 1.3 beta1 release: https://github.com/jquery/jquery-mobile/issues/assigned/uGoMobi?labels=Panel&page=1&sort=updated&state=closed
- changed: When you open a panel we set the page min-height to the panel height when the panel is larger than the viewport. Initial min-height is restored when you close the panel
- updated the panel demo pages
- I am in favor of making swipe on page content close the panel too + we need to take the swipe direction into account https://github.com/jquery/jquery-mobile/issues/5458
link Anne-Gaelle Colom
- API docs:
- updated example template to use JQM 1.3 beta and jQuery 1.8.3
- updated jquery-wp-content footer to new CDN
- updated data-attribute page
- created entries for panels and rangeslider
- added examples to isRelativeUrl and get methods
- added new options to dialog
- Will talk at jQuery Europe!!! (Good UI design with jQuery Mobile) my aim is to illustrate all good UI design rules with JQM examples.
link Ghislain Seguin
- Still need to generate image zip files for all versions available. Who can help putting them on the CDN after that’s done?
- Continue to work on grunt migration
link Alexander Schmitz
- Triage
- helping with panels
- update touch events for core 1.9
- research dom node creation speed with |Nix|
- review PR https://github.com/jquery/jquery-mobile/pull/5466
- expose resetActivePageHeight on $.mobile to use in panel
- testing against 1.9 final
- widgets outside pages
link Ralph Whitbeck
- Working on jQuery Mobile training for jQuery UK
- Giving a jQuery Mobile session at BlackBerry Jam in Amsterdam Feb 5-6
jQuery Mobile Team Meeting – Jan 10 2013
- Attending: Todd Parker, John Bender, Jasper de Groot, Anne-Gaelle Colom, Gabriel Schulhof, Alex Schmitz, Ghislain Seguin, Mat Marquis
link Todd
- No team meeting the last two weeks due to holiday schedules
- Just received a generous offer from Microsoft to donate a bunch of WP devices to the project for testing. Coordinating on logistics now.
- We’ve been working with members of Samsung’s Tizen team and have pulled in a few performance improvements so far, looking forward to more collaboration
- Aiming to release a new responsive jQM site, blog and API site to match the other jQuery properties. Target date is Mid February for the sites so those may launch a bit after 1.3
- 1.3.0 beta slated for early next week
- Only 3 open issues for the the 1.3 milestone, none critical
- Jasper is doing a final round of re-factoring on the panels to improve Android webview performance in the panel-refactor2 branch. Preview
- blog post in-progress for 1.3
- should we preview the new API docs in the blog post?
- will focus on the new demos site IA/design once beta goes out
- Maintenance releases - Jeff Lembeck is working on a tool to generate drafts of these based on our formatting needs, update on this soon
- Hoping to do a quick release for 1.1.2 to finish up support on 1.1 after beta goes out
- Followed soon after by a 1.2.1 release to support 1.2
link John Bender
- Nav
- Back button for Opera/IE
- Anything for Chrome iOS6
- Namespacing forobjects
- Docs
link Jasper de Groot
- worked on panel refactor http://jquerymobile.com/branches/panel-refactor-part2/docs/panels/index.html To do:
- fixed toolbars on Android WebView: transition doesn’t work - We will note in docs about how you can hide them with custom CSS (reveal and push only) if you’re building an Android app
- update docs to match the re-factor
link Anne-Gaelle Colom
- We now have the new styling in place in the api site (http://stage.api.jquerymobile.com)
- Created examples for these methods: isAbsoluteUrl, makeUrlAbsolute
- Modified examples for swipe, swiperight, swipeleft
- and during the holiday:
- wrote a new tutorial for themeroller on the learn site (http://stage.learn.jquery.com/jquery-mobile/theme-roller/ )
- added the jQuery Asia videos by Ralph and Alex on the resources page
link Gabriel Schulhof
- Improved page load time on demos by making view-source popup even lazier - created only when the user clicks on the button
- Tested out John Bender’s nav mod - found that iOS Chrome is FUBAR
- web-ui-fw
link Ghislain Seguin
- Fixed https://github.com/jquery/jquery-mobile/issues/5198, pushed w/ test
- Started working on migration to grunt 0.4, kindda stuck there as concat task has not been migrated yet
- Need to create image zips of previous and current versions then add a link to them on the download builder page
link Mat Marquis
- Fixed 3D support test
- Fixed tables in Safari <= 5
- A bunch of panel testing
link Alexander Schmitz
- Fixed broken cssTransitions support test
- worked with wilto about cssTransform3d support test
- Fix bugs on Panels
- Branch previews
- creating dom elements on the fly (samsung suggestion);
Testing Team Meeting – Jan 05 2013
January 03, 2013
Location: #jquery-meeting on Freenode
Attending: James, Jörn
Time: 11am ET (16:00 UTC)
QUnit
Survey is online: https://docs.google.com/spreadsheet/viewform?formkey=dDBzQl9TWmQzbDdXS08wMTBuLTlObXc6MQ#gid=0
Survey results: https://docs.google.com/spreadsheet/ccc?key=0ArIM4UVbwE-3dDBzQl9TWmQzbDdXS08wMTBuLTlObXc#gid=0
Updated htmlEqual PR from James: https://github.com/jquery/qunit/pull/368 – needs review
Landed https://github.com/jquery/qunit/pull/387 – more reliable throws() assertion
Landed https://github.com/jquery/qunit/pull/384 – module/test filters now work in IE7/8 with file protocol
Support for pending tests like Mocha? “tests without a function body such that they show up in the list but have a different visual representation and do not count as either a success or a failure; rather, a new "pending" count is added as well.” – still not very convincing.
Better async testing!
Mocha looks at callback signature and makes tests async when a callback argument, usually named done, is present: http://visionmedia.github.com/mocha/#asynchronous-code
Can’t do that since we introduced the assert argument
Can do something like this:
- test(…, function(assert) { var done = assert.async(); … done(); }
- asyncTest(…, function(assert) { assert.done(); })
Going to land the two deprecation tickets, then release 1.11
TestSwarm
- Landed Timo’s PR to update node-testswarm – published testswarm@1.0.0-alpha. Sane API, reporters, bug fixes.
- Need to get rid of iframe for running tests
jQuery Core Team Meeting – Jan 04 2013
December 31, 2012
Minutes (Notes) of the meeting of jQuery
Location: #jquery-meeting on Freenode
Attending: DaveMethvin, gibson042, rwaldron, mikesherov
Time: Noon ET
Official Agenda:
Landing 2.0 changes
jQuery 2.0 needs browserset “popular-no-old-ie”
want to keep the support.js unit tests
- they let us know when it’s safe to remove a check
Stale code in the repo
- Strategy for keeping and maintaining code?
- Remove oldIE tests from 2.0 branch (dave)
Perf testing
- Need some to prevent perf regressions and prove 2.0 improvements
- focus on big-picture hot paths
- mikesherov and rwaldron to talk this week
Style guide
- rwaldron proposes using js-beautify
- Let’s find a way to automate/standardize using this
- Perhaps a grunt task, and instructions in the contributing/readme?
Unassigned tickets
Assigned tickets review for 1.9; need volunteers for open tix
December 17, 2012
Minutes (Notes) of the meeting of jQuery
Location: #jquery-meeting on Freenode
Attending: DaveMethvin, gibson042, mikesherov
Time: Noon ET
Official Agenda:
Beta today:
- Blog post: http://blog.jquery.com/2012/12/17/jquery-1-9-beta-1-released/
- Upgrade guide: http://jquery.com/upgrade-guide/1.9/
Renamed jQuery Compat to jQuery Migrate – Thanks snover!
https://github.com/jquery/jquery-migrate
Where should bugs be handled for it? GITHUB
- Originally I thought Trac, but perhaps Github would be easier?
- Probably not that many bugs (haha)
- Just got our first bug
jQuery 2.0 Pass One – Who wants to do some DELETING?
For pass 1 let’s mainly remove hacks and do simple refactors
- Remove oldIE hacks
- Simple rewrites using ES5 features if they save code
Don’t make any changes to unit tests (special dispensation required)
Make pull requests prefixed with “2.0″ for review
Branch off 1.9-stable next Monday if possible
2.0 alpha by December 31 (two weeks)?
Do we need tickets? No functional changes so I don’t think we do
while making changes, normalize any browser-specific hacks to
- // Support: browser version (e.g., Support: Opera <11.5, IE < 9)
What about Sizzle?
- Factoring out oldIE probably won’t pay off
- Explore a simple querySelectorAll/matchesSelector alternate impl
Specific interest? Grab them now, or later
- ajax – dave
- attributes – timmy
- callbacks – dave (no changes; try/finally fireWith at some point?)
- core – Rick
- css – dave (about -300 gz)
- data – Rick
- deferred – dave (no changes)
- dimensions – dave (just a comment to remove, so later)
- effects
- event – dave (about -520 gz)
- manipulation – Rick would like to work with Richard Gibson on this :)
- offset – dave (no changes)
- queue – dave (no changes)
- serialize – dave (no changes)
- support – perhaps clean this up after we land the other stuff?
- traversing – orkel expressed interest, dave can back him up
- build and testswarm changes – dave, with help
grunt 0.4 – wait until after Jan 1 before deploying
WE MUST FIX THE IE8 TWO PIXEL BUG
Mergeatron
- Upstream issues: http://github.com/snapinteractive/mergeatron/issues
Unassigned tickets
Assigned tickets review for 1.9; need volunteers for open tix
jQuery UI Team Meeting – Jan 02 2013
- Migrating to Grunt 0.4.
- Working on multi-version support for download builder.
- Switching sites to new-css branch.
- Need to fix regression with transparent colors.
- Looking at code coverage reports.
- blanket.js seems interesting, but a bit buggy.
- Working on using CSS clip for effects.