Native electron client

NodeBB Development
  • I'm currently using Electron to build a desktop client for an Express app which just transforms API JSON responses into views.

    Now I was thinking it would be great to have a boilerplate, customizable NodeBB client built with Electron. It could be customized to fit the board style, use real OS notifications, open chats in real modal windows, integrate better file browsing and upload and so on. I bet gaming board developers would also be pleased to have native Steam integration etc.

    Would anyone be interested in building such a client together?

  • I have zero dev experience beyond Python, so I won't help at all, but I think this would be cool. Even better if it can be ported to Android / iPhone.

  • @teh_g sadly, this won't be possible with Electron, since it requires V8, Chromium and Node.JS to run, all of which are not available on neither iOS nor Android.
    You could maybe use Cordova for this, but it would require a C# developer, store licenses etc... not forget a great amount of time and effort.

    Electron, on the other hand, makes developing Desktop applications with JS easy and really quick... So it would be quite easy to craft a NodeBB client. I imagine board admins could run an installer like npm install nodebb-electron-client-setup, then do npm setup and have the client available for download at http://example.tld/client/:os for their users.


Suggested Topics


  • 0 Votes
    7 Posts
    1k Views

    I am able to solve this issue. I needed to add checks in map.tpl instead of relying upon pure client-side JS solution.

  • 0 Votes
    17 Posts
    1k Views

    oh.. Right

  • 0 Votes
    7 Posts
    3k Views

    @PitaJ thanks for your suggest. I resolve with this ( 🙂 )
    https://github.com/umdjs/umd/blob/master/templates/commonjsStrict.js

  • 0 Votes
    4 Posts
    2k Views

    Anyone knows if theres the possibility of registering an user link in the dropdown, that will be public only? Like the case for example of the "chat link", but registered vía filter:user.profileLinks hook.

    Since in that hook theres no user info, i cannot check if the user visualizing the page is the users itself that is visualizing his/her profile or if the user its logged in, to restrict the link registration.

    I want to implement the functionality of "ignore users" showing a link that can be used to ignore, unignore from the user profile. But it has no sense to show the link "ignore/unignore user" if it is the user itself or the user visiting the profile is not logged in.

    I know it can be easilly achived by adding one more attribute to the link object and modifying the menu.tpl with minor changes to reflect this behaviour (checking the new field), and without altering the existing behaviour of the theme. If the answer to the previous question is "no", what is needed to get a pull request including this behaviour accepted? Modification in all stable themes? (persona,lavender,vanilla?).
    Or would it be more suitable a request of a new action hook for action:user:viewProfile for example? To be able to make business logic checks with the data, and altering the content sent to the page for example?

    PS: Is there any way of contributing to document the list of hooks with a short explanation of each one? For example when they're fired and wich information do they send? I think it would be a good improvement for the documentation in order to make it easy to the plugin dev to without the need to dive into the core and check each hook one by one looking for one satisfying their needs. I wouldn't mind to throw 2/3 lines explaining the hooks I found useful that i'm seeing on my little plugin experiments from a noob perspective. Ping @administrators

    Thanks again and sorry for modifying the thread question.

  • 0 Votes
    3 Posts
    1k Views

    Thanks for your reply @julian