Skip to content
Snippets Groups Projects
  1. Jan 12, 2024
  2. Jan 08, 2024
  3. Nov 22, 2023
  4. Jun 27, 2023
  5. May 18, 2023
    • Shazib Hussain's avatar
      Fix electron app (#1003) · 461132b9
      Shazib Hussain authored
      
      Updates to the latest version of electron and moves the backend-frontend
      communication from node-ipc to websockets. This resolves the previous
      roadblock regarding `nodeIntegration` .
      
      Done
      
      - Remove node-ipc in favour of websockets. 
      - Move file copying out of `preload.js` to avoid importing module `fs`
      there
      - Bump all electron pacakge versions to the latest
      - Added new package for finding open ports as node-ipc is gone
      - Tweaked webpack config for above changes
      
      
      Partially fixes #468
      
      Questions/ Pending:
      - Literally every single test fails for me, presumably some issue with
      my setup/environment.
      - The websocket communication is not using TLS. I'm not sure how to
      enable this, or if we even need to as its all local.
      - Still need to create the CI for building/deploying but I'm not sure
      where start in this regard as i have no exp with it. Presumably we will
      need to point the electron auto-updater to the github releases url's. If
      people are happy with this PR I will look at adding the CI before its
      merged.
      - In dev mode only, I have disabled TLS security becuase my docker
      container's cert is not signed. I _assume_ this will be true for other
      people who spin up the server on thier own hardware. Perhaps I just need
      to change my cert to one from letsencrypt or something...
      
      Notes.
      I have not touched javascript in eons so my apologies if the commit
      trail is a bit fragmented. I tried to keep them fairly contained and
      then there is a slightly gnarly final commit fixing all the linter
      issues... Please let me know if you want me to squash some commits etc.
      
      I initially tried to move this to web workers the same way the web app
      does it but this was unsuccessful. I have found no way to spin up a
      worker in one place (frontend/backend) and then pass this worker to the
      other. The electron ipc channels don't allow you to directly pass
      objects such as workers, everything is cloned/serialised. Passing a port
      number so the other end can spin up its own socket works fine.
      
      ---------
      
      Co-authored-by: default avatarShazib Hussain <contact@shazib.com>
      Co-authored-by: default avatarJed Fox <git@jedfox.com>
      Unverified
      461132b9
  6. Mar 28, 2023
  7. Mar 16, 2023
  8. Feb 12, 2023
    • Jed Fox's avatar
      Updates to the template/goal feature (#588) · a8656162
      Jed Fox authored
      * Dedupe loot-core webpack configs
      
      * Swap to parsing using Peggy
      
      * Actually record syntax errors
      
      * Refactor template types
      
      * Add notifications after applying the templates
      
      * “Successfully”
      
      * Try a Nearley grammar
      
      * Revert "Try a Nearley grammar"
      
      This reverts commit 1e11c07b855a492b905f1291c3eadd93f78ac3de.
      
      Not going with this approach since the error messages are inscrutable.
      
      * switch to PEG.js which has slightly better tooling support
      
      * fix parser
      
      * Fix error reporting
      
      * Adjust grammar for better error messages
      
      Also allow spaces between currency symbol and number
      
      * Fix grammar
      
      * Make #template prefix case insensitive
      
      * Trailing commas
      
      * Remove patch-package from loot-core
      Unverified
      a8656162
  9. Apr 29, 2022
Loading