jQuery UI Team Meeting – Jul 27 2011

  • Clark added directory listings to view.jqueryui.com
  • Richard started building an XML -> WordPress import script for API docs http://wiki.jqueryui.com/Docs2xml
  • Scott updated widget factory demo to show how to work with generated elements
  • Scott updated master to work with jQuery 1.6.2
  • Scott created a compound test suite to run all tests from a single page
  • Corey started tooltip animation tests
  • Kris added a topalign demo for menu
  • Clark to fix cronjob for view.jqueryui.com and pull all branches
  • Scott to update listing on code.jquery.com
  • Scott to update 1-8-stable for jQuery 1.6 support
  • Corey to update widget animation tests
  • Scott to create a non-ul based autocomplete example (for menu testing)
  • Kris to work on smarter collision detection for position

jQuery UI Team Meeting – Jul 20 2011

  • Infrastructure tasks mostly stale, no update on code.jquery.com listings (all UI versions), also no directory listing for view.jqueryui.com. Recruiting isn't happening either.
  • Only small update on jquery-docs. Need to setup an actual site with docs for a single widget, with support for search, to ensure that the individual pieces are actually working.
  • Lots of updates on Menu thanks to Kris Borchers. Tiny yet very annoying UI glitches fixed, method refactoring done (expand, collapse, collapseAll), now working on demos.
  • Selectmenu still in discussion, some open issues left. Felix to look into them.
  • Some updates happened for Tooltip thanks to contributions from Benjamin Sterling. Another update pending, probably adding a beforeOpen event.
  • Datepicker: Hans submitted pull request for keyboard and ARIA implementation based on templated-prototype. Another update pending, including use of Popup for the popup-datepicker.
  • The ARIA Hackathon got its own blog post.

Testing Team Meeting – Jul 15 2011

Continuing recruiting efforts, with people intersted on working on QUnit issues, TestSwarm issues, QUnit website and the Hudson-TestSwarm plugin, results pending.

Also used ARIA Hackathon and meetings around Toronto to recruit, including Mozilla.

jQuery Mobile Team Meeting – Jul 07 2011

##BETA 2 ITEMS

###All beta 2 issues here:

###Transition improvements - See “Transitions” branch

###Remove ajax-loaded pages after hide.

  • Commit for branch here: https://github.com/jquery/jquery-mobile/commit/2265330677ca4ce1b3808112a7c5952cd555ca5e
  • adds an option to the page plugin:
  • ajaxDomCaching: false (default)
  • will remove a page from the DOM when it is transitioned out, this will leverage the native browser’s cache to store pages
  • if set to true, it will leave pages in the DOM as now
  • we’d recommend leaving this off, but it can be turned on per-page via data-ajax-dom-caching=”true” on the page container
  • need unit tests before pushing

###Add a data-prefetch attr to any anchor element and jQM will load it

  • branch: https://github.com/jquery/jquery-mobile/commits/prefetch
  • basically a markup shortcut for $.mobile.loadPage
  • new data-prefetch attribute, which can be applied to any anchor element in the page and trigger a pre-fetch request of that anchor's href url
  • a great way to transition away from multi-page docs
  • need unit tests before pushing

###Auto-init branch

###pushState

###Decoupled widgets

###XSS with XHR level2 cross domain request

##QUESTIONS

##PULLS

jQuery Mobile Team Meeting – Jun 30 2011

##Areas of focus right now:

###Cross-platform page transitions (Ghislain)

###PushState implementation: In the works (Scott)

Our approach: this sits on top of the current hash system and when hashchanges come through, if pushstate is supported, it replaces the hash with a better url but will fall back to tracking haschchange in the browsers that don’t support pushstate.

It’s working quite well so far in Firefox 5, Chrome, Safari, and Opera latest. We need to do more testing on mobile devices.

Unfortunately iOS gets pushstate wrong (support is true, but it only lets you set pushstate based on a user action, like in a click callback) which doesn't work for us, since we set hash based on all sorts of conditions, including programmatically with $.mobile.changePage. If we strictly used history.pushState when it is supported, iOS would really break because the URL just never update. Instead, we use replaceState to react to hash changes which ensures that iOS is excluded from this feature until it’s properly supported. So iOS still gets hash urls, despite its claimed pushState support (this isn't fixed in iOS5 either).

Some URLs will always be hash-based such as dialogs and nested lists which lines up well with how hashes traditionally work anyway. When it's a dialog or a nested list page url, we’re only adding the relavant part to the hash.

We’ll need to do a lot of work on our unit tests to fork it to either look at the URL or hash because this feature won’t be supported in many places for the near term.

###XSS fix (Ghislain has a fix, jaubourg to review)

###IE/WP7 - gradients and rounded corners = trouble

Should we just drop all -filter rules and go with flat color for IE? Even with these in not, IE and WP7 don’t show gradients (need some hacks for it to work), Mango bleeds out corners if combined with a -filter gradient. IE10 will support standard CSS gradients. I’d rather add support for Opera gradients because it works and has greater reach.

##Beta 1 - blog post

###Beta 1: Issues with vclick for handling links

In Beta 1, we switched to using our custom vclick events in Beta 1 for handling Ajax links to improve responsiveness and because this change really helped to hide the URL bar consistently on the iPhone and Android phones. The vclick feature is a custom synthetic event that normalizes events by listening for touch and click events. It works at the document level and looks for duplicate events on the same target and will go with the one that bubbles up first and cancels the duplicate event.

Even though we did quite a bit of testing before landing this for Beta 1, we began to hear feedback that this change was causing some significant issues out in the wild including:

  • Multiple click events causing navigation and form element issue – In certain situations, when tapping an element, tap/click events seem to fire twice on links and is due to edge cases where the target of the touch event and mouse event don’t match due to how the browsers calculate tolerances for these events. This is most pronounced on Android 2.1 but affects most WebKit-based browsers when you tap near the edge of an element.

  • Click handlers in custom scripts didn’t “work” anymore – if a script binds only to click events on the document, the vclick feature could interfere because the touch events may supercede these click events so it won’t appear to trigger.

  • Disabling vclick globally didn’t work – To compound the issue, we had recommended using a new $.mobile.useFastClick option to disable the vclick feature globally but there was an issue with this option in Beta 1 that prevented this from working as designed.

###Our solution: Roll back from vclick to click globally

Based on a lot of detailed testing and analysis, we’ve decided to roll back to using standard click events on links instead of vclick because it’s the only reliable way to support all our target browsers. If you test on the latest builds with this change integrated, things should work reliably again. There are two important things to note in this change:

  • URL bar hiding isn’t quite as slick as in Beta 1, but link handling is obviously much more important. The good news is that there is still a significant improvement from Alpha 4.1: although URL bar may appear briefly it overlays the page instead of pushing down content and causing a re-draw blink. We methodically tried every technique we could to keep the URL bar hidden but there is unfortunately a Safari bug (even in the latest Beta 2 of iOS 5)

  • The useFastClick option is now removed in the latest code because we’re not using vclick globally anymore on links and don’t recommend doing this going forward. We hardly knew ye…

##Beta 2 - Planning and prioritization

jQuery Core Team Meeting – Jun 28 2011

Minutes (Notes) of the meeting of jQuery

Location: #jquery-meeting on Freenode

Time: Noon ET

Official Agenda:

jQuery 1.6.2 status

  • Get the release out today or tomorrow.

Bug Triage Day: July 11th and 12th

  • Holding vote now for travel budget approval.