102 Commits

Author SHA1 Message Date
Remy Sharp
c157eb47da MySQL doesn't need SET NAME, also changed get history query 2014-01-07 14:26:51 +00:00
Remy Sharp
306e80ee4e Moved to node-mysql-2.x with connection pooling 2013-11-12 11:23:07 +00:00
Remy Sharp
131d75968c Extended /<user>/last support to /<user>/last-n
So /rem/last still works, but also /rem/last-1 gives me the penulimate bin I worked on.
2013-11-02 15:38:23 +00:00
Remy Sharp
39a416c94c Fixed #819 - should have returned when no result 2013-08-31 23:11:00 +01:00
Remy Sharp
dc34c19448 Shorten bin urls to 4 characters
And add glyph font
2013-08-20 14:13:18 +01:00
Remy Sharp
5e9d01f033 Fix #765 and #793. Increase bin url length and posibilities.
The error was:

a) being caused by strings being passed up through the error handler - instead of actual error objects.
b) more importantly, the 10 tries jsbin was attempting to get a new bin id, it was failing!!!! so I've increased the chances by adding uppercase characters (doubling the possibilties) and on each hit on an existing bin, the shortcode will get longer
2013-08-16 21:58:30 +01:00
Vivek Verma
bbbb493fe0 when archive or unarchive is clicked on Bins under "my Bins",
node crashes and throws a error that 'results are not defined'.

This happens because of silly spelling mistake
in archiveBin in file lib/db/sqlite.js, see commit.

.
2013-08-12 22:10:12 +05:30
Vivek Verma
90ece2e20b wrong order of values in setUser query prevents creating new user
Sql query parameters as defined in lib/db/sql_template.json has github token and id at as last parameter. But, in lib/db/sqlite.json github_token is assigned where there should datetime value in last_login. Thus, resulting is error like "SQLITE CONSTRAINTS: ownership.last_login cannot be null" on console if github authentication is not used for login.
This commit attempts to fix that error and enable registering new users again.
2013-08-06 13:53:40 +05:30
Remy Sharp
4f2c953e5d mysql was not returning the bin number - just true or false 2013-07-04 18:51:53 +01:00
Remy Sharp
605a1910a8 Fixed server exploding - too few parameters given
MySQL was expecting the github data, but not being pass it - and it was causing the node process to crash and restart - mayhem.
2013-07-04 18:37:52 +01:00
Tom Ashworth
d54d4d3735 Redo github logic to fix incorrect linking. 2013-07-04 13:20:02 +01:00
Remy Sharp
0f1b36d0a6 Merge branch 'master' into fix/avatar-as-menu-655
Conflicts:
	lib/handlers/bin.js
	lib/models/user.js
