Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Electron input handling #3381

Merged
merged 6 commits into from
May 20, 2024
Merged

Electron input handling #3381

merged 6 commits into from
May 20, 2024

Commits on May 20, 2024

  1. gitmodules: Bump cl-electron.

    aadcg committed May 20, 2024
    Configuration menu
    Copy the full SHA
    e60613d View commit details
    Browse the repository at this point in the history
  2. input: Do not block on input dispatch.

    Otherwise, it wouldn't be possible to execute JavaScript when handling input
    from the renderer (Electron port).
    
    In more detail:
    
    - JavaScript waits for a synchronous response from Nyxt as to whether it should
    prevent an event from bubbling, or consume it. In other words, JavaScript needs
    to know whether it needs to run event.preventDefault().
    
    - In our input handling on the Lisp side, if we try to execute some JavaScript
    before we return t/nil we'll send a request to a blocked JavaScript program (the
    one waiting for synchronous input), asking it to do something.
    
    - Our Lisp program will not continue until the JavaScript we tried to execute
    runs.
    
    - Our Lisp program will be unable to return t/nil.
    
    - We have deadlocked our program.
    jmercouris authored and aadcg committed May 20, 2024
    Configuration menu
    Copy the full SHA
    39ddbb5 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    742e9a9 View commit details
    Browse the repository at this point in the history
  4. build-scripts/nyxt.scm: Remove electron dependency.

    cl-electron must be located in a path where ASDF sees it.  Note that the all
    non-lisp dependencies are now handled by Node.js.
    
    Reverts commit a39942d.
    aadcg committed May 20, 2024
    Configuration menu
    Copy the full SHA
    4f32655 View commit details
    Browse the repository at this point in the history
  5. build-scripts/shell.nix: Unify and refactor.

    Handles both the WebKitGTK and Electron ports.
    aadcg committed May 20, 2024
    Configuration menu
    Copy the full SHA
    3abca58 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    b3ff6da View commit details
    Browse the repository at this point in the history