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

Add clj-kondo config for e/for-by #69

Closed
This pull request is big! We’re only showing the most recent 250 commits.

Commits on May 18, 2023

  1. Configuration menu
    Copy the full SHA
    fa5218a View commit details
    Browse the repository at this point in the history
  2. electric-dom: remove dom/Event (breaking; however external callers is…

    … unlikely due to low-level api)
    dustingetz committed May 18, 2023
    Configuration menu
    Copy the full SHA
    a65ed41 View commit details
    Browse the repository at this point in the history

Commits on May 22, 2023

  1. Configuration menu
    Copy the full SHA
    4e16194 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9dbbf57 View commit details
    Browse the repository at this point in the history
  3. Docstrings

    ggeoffrey committed May 22, 2023
    Configuration menu
    Copy the full SHA
    3c2729c View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    b546526 View commit details
    Browse the repository at this point in the history

Commits on May 23, 2023

  1. Configuration menu
    Copy the full SHA
    6b51947 View commit details
    Browse the repository at this point in the history
  2. add datomic peer dependency for demos

    datomic-m setup is broken with this addition, commented out from
    startup, fix once needed
    xificurC committed May 23, 2023
    Configuration menu
    Copy the full SHA
    feef06f View commit details
    Browse the repository at this point in the history
  3. 2 Configuration menu
    Copy the full SHA
    15fb021 View commit details
    Browse the repository at this point in the history

Commits on Jun 2, 2023

  1. electric - comment

    dustingetz committed Jun 2, 2023
    Configuration menu
    Copy the full SHA
    63045aa View commit details
    Browse the repository at this point in the history

Commits on Jun 5, 2023

  1. port todomvc to Datomic

    xificurC committed Jun 5, 2023
    Configuration menu
    Copy the full SHA
    4e750a4 View commit details
    Browse the repository at this point in the history
  2. add todomvc branched demo (with staging area)

    Local edits are stored as if on a branch. Clicking commit merges changes
    back into the global transactor. Clicking discard throws the local
    changes away.
    xificurC committed Jun 5, 2023
    Configuration menu
    Copy the full SHA
    db00a48 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    83ff272 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    f2f6f9b View commit details
    Browse the repository at this point in the history
  5. comment

    dustingetz committed Jun 5, 2023
    Configuration menu
    Copy the full SHA
    fec7fa3 View commit details
    Browse the repository at this point in the history

Commits on Jun 6, 2023

  1. Configuration menu
    Copy the full SHA
    defd452 View commit details
    Browse the repository at this point in the history

Commits on Jun 7, 2023

  1. fix todomvc-composed regression by editing input in 1 editor only

    With multiple editors double-clicking on 1 todo item would open the item
    for editing in all editors. This fix opens the item for editing only in
    the 1 editor we clicked it.
    
    The multi-editor setup was broken anyway because
    - focus could end up in the wrong editor
    - edits weren't propagating to other editors
    xificurC committed Jun 7, 2023
    Configuration menu
    Copy the full SHA
    fef8b66 View commit details
    Browse the repository at this point in the history

Commits on Jun 9, 2023

  1. move ui4/button colors out into ui4/button-colored

    We expect to have users of ui4/button and don't want to force inline
    styles on them.
    xificurC committed Jun 9, 2023
    Configuration menu
    Copy the full SHA
    eec2f3d View commit details
    Browse the repository at this point in the history
  2. add changelog

    xificurC committed Jun 9, 2023
    Configuration menu
    Copy the full SHA
    ff9b382 View commit details
    Browse the repository at this point in the history
  3. comment

    dustingetz authored and xificurC committed Jun 9, 2023
    Configuration menu
    Copy the full SHA
    295a4b3 View commit details
    Browse the repository at this point in the history

Commits on Jun 12, 2023

  1. fix uberjar build

    Our new Datomic demos reading off the tx queue create a singleton reader
    of the queue since multiple readers steal values off the queue (it is
    not pub/sub). This singleton is a separate thread and we need to make
    sure it doesn't block the JVM from shutting down (i.e. make them
    daemon).
    
    The TodoMVC demos now use daemon threads. The advanced todolist demos
    are removed from the requires since
    
    - they need updating to use the daemon thread pattern
    - are not linked to anyway since they are in early prototype stage
    xificurC committed Jun 12, 2023
    Configuration menu
    Copy the full SHA
    b28b421 View commit details
    Browse the repository at this point in the history

Commits on Jun 13, 2023

  1. introduce e/offload-latest to solve pending-over-rendering and cycles…

    … in callbacks
    
    instead of (e/offload #(db-query a b c))
    now write  (e/offload-latest db-query a b c)
    
    differences:
    - takes *electric* varargs instead of clojure thunk
    - doesn't return intermediate Pendings. This fixes over-rendering and
      cycles in callbacks because work-skipping will correctly kick in.
    
    Might not be the final solution to this problem space, but a fine
    solution for now as it fixes all user concerns and doesn't need
    e/snapshot.
    xificurC committed Jun 13, 2023
    Configuration menu
    Copy the full SHA
    7efab97 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    54c61bd View commit details
    Browse the repository at this point in the history

Commits on Jun 14, 2023

  1. scratch

    document weird behavior in client/server transfer where we seem to see
    an old value. Not in all cases though, 3 out of 4 patterns.
    xificurC committed Jun 14, 2023
    Configuration menu
    Copy the full SHA
    5d2ceeb View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    585dd24 View commit details
    Browse the repository at this point in the history

Commits on Jun 19, 2023

  1. Fix dom2/parse-class failing to flatten classes - add tests

    ```
    ;; Was ok:
    (parse-class "a b") := ["a" "b"]
    (parse-class ["a" "b"]) := ["a" "b"]
    
    ;; Was failing - now fixed
    (parse-class ["a b" "c"]) := ["a b" "c"] ; "a b" is not a valid dom class (contains a space)
    ```
    ggeoffrey authored and xificurC committed Jun 19, 2023
    Configuration menu
    Copy the full SHA
    ef04365 View commit details
    Browse the repository at this point in the history
  2. Fix dom2/props improperly setting some DOM attributes

    For cross browser compat, some DOM attributes should always be set using
    `setAttribute`, not by their corresponding property¹. E.g.
    
    ```javascript
    node.setAttribute("colspan", 2); // no browser quirks
    node.colSpan = 2;                // potential browser quirks
    ```
    
    The Google Closure Library lists these attributes in `goog.dom.DIRECT_ATTRIBUTE_MAP_`².
    We respect this requirement and implemented a similar logic to the one in
    `goog.dom`, which given a `colspan` property will call
    `setAttribute("colSpan")`. We later introduced a bug when we added SVG support
    which requires the newer `setAttributeNS` method. `setAttributeNS`
    differentiates between `colspan` vs `colSpan`, where the older `setAttribute`
    doesn't. Thus, not setting the right attribute.
    
    ¹: https://github.com/google/closure-library/blob/c31b49fecdbea74df02049358460deda64bff244/closure/goog/dom/dom.js#L519
    ²:
    
    ```javascript
    /**
     * Map of attributes that should be set using
     * element.setAttribute(key, val) instead of element[key] = val.  Used
     * by goog.dom.setProperties.
     *
     * @Private {!Object<string, string>}
     * @const
     */
    goog.dom.DIRECT_ATTRIBUTE_MAP_ = {
      'cellpadding': 'cellPadding',
      'cellspacing': 'cellSpacing',
      'colspan': 'colSpan',
      'frameborder': 'frameBorder',
      'height': 'height',
      'maxlength': 'maxLength',
      'nonce': 'nonce',
      'role': 'role',
      'rowspan': 'rowSpan',
      'type': 'type',
      'usemap': 'useMap',
      'valign': 'vAlign',
      'width': 'width'
    };
    ```
    ggeoffrey authored and xificurC committed Jun 19, 2023
    Configuration menu
    Copy the full SHA
    f2ea63b View commit details
    Browse the repository at this point in the history
  3. fix: dom2/parse-class

    - allows keywords and symbols
    - returns only unique values
    - allows `nil` punning
    - fails fast on other values
    xificurC committed Jun 19, 2023
    Configuration menu
    Copy the full SHA
    4428eac View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    e999671 View commit details
    Browse the repository at this point in the history
  5. add changelog

    xificurC committed Jun 19, 2023
    Configuration menu
    Copy the full SHA
    cab3259 View commit details
    Browse the repository at this point in the history

Commits on Jun 21, 2023

  1. Configuration menu
    Copy the full SHA
    57f4a3d View commit details
    Browse the repository at this point in the history

Commits on Jun 22, 2023

  1. Configuration menu
    Copy the full SHA
    61a42a5 View commit details
    Browse the repository at this point in the history
  2. 3 Configuration menu
    Copy the full SHA
    01d7c97 View commit details
    Browse the repository at this point in the history
  3. fix warnings when calling goog modules in electric

    Add tests that blow up CI in case of regression
    xificurC committed Jun 22, 2023
    Configuration menu
    Copy the full SHA
    f657236 View commit details
    Browse the repository at this point in the history

Commits on Jun 23, 2023

  1. Configuration menu
    Copy the full SHA
    17e49cd View commit details
    Browse the repository at this point in the history

Commits on Jun 27, 2023

  1. fix js/alert-like calls relying on js this=Window

    By the time they ran they were running in a different context where
    `this` wasn't the Window object. As a fix we compile the call as
    interop, where the precondition holds.
    xificurC committed Jun 27, 2023
    Configuration menu
    Copy the full SHA
    6835905 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b14a572 View commit details
    Browse the repository at this point in the history

Commits on Jun 28, 2023

  1. Configuration menu
    Copy the full SHA
    97dea86 View commit details
    Browse the repository at this point in the history
  2. Implement WS heartbeat at the message level for HTTPKit compat.

    Server used to send PING frames to client, which is more correct.
    We want Jetty and HTTPKit compat. Jetty supports PING/PONG, not HTTPKit.
    
    Server is now passive, and keeps the connection alive for some times after the
    last received message. Client periodically sends the message "HEARTBEAT". Server
    detects "HEARTBEAT" and discard it.
    ggeoffrey committed Jun 28, 2023
    Configuration menu
    Copy the full SHA
    6008d18 View commit details
    Browse the repository at this point in the history

Commits on Jun 29, 2023

  1. Configuration menu
    Copy the full SHA
    4c1eb9d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1f683ad View commit details
    Browse the repository at this point in the history

Commits on Jul 3, 2023

  1. Fix dom2/parse-class

    Previously threw exception for empty string or string with leading or
    trailing spaces.
    noonian authored and xificurC committed Jul 3, 2023
    Configuration menu
    Copy the full SHA
    32a6181 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    201838e View commit details
    Browse the repository at this point in the history

Commits on Jul 6, 2023

  1. Datomic peer dep is for demos only

    Moved to :dev alias :extra-deps
    ggeoffrey committed Jul 6, 2023
    Configuration menu
    Copy the full SHA
    1d048c1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2057e3a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    17d03d7 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    196ebe9 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    b403d6c View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    215b9e4 View commit details
    Browse the repository at this point in the history
  7. remove duplicate require

    xificurC committed Jul 6, 2023
    Configuration menu
    Copy the full SHA
    e239aaf View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    9833e05 View commit details
    Browse the repository at this point in the history

Commits on Jul 7, 2023

  1. Configuration menu
    Copy the full SHA
    3240013 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8ed95e8 View commit details
    Browse the repository at this point in the history

Commits on Jul 12, 2023

  1. Uncaugh server side error sent to default logger

    Used to be printed with println. We want uncaugh errors (bubbling to the reactor
    root) to go to the default logger.
    ggeoffrey committed Jul 12, 2023
    Configuration menu
    Copy the full SHA
    fe402e4 View commit details
    Browse the repository at this point in the history

Commits on Jul 24, 2023

  1. Configuration menu
    Copy the full SHA
    fdacafe View commit details
    Browse the repository at this point in the history

Commits on Jul 26, 2023

  1. Configuration menu
    Copy the full SHA
    76e5840 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    738b8c9 View commit details
    Browse the repository at this point in the history

Commits on Jul 27, 2023

  1. Configuration menu
    Copy the full SHA
    9456157 View commit details
    Browse the repository at this point in the history
  2. Fix unsafe "popstate" monitoring in our HTML5 history impl

    We don’t want foreign code to break our history impl by messing with HTML5
    browser history state.
    ggeoffrey committed Jul 27, 2023
    Configuration menu
    Copy the full SHA
    2145a2f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e205ed1 View commit details
    Browse the repository at this point in the history
  4. Add history OnNavigate to intercept internal link navigation

    Default action is to navigate with the router in scope. When integrating in an
    existing app with an existing router (e.g. fulcro app), we want to redirect
    navigation to the existing router.
    ggeoffrey committed Jul 27, 2023
    Configuration menu
    Copy the full SHA
    5b92f83 View commit details
    Browse the repository at this point in the history

Commits on Jul 28, 2023

  1. Clients kicked out by server on heartbeat timeout will try to reconnect

    Clients were not reconnecting on server heartbeat timeout. Users would see a
    blank page after waking up their computer from sleep or after switching to an
    old browser tab.
    
    On timeout, the server now closes the connection with code 1013 "Try again
    later". Client will try again.
    ggeoffrey committed Jul 28, 2023
    2 Configuration menu
    Copy the full SHA
    0e53fae View commit details
    Browse the repository at this point in the history

Commits on Jul 31, 2023

  1. Configuration menu
    Copy the full SHA
    47b4f3d View commit details
    Browse the repository at this point in the history

Commits on Aug 1, 2023

  1. Print ex-data on reactor crash

    REPL usu. print ex-data, but not prod log systems.
    Putting ex-data at the end of the log message ensures it will be visible.
    ggeoffrey committed Aug 1, 2023
    Configuration menu
    Copy the full SHA
    66d5baa View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f74a488 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    447d9a6 View commit details
    Browse the repository at this point in the history

Commits on Aug 4, 2023

  1. Configuration menu
    Copy the full SHA
    4cce0b7 View commit details
    Browse the repository at this point in the history

Commits on Aug 5, 2023

  1. Add :style/indent meta to macros with body parameters.

    This metadata is used by CIDER, clojure-lsp, and possibly other editors to
    support proper indentation of macros.
    ReilySiegel authored and dustingetz committed Aug 5, 2023
    Configuration menu
    Copy the full SHA
    e6faa1e View commit details
    Browse the repository at this point in the history
  2. history: fix ^js warnings

    dustingetz committed Aug 5, 2023
    Configuration menu
    Copy the full SHA
    a4e8062 View commit details
    Browse the repository at this point in the history
  3. datomic test fixtures restored, consolidate and export under contrib …

    …ns for libraries. todo lift all datomic demos/contrib into electric-fiddle
    dustingetz committed Aug 5, 2023
    Configuration menu
    Copy the full SHA
    d32267e View commit details
    Browse the repository at this point in the history
  4. test fixtures: teeshirt-orders demo was already lifted to hfql, the c…

    …ontent matches, delete dead code
    dustingetz committed Aug 5, 2023
    Configuration menu
    Copy the full SHA
    093b274 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    ea42bae View commit details
    Browse the repository at this point in the history
  6. clj-kondo - electric

    dustingetz committed Aug 5, 2023
    Configuration menu
    Copy the full SHA
    00ef39b View commit details
    Browse the repository at this point in the history

Commits on Aug 6, 2023

  1. Configuration menu
    Copy the full SHA
    89c858e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2dc4f9a View commit details
    Browse the repository at this point in the history

Commits on Aug 10, 2023

  1. Configuration menu
    Copy the full SHA
    6104ea6 View commit details
    Browse the repository at this point in the history

Commits on Aug 14, 2023

  1. add e/fn self-recur by name

    xificurC committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    173d3b0 View commit details
    Browse the repository at this point in the history
  2. fix test

    xificurC committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    9fbd626 View commit details
    Browse the repository at this point in the history
  3. Revert "add client<->server metadata transfer"

    This reverts commit 3240013.
    
    We don't see a good use case right now
    xificurC committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    c9f352a View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    dbbd147 View commit details
    Browse the repository at this point in the history
  5. implement #js tagged literal

    xificurC committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    239d15c View commit details
    Browse the repository at this point in the history

Commits on Aug 15, 2023

  1. fix jvm interop calls

    xificurC committed Aug 15, 2023
    Configuration menu
    Copy the full SHA
    005c0bb View commit details
    Browse the repository at this point in the history

Commits on Aug 16, 2023

  1. localize data readers

    xificurC committed Aug 16, 2023
    Configuration menu
    Copy the full SHA
    280ae02 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    98df877 View commit details
    Browse the repository at this point in the history
  3. Fix inference warning when ^js tag is on lexical binding

    Record lexical scope binding meta (e.g. ^:tag 'js) in env, for better interop code gen.
    ggeoffrey authored and xificurC committed Aug 16, 2023
    Configuration menu
    Copy the full SHA
    7bf3cda View commit details
    Browse the repository at this point in the history
  4. Revert "history: fix ^js warnings"

    This reverts commit a4e8062.
    ggeoffrey authored and xificurC committed Aug 16, 2023
    Configuration menu
    Copy the full SHA
    46c0eb4 View commit details
    Browse the repository at this point in the history
  5. Fix cljs interop inference warning on HTML5History type

    Was tagged `^js` but is not a plain js object.
    ggeoffrey authored and xificurC committed Aug 16, 2023
    Configuration menu
    Copy the full SHA
    f38a285 View commit details
    Browse the repository at this point in the history
  6. Cleanup redundant ^js hints

    ggeoffrey authored and xificurC committed Aug 16, 2023
    Configuration menu
    Copy the full SHA
    37ddce3 View commit details
    Browse the repository at this point in the history
  7. improve type inference on interop method calls

    The originating object's metadata is passed into the method call's fn
    xificurC committed Aug 16, 2023
    Configuration menu
    Copy the full SHA
    e69af7c View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    0a63292 View commit details
    Browse the repository at this point in the history

Commits on Aug 17, 2023

  1. fix clj class type hints debug metadata breaking cljs compilation

    fixes core.match usage, which can include a
    clojure.lang.IPersistentVector class tag in certain patterns. This class
    object ended up in the debug metadata and cljs could not serialize it.
    
    WARN: keeping arbitrary metadata is dangerous as there might be other
    non-serializable values. We fixed this 1 edge case and left the rest
    as-is for now, but a more general solution might be neede in the future.
    xificurC committed Aug 17, 2023
    Configuration menu
    Copy the full SHA
    915b5a4 View commit details
    Browse the repository at this point in the history

Commits on Aug 18, 2023

  1. allow ns objects in server compiled code

    The namespace object breaks cljs build.
    
    fixes clojure.tools.logging
    xificurC committed Aug 18, 2023
    2 Configuration menu
    Copy the full SHA
    a03b341 View commit details
    Browse the repository at this point in the history
  2. bump clojure

    xificurC committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    7aeab8f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    783f204 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    567cb76 View commit details
    Browse the repository at this point in the history
  5. deps - tools.build latest

    dustingetz committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    2ded53d View commit details
    Browse the repository at this point in the history
  6. build - fix pom metadata

    dustingetz committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    d246d71 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    1966a2b View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    a48273b View commit details
    Browse the repository at this point in the history

Commits on Aug 19, 2023

  1. Configuration menu
    Copy the full SHA
    a10a3b9 View commit details
    Browse the repository at this point in the history

Commits on Aug 21, 2023

  1. Configuration menu
    Copy the full SHA
    5b0e797 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    96e5c0a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    ecd018d View commit details
    Browse the repository at this point in the history
  4. release new version

    xificurC committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    178935b View commit details
    Browse the repository at this point in the history

Commits on Aug 22, 2023

  1. Configuration menu
    Copy the full SHA
    df72ccb View commit details
    Browse the repository at this point in the history
  2. scratch: update rec demos

    dustingetz committed Aug 22, 2023
    Configuration menu
    Copy the full SHA
    702f2e9 View commit details
    Browse the repository at this point in the history
  3. deps: bump missionary

    dustingetz committed Aug 22, 2023
    Configuration menu
    Copy the full SHA
    164a13d View commit details
    Browse the repository at this point in the history

Commits on Aug 24, 2023

  1. fix [goog.string :refer (format)] -like refers

    shadow-cljs does post-ns-anlysis and expects an empty compiler cache,
    but we filled it manually to fix some inferecne warnings. Therefore we
    turn this post-check off.
    xificurC committed Aug 24, 2023
    Configuration menu
    Copy the full SHA
    22937f7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9ee2d8c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    7fb4aa8 View commit details
    Browse the repository at this point in the history

Commits on Aug 25, 2023

  1. Configuration menu
    Copy the full SHA
    57d02b3 View commit details
    Browse the repository at this point in the history

Commits on Aug 26, 2023

  1. Configuration menu
    Copy the full SHA
    537e601 View commit details
    Browse the repository at this point in the history

Commits on Aug 28, 2023

  1. Configuration menu
    Copy the full SHA
    55a594a View commit details
    Browse the repository at this point in the history

Commits on Aug 30, 2023

  1. save metadata in the shadow build cache

    fixes inference warnings
    xificurC committed Aug 30, 2023
    Configuration menu
    Copy the full SHA
    6bc8f00 View commit details
    Browse the repository at this point in the history
  2. Fix history not intercepting link clicks when <a> is not the direct t…

    …arget
    
    E.g.: <a href=""><button>Button Link</button></a> was not working, because the
    click target is the button, not the link itself.
    
    Checking for `hyperfiddle_history_route` is enough do detect a navigation intent.
    ggeoffrey committed Aug 30, 2023
    Configuration menu
    Copy the full SHA
    7bf3c2f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b9065f6 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    754268d View commit details
    Browse the repository at this point in the history

Commits on Aug 31, 2023

  1. Configuration menu
    Copy the full SHA
    ef937e2 View commit details
    Browse the repository at this point in the history

Commits on Sep 4, 2023

  1. Drop contrib.ordered-map custom impl

    We believe this custom impl was originally needed for clj and cljs compat.
    Our use case is now covered by `org.flatland/ordered` since 1.15.10.
    We don’t see value into maintaining a custom impl anymore.
    
    https://github.com/clj-commons/ordered
    ggeoffrey committed Sep 4, 2023
    Configuration menu
    Copy the full SHA
    983544c View commit details
    Browse the repository at this point in the history

Commits on Sep 8, 2023

  1. Configuration menu
    Copy the full SHA
    b294768 View commit details
    Browse the repository at this point in the history

Commits on Sep 13, 2023

  1. Smaller e/on-unmount macroexpansion

    Every electric-dom/element (every div, span, etc…) produces an `on-unmount`.
    `on-unmount` macro was expanding to an m/observe and a closure in Electric land.
    Using `partial` produces a smaller program. Saving us a small cost at scale.
    ggeoffrey committed Sep 13, 2023
    Configuration menu
    Copy the full SHA
    5d95bdf View commit details
    Browse the repository at this point in the history
  2. Fix Uncaught InternalError: too much recursion

    Introduce the low-level `e/fn*` for smaller generated programs. Giving us large
    leeway until we reach the definitive solution: incremental compilation.
    
    Every electric-dom element and every `e/for` were introducing an `e/fn`, which
    macroexpands to a LOT of code:
    - argument binding (one clojurescript let per arg, so one nested js function per let)
    - arity check (conditional and exception throwing)
    - self-recursion support (one self binding -> one cljs let -> one nested js function)
    - multi-arities dispatch (case dispatch, apply call (including a case dispatch))
    - variadic args
    
    Today, each e/fn compiles to *at least* 5 nested js functions (without :advanced
    compilation). So the js program nesting is at least 5×UI depth.
    It was measured¹ Chrome js parser (c++ impl, called by js/eval or
    document.write("<script> … </script>")) chokes on js programs with ~250 levels
    of function nesting. Before this change, a UI of depth 50 (50×5=250) would exceed
    the threshold. This change reduces nesting by a factor of at least 5, allowing static
    UIs of depth 250+.
    
    ¹: Measurement method:
       - compile failing electric program under :optimization :simple
       - pretty print output js file with `uglifyjs program.js --pretty --output program.pretty.js`
       - split `program.pretty.js` into lines
       - count spaces in front of line (/^\s+/)
       - divide by 4 – because one indentation level is 4 spaces
       - sort descending
    ggeoffrey committed Sep 13, 2023
    Configuration menu
    Copy the full SHA
    f130ffd View commit details
    Browse the repository at this point in the history

Commits on Sep 14, 2023

  1. jetty adapter: bump mailbox on byte payload

    We don't send bytes today so this didn't cause issues
    xificurC committed Sep 14, 2023
    Configuration menu
    Copy the full SHA
    219a987 View commit details
    Browse the repository at this point in the history
  2. send heartbeats from server

    Before we added HTTPKit support the server sent PING frames to the
    client. The client responded with a PONG. If the connection was idle the
    server closed it.
    
    HTTPKit doesn't have websocket PING support [1]. To support and unify with
    Jetty we changed heartbeats - now the client sent a special HEARTBEAT
    message to the server periodically [2].
    
    This resulted in a regression. Chrome throttles a hidden tab's timers
    after 5 minutes [3]. They tick in a batch once a minute. We set the max
    allowed idle time for a connection to 59 seconds since we deploy to
    fly.io which kills every TCP connection idle for over 1 minute [4]. The
    result - in Chrome the connection dies and reconnects in a loop.
    
    This commit overcomes all of the above limitations. The server takes
    back the initiative and sends a HEARTBEAT message to every client. The
    client sends a HEARTBEAT message back to the server. This way
    
    - we don't rely on websocket PINGs (since HTTPKit doesn't have them)
    - we don't get throttled in Chrome (since we now rely on server timers)
    - we fit into Fly's 1 minute limit
    
    [1] http-kit/http-kit#350
    [2] hyperfiddle@6008d18
    [3] https://developer.chrome.com/blog/timer-throttling-in-chrome-88/
    [4] https://community.fly.io/t/app-connection-timeout/5369
    xificurC committed Sep 14, 2023
    Configuration menu
    Copy the full SHA
    5a3799b View commit details
    Browse the repository at this point in the history

Commits on Sep 20, 2023

  1. incremental sequences

    leonoel committed Sep 20, 2023
    Configuration menu
    Copy the full SHA
    046e183 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2faf3a9 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    46f9a0d View commit details
    Browse the repository at this point in the history

Commits on Sep 21, 2023

  1. Configuration menu
    Copy the full SHA
    0842e64 View commit details
    Browse the repository at this point in the history

Commits on Sep 26, 2023

  1. expose frame-id

    leonoel committed Sep 26, 2023
    Configuration menu
    Copy the full SHA
    1f1c61a View commit details
    Browse the repository at this point in the history
  2. expose frame-id (fix typo)

    leonoel committed Sep 26, 2023
    Configuration menu
    Copy the full SHA
    c910935 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    36b8452 View commit details
    Browse the repository at this point in the history
  4. Optimize electric-dom2 macroexpansion size

    `dom/props` and `dom/style` will now only touch CSS properties that changed,
    because it is the idiomatic thing to do. At the cost of introducing one e/for
    per `dom/style`
    Before, we were setting all CSS properties for a node when any of them changed. It was
    not a perf problem as browsers won’t trigger a repaint/layout if a property value has not
    changed.
    ggeoffrey committed Sep 26, 2023
    Configuration menu
    Copy the full SHA
    641a557 View commit details
    Browse the repository at this point in the history

Commits on Sep 29, 2023

  1. Configuration menu
    Copy the full SHA
    7170088 View commit details
    Browse the repository at this point in the history

Commits on Sep 30, 2023

  1. spine

    leonoel committed Sep 30, 2023
    Configuration menu
    Copy the full SHA
    e4be2eb View commit details
    Browse the repository at this point in the history

Commits on Oct 5, 2023

  1. flat emitter

    leonoel committed Oct 5, 2023
    Configuration menu
    Copy the full SHA
    5ae2c54 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    da5cadd View commit details
    Browse the repository at this point in the history
  3. Optimize call js globals with the correct this context

    Previous impl was emitting an IIFE the Google Closure Compiler could not inline.
    This change moves the `this` binding from compile time to runtime. The cost is
    lower, because the emitted code is smaller and the `this` binding happens on
    program initialization, before electric runs.
    
    Example of calling a js global with the wrong `this` context:
    `(apply js/alert ["hello"])`
    would translate to alert.call(null, ["hello"]), whereas the correct form should
    be `alert.call(window, ["hello"])`
    ggeoffrey committed Oct 5, 2023
    Configuration menu
    Copy the full SHA
    65bd375 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    41e0b49 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    030be74 View commit details
    Browse the repository at this point in the history
  6. Fix js field access generating invalid js fn argument symbol

    Electric compiled `(.-field js/three.nesting.level)` to the invalid:
    `function($three$nesting.level){ … }`. It now produces `function($three$nesting_level){…}`.
    
    `(fn [a.b])` is invalid in clj and cljs because `a.b` is an illegal field name.
    Cljs compiles it to `function(a.b){}` which is also invalid javascript.
    ggeoffrey committed Oct 5, 2023
    Configuration menu
    Copy the full SHA
    f32f46e View commit details
    Browse the repository at this point in the history

Commits on Oct 6, 2023

  1. Fix js functions equality when accessed from global scope

    Commit 65bd375 broke equality between global js fns and classes: e.g.
    `(= js/Error js/Error) is true in js and cljs but was false in Electric.
    ggeoffrey committed Oct 6, 2023
    Configuration menu
    Copy the full SHA
    67d05d2 View commit details
    Browse the repository at this point in the history

Commits on Oct 18, 2023

  1. Fix link target attribute ignored when clicking on a link's child ele…

    …ment
    
    E.g. `<a target="_blank"><button> Click me! </button></a>`
    The button is the click target so the "target" attribute was incorrectly
    looked up on the event target, not the link itself.
    ggeoffrey committed Oct 18, 2023
    Configuration menu
    Copy the full SHA
    cc55772 View commit details
    Browse the repository at this point in the history

Commits on Oct 27, 2023

  1. Configuration menu
    Copy the full SHA
    ad59615 View commit details
    Browse the repository at this point in the history

Commits on Oct 30, 2023

  1. Fix commonjs modules references from electric

    `react-dom` failed to resolve in:
    
    ```
    (require '["react-dom/client" :as react-dom])
    
    (e/defn [] (react-dom/createRoot dom/node))
    ```
    
    Reason was Shadow-cljs rewrites references to commonjs modules as:
    `react-dom/createRoot` -> `js/modules$react_dom$client$.createRoot`.
    `react-dom` is therefore not a valid cljs ns after shadow rewrite. Our
    code was macroexpanding to `react-dom/createRoot, not to the rewritten form.
    
    No test added. Judged low ROI. Adding proper tests would mean creating an
    local (i.e non deployed) npm package with two levels of nesting. Ticketed.
    ggeoffrey committed Oct 30, 2023
    Configuration menu
    Copy the full SHA
    030da63 View commit details
    Browse the repository at this point in the history

Commits on Nov 7, 2023

  1. spool

    dustingetz committed Nov 7, 2023
    Configuration menu
    Copy the full SHA
    31e762f View commit details
    Browse the repository at this point in the history
  2. e/inhibit

    dustingetz committed Nov 7, 2023
    Configuration menu
    Copy the full SHA
    96d51d0 View commit details
    Browse the repository at this point in the history
  3. e/flow

    dustingetz committed Nov 7, 2023
    Configuration menu
    Copy the full SHA
    814fba8 View commit details
    Browse the repository at this point in the history
  4. i/patch-count

    dustingetz committed Nov 7, 2023
    Configuration menu
    Copy the full SHA
    d04e474 View commit details
    Browse the repository at this point in the history

Commits on Nov 16, 2023

  1. Add missing parameter for Styles

    eneroth authored and dustingetz committed Nov 16, 2023
    1 Configuration menu
    Copy the full SHA
    b6d9865 View commit details
    Browse the repository at this point in the history

Commits on Nov 22, 2023

  1. bugfix release changelog

    xificurC committed Nov 22, 2023
    Configuration menu
    Copy the full SHA
    47f9ce3 View commit details
    Browse the repository at this point in the history

Commits on Nov 29, 2023

  1. incremental compilation

    xificurC committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    6dff962 View commit details
    Browse the repository at this point in the history
  2. IC - Fix unsited svg elements

    ggeoffrey authored and xificurC committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    4c42f82 View commit details
    Browse the repository at this point in the history
  3. IC - Fix heroicons icons breaking electric runtime

    These macros where resolved as functions, and failed to resolve at runtime.
    ggeoffrey authored and xificurC committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    9a2aade View commit details
    Browse the repository at this point in the history
  4. Fix contrib.walk on values with meta but without support for with-meta

    `(prewalk identity *ns*)` was failing because while Namespace instances have
    meta (IMeta) they don’t support with-meta (IObj). i.e. Namespace instances’
    metas can only be mutated in place.
    ggeoffrey authored and xificurC committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    6823ae6 View commit details
    Browse the repository at this point in the history
  5. IC - fix electric httpkit adapter

    ggeoffrey authored and xificurC committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    247b9e7 View commit details
    Browse the repository at this point in the history
  6. contrib.debug/dbg-when

    xificurC committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    c51454c View commit details
    Browse the repository at this point in the history
  7. boot with options

    xificurC committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    315db0e View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    ba618d1 View commit details
    Browse the repository at this point in the history
  9. better debug prints

    xificurC committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    89a03b2 View commit details
    Browse the repository at this point in the history
  10. load current *ns* when expanding clj code

    - cljs compilation may trigger before clj compilation (cljc ns without
    self require-macros compiled by cljs/shadow)
    - macros (even cc/let) won't resolve (ns isn't loaded)
    - therefore we load it before trying to expand
    xificurC committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    d6e24b2 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    12ce341 View commit details
    Browse the repository at this point in the history
  12. fix () expansion

    xificurC committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    a768ac7 View commit details
    Browse the repository at this point in the history
  13. shadow dev hook: don't reload on first run

    The first run is clean and the clj side will load. It's the subsequent
    runs where we need to ensure a reload.
    xificurC committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    64822a0 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    7b00810 View commit details
    Browse the repository at this point in the history
  15. remove false comment

    xificurC committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    9cc43ad View commit details
    Browse the repository at this point in the history
  16. fix e/dom-mousemove

    xificurC committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    2e286b4 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    69423bb View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    3c8a855 View commit details
    Browse the repository at this point in the history
  19. pre-compile e/apply branching code

    This reduces code size on all e/apply call sites
    xificurC committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    593a5c3 View commit details
    Browse the repository at this point in the history
  20. don't try to clj expand in cljs block

    This is harmful now, e.g. it loads the test namespace clj side even when
    not needed. The cljs expander code should take care of the expansion.
    xificurC committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    608a4b2 View commit details
    Browse the repository at this point in the history
  21. fix test setup

    the `tests` macro wrapping `rcf/tests` doesn't work correctly in
    node/browser tests, it only reports if the last test in the file failed.
    xificurC committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    16885ca View commit details
    Browse the repository at this point in the history

Commits on Nov 30, 2023

  1. ::lang/non-causal

    xificurC committed Nov 30, 2023
    Configuration menu
    Copy the full SHA
    d0d38e7 View commit details
    Browse the repository at this point in the history
  2. fix varargs expansion size

    There's a single branch that handles varargs dynamically (at runtime).
    xificurC committed Nov 30, 2023
    Configuration menu
    Copy the full SHA
    9037712 View commit details
    Browse the repository at this point in the history
  3. check for :dev mode in shadow hook

    thanks for the suggestion @eneroth
    xificurC committed Nov 30, 2023
    Configuration menu
    Copy the full SHA
    a6f0283 View commit details
    Browse the repository at this point in the history

Commits on Dec 4, 2023

  1. remove ir/literal

    xificurC committed Dec 4, 2023
    Configuration menu
    Copy the full SHA
    3a8255e View commit details
    Browse the repository at this point in the history
  2. cleanup

    xificurC committed Dec 4, 2023
    Configuration menu
    Copy the full SHA
    b7ca42d View commit details
    Browse the repository at this point in the history
  3. update changelog

    xificurC committed Dec 4, 2023
    Configuration menu
    Copy the full SHA
    f7cf2a5 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    fab0b4f View commit details
    Browse the repository at this point in the history
  5. contrib.assert: easy keyword equality checks

    # Conflicts:
    #	src/contrib/assert.cljc
    dustingetz committed Dec 4, 2023
    Configuration menu
    Copy the full SHA
    789372e View commit details
    Browse the repository at this point in the history
  6. lift electric-demo to electric-fiddle; leave electric-ui css resource…

    …s behind; rename resources-demo back to resources for lib css
    dustingetz committed Dec 4, 2023
    Configuration menu
    Copy the full SHA
    c6be7e8 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    414ced1 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    3f3b1a8 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    d41d28c View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    3ad7921 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    bf842ce View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    385d1c3 View commit details
    Browse the repository at this point in the history

Commits on Dec 5, 2023

  1. Configuration menu
    Copy the full SHA
    ef7add7 View commit details
    Browse the repository at this point in the history
  2. binding in interop fn

    xificurC committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    3d8489d View commit details
    Browse the repository at this point in the history
  3. restore env.clj for hfql

    xificurC committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    03c2f07 View commit details
    Browse the repository at this point in the history
  4. shadow dev reload hook: correctly skip first run

    The previous strategy was flawed, we skipped the first reload of every
    file. A file loaded from cache will not recompile on first run.
    
    The new strategy is correct, we don't run the hook on first run.
    xificurC committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    3f4f16a View commit details
    Browse the repository at this point in the history
  5. update changelog

    xificurC committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    5eeacba View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    e155a33 View commit details
    Browse the repository at this point in the history

Commits on Dec 6, 2023

  1. Comments

    ggeoffrey committed Dec 6, 2023
    Configuration menu
    Copy the full SHA
    73c5419 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2228cd6 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    951fbdc View commit details
    Browse the repository at this point in the history
  4. comment out some printlns

    ggeoffrey committed Dec 6, 2023
    Configuration menu
    Copy the full SHA
    42e4f09 View commit details
    Browse the repository at this point in the history
  5. fix advanced compilation

    don't use assert, it can easily misalign the code when 1 peer has
    `*assert*` set to true and other to false
    xificurC committed Dec 6, 2023
    Configuration menu
    Copy the full SHA
    e9ce5c4 View commit details
    Browse the repository at this point in the history
  6. fix referred macros lookup

    xificurC committed Dec 6, 2023
    Configuration menu
    Copy the full SHA
    074a674 View commit details
    Browse the repository at this point in the history
  7. fix exception message tests

    xificurC committed Dec 6, 2023
    Configuration menu
    Copy the full SHA
    ca53769 View commit details
    Browse the repository at this point in the history

Commits on Dec 7, 2023

  1. Configuration menu
    Copy the full SHA
    b721382 View commit details
    Browse the repository at this point in the history

Commits on Dec 8, 2023

  1. fix changelog on boot args

    xificurC committed Dec 8, 2023
    Configuration menu
    Copy the full SHA
    b896a6a View commit details
    Browse the repository at this point in the history
  2. Fix allow-large-shadow-cache hook

    Would break build without Jackson on the classpath
    Hook is now a noop if Jackson is not on the classpath
    ggeoffrey committed Dec 8, 2023
    Configuration menu
    Copy the full SHA
    f97308b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f951e9d View commit details
    Browse the repository at this point in the history
  4. changelog - tweaks

    dustingetz committed Dec 8, 2023
    Configuration menu
    Copy the full SHA
    d309877 View commit details
    Browse the repository at this point in the history

Commits on Dec 14, 2023

  1. Configuration menu
    Copy the full SHA
    89649d6 View commit details
    Browse the repository at this point in the history

Commits on Dec 19, 2023

  1. cljs ns read cache POC

    xificurC authored and ggeoffrey committed Dec 19, 2023
    Configuration menu
    Copy the full SHA
    7c17b77 View commit details
    Browse the repository at this point in the history
  2. optimize clj load time

    xificurC authored and ggeoffrey committed Dec 19, 2023
    Configuration menu
    Copy the full SHA
    784635a View commit details
    Browse the repository at this point in the history
  3. Reflexivity

    ggeoffrey committed Dec 19, 2023
    Configuration menu
    Copy the full SHA
    b59bc32 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    753f326 View commit details
    Browse the repository at this point in the history
  5. Changelog: macros expanding conditionally can cause client and server…

    … programs to get misaligned
    ggeoffrey committed Dec 19, 2023
    Configuration menu
    Copy the full SHA
    f5d066b View commit details
    Browse the repository at this point in the history
  6. Adapt electric-fulcro adapter to new IC constraints

    Electric-fulcro adapter used to run electric code inline, closing over lexical
    scope. Now :
    - one needs to pass values to electric explicitely
    - one cannot run multiple instances of a given electric program on a single
      fulcro page, i.e. one can run multiple electric programs on one page, but they
      cannot be the same electric program.
    ggeoffrey committed Dec 19, 2023
    Configuration menu
    Copy the full SHA
    68e8fc7 View commit details
    Browse the repository at this point in the history
  7. interned r/causal

    xificurC authored and ggeoffrey committed Dec 19, 2023
    Configuration menu
    Copy the full SHA
    8464499 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    31394d4 View commit details
    Browse the repository at this point in the history
  9. Restore default JVM stack size

    Larger stack size was required before IC. Not anymore.
    ggeoffrey committed Dec 19, 2023
    Configuration menu
    Copy the full SHA
    0a69668 View commit details
    Browse the repository at this point in the history

Commits on Dec 21, 2023

  1. Bump deps

    Only update deps without breaking changes
    ggeoffrey committed Dec 21, 2023
    Configuration menu
    Copy the full SHA
    d5b5635 View commit details
    Browse the repository at this point in the history

Commits on Jan 10, 2024

  1. Configuration menu
    Copy the full SHA
    0c582f7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8c9bd83 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    4b543d4 View commit details
    Browse the repository at this point in the history
  4. [breaking] Simpler websocket integration with ring-websocket

    Electric Jetty and HTTPKit adapters are now based on latest Ring.
    Latest Ring (1.11+) support websockets out of the box.
    
    It is now simpler to:
    - integrate electric into existing ring apps,
    - extend the electric adapter over new HTTP servers.
    
    Breaking changes:
    - `hyperfiddle.electric-jetty-adapter` has been replaced by the simpler, generic `hyperfiddle.electric-ring-adapter`.
      - The API is simpler, smaller, but is not retrocompatible.
      - Code depending on `electric-jetty-adapter` must be updated.
    - `hyperfiddle.electric-httpkit-adapter` is now based on `electric-ring-adapter`
      and exposes the same API. The two namespaces are equivalent, they only differ on
      the underlying HTTP server.
    - Note latest ring-jetty depends on Jetty 11, which requires Java 11+
      - Electric can run with Jetty 9 and Java 8
      - We found no use case for Java 8 retro compatibility so far
      - If you need Jetty9 / Java 8 compat, see
      [electric-server-java-9-jetty-9](https://github.com/hyperfiddle/electric/blob/cc55772f18bc46373f131e092fc20055c8062b59/src-docs/electric_server_java8_jetty9.clj)
      and [electric-jetty-adapter](https://github.com/hyperfiddle/electric/blob/cc55772f18bc46373f131e092fc20055c8062b59/src/hyperfiddle/electric_jetty_adapter.clj)
    
    How to migrate:
    - Look at the integration for:
      - Jetty: [Electric jetty integration](https://github.com/hyperfiddle/electric-fiddle/blob/01b49391e38d2684a7cbf7f82fa58da503af5be8/src/electric_fiddle/server_jetty.clj)
      - HTTPKit [Electric httpkit integration](https://github.com/hyperfiddle/electric-fiddle/blob/01b49391e38d2684a7cbf7f82fa58da503af5be8/src/electric_fiddle/server_httpkit.clj)
    - update your ring middlewares accordingly
    ggeoffrey committed Jan 10, 2024
    Configuration menu
    Copy the full SHA
    d41e0c1 View commit details
    Browse the repository at this point in the history
  5. Update Changelog

    ggeoffrey committed Jan 10, 2024
    Configuration menu
    Copy the full SHA
    a469953 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    f074884 View commit details
    Browse the repository at this point in the history

Commits on Jan 11, 2024

  1. Update Changelog links

    ggeoffrey committed Jan 11, 2024
    Configuration menu
    Copy the full SHA
    5ae2fe0 View commit details
    Browse the repository at this point in the history
  2. Update CHANGELOG.md

    ggeoffrey authored Jan 11, 2024
    Configuration menu
    Copy the full SHA
    5e9b4ed View commit details
    Browse the repository at this point in the history
  3. update roadmap

    dustingetz authored Jan 11, 2024
    Configuration menu
    Copy the full SHA
    173f8bb View commit details
    Browse the repository at this point in the history

Commits on Jan 16, 2024

  1. improve debug output

    xificurC committed Jan 16, 2024
    Configuration menu
    Copy the full SHA
    77a9172 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    08540ce View commit details
    Browse the repository at this point in the history

Commits on Jan 17, 2024

  1. incseq: fizzbuzz demo

    dustingetz committed Jan 17, 2024
    Configuration menu
    Copy the full SHA
    cda5268 View commit details
    Browse the repository at this point in the history

Commits on Jan 18, 2024

  1. Configuration menu
    Copy the full SHA
    63f9aa4 View commit details
    Browse the repository at this point in the history

Commits on Jan 19, 2024

  1. readme - remove mission

    dustingetz authored Jan 19, 2024
    Configuration menu
    Copy the full SHA
    c005ffc View commit details
    Browse the repository at this point in the history

Commits on Jan 23, 2024

  1. Configuration menu
    Copy the full SHA
    0571b5a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    91cc34a View commit details
    Browse the repository at this point in the history
  3. Add hyperfiddle.router

    ggeoffrey committed Jan 23, 2024
    Configuration menu
    Copy the full SHA
    3fcec39 View commit details
    Browse the repository at this point in the history
  4. Fix router missing link clicks on fast click bursts

    Clicking two links fast (a few milliseconds between two clicks) would trigger a
    hard navigation instead of being intercepted by the router and triggering a soft
    nav.
    ggeoffrey committed Jan 23, 2024
    Configuration menu
    Copy the full SHA
    79c2bbc View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    b32ac98 View commit details
    Browse the repository at this point in the history

Commits on Jan 26, 2024

  1. gitignore

    ggeoffrey committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    dee3ec2 View commit details
    Browse the repository at this point in the history
  2. 1 Configuration menu
    Copy the full SHA
    54b423c View commit details
    Browse the repository at this point in the history

Commits on Jan 27, 2024

  1. Configuration menu
    Copy the full SHA
    923d328 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    12430dd View commit details
    Browse the repository at this point in the history

Commits on Jan 28, 2024

  1. Configuration menu
    Copy the full SHA
    8ebfecc View commit details
    Browse the repository at this point in the history

Commits on Jan 31, 2024

  1. Fix "connection was interrupted while the page was loading" error on …

    …tab wakeup
    
    Browsers will send a WS PING frame on tab wakeup to check if the socket is still
    open. We forgot to answer pings with pongs.
    A tab can wake up when:
    - The user focused it after it's been in the background for a while,
    - The laptop lid is opened
    - User interact with the computer after the screen was sleeping (even if the
    computer itself was not sleeping)
    ggeoffrey committed Jan 31, 2024
    Configuration menu
    Copy the full SHA
    7b81126 View commit details
    Browse the repository at this point in the history
  2. Jetty leverages WS control frames for heartbeat

    Cleaner design. HTTPKit doesn't support it, so we emulate it.
    ggeoffrey committed Jan 31, 2024
    Configuration menu
    Copy the full SHA
    ae1341b View commit details
    Browse the repository at this point in the history

Commits on Feb 9, 2024

  1. Configuration menu
    Copy the full SHA
    689f5c4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f877679 View commit details
    Browse the repository at this point in the history
  3. Inform users of misaligned client/server DAGs

    This was a chaotic situation where both users and us would get confused.
    This got us so confused it triggered multiple meetings.
    
    Solution: detect the situation and orient the user about:
    - what is happening,
    - what to do if this happens in prod.
    
    We also kill the ws connection and inform the electric client to NOT attempt to
    reconnect to avoid a broken program reconnection loop.
    ggeoffrey committed Feb 9, 2024
    Configuration menu
    Copy the full SHA
    91fd468 View commit details
    Browse the repository at this point in the history
  4. cleanup

    Dev code that shouldn't have been shipped
    ggeoffrey committed Feb 9, 2024
    1 Configuration menu
    Copy the full SHA
    cf794bf View commit details
    Browse the repository at this point in the history
  5. Document browser WS connect throttling

    Electric client was trying to reconnect after 100ms, 100ms, 200ms, 300ms, ...
    This sometimes trigger a browser safety feature in dev mode after a few fast
    page refresh.
    
    I decided to drop the first 100ms connection attempt to save on reconnection
    attempts, without making the initial reconnection attempt slower.
    ggeoffrey committed Feb 9, 2024
    1 Configuration menu
    Copy the full SHA
    e53bc89 View commit details
    Browse the repository at this point in the history

Commits on Feb 12, 2024

  1. Improved client websocket disconnect messages

    No red errors
    No stack traces
    Explicit messages
    ggeoffrey committed Feb 12, 2024
    Configuration menu
    Copy the full SHA
    4271040 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0cfb984 View commit details
    Browse the repository at this point in the history

Commits on Mar 7, 2024

  1. Configuration menu
    Copy the full SHA
    51de4f5 View commit details
    Browse the repository at this point in the history

Commits on Mar 19, 2024

  1. Configuration menu
    Copy the full SHA
    72b9428 View commit details
    Browse the repository at this point in the history