2013-07-04 11:25:44 +01:00
Remy Sharp
9c9846becd add getUserBinCount to db adapters 2013-06-28 15:59:39 +01:00
Tom Ashworth
482a3daa84 Hook Github to existing user. 2013-06-24 11:14:13 +01:00
Tom Ashworth
2d5195bbc9 Support creating a new user with gihub, but sessions are broken. 2013-06-18 13:44:55 +01:00
Matthew O'Riordan
a234941cf3 API can require an API key for a user (disallow anonymous) 2013-05-20 07:18:57 +02:00
Matthew O'Riordan
666ab20a2e Remove annoying console output from SQLite driver 2013-05-19 15:57:19 +02:00
Tom Ashworth
099d21b118 Remove lots of logging. 2013-05-16 14:50:12 +01:00
Tom Ashworth
03089ddf7a Rename file-db to file.js, and support new revisions. 2013-05-16 14:49:43 +01:00
Tom Ashworth
6c2b145478 Support creating of bins with file-db. 2013-05-16 14:49:27 +01:00
Remy Sharp
6861fd7bac removed logging, and fixed sqlite module - was using completely the wrong method 2013-04-06 10:41:13 +01:00
Remy Sharp
be56fa0db8 If logged-in user created first revision of a bin, then they "own" the bin url - and other users will only be able to clone the url 2013-04-05 22:09:12 +01:00
Remy Sharp
3a18cc3446 put archiveBin back in to sqlite module 2013-03-16 07:01:16 -04:00
Remy Sharp
ea37a303e2 reverting change to SQL - only server change that could be causing cpu spike. ref #511 2013-03-13 09:03:03 +00:00
Remy Sharp
09b27214d8 increase amount of data sent back (and remove legacy codemirror). ref #511 2013-03-11 17:27:18 +00:00
Remy Sharp
c890fe8b56 fixed archives again - got killed via the query update 2013-02-19 22:29:46 +00:00
Remy Sharp
f8b19416e5 revive the good home query 2013-02-12 23:10:22 +00:00
Tom Ashworth
fbe6a22785 Use archive (not active) everywhere. 2013-01-14 15:14:09 +00:00
Tom Ashworth
653622b5f9 Bins are archiveable. 2013-01-14 15:05:20 +00:00
Tom Ashworth
4e60279529 Fix whitespace error. 2013-01-14 14:30:35 +00:00
Tom Ashworth
9bee7a91a1 UI for archive toggle. 2013-01-14 14:10:18 +00:00
Tom Ashworth
06cb5b9182 Fix SQLite errors & bring up to speed with MySQL driver, address #353. 2013-01-11 10:40:27 +00:00
Tom Ashworth
0cc499a7d3 add support to the owners table for panels with content, and unified the setBinOwner, setBinForUser, assignBin, et al 2013-01-09 16:50:33 +00:00
Tom Ashworth
d0d1bc4d94 Use created date from sandbox to fix missing timestamps. 2013-01-09 12:14:18 +00:00
Tom Ashworth
cd2dff7202 Chunk the owners table to populate it slowly. 2013-01-09 10:23:37 +00:00
Tom Ashworth
cffe592468 Merge branch 'master' of github.com:remy/jsbin 2013-01-08 15:10:26 +00:00
Tom Ashworth
908e083408 Use date in touchOwnership params to overwrite touch. 2013-01-08 15:09:54 +00:00
Tom Ashworth
4ae07c5a7a Use last_updated, not created, and sort the revisions within a group. 2013-01-08 14:36:14 +00:00
Tom Ashworth
20cc16186a Population tool. 2013-01-08 11:00:24 +00:00
Tom Ashworth
85d641966e If bin has no created date, set it to now. 2013-01-07 15:02:28 +00:00
Tom Ashworth
1e0e62f377 Restore missing backtick and put error handler before use of results. 2013-01-07 14:19:34 +00:00
Tom Ashworth
892b6427b1 Include created in getBinsByUser query. 2013-01-07 13:57:11 +00:00
Tom Ashworth
be3ffbb4fc Add summary when bin created, saved and updated. 2013-01-07 12:36:52 +00:00
Tom Ashworth
ef26dfd41d Update SQL with owners.summary 2013-01-07 12:01:08 +00:00
Remy Sharp
952bfb43c4 another attempt to fix the home page listing the actual code - fixed by sending less data from mysql to node by using substr...think it actually works! 2012-10-04 13:21:40 +01:00
Remy Sharp
fa322f6414 Filthy way of getting home listing working again.
This solution is obviously a hack, and doesn't provide the detected
content, but gets the history working again to browse. Something's
wrong with the innodb tables and causes the database to hang (looking
for help here!).

Ref #333
2012-09-12 00:13:00 +01:00
Remy Sharp
2d47d76472 Attempt to optimise the insane amount of time it takes to get the user home list. Currently 24s for 'rem'.
The old code would make one query for all the urls and revisions, then
loop and individual query each bin. If the user has 100+ bins, then it
gets slow and expensive because we can't group these queries together.

I've changed this so that the query simply joins the owners and sandbox
table, so instead of *just* getting the url and revision as previously,
we're now getting all the data in one request.  I've also removed the
sorting as this happens entirely in the code.

The query, live for my own homepage is 1.13 seconds. I'm hoping
therefore the sum change of this update will reduce the 24 seconds down
to 1-2 seconds.

One additional change I'd like would be to only make the request for
the `/list` page if the user really goes there, or perhaps hovers over
their home link - as a preemptive request - so we're not always making
the request for their home urls.
2012-09-01 08:34:56 +01:00
Jon Linklater-Johnson
cfa3aa3b6d Flag abuse was missing 5626d3942ad99acaa810e426557239ec8dc2495a - so I cherry-picked it back in and resolved the conflict 2012-08-25 19:36:20 +01:00
Remy Sharp
b9f1bfae2b Don't automatically take down bins 2012-08-25 11:49:34 +02:00
Jon Linklater-Johnson
2ac195c5bf Fix issue with SQLite store 2012-08-25 11:47:33 +02:00