Commit Graph

4380 Commits

Author SHA1 Message Date
Emily Stark
80ee5c19ee Add comment to findHelperHostComponent 2014-06-19 09:40:28 -07:00
Emily Stark
86aeec461a Fix canonicalizeHtml regexes.
Allows empty, quoted attributes (e.g. <div foo="">)
2014-06-17 22:32:21 -07:00
Emily Stark
7d9c1da444 Fix removeNode indentation 2014-06-17 21:09:14 -07:00
Emily Stark
b84c7662f3 Fix UI._templateInstance() to look at surrounding template.
Previously we were using the current component to retrieve the template
instance, but what we actually want is the template instance of the
surrounding component that is a template.
2014-06-17 16:58:54 -07:00
Matthew Arbesfeld
6b48630160 Adds UI._parentData(n) method in template helpers.
This method returns the parent data context which surrounds the
helper call. This mirrors the effect of {{..}} in Spacebars. So
UI._parentData(2) is equivalent to {{../..}}.
2014-06-17 14:02:17 -07:00
Emily Stark
566302f1cb Export the number of bcrypt rounds and checkPassword 2014-06-14 14:23:08 -07:00
Emily Stark
dd034b3f0b Maintain old behavior of plaintext password handler.
This is for backwards compatibility with old standalone DDP clients
(like the Meteor command line tool). Note that we are not maintaining
back-compat with old standalone DDP clients that implemented SRP.
2014-06-13 09:44:29 -07:00
Emily Stark
a6ecfb3825 Use $.trim in StyleHandler when String.trim isn't available.
(Safari 4)
2014-06-12 20:24:20 -07:00
Matthew Arbesfeld
961965a7c5 fix merge 2014-06-12 20:24:20 -07:00
Matthew Arbesfeld
4f20802cf9 Fix test expectations 2014-06-12 20:24:20 -07:00
Emily Stark
15804badf4 Remove forgotten debugging argument 2014-06-12 20:24:19 -07:00
Emily Stark
0950952c26 partial fix to ui reactive attributes style diffing test
It's failing in IE10, maybe other IEs also
2014-06-12 20:24:19 -07:00
Emily Stark
8b9a61b39c Use 'protocol' property to detect javascript: URLs.
This strategy works in Safari 4, unlike what we were doing previously.
2014-06-11 15:13:27 -07:00
Emily Stark
81dbf20ea3 Ensure that user fields exist before setting them.
Follow-up to 4acfc5c6f
2014-06-11 10:11:20 -07:00
Maxime Quandalle
f65451e196 Upgrade Stylus from 0.42.3 to 0.46.3 2014-06-10 17:28:17 -07:00
Frederico Carvalho
4acfc5c6ff before passing 'user' to email template functions, update with new token information 2014-06-10 16:59:51 -07:00
Emily Stark
05bfdc297e Merge branch 'pr/2183' into devel 2014-06-10 15:17:24 -07:00
David Greenspan
832f3bab02 Test the interpretation of event map selectors
If you listen on “div p”, for example, both the div and the p have to be in the template.
2014-06-10 14:51:58 -07:00
Matthew Arbesfeld
c346568cef Update StyleAttributeHandler to prevent conflicts in css styles. This fix will ensure that Blaze and external javascript cannot both set the same property on an element. If both Blaze and external javascript modify the same property, then the most recent modification will win. 2014-06-10 11:33:33 -07:00
Matthew Arbesfeld
5ab3fbc17e Allow external CSS style attributes to interop with Blaze style attributes. This fixes cases where jQuery calls .hide() or .show() on an element which also has a Blaze defined dynamic attribute. 2014-06-10 11:05:43 -07:00
Cangit
dbca6908f3 Don't decrement the line number in LESS error reporting.
LESS fixed their math problem in 1.6.0
2014-06-10 09:45:03 -07:00
Emily Stark
d61a676ac3 Extract number of bcrypt rounds to top of file 2014-06-09 20:43:40 -07:00
Emily Stark
e1669f464c Remove 'plaintextPassword'.
'password' can always be either a string or an object (indicating that
it's been hashed already with something). When the server receives a
string, it hashes it with SHA256 before bcrypt.
2014-06-09 20:42:49 -07:00
Emily Stark
55cecde404 Make an error message nicer 2014-06-09 20:42:49 -07:00
Emily Stark
254075587c Nick code review items (mostly comments) 2014-06-09 20:42:49 -07:00
Andrew Wilcox
338ede1266 code review II 2014-06-09 20:42:49 -07:00
Andrew Wilcox
ef697a6fa7 code review items 2014-06-09 20:42:49 -07:00
Andrew Wilcox
644dde0382 account data is no longer used for the srp challenge 2014-06-09 20:42:48 -07:00
Andrew Wilcox
b567046300 Migrate from SRP to bcrypt.
See the spec https://meteor.hackpad.com/SRP-bcrypt-J5mdBojeVfe for
details.
2014-06-09 20:42:48 -07:00
Emily Stark
f6cb154770 Make sure autoruns for {{#with}} get cleaned up.
Related to #2145, #2023, #2031.
2014-06-09 19:13:23 -07:00
Avital Oliver
6aba501e46 Fix ui hooks tests on IE 2014-06-09 18:10:02 -07:00
Andrew Mao
e2ac94b89d Check for localStorage, catching exceptions - fixes #1291, fixes #1688.
Accessing `window.localStorage` can immediately throw an exception, which needs to be caught.
For more information, see http://www.w3.org/TR/webstorage/#dom-localstorage.
2014-06-09 15:53:17 -07:00
Emily Stark
65b1eadf53 Tweak UI._templateInstance error message 2014-06-05 18:31:20 -07:00
Emily Stark
5f0067c4f8 Make UI._templateInstance throw when not in helper. 2014-06-05 18:20:51 -07:00
Avital Oliver
e3cfccb206 Stop not updating form controls if they're focused
On Blaze, we copied functionality we had on Spark: Don't update
form controls (INPUT, TEXTAREA) if they are focused and their underlying
value reactively updates. This was never meant to be the eventual
solution -- we'd eventually have a way to define strategies for two-way
data binding. Maybe you'd be able to define a callback that notifies
the app when a change happens to a field that hasn't been saved yet.

Moreover, not only is the feature incomplete, but with Blaze it works
much more poorly than in Spark. Due to fine-grained updates, users
his this more frequently and don't seem to like the behavior
(in Spark you would only hit this behavior if you set up your
preserve rules exactly right, which many users did not do).

So, we're just ripping out this functionality. Now if a field gets
edited by some other user while you're focused it will just lose its
value. Focus will remain.

Fixes #1965
2014-06-05 18:14:25 -07:00
David Glasser
df2820ffd9 Only do one query for forEach/count in Deps
They used to run the query twice: once for the actual result and once to
set up the observe. Now it shares the work between the observe and the
actual query.

This required me to inline the _depend helper, but I actually think this
made what's going on more direct and clear.

Drop the _allow_unordered hack. I'm not convinced that it was ever truly
valid; the observe code really doesn't support unordered observes with
skip and limit, and I could not remember what it was about count's use
that made it hypothetically safe.  Easier to just remove the hack (until
we maybe eventually actually fix #1643)

Stop using Deps.Dependency in an unidiomatic way; just use
Deps.currentComputation directly.
2014-06-05 13:18:51 -07:00
David Glasser
b5a0613f85 Remove cursor.rewind interface
Our cursor interface has no nextObject method, so there's no point in
having a rewind method. Its major effect is ensuring that
fetch/forEach/map return no documents if you've already called one of
them once. It's not clear why this is actually useful to anybody.

rewind is kept around as a no-op; if we later implement nextObject, we
can make rewind do something, but we still presumably would auto-rewind
before fetch/forEach/map.

In minimongo, remove the db_objects cache inside each cursor. The only
actual use of this cache was that if you called count multiple times, it
would return the same number without re-running the query, and you could
share the query work between N calls to count and one call to
fetch/forEach/map (but only one call! future calls would return
nothing!)  While there's a minor performance hit from getting rid of
this cache, it should also use a little less memory, and enable use
cases like

   {{#with someCursor}}
     {{#if count}}
        {{#each this}}
          ...
        {{/each}}
     {{/if}}
   {{/with}}

which didn't work before because even the deps invalidation didn't
rewind the cursor.

Also, as a minor optimization, skip an EJSON.clone if there's a
projection, because projection functions are guaranteed to clone.

Fixes #2114
2014-06-05 13:18:51 -07:00
Slava Kim
6394261d51 Tests for CSS url rewrites fixed to the new implementation
i.e. rewrite only style sheets taken from /packages/ folder
2014-06-04 18:57:15 -07:00
Slava Kim
1e4838ccd3 Fix css urls rewrite in application code.
An attempt to fix #2106
2014-06-04 18:19:03 -07:00
Emily Stark
58a14da1a1 Fix double-removal of elements.
Change the unused `viaBackend` flag to `elementsAlreadyRemoved`, and set
the flag in two places: 1. when we remove things from a DomRange
immediately after calling `removeNode`, and 2. when DomRange is notified
that an element has been removed via DomBackend.

The motivation is that re-enabling undocumented animation hooks revealed
that we were trying to remove elements twice: once from `removeNode`,
and once from `nodeRemoved` (via `membersRemoved`).
2014-06-04 09:35:23 -07:00
Avital Oliver
a2d8a975bc Remove one unhelpful stack frame from Deps
Instead of `callWithNoYieldsAllowed` which calls a function
within (introducing a new stack frame that doesn't absolutely
nothing on the client), we now use `withNoYieldsAllowed` that
returns a new function that then gets called.

Since Deps is used all over the place, and in particular
in Blaze, this makes it much easier to look at the stack
trace when stopping in a debugger (for example, when a helper
gets re-executed).

Motivated by the Blaze manual.
2014-06-03 16:54:56 -07:00
ducdigital
3dfcb42eac Move credential token and secret into variables.
Allow 3rd party apps, like PhoneGap/Cordova, to execute inline script
and get the token and secret key easier.
2014-06-03 09:58:39 -07:00
David Glasser
6940c9837c Merge branch 'pr/2115' into devel 2014-06-02 14:41:47 -07:00
Emily Stark
a40a627395 Remove spacebars-compiler -> spacebars test dependency.
This fixes a circular build-time dependency when building test slices.
2014-06-02 14:15:17 -07:00
David Glasser
f8cabb4cfa update sockjs to 0.3.9, websocket-driver to 0.3.4
The websocket-driver update includes our PR to relinquish some memory
faster. https://github.com/faye/websocket-driver-node/pull/6

The sockjs update mostly consists of aligning the version of
faye-websocket it uses internally with the version that we use for our
client. It also contains this Vary: Origin change:
 https://github.com/sockjs/sockjs-node/pull/130
2014-06-02 14:06:11 -07:00
Emily Stark
65b76b2bc9 Add UI._templateInstance() 2014-06-02 13:51:13 -07:00
Emily Stark
588d0497ac Merge pull request #2202 from justinsb/cleanup_collections
Drop collections after test (WIP)
2014-06-02 13:26:01 -07:00
Emily Stark
a84d881044 Merge pull request #2186 from justinsb/avoid_dns_catchall
Switch the 'unreachable' url from http://asdf.asdf to http://0.0.0.0
2014-05-30 10:24:38 -07:00
Emily Stark
6b805c14cf Merge branch 'export-oauth-close-popup' into devel 2014-05-29 21:38:18 -07:00
Avital Oliver
0d81b25aeb Remove trailing whitespace 2014-05-29 17:53:50 -07:00