Jump to content
freezy

Introducing Pind: A Pinball Daemon

Recommended Posts

Thanks for the feedback. The huge icons probably are due to the fact you're using IE. Try Chrome or Firefox. I will spend some time on IE fixes eventually, but not right away.

TBH I recently noticed that my Pind service wasn't working anymore either. Will have a look soon.

Any way you could give me your 2 XMLs for me to test? You can put them on pastebin or PM them, if you prefer, like this I can debug more easily.

Pind doesn't rename any files. If you download a new version of an already existing table, it should match it and update the name in the XML to match the new file name. However, for this you must have run the IPDB match before, because the matching relies on the IPDB number.

Backglass vids are coming, I've actually just discovered them a week ago. They already get fetched from VPF, just need to adapt the categories when searching for videos.

Cheers and welcome to the pron server club!

Share this post


Link to post
Share on other sites

Ok sounds good. I'll try a different browser. I've a done a bit of webpage design here and there so I know how much of a pain IE can be...I used to know way more CSS hacks for IE than I ever wanted to.

Are you talking about sending the XML files in the Hyperpin directory for FP and VP? If so I could do that but it would be several hours before I get home. Actually before I started PIND yesterday I made a backup of the XML and then deleted everything inside the MENU tag because I wanted to start it fresh. I only had a handful of tables so far so it wouldn't be a big deal.

Am I right that PIND is assuming the media files are all under the Hyperpin Media directory? To be honest my media is a mess because I haven't been able to decide if I wanted to use Hyperpin or PinballX. I like aspects of both programs but it seemed like Hyperpin will never be updated and I was having a few issues with the FPLaunch script so I started using PinballX. Initially PinballX is making copies of all my media files into where it likes to store it. I just noticed yesterday that I can modify the Hyperpin media folders to wherever I like but I can't remember if that's allowed in PinballX. So I thought I could just point Hyperpin over to the PinballX media folders and keep both programs working but PinballX keeps backglass images and videos seperate and Hyperpin only plays the backglass videos if they are in the images directory. It would be best if everyone writing front ends and tools would allow media files to be stored at any user selected location. I'm also creating a lot of my own videos and I'm sure I'm not following any correct naming convention. PinballX doesn't really care what you name a file because you associate the media through it's Game Manager. Hyperpin wants the media to match the table name.

Share this post


Link to post
Share on other sites

Yes, the XMLs that are HyperPin's database. No worries about the few hours, won't have much time to work on it today anyway.

I think I'll be spending some time with PinballX soon. I've had quick look at it once but haven't used it on my cab yet. Not familiar at all with the game manager, didn't even know that it existed. I actually thought that PinballX would take an identical file structure as HyperPin. Might have to add explicit support for PinballX then.

Share this post


Link to post
Share on other sites

After looking at it this afternoon I don't think anything is wrong with my Hyperpin XML files cause I just saw a similar thing happen to a table. My Cactus Canyon was named with Bally instead of Midway so some of the downloaded media wasn't matching up. So I manually changed the table name and updated the Hyperpin XML and now I've got two copies of Cactus Canyon showing up in pind but the Bally version has the pinball greyed out. I don't see any way to get it deleted from the database. In the same manner the blank table at the top and one additional table appear to be ghost entries stuck in the database. What is the proper way for me to fix a naming situation like I had and how to get it so that I only have one entry in the database. I keep having to use Hyperpin Manager to fix naming issues.

Share this post


Link to post
Share on other sites

I don't know what happened but now Hyperpin has nothing but a black screen after it plays the intro. I swear I spend more time trying to configure my machine than playing games.

Share this post


Link to post
Share on other sites
I don't know what happened but now Hyperpin has nothing but a black screen after it plays the intro. I swear I spend more time trying to configure my machine than playing games.

Yeh I had the same problem last night...there must be something wrong with the way its making changes to the xml file...was going to check when i get home tonight for a solution

Share this post


Link to post
Share on other sites

Yeah I had to leave the house for awhile. Just got back and reverted to an older XML and Hyperpin is working again. I should be able to isolate what Hyperpin doesn't like about the pind version of the XML.

Share this post


Link to post
Share on other sites

I found the problem in my XML. Not sure how it got this way but the first table was missing the year field:

<game name="250cc (Inder) (1992)">

<description>250cc (Inder) (1992)</description>

<manufacturer>Inder</manufacturer>

<type>SS</type>

<enabled>yes</enabled>

</game>

Adding "<year>1992</year>" before the type field fixed the XML and got Hyperpin working again.

I had backed up my XML before I started and it had that table listed like this:

<game name="250cc (Inder) (1992)">

<description>250cc (Inder) (1992)</description>

<manufacturer>

</manufacturer>

<year>

</year>

<type>SS</type>

</game>

As a test I just changed that table back to having the empty fields like above and then tried all the operations I had done...Resync with Hyperin...Match with ipdb.org...and then downloaded a table. It appears that if you select to add the table to Hyperpin that the XML is rewritten. I ended up with the year start and end tag being on different lines but it wasn't deleted like had happened before. I also notice my original XML uses spaces instead of tabs like pind. But I had also used Hyperpin Manager to modify a table name so there's a chance it also could have messed up the XML. Anyways I can't repeat the steps that caused the year to get deleted. So I guess its just something to look out for anyone who ends up with Hyperpin looking dead at startup.

Share this post


Link to post
Share on other sites

It's true that there's currently no easy way to delete an entry from the database, all you can do is enable/disable it in HyperPin. Will add this soon.

Thanks for noticing HyperPin not working when not all tags are being written, I'll fix that too. As for tabs vs. spaces, Pind rewrites the XML when you add a new table to it, there's no real way around that. Note that if the HP icon is grey, that means it's commented in the XML (or deleted, depending on your setting).

Share this post


Link to post
Share on other sites

Ok sounds good. It doesn't matter to me whether it's using tabs or spaces....I was just trying to figure out if that played a factor in the field disappearing on rewrite.

Here's something I noticed. When I first started I emptied out my VP XML. Then I used PIND to download the Attack From Mars Night Mod that was listed as a latest release. What happens is it downloads the table, the media pack, roms, etc. but what you end up with if you then resync with Hyperpin is two entries for the table. You get an entry with the non night mod version showing that it has all the media and roms but the table is missing. And you get a second entry with the night mod version showing you have the rom and the table but all the media is missing. So PIND went out and found the right media but it seemed like since the names in the media file weren't the same as the table it didn't associate them to the night mod. But I did already have some of the media already in the Hyperpin media directories so I'm not sure if that played a factor.

Share this post


Link to post
Share on other sites

Hi Freezy, I gave pind a try and I really like it! Thanks so much for taking the time to make it and share it with the community!

I did run into some issues. I needed to install jsdom on my cabinet (windows xp sp3), but that was easy to fix. But the server app kept crashing a lot. Eventually I figured out that the "jukebox" table I had added seemed to be the problem. I didn't use it anyway, but after removing it from my tables directory (the jukebox required an "empty" table named jukebox.vpt) everything worked fine again.

The app still crashes every now and then, and I haven't fully explored the app yet but I was able to select new tables and get them downloaded along with the various images, artwork and media packs. Awesome!

Thinking out loud for possible future feature ideas:

- Install the app and database on another machine than the pinball computer and have the pinball machine check what to do (download new tables, etc). When shutting down the machine resync with the database. That way it is easy to sit behind a computer to queue tasks without having the pinball machine on all the time.

- Updating tables? I don't think this is possible now, but if an update is made to a table I already have (Medieval Madness or AFM are my faves), it would be handy to get the question if the new table should be added or replace an existing table.

- Badges and Leaderboard export. Publish the leaderboards on the pind.ch site, or allow people to have them on their own site easily?

Anyway, just thinking out loud. I just love that this is available, thank you!

Share this post


Link to post
Share on other sites

Hey Jaron,

Thanks for the info. Any way you could upload the jukebox table (or point me to where it is) so I can have a look? In general when it crashes, it would be nice to know what made it crash, along with what the console displayed.

About your future ideas: When you run Pind on another machine, you basically would have to share the HyperPin and game folders of your cab. In that case, even when the shares are not available, should be able to do basic browsing (might need to add some additional error checking because the media would then be offline too).

For updating tables I should have all the data necessary, so it's just about doing the check after each VPF sync and add some reasonable UI that asks the user to upgrade.

I was thinking about a centralized leaderboard as well (as I know another dude who just build a cab), so I might get to that soon. However, Pind is hosted on GitHub so there isn't much of dynamic stuff I could do (there are other solutions of course).

Thanks in any case for the feedback!

Share this post


Link to post
Share on other sites

Hi freezy,

awsome piece of software your daemon. I just have one problem. It seems that vpforums banns my ip when I start to sync the media because of to many requests. How can I handle this problem?

Gruß aus dem Nachbarland....

Share this post


Link to post
Share on other sites

@ei8ht: I've had this problem only once. Try setting the number of concurrent downloads to 1 in your settings-mine.js.

@matty_g_8: There's logic that should detect a night mode and treat it separately from the non-night version of the same table.

Share this post


Link to post
Share on other sites

Did that...Works great now.

I used the xml file which was posted here in this thread with 880 tables. But after the Daemon downloaded 209 media packs it does nothing more. No videos...no missing wheels etc. What could be the problem with this?

How should the night mods be named to get detected by the daemon correctly?

My current naming is for example ist "Attack from Mars (Night Mod) (Bally 1995)" but its not working.

Share this post


Link to post
Share on other sites

Well, wheel images are not specifically searched for - they're supposed to be in the media pack. No single download support for them (yet).

Your title is fine, that should be matched (code here). When matched, it should display a small moon behind the title in the table listing. That not the case?

Share this post


Link to post
Share on other sites

For a view table it works...for other there is just the moon symbol but no title of the table...I will check the titles again...maybe it is my fault...

Share this post


Link to post
Share on other sites
Ok sounds good. It doesn't matter to me whether it's using tabs or spaces....I was just trying to figure out if that played a factor in the field disappearing on rewrite.

Here's something I noticed. When I first started I emptied out my VP XML. Then I used PIND to download the Attack From Mars Night Mod that was listed as a latest release. What happens is it downloads the table, the media pack, roms, etc. but what you end up with if you then resync with Hyperpin is two entries for the table. You get an entry with the non night mod version showing that it has all the media and roms but the table is missing. And you get a second entry with the night mod version showing you have the rom and the table but all the media is missing. So PIND went out and found the right media but it seemed like since the names in the media file weren't the same as the table it didn't associate them to the night mod. But I did already have some of the media already in the Hyperpin media directories so I'm not sure if that played a factor.

That should be fixed now. Basically the problem was that Pind would download the standard media pack for the nightmod and update the tables HP description in order to match the media, resulting in two entries. Now Pind only fetches the right "edition" (nightmod vs. non-nightmod).

Share this post


Link to post
Share on other sites

i think i have all properly installed but during last pass "node app" i receive this error, i have win 7 x64:

C:\Pindownload\node-pind>node app
info: [settings] Validating settings at C:\Pindownload\node-pind\config\settings
-mine.js
info: [settings] pind.port [OK]
info: [settings] pind.sessionTimeout [OK]
info: [settings] pind.downloaderRefreshRate [OK]
info: [settings] pind.startDownloadsAutomatically [OK]
info: [settings] pind.secret [OK]
info: [settings] pind.tmp [OK]
info: [settings] pind.unrar [OK]
info: [settings] pind.ignoreTableVids [OK]
info: [settings] pind.database.engine [OK]
info: [settings] pind.database.database [OK]
info: [settings] pind.database.host [OK]
info: [settings] pind.database.port [OK]
info: [settings] pind.database.user [OK]
info: [settings] pind.database.pass [OK]
info: [settings] pind.repository.user [OK]
info: [settings] pind.repository.repo [OK]
info: [settings] pind.updateToBleedingEdge [OK]
info: [settings] hyperpin.path [OK]
info: [settings] hyperpin.onItemDisabled [OK]
info: [settings] visualpinball.path [OK]
info: [settings] futurepinball.path [OK]
info: [settings] vpinmame.path [OK]
info: [settings] vpinmame.rotate [OK]
info: [settings] vpinmame.watchNvrams [OK]
info: [settings] vpforums.numConcurrentDownloads [OK]
info: [settings] ipdb.numConcurrentDownloads [OK]
info: [settings] Congrats, your settings-mine.js looks splendid!
info: [db] SQLite storage file at C:\Pindownload\node-pind\pind.db.
info: [hiscore] Watching .nv files at C:\Visual Pinball\pinmame\nvram for new hi
gh scores...
info: UPDATE transfers SET startedAt = NULL WHERE startedAt IS NOT NULL AND fail
edAt IS NULL AND completedAt IS NULL;
Starting SocketStream 0.3.10 in development mode...
info: CREATE TABLE IF NOT EXISTS `users` (`id` INTEGER PRIMARY KEY AUTOINCREMENT
, `user` VARCHAR(255) NOT NULL UNIQUE, `pass` VARCHAR(255) NOT NULL, `authtoken`
VARCHAR(255), `name` VARCHAR(255), `email` VARCHAR(255), `admin` TINYINT(1) DEF
AULT 0, `credits` INTEGER DEFAULT 0, `settings` TEXT, `createdAt` DATETIME NOT N
ULL, `updatedAt` DATETIME NOT NULL);
info: [autoupdate] Updated version.json at C:\Pindownload\node-pind\version.json

info: [init] Running Pind 0.0.6-pre (324937d1) from Sun Nov 03 2013 18:12:29 GMT
+0100 (ora solare Europa occidentale)
info: [transfer] Kicking off download queue.
info: SELECT * FROM `transfers` WHERE startedAt IS NULL ORDER BY sort ASC;
info: CREATE TABLE IF NOT EXISTS `tables` (`id` INTEGER PRIMARY KEY AUTOINCREMEN
T, `key` VARCHAR(255) NOT NULL UNIQUE, `name` VARCHAR(255), `manufacturer` VARCH
AR(255), `year` INTEGER, `type` VARCHAR(255), `edition` TEXT, `platform` VARCHAR
(255), `filename` VARCHAR(255), `hpid` VARCHAR(255), `hpenabled` TINYINT(1), `ro
m` VARCHAR(255), `ref_src` INTEGER, `ipdb_no` VARCHAR(255), `ipdb_mfg` VARCHAR(2
55), `ipdb_rank` INTEGER, `rating` FLOAT, `modelno` VARCHAR(255), `short` VARCHA
R(255), `units` INTEGER, `theme` VARCHAR(255), `designer` VARCHAR(255), `artist`
VARCHAR(255), `features` TEXT, `notes` TEXT, `toys` TEXT, `slogans` TEXT, `tabl
e_file` TINYINT(1), `rom_file` TINYINT(1), `dmd_rotation` INTEGER, `controller`
VARCHAR(255), `media_table` TINYINT(1), `media_backglass` TINYINT(1), `media_whe
el` TINYINT(1), `media_video` TINYINT(1), `enabled` TINYINT(1), `createdAt` DATE
TIME NOT NULL, `updatedAt` DATETIME NOT NULL);
info: CREATE TABLE IF NOT EXISTS `roms` (`id` INTEGER PRIMARY KEY AUTOINCREMENT,
`name` VARCHAR(255) NOT NULL UNIQUE, `mpu` VARCHAR(255), `extraBalls` INTEGER,
`gamesStarted` INTEGER, `gamesPlayed` INTEGER, `playTime` BIGINT, `runningTime`
BIGINT, `ballsPlayed` INTEGER, `scoreHistogram` TEXT, `playtimeHistogram` TEXT,
`createdAt` DATETIME NOT NULL, `updatedAt` DATETIME NOT NULL);
warn: [announce] Skipping event "statusUpdated", SocketStream unavailable.
info: [transfer] Queue is empty, returning.
info: CREATE TABLE IF NOT EXISTS `hiscores` (`id` INTEGER PRIMARY KEY AUTOINCREM
ENT, `type` TEXT, `score` BIGINT, `rank` INTEGER, `points` INTEGER, `title` VARC
HAR(255), `info` VARCHAR(255), `player` VARCHAR(255), `createdAt` DATETIME NOT N
ULL, `updatedAt` DATETIME NOT NULL, `userId` INTEGER, `tableId` INTEGER);
info: CREATE TABLE IF NOT EXISTS `transfers` (`id` INTEGER PRIMARY KEY AUTOINCRE
MENT, `title` VARCHAR(255), `filename` VARCHAR(255), `url` VARCHAR(255), `type`
TEXT, `engine` TEXT, `ref_src` INTEGER, `ref_parent` INTEGER, `postAction` TEXT,
`size` BIGINT, `startedAt` DATETIME, `completedAt` DATETIME, `failedAt` DATETIM
E, `result` TEXT, `sort` BIGINT, `createdAt` DATETIME NOT NULL, `updatedAt` DATE
TIME NOT NULL);
info: CREATE TABLE IF NOT EXISTS `vpf_files` (`id` INTEGER PRIMARY KEY AUTOINCRE
MENT, `ipdb_id` INTEGER, `category` INTEGER, `letter` VARCHAR(255), `title` VARC
HAR(255), `description` TEXT, `fileId` VARCHAR(255), `parent_fileId` VARCHAR(255
), `downloads` INTEGER, `views` INTEGER, `author` VARCHAR(255), `edition` TEXT,
`lastUpdatedAt` DATETIME, `createdAt` DATETIME NOT NULL, `updatedAt` DATETIME NO
T NULL);
info: CREATE TABLE IF NOT EXISTS `upgrades` (`id` INTEGER PRIMARY KEY AUTOINCREM
ENT, `fromSha` VARCHAR(255), `toSha` VARCHAR(255), `status` VARCHAR(255), `repo`
VARCHAR(255), `result` TEXT, `log` TEXT, `startedAt` DATETIME, `completedAt` DA
TETIME);
info: [db] Connected to SQLite.
info: ? rpc:1 auth.logout
error: =========================================================================
=======
error: TypeError: Cannot read property 'admin' of undefined
   at Function.logout (C:\Pindownload\node-pind\server\rpc\auth.js:149:24)
   at Array.main [as 1] (C:\Pindownload\node-pind\node_modules\socketstream\lib
\request\responders\rpc\request.js:90:21)
   at exec (C:\Pindownload\node-pind\node_modules\socketstream\lib\request\resp
onders\rpc\request.js:99:23)
   at C:\Pindownload\node-pind\node_modules\socketstream\lib\request\responders
\rpc\request.js:100:16
   at C:\Pindownload\node-pind\node_modules\socketstream\lib\request\middleware
\internal.js:32:22
   at C:\Pindownload\node-pind\node_modules\socketstream\lib\session\index.js:8
4:12
   at C:\Pindownload\node-pind\node_modules\socketstream\node_modules\connect\l
ib\middleware\session\store.js:64:5
   at C:\Pindownload\node-pind\node_modules\socketstream\node_modules\connect\l
ib\middleware\session\memory.js:52:9
   at process._tickCallback (node.js:415:13)
error: =========================================================================
=======
info: Bye bye, cruel world.

C:\Pindownload\node-pind>node app
info: [settings] Validating settings at C:\Pindownload\node-pind\config\settings
-mine.js
info: [settings] pind.port [OK]
info: [settings] pind.sessionTimeout [OK]
info: [settings] pind.downloaderRefreshRate [OK]
info: [settings] pind.startDownloadsAutomatically [OK]
info: [settings] pind.secret [OK]
info: [settings] pind.tmp [OK]
info: [settings] pind.unrar [OK]
info: [settings] pind.ignoreTableVids [OK]
info: [settings] pind.database.engine [OK]
info: [settings] pind.database.database [OK]
info: [settings] pind.database.host [OK]
info: [settings] pind.database.port [OK]
info: [settings] pind.database.user [OK]
info: [settings] pind.database.pass [OK]
info: [settings] pind.repository.user [OK]
info: [settings] pind.repository.repo [OK]
info: [settings] pind.updateToBleedingEdge [OK]
info: [settings] hyperpin.path [OK]
info: [settings] hyperpin.onItemDisabled [OK]
info: [settings] visualpinball.path [OK]
info: [settings] futurepinball.path [OK]
info: [settings] vpinmame.path [OK]
info: [settings] vpinmame.rotate [OK]
info: [settings] vpinmame.watchNvrams [OK]
info: [settings] vpforums.numConcurrentDownloads [OK]
info: [settings] ipdb.numConcurrentDownloads [OK]
info: [settings] Congrats, your settings-mine.js looks splendid!
info: [db] SQLite storage file at C:\Pindownload\node-pind\pind.db.
info: [hiscore] Watching .nv files at C:\Visual Pinball\pinmame\nvram for new hi
gh scores...
info: UPDATE transfers SET startedAt = NULL WHERE startedAt IS NOT NULL AND fail
edAt IS NULL AND completedAt IS NULL;
Starting SocketStream 0.3.10 in development mode...
info: CREATE TABLE IF NOT EXISTS `users` (`id` INTEGER PRIMARY KEY AUTOINCREMENT
, `user` VARCHAR(255) NOT NULL UNIQUE, `pass` VARCHAR(255) NOT NULL, `authtoken`
VARCHAR(255), `name` VARCHAR(255), `email` VARCHAR(255), `admin` TINYINT(1) DEF
AULT 0, `credits` INTEGER DEFAULT 0, `settings` TEXT, `createdAt` DATETIME NOT N
ULL, `updatedAt` DATETIME NOT NULL);
info: [autoupdate] Updated version.json at C:\Pindownload\node-pind\version.json

info: [init] Running Pind 0.0.6-pre (324937d1) from Sun Nov 03 2013 18:12:29 GMT
+0100 (ora solare Europa occidentale)
info: [transfer] Kicking off download queue.
info: SELECT * FROM `transfers` WHERE startedAt IS NULL ORDER BY sort ASC;
info: CREATE TABLE IF NOT EXISTS `tables` (`id` INTEGER PRIMARY KEY AUTOINCREMEN
T, `key` VARCHAR(255) NOT NULL UNIQUE, `name` VARCHAR(255), `manufacturer` VARCH
AR(255), `year` INTEGER, `type` VARCHAR(255), `edition` TEXT, `platform` VARCHAR
(255), `filename` VARCHAR(255), `hpid` VARCHAR(255), `hpenabled` TINYINT(1), `ro
m` VARCHAR(255), `ref_src` INTEGER, `ipdb_no` VARCHAR(255), `ipdb_mfg` VARCHAR(2
55), `ipdb_rank` INTEGER, `rating` FLOAT, `modelno` VARCHAR(255), `short` VARCHA
R(255), `units` INTEGER, `theme` VARCHAR(255), `designer` VARCHAR(255), `artist`
VARCHAR(255), `features` TEXT, `notes` TEXT, `toys` TEXT, `slogans` TEXT, `tabl
e_file` TINYINT(1), `rom_file` TINYINT(1), `dmd_rotation` INTEGER, `controller`
VARCHAR(255), `media_table` TINYINT(1), `media_backglass` TINYINT(1), `media_whe
el` TINYINT(1), `media_video` TINYINT(1), `enabled` TINYINT(1), `createdAt` DATE
TIME NOT NULL, `updatedAt` DATETIME NOT NULL);
info: CREATE TABLE IF NOT EXISTS `roms` (`id` INTEGER PRIMARY KEY AUTOINCREMENT,
`name` VARCHAR(255) NOT NULL UNIQUE, `mpu` VARCHAR(255), `extraBalls` INTEGER,
`gamesStarted` INTEGER, `gamesPlayed` INTEGER, `playTime` BIGINT, `runningTime`
BIGINT, `ballsPlayed` INTEGER, `scoreHistogram` TEXT, `playtimeHistogram` TEXT,
`createdAt` DATETIME NOT NULL, `updatedAt` DATETIME NOT NULL);
warn: [announce] Skipping event "statusUpdated", SocketStream unavailable.
info: [transfer] Queue is empty, returning.
info: CREATE TABLE IF NOT EXISTS `hiscores` (`id` INTEGER PRIMARY KEY AUTOINCREM
ENT, `type` TEXT, `score` BIGINT, `rank` INTEGER, `points` INTEGER, `title` VARC
HAR(255), `info` VARCHAR(255), `player` VARCHAR(255), `createdAt` DATETIME NOT N
ULL, `updatedAt` DATETIME NOT NULL, `userId` INTEGER, `tableId` INTEGER);
info: CREATE TABLE IF NOT EXISTS `transfers` (`id` INTEGER PRIMARY KEY AUTOINCRE
MENT, `title` VARCHAR(255), `filename` VARCHAR(255), `url` VARCHAR(255), `type`
TEXT, `engine` TEXT, `ref_src` INTEGER, `ref_parent` INTEGER, `postAction` TEXT,
`size` BIGINT, `startedAt` DATETIME, `completedAt` DATETIME, `failedAt` DATETIM
E, `result` TEXT, `sort` BIGINT, `createdAt` DATETIME NOT NULL, `updatedAt` DATE
TIME NOT NULL);
info: CREATE TABLE IF NOT EXISTS `vpf_files` (`id` INTEGER PRIMARY KEY AUTOINCRE
MENT, `ipdb_id` INTEGER, `category` INTEGER, `letter` VARCHAR(255), `title` VARC
HAR(255), `description` TEXT, `fileId` VARCHAR(255), `parent_fileId` VARCHAR(255
), `downloads` INTEGER, `views` INTEGER, `author` VARCHAR(255), `edition` TEXT,
`lastUpdatedAt` DATETIME, `createdAt` DATETIME NOT NULL, `updatedAt` DATETIME NO
T NULL);
info: CREATE TABLE IF NOT EXISTS `upgrades` (`id` INTEGER PRIMARY KEY AUTOINCREM
ENT, `fromSha` VARCHAR(255), `toSha` VARCHAR(255), `status` VARCHAR(255), `repo`
VARCHAR(255), `result` TEXT, `log` TEXT, `startedAt` DATETIME, `completedAt` DA
TETIME);
info: [db] Connected to SQLite.
info: ? rpc:2 auth.logout
error: =========================================================================
=======
error: TypeError: Cannot read property 'admin' of undefined
   at Function.logout (C:\Pindownload\node-pind\server\rpc\auth.js:149:24)
   at Array.main [as 1] (C:\Pindownload\node-pind\node_modules\socketstream\lib
\request\responders\rpc\request.js:90:21)
   at exec (C:\Pindownload\node-pind\node_modules\socketstream\lib\request\resp
onders\rpc\request.js:99:23)
   at C:\Pindownload\node-pind\node_modules\socketstream\lib\request\responders
\rpc\request.js:100:16
   at C:\Pindownload\node-pind\node_modules\socketstream\lib\request\middleware
\internal.js:32:22
   at C:\Pindownload\node-pind\node_modules\socketstream\lib\session\index.js:8
4:12
   at C:\Pindownload\node-pind\node_modules\socketstream\node_modules\connect\l
ib\middleware\session\store.js:64:5
   at C:\Pindownload\node-pind\node_modules\socketstream\node_modules\connect\l
ib\middleware\session\memory.js:52:9
   at process._tickCallback (node.js:415:13)
error: =========================================================================
=======
info: Bye bye, cruel world.

Share this post


Link to post
Share on other sites

Weird, it looks like there's a client logging out just after starting the daemon. I've fixed the NPE, can you "git pull" and try again?

Share this post


Link to post
Share on other sites
Weird, it looks like there's a client logging out just after starting the daemon. I've fixed the NPE, can you "git pull" and try again?

Thanks, i have tried to make inside node-pind folder a git pull command and i have updated the code than i have tried node create chema and all ok and after node app but it remain stuck on Connect to sqlite no error but stuck on it

From chrome localhost i receive a logon page but no tabel at all.

Share this post


Link to post
Share on other sites

Well then it seems to work? What does the log say? You need to scan for tables first by clicking on the settings panel on the upper right and go through the options (see first post).

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...