Meteor is an ultra-simple environment for building modern web applications.
Benefit from the latest technology updates to rapidly prototype and develop your applications.
Use popular frameworks and tools right out-of-the-box. Focus on building features instead of configuring disparate components yourself.
Use the same code whether you’re developing for web, iOS, Android, or desktop for a seamless update experience for your users.
How about trying a tutorial to get started with your favorite technology?
React |
---|
Blaze |
Vue |
Svelte |
Next, read the documentation and get some examples.
On your platform, use this line:
> npm install -g meteor
🚀 To create a project:
> meteor create my-app
☄️ Run it:
cd my-app
meteor
Building an application with Meteor?
- Deploy on Meteor Cloud
- Discuss on Forums
- Join the Meteor Discord by clicking this invite link.
- Announcement list. Subscribe in the footer.
Interested in helping or contributing to Meteor? These resources will help:
To uninstall Meteor:
- If installed via npm, run:
meteor-installer uninstall
- If installed via curl, run:
rm -rf ~/.meteor sudo rm /usr/local/bin/meteor
To find more information about installation, read here.
meteor's People
Forkers
gudbergur deadeyedick mechanism shykes grantkuo vagmi edward enobrev zbruhnke luca btakita amitagrawal bnookala nmp davidcoallier rmetzler dougdroper sevenmaxis jaykz52 mikehostetler gijs milesmatthias ericmash vpuzzella hardproblems warpaul chao-zhou phektus cldwalker bernard-wolsieffer ahtik rads joshmcarthur muhleder vincentwongso wegrata revskill10 studgeek anandgeorge colinunc jasongiedymin dengxb skalb yuroyoro constellationsoftware liangyaohua luantruong barisbalic zhuzhuaicoding olivoil williampang ilsanbao nakedmoleratscientist swombat lamperwang hacksparrow bespokoid jag dmayle waterqiang shama matthewye zipperguru panayi hopeww alvarlaigna mindscratch hackatron wolg douglas jonathankingston credochen andymoreland jpmec phillc alanvdam antoviaque noamb fly2high candeira proximamonkey txm liyangmin zsiec trxcllnt scottux dsummersl hsgui cabbiepete caplingerc tetuyoko gabriel-dehan adpirz qdrk weo-edu lydonchandra climboid mikebannister bfirsh laraneameteor's Issues
MiniMongo query fails if selector is not top-level
It looks like there may be a bug in the /packages/minimongo/selector.js when it is trying to parse a selector of a non-top level property.
For example, I have a MongoDB document structured as;
{ // Collection Name: Stories _id: String author: { _id: String } }
When I try to run this query, there are no errors (would return an empty object though):
Stories.find({ _id: Session.get('storyID'), 'author': Session.get('user')._id });
When I try to run the correct query:
Stories.find({ _id: Session.get('storyID'), 'author._id': Session.get('user')._id });
I get the following error: "Uncaught SyntaxError: Unexpected token ;" on the following line (278) of /packages/minimongo/selector.js
eval("_func = (function(f,literals){return function(doc){return " + LocalCollection._exprForSelector(selector, literals) + ";};})");
Add a changelog
Now that versions are starting to bump, it'd be a good idea to add a changelog in the repo (perhaps as
HISTORY.md
) or in the docs, or both.Follow consistent naming conventions
The Meteor API mixes underscore_separated and camelCase variable naming. There's
Meteor.is_client
,context.on_validate
... but thenthis.onStop
,Meteor.ui.listChunk
etc.Camelcase should be used everywhere, as that's the dominant convention in JavaScript.
Need a way to bind listeners to reactive DOM changes
It is necessary to be able to bind listeners to data-driven reactive changes in the DOM. I'd propose beforechange, afterchange and one to completely overwrite the change handler entirely for that subscription.
This would allow for animating DOM changes, as well as other custom DOM manipulations. Thoughts?
npm package
Is it possible to create an npm package for Meteor?
So we can easily install, assuming that node/npm and mongo are already installed. Thanks!EMFILE error when too many files in /public
Hi meteor team,
I've found an EMFILE error when trying to add many static files in /public folder, you might want ot watch how to prevent this issue.
fs.js:663 throw errnoException(errno, 'watch'); ^ Error: watch EMFILE at errnoException (fs.js:636:11) at FSWatcher.start (fs.js:663:11) at Object.watch (fs.js:691:11) at [object Object]._scan (/usr/lib/meteor/app/meteor/run.js:322:12) at /usr/lib/meteor/app/meteor/run.js:337:14 at Array.forEach (native) at Function.<anonymous> (/usr/lib/meteor/app/lib/third/underscore.js:76:11) at [object Object]._scan (/usr/lib/meteor/app/meteor/run.js:336:9) at /usr/lib/meteor/app/meteor/run.js:337:14 at Array.forEach (native)
Thanks,
Alex
Add official support for Mac
Not sure if you guys have any Mac users, but node and mongo are very very easy to get running on a mac with Homebrew. I would like to get a Homebrew formula put together that just installs the Meteor framework in some location (without mongo or node), and just use the mongo and node versions provided by Homebrew.
Is this something that you guys would be interested in supporting? I think the main thing that I'd need is instructions on how to install Meteor if Node and Mongo are already installed.
Caching issues when in development mode
There are some situations (it seems to happen when you change something inside a single line), that caching leads to weird behavior. Even deleting the browser cache is no cure sometimes.
e.g. when changing
Template.room.roomName = function() { var room = Rooms.findOne({ _id: Session.get("room_id") }); console.log(room); }
to
Template.room.roomName = function() { var room = Rooms.findOne({ _id: Session.get("room_id") }); console.log(room.name); }
resulted in the first (i.e. old) version of the code being sent to the client. A restart of meteor fixed this finally.
Is anyone else experiencing this issue?
Add ability to add classes to <html>
It would be useful to be able to inject html before or modify the outermost element. Alternatively, just have a meteor setting/flag to specifically address conditional styling.
The desired result is to use IE conditional comments to add styles to the outer element for cleaner, cross browser styling. See:
http://paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/
This is a technique used in popular html frameworks like HTML5 Boilerplate, ZURB Foundation, etc.
Currently meteor does not allow us to access on affect the tag that is generated (at least that I've found so far) preventing this technique from supporting older IE browsers.
Unable to deploy to meteor.com subdomains
[root@localhost example]# meteor deploy -P example.meteor.com New Password: Confirm Password: Deploying to example.meteor.com. Bundling ... uploading ... Error deploying application: undefined [root@localhost example]#
Running on CentOS 6 in an Oracle VirtualBox VM
Windows support?
Running
curl install.meteor.com | sh
on Windows suggest that support for Windows has been planned (gives message: "Sorry, this OS is not supported yet.").I'm adding an issue to track progress on this!
Error deploying
I deployed my app. It was doing just fine, but I changed the data model a bit and wanted to refresh the db, so I did a
deploy --delete
and now I cannot deploy to the same name again...Error deploying application: Error creating application.
Attaching a blur event to a template does not work
As of d4e2bd6 (fix events to properly target top-level elements) adding a blur event to a template does not work on the latest Chrome Beta, Version 20.0.1123.4 dev. Specifically, the event handler is never added.
The following code snippet from packages/liveui/liveui.js#L372 is called, however the callback function it contains is not ever called.$.event.add(elt, event, function(evt) { if (selector) { // target must match selector var target = evt.target; // use element's parentNode as a "context"; any elements // referenced in the selector must be proper descendents // of the context. var results = $(elt.parentNode).find(selector); if (! _.contains(results, target)) return; } callback.call(event_data, evt); });
It's possible this is a jQuery bug, however the $.event.add method is not part of the public API so I'm not sure what the behaviour is meant to be. The one thing that I did notice whilst debugging was that the 'focusout' event was considered by jQuery whilst attaching the blur event. Maybe something is going on there?
In any case, using $(document).on('blur', selector, handle) worked perfectly, so it is obviously possible with jQuery.Adding smart packages?
I would really like to contribute smart packages for stylus and jade, but I didn't want to jump in without really knowing how they work. So my questions are:
- Are there any sort of docs for how to create a meteor smart package, or does anyone have suggestions etc?
- Are you guys accepting pull requests with new smart packages?
*.js files in "tests" directory not loaded into client
If I have file in a
tests
directory inside ofclient
, they don't get loaded.e.g. if you have
client/ +-> tests/ | +-> foo_test.js +-> foo.js
Then
foo.js
will get loaded, butfoo_test.js
won't.If I rename the
tests
directory totest
, thenfoo_test.js
does get loaded - so it looks like thetests
directory is getting special cased somewhere.Is there some way of running the environment so that this folder is not excluded?
Ideally, the tests would be packaged in development, but not in production (e.g. deploy/bundle would strip them out).
Server time off on meteor.com deployed apps
Seems like the time is off on meteor.com deployed apps, see:
This creates a problem for apps that want to do 'time ago' display comparing a stamp received from the server and the current client time.
Peace, Mike
DDP mishandles non-JSON objects: Mongo ObjectIds, Dates, etc
Calls to
update()
on pre-existing mongodb records which useObjectId()
for their_id
are ignored._Mongo.prototype.update
passes the string representation of theObjectId()
tocollection.update()
.As a result,
update()
doesn't match any record. This doesn't raise any error - the update is silently ignored by the server, and the change reverted on the client.Not sure what should be changed, but at the minimum it would be nice to be able to debug this more easily.
In my case, I've converted the _ids in my database to strings:
db.applications_hackers.find({}).forEach(function(app){ db.applications_hackers.remove({_id:app._id}); app._id = app._id.toString(); db.applications_hackers.insert(app); });
Html Parsing
There needs to be better handling and documentation.
For instance:
Leaving a space between the name and = below will break Meteor.
<template name ="dorm"> ....... </template>
Directories with spaces throwing errors when using 'meteor create'
When using
meteor create <project>
in a directory with a space e.g./Home/General Coding/Node
, it throws an erroruser@User-Computer:/Home/General Coding/Node# meteor create test /usr/bin/meteor: line 39: cd: /Home/General: No such file or directory test: created. To run your new app: cd test meteor
As you can see, the script seems to be stopping at the space and taking everything before that as the directory.
test
isn't actually created.MiniMongo doesn't work with array-based queries
Create a new record in a collection:
Stories.insert({list:[{foo:42, bar:32}, {foo: 50, bar:90}]})
Running the query {'list.foo':42} in the mongo shell
meteor mongo
works fine and retrieves the record. However, running it on the browser fails with an error "TypeError: Cannot read property 'foo' of undefined"The immediate code generated by minimongo to be eval'ed is:
_func = (function(f,literals){return function(doc){return (f._matches(doc["list"], function(x){return (function(x){return f._matches_plus(x,function(x){return x===42;});})(x["foo"]);}));};})
DB documents with integer fields silently dropped
When a document from a DB collection contains an integer value, the document isn't sent to the client (it doesn't appear at all in the answer from the server after the client sends a subscribe request):
{ "_id" : "96b3dc6b-7897-4612-94b2-6eb1348b2298", "length" : 6193 }
Converting it to a string fixes the problem:
{ "_id" : "96b3dc6b-7897-4612-94b2-6eb1348b2298", "length" : "6193" }
The NOTES document in the minimongo indicate that integers aren't supported, so I suppose this is normal, but maybe worth a warning in the meantime - the issue can be pretty hard to isolate.
Handlebars: No Nested Paths
I keep on getting an error whenever I try to use nested paths in my handlebars template.
(JS)Template.navbarLoggedIn.user = function(){ return { firstName: 'Jack', lastName: 'Parker'}; };
(HTML)
<template name="navbarLoggedIn"> <div class='navbar'> <img src="logo.svg" /> <h1>Logged In {{user.firstName}}</h1> </div> </template>
Gives me the error: Uncaught TypeError: Cannot read property 'firstName' of undefined
homebrew
I would prefer to install meteor via homebrew.
Inserting records in meteor mongo sets _id incorrectly
Inserting a record in the mongodb from the client and from the server behave differently - when inserting from the server (meteor mongo command line), records are inserted, but "_ID" is set incorrectly (e.g. ObjectId("4fa92fc8ce209ad0aece0f67") rather than "4fa92fc8-ce20-9ad0-aece0f67"
This causes the record to not be updatable by the meteor API
For example, I have these two entries....
{ "name" : "Steve O", "score" : 30, "_id" : "8bdbd325-607c-4363-b5f7-f9beadd9d581" }
{ "_id" : ObjectId("4fa92fc8ce209ad0aece0f67"), "name" : "Rich Gautier", "score" : 25 }They were both added to the Leaderboard app, but the second one was added from the 'meteor mongo' command line - note the _id...This record is not updateable from within the Leaderboard app, since the meteor API doesn't seem to understand the ObjectId(...) "_id" field.
The first entry was done from Chrome Javascript developer console from the app page, and the leaderboard app can correctly change the score.
Both were inserted with the same syntax ....insert({name:"name",score:##})
Either one can be deleted correctly with a remove({name:"name"}) from either server or client.
The 'incorrect' one correctly displays the score in the leaderboard app - it just can't be updated by the meteor leaderboard implementation.Allowing to submit contributions under the MIT license?
I'm considering contributing to Meteor - I like what you've already accomplished with it, congratulations!
I have some concerns about the licensing agreement, though. I'd like to be sure that the current openness of the approach is there to stay - not that I doubt the Meteor team, the actions speak for themselves, but a company can always get sold, so it's better to be careful.
Not being a lawyer, I would feel safer if I could submit my contributions under a generic license, like the MIT you're using yourselves (GPL would have been fine too). Ie the "inbound licensing=outbound licensing" approach (http://ref.fedorapeople.org/fontana-linuxcon.html).
Even carefully drafted copyright assignments like the ones from Project Harmony (http://www.harmonyagreements.org/) have many problems, and having a custom one only adds to the issue. I would thus be interested in knowing what you think about the arguments on the subject, from people who know better than me:
- http://ebb.org/bkuhn/blog/2011/07/07/harmony-harmful.html (Bradley M. Kuhn, Conservancy/SFLC)
- http://opensource.com/law/11/7/trouble-harmony-part-1 (Richard Fontana, Red Hat)
As pointed out in Bradley's post, another possibility to get reasonable insurance that the developer made sure he has the right to submit the work is to do like for Linux patches, having to issue a "Certificate of Origin". http://permalink.gmane.org/gmane.linux.kernel.commits.head/33254
Website Background
I take great issue with the background of your current website. C'mon. You can do better. It looks like cheap wallpaper. Meteor is a flaming fireball. It's bad ass. The meteor website should cut like a knife. It should be made of glass, titanium and awesomeness, not a hawaiian t-shirt.
(Please.)
Use camel case instead of underscore names
The convention in Javascript is to use camel case for identifiers. I know this doesn't affect functionality or anything, but it does enhance developer happiness and productivity if all libraries and APIs predictively use the same coding style.
Any chance Meteor can use camel case for its API?
v0.3.4 event selectors just broke when I upgraded
After upgrading my app no longer responds to any of my click events. I assumed for an hour it was something I had done and tried to fix it, but this is really stumping me. I'll try to replicate my problem in a little example app and post it here.
I was using
currentTarget
to get the element that had been clicked on. That worked with v0.3.3 but it doesn't work now, if I use srcElement then it does what I was expecting. I should probably just make another template and trigger withthis
and avoid these kinds of problems in the future.why underscore notation on code base?
I just saw the screencast from meteor and installed it, and notice that you guys are using snake case notation all over the code base... Why that? Since the Javascript standart is to use camel case notation instead... Can look like a small thing but overall it's a huge no no on my point of view... When mixing the JS code from Meteor with any other javascript frameworks (even default Javascript API) will create a mess with different code standarts...
So, why using snake case notation and not the JS community (and standard API) camel case code?
(I posted that on Stack Overflow before, but I thing here is a better place for this discussion)
edit: changed from "underscore" to "snake case" to use correct naming
Docs - collections.remove example refers to undocumented method
This may be just my misunderstanding, but the example given in the collections.remove topic references the following method
- Meteor.renderList
which I can't find any references to in the API docs. If this is a custom method, consider removing it from the example.
Frame behaviour inconsistent between browsers on docs.meteor.com
(Tests are on Windows 7)
http://docs.meteor.com renders different output between Firefox and Google Chrome.
Current Firefox (12.0), all addons disabled, docs.meteor.com renders a side frame. In Google Chrome (18.0.1025.162) it does not.
Empty pages rendered with no error report
There are several situations where the page rendered is totally empty and no error report can be seen neither on the server console nor on the client side. There should be some error reporting system, e.g. like in the Play! framework.
Upgrade to 0.3.4 breaks event handling code
I upgraded to 0.3.4 today and my event handling code (specified through maps in template) is not working for some of the selectors. Basic click handlers are working, but the moment I specify any selectors, it doesn't work properly. I did not find any specific documentation for migration to 0.3.4 specific to this part. I downgraded to 0.3.3 and my app was restored.
Has anyone else also faced similar issue ? or I am missing something basic.
Include all JS events in Template eventmaps
This code doesn't work in Meteor, making me deeply unhappy.
Template.templateName.events = {
'loadeddata audio' : function (e) {
// something
}
};C'mon guys. Cheer me up.
Allow for configuration of MongoDB
Or at least provide a way to disable MongoDB journaling when running the included examples.
With the current MongoDB settings, three
prealloc
files each about 1GB are created in~/src/meteor/leaderboard/.meteor/local/db/journal
. These files are not deleted when the example is terminated. I think 9 GB of diskspace for just 3 examples is way too much, although I understand these are the effect of the MongoDB defaults.I could not find any mongodb.conf file related to Meteor. Perhaps I am missing some configuration options Meteor already provides when executing
meteor run
? As a temporary solution I modifiedapp/lib/mongo_runner.js
to include the mongodb--nojournal
parameter in the launch_mongo function.using animation to update elements
This might be possible, but I haven't figured out how yet. One of the things we often do in our applications is run an animation between two views. A good example of this is in iOS moving from one screen to the next. The first screen slides out to the left and the replacing screen slides in from the right. Is this currently possible (easily) in meteor?
I would love, for example, to just be able to define that a given chunk is going to animate with the chunk that is replacing it.
GPL
The GPL will probably be a deal breaker for many people. Especially with backend and frontend code living so close together. I personally would appreciate a MIT/Apache style license and shy away from meteor as it is licensed right now.
Provide a way to have async Meteor.method return values
Currently only straight thru method definitions are possible. Perhaps support a results callback or 'future' or 'pending' function as a return value from Meteor.method definitions. I had to roll my own using the fibers-promise package...it worked, but it'd be nice if the API already supported it.
"npm install mailer" breaks server startup
After installing the mailer node module locally, at the root of a meteor app:
$ npm install mailer
Meteor fails on startup with the following errors:
Errors prevented startup: Exception while bundling application: Error: Couldn't parse .. um .. some HTML file, on some line. sorry at Object._scanChunk (/home/antoviaque/prog/meteor/packages/templating/html_scanner.js:83:13) at Object.scan (/home/antoviaque/prog/meteor/packages/templating/html_scanner.js:7:31) at /home/antoviaque/prog/meteor/packages/templating/package.js:46:32 at [object Object].add_file (/home/antoviaque/prog/meteor/app/lib/bundler.js:195:5) at /home/antoviaque/prog/meteor/app/lib/bundler.js:98:16 at Array.forEach (native) at Function.<anonymous> (/home/antoviaque/prog/meteor/app/lib/third/underscore.js:76:11) at /home/antoviaque/prog/meteor/app/lib/bundler.js:97:11 at Array.forEach (native) at Function.<anonymous> (/home/antoviaque/prog/meteor/app/lib/third/underscore.js:76:11) fs.js:663 throw errnoException(errno, 'watch'); ^ Error: watch EMFILE at errnoException (fs.js:636:11) at FSWatcher.start (fs.js:663:11) at Object.watch (fs.js:691:11) at [object Object]._scan (/home/antoviaque/prog/meteor/app/meteor/run.js:322:12) at Array.forEach (native) at Function.<anonymous> (/home/antoviaque/prog/meteor/app/lib/third/underscore.js:76:11) at new <anonymous> (/home/antoviaque/prog/meteor/app/meteor/run.js:264:5) at /home/antoviaque/prog/meteor/app/meteor/run.js:455:17 at /home/antoviaque/prog/meteor/app/meteor/run.js:507:7 at /home/antoviaque/prog/meteor/app/meteor/run.js:570:9 at Socket.<anonymous> (/home/antoviaque/prog/meteor/app/lib/mongo_runner.js:176:9)
The bundler fails when html_scanner tries to load
node_modules/mailer/node_modules/colors/example.html
as if it was one of the app templates.Maybe this is not the right place to place extra node modules, though.
Also, installing globally doesn't work either, since meteor uses its own NODE_PATH.
Deploy meteor apps to heroku with one command
Currently to get a bundled app to just work on heroku, there are a couple of steps involved, explained thoroughly here:
- add a Procfile
- add a package.json
- rm -r server/node_modules/fibers
- npm install fibers
Would you take a patch to have this just work? It could be in the form of a new subcommand i.e.
meteor heroku
or an option to bundle i.e.meteor bundle --heroku
.If neither of these options seem appealing, how about allowing meteor users to create their own subcommands? Currently all commands are stored in a monolithic app/meteor/meteor.js. How about making subcommands simply be executables like git and rip do it? The format would be meteor-COMMAND i.e. meteor-bundle. The meteor executable would simply delegate to a subcommand regardless of whether it comes with meteor or from a third-party.
[redacted]
Removed all comments.
Meteor.methods.addMiddleware and Meteor.methods.myMethod.addMiddleware
Dreaming of middleware for Meteor.methods (thinking of express.js's route middleware http://expressjs.com/guide.html#route-middleware). Tried to implement this as an external library but my JS isn't good enough to figure out the metaprogramming needed to hijack all the relavent parts of meteor. Maybe I'll follow this up with a pull request but wanted to see if this made people smile or cry:
https://gist.github.com/2552208
Peace!
doctype crashes app
Adding
<!doctype html>
-- or any type of html comments -- causes the app to crash:Your app is crashing. Here's the latest log. Errors prevented startup: Exception while bundling application: Error: Couldn't parse .. um .. some HTML file, on some line. sorry at Object._scanChunk (/Users/ultranaut/sandbox/meteor/meteor.git/packages/templating/html_scanner.js:83:13) at Object.scan (/Users/ultranaut/sandbox/meteor/meteor.git/packages/templating/html_scanner.js:7:31) at /Users/ultranaut/sandbox/meteor/meteor.git/packages/templating/package.js:46:32 at [object Object].add_file (/Users/ultranaut/sandbox/meteor/meteor.git/app/lib/bundler.js:193:5) at /Users/ultranaut/sandbox/meteor/meteor.git/app/lib/bundler.js:97:16 at Array.forEach (native) at Function.<anonymous> (/Users/ultranaut/sandbox/meteor/meteor.git/app/lib/third/underscore.js:76:11) at /Users/ultranaut/sandbox/meteor/meteor.git/app/lib/bundler.js:96:11 at Array.forEach (native) at Function.<anonymous> (/Users/ultranaut/sandbox/meteor/meteor.git/app/lib/third/underscore.js:76:11) Your application is crashing. Waiting for file change.
Seems like a problem.
HTML prerendering
I wanted to fix pre-rendering however due to the lack of documentation on packages I'm really struggling stabbing in the dark.
It seems all I need is in the "packages/templating/html_scanner.js" to just change the .js into the body that doesn't actually get populated here. However the Meteor.ui and handlebars classes are not available here and I can't seem to work out how to add them in.
Some hints how to do this even if through a hack would be very welcome as I am struggling to get a grasp of how these files are fetched and it seems to me that these classes should be available here.
Deployment error
Hi, I have just updated to Meteor version 0.3.5
When I went to deploy my app:
Jamies-iMac:human jhw$ meteor deploy human.meteor.com
Deploying to human.meteor.com. Bundling ... uploading ...
Error deploying application: undefinedWhen I went to delete / deploy I got:
Jamies-iMac:human jhw$ meteor deploy human.meteor.com --delete
Error deleting application: Application does not exist… where it does exist online @ human.meteor.com ?
Is this a 0.3.5 bug?
- Jamie
Timestamps trigger template renders with {} instead of actual timestamp
Template.conversation.events = 'keyup #newMessage > textarea': (e) -> textarea = e.target if e.keyCode is 13 [message, textarea.value] = [textarea.value, ""] Messages.insert message: message timestamp: new Date from: Session.get("me") to: Session.get("it") Template.conversation.messages = -> me = Session.get("me") it = Session.get("it") if not (me and it) return profiles = me: Profiles.findOne(_id: me) it: Profiles.findOne(_id: it) relevant = $or: [{from: me, to: it}, {from: it, to: me}] messages = Messages.find relevant, {sort: {timestamp: -1}} messages.map (message) -> message.profile = if message.from == me then profiles.me else profiles.it # WEIRDNESS HERE if typeof message.timestamp isnt "object" message.humanTime = humaneDate(message.timestamp).toLowerCase() else # So apparently this gets called once with timestamp === {}, then again # with the real timestamp. console.log "weird message timestamp :/" console.log message message.humanTime = "just now" return message
You can see this on the deployed site:
- watch JS console
- type "lvh" in your name box
- select "View" for the remaining profile (ewa)
- type in a message and press RET
- observe
The
Template.conversation.messages
function gets called twice in rapid succession:- with
timestamp: {}
- with the actual date, in string format
I have no idea if this applies to things that aren't Dates.
No Support for spaces in paths (when running examples locally)
I installed meteor and pulled down the examples as described on the example pages and was able to run them. I didn't want to leave the folders in my user directory though, so I moved them into "~/Documents/Meteor Projects/." Then they wouldn't run though ("No such file or directory"). I renamed the containing folder to "MeteorProjects" and then they would run again. It would be nice to have support for spaces in paths.
space in file name of static asset breaks page loading
To replicate:
% meteor create "foo with spaces" foo with spaces: created. To run your new app: cd foo with spaces meteor % cd foo\ with\ spaces % meteor [[[[[ ~/honeycomb/tmp/foo with spaces ]]]]] Running on: http://localhost:3000/
The go hit localhost:3000 in a web browser. The page doesn't load and this comes up on the console:
/usr/local/meteor/lib/node_modules/gzippo/lib/staticGzip.js:51 if (err) throw err; ^ Error: ENOENT, no such file or directory '/Users/nim/honeycomb/tmp/foo with spaces/.meteor/local/build/static/foo%20with%20spaces.css' Exited with code: 1
Not sure where the %20 -> space translation should happen, but it isn't happening right now.
Access object properties within templates
Handlebars docs say that we can use {{ obj.prop }} but when I try this, I get a "Cannot read property 'prop' of undefined", but when I use {{ obj }} I get a "[object Object]"
Focus event for input element not triggered if wrapped in a span
Code reproducing problem on 0.3.5 here: https://gist.github.com/2545439
If I wrap an input element in a span, the focus event of the input WILL NOT be triggered.
If I remove the span, it the focus event WILL be triggered.
The click event of the same element KEEPS WORKING.Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
Jobs
Jooble