[GH-ISSUE #206] Getting feature not supported error when attempting to run in Electron app #97

Closed
opened 2026-05-23 08:30:27 -06:00 by gitea-mirror · 5 comments
Owner

Originally created by @csuwildcat on GitHub (Feb 16, 2023).
Original GitHub issue: https://github.com/appy-one/acebase/issues/206

I can only get Acebase to run in Electron if I use the AceBase.WithIndexedDB storage option, even though Electron has full Node.js access to the file system. Is there perhaps some feature detection code that is viewing Electron only as a browser, because it contains access to both IDB and the file system?

Originally created by @csuwildcat on GitHub (Feb 16, 2023). Original GitHub issue: https://github.com/appy-one/acebase/issues/206 I can only get Acebase to run in Electron if I use the `AceBase.WithIndexedDB` storage option, even though Electron has full Node.js access to the file system. Is there perhaps some feature detection code that is viewing Electron only as a browser, because it contains access to both IDB and the file system?
Author
Owner

@appy-one commented on GitHub (Feb 16, 2023):

Sounds like you are using AceBase on the UI (BrowserWindow) thread instead of in the main (Node.js) process. Move the AceBase code into your main process (or preload.js) to store data to your local file system.

<!-- gh-comment-id:1433612055 --> @appy-one commented on GitHub (Feb 16, 2023): Sounds like you are using AceBase on the UI (`BrowserWindow`) thread instead of in the main (Node.js) process. Move the AceBase code into your main process (or preload.js) to store data to your local file system.
Author
Owner

@csuwildcat commented on GitHub (Feb 16, 2023):

@appy-one yeah, got it going in that env, but it led to a follow-up question: do you know of any existing uses of AceBase in Electron that show the best way to leverage the storage residing in the main Node process from the render process? I suppose IPC messaging?

<!-- gh-comment-id:1433801140 --> @csuwildcat commented on GitHub (Feb 16, 2023): @appy-one yeah, got it going in that env, but it led to a follow-up question: do you know of any existing uses of AceBase in Electron that show the best way to leverage the storage residing in the main Node process from the render process? I suppose IPC messaging?
Author
Owner

@appy-one commented on GitHub (Feb 18, 2023):

I don't have any experience with this myself, but I reckon Electron's IPC is indeed the easiest way to pass data back and forth

<!-- gh-comment-id:1435514552 --> @appy-one commented on GitHub (Feb 18, 2023): I don't have any experience with this myself, but I reckon Electron's IPC is indeed the easiest way to pass data back and forth
Author
Owner

@appy-one commented on GitHub (Feb 18, 2023):

Maybe even better, this is what I would do: start a local acebase-server instance in your main process and use an acebase-client in your UI thread to connect to it!

<!-- gh-comment-id:1435515045 --> @appy-one commented on GitHub (Feb 18, 2023): Maybe even better, this is what I would do: start a local acebase-server instance in your main process and use an acebase-client in your UI thread to connect to it!
Author
Owner

@csuwildcat commented on GitHub (Feb 18, 2023):

Thank you for the suggestion, I think the server route is likely to be the easiest, so I'll try that!

<!-- gh-comment-id:1435650075 --> @csuwildcat commented on GitHub (Feb 18, 2023): Thank you for the suggestion, I think the server route is likely to be the easiest, so I'll try that!
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github-starred/acebase#97
No description provided.