Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add more contributors to project #160

Closed
axemclion opened this issue Aug 26, 2014 · 20 comments
Closed

Add more contributors to project #160

axemclion opened this issue Aug 26, 2014 · 20 comments

Comments

@axemclion
Copy link
Collaborator

Looks like a lot of people are using this code, and it may help to get more admins on this projects so that the pull requests are accepted fast.

@DickvdBrink, what do you think ?

@DickvdBrink
Copy link
Collaborator

I agree, I was really busy lately so didn't respond to the PR's. So if anyone wants to help, that would be nice!

@axemclion
Copy link
Collaborator Author

Tagging people.

@mattjacobsen @jamiejhill @jmeistrich - You have been active and helping folks on the project. Would be great if you can also become admins to this project.

@mattjacobsen
Copy link

sure, I'd love to help out!

@axemclion
Copy link
Collaborator Author

@mattjacobsen Awesome, thanks a lot .I will add you to the list of admins.

@JamesMessinger
Copy link
Collaborator

Hi, @axemclion,
I have a fork where I've been adding new unit tests and fixing lots of bugs. My focus is on ensuring consistent behavior between the IndexedDBShim and the native IndexedDB implementations in browsers that support it - especially on mobile.

It's going to be a lot of changes, but everything is fully unit tested and I'm running my tests on Chrome, Safari, Firefox, IE, PhantomJS, iOS, Android, and Windows Phone. There's still a lot more to do. I have a separate unit test suite (written in Mocha & Karma) with ~50 tests that all pass on native IndexedDB, but fail on the shim. I'm going through each test one-by-one, rewriting them in QUnit, adding them to the IndexedDBShim test script, and then fixing the shim code so the test passes.

I was planning to wait to do a pull request until I had all 50 tests migrated and passing, but that will be a HUGE pull request with dozens of commits. If you're ok with adding me to the project, I could make the changes directly to the codebase rather than on my fork and going through a pull request. Feel free to take a look at what I've done so far.

@axemclion
Copy link
Collaborator Author

@BigstickCarpet Thanks a lot for offering to help. I have added you as a colloborator, so I think we should be able to get your changes over here much faster.

@JamesMessinger
Copy link
Collaborator

Awesome! Thanks! I'll start migrating stuff over on Monday. Have a great weekend!

@DickvdBrink
Copy link
Collaborator

Nice @BigstickCarpet !

@axemclion
Copy link
Collaborator Author

👍

@JamesMessinger
Copy link
Collaborator

Testing, testing, testing...
optimized-multiplatform testing

@axemclion
Copy link
Collaborator Author

@BigstickCarpet WOW - I was thinking if we could replicate this on something like Saucelabs - I believe that there is a lot of value to run ALL these tests for every commit.

@JamesMessinger
Copy link
Collaborator

Yeah, agreed. I see that SauceLabs is already being used as part of the Travis-CI build script, but it's only being run on Safari and Opera. It would be good to add a few more browsers/platforms/devices to that list. I don't know about the cost though. Are you currently paying for SauceLabs out of your own pocket? Or is there a free tier?

Proposal: Would you mind if I switched to Karma as the test runner? Right now, the npm test script spins-up an HTTP server and run the unit tests in PhantomJS. If we want to test on other browsers, then we have to manually open test/index.html in those browsers. Karma automates all of this. It spins-up an HTTP server, launches multiple browsers and/or device emulators, and runs the tests on all of them at once. And it works with SauceLabs too.

@DickvdBrink
Copy link
Collaborator

Wow that looks nice!

@DickvdBrink
Copy link
Collaborator

For the record, I think It is fine to switch to karma. If it doesn't workout the way we want we can always go back but I think it will work great for our needs!
SauceLabs has free accounts but I'm not sure about what we can do with a free account.

@axemclion
Copy link
Collaborator Author

The account on this is using a free account. I know the good folks at Saucelabs and if we need more capacity, we could ask them.

@BigstickCarpet Is there a reason you would like to move over to Karma? If we are planning to run it on
Saucelabs, saucelabs-qunit should work. Are you looking at Karma as it also launches local browsers?

If we only need to spin up local browsers, we could use something like browser-launcher.

@JamesMessinger
Copy link
Collaborator

hehe... good to know you have the hook-up at SauceLabs. ;)

My main reason for suggesting Karma is so we can more easily test on multiple browsers/devices locally as we're developing, rather than having to check-in the code and see how it behaves on SauceLabs. It would also let us use the same test-runner for both local development and CI.

As you pointed out, there are tons of other options besides Karma. I just proposed Karma because it has a lot of community support and tons of plug-ins for pretty much every browser, platform, and device imaginable. Also, I personally like it, so there's that. :)

How about this... I can check-in my existing ~50 unit tests (written in Mocha+Karma) in a separate folder from the qUnit tests. This way, we can all see which tests are passing/failing on different platforms. We don't need to integrate my tests into the CI process or anything, but they'll give us all a good view of the work there is to be done. As we fix bugs and get tests passing, we can migrate the passing tests from Mocha+Karma to QUnit+Browser-Launcher. That way, the QUnit tests will always the "official" tests and will always pass CI, so the build process never breaks.

@JamesMessinger
Copy link
Collaborator

Also, on a related note... I created a new project yesterday to test mobile devices inside a Cordova container, since Cordova apps do not have access to the same HTML 5 APIs as the device's built-in web browser. For example, Safari on iOS 8 supports IndexedDB, but Cordova apps running on iOS 8 don't support IndexedDB.

screenshot

@axemclion
Copy link
Collaborator Author

Should we close this issue - we have awesome contributors - @DickvdBrink and @BigstickCarpet

@DickvdBrink
Copy link
Collaborator

Agreed, and really a big thank you to @BigstickCarpet for the great work lately! 👍 :)

@JamesMessinger
Copy link
Collaborator

Thanks guys. In case you can't tell, I'm pretty excited to be on the project. :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants