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

Introducing version vector to solve GC problem #899

Merged
merged 38 commits into from
Oct 23, 2024

Commits on Sep 8, 2024

  1. Update Proto

    JOOHOJANG committed Sep 8, 2024
    Configuration menu
    Copy the full SHA
    e0988d0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9580b97 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    dee2778 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    f6177d2 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    df82b83 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    0dd1ece View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    11d4848 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    313a81c View commit details
    Browse the repository at this point in the history
  9. Fix typo

    JOOHOJANG committed Sep 8, 2024
    Configuration menu
    Copy the full SHA
    cadecd8 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    f4e3431 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    3e3afe7 View commit details
    Browse the repository at this point in the history

Commits on Sep 9, 2024

  1. Configuration menu
    Copy the full SHA
    557702e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6f383e6 View commit details
    Browse the repository at this point in the history
  3. Update bench test

    JOOHOJANG committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    13f528b View commit details
    Browse the repository at this point in the history

Commits on Sep 10, 2024

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

Commits on Sep 12, 2024

  1. Fix lint error

    JOOHOJANG committed Sep 12, 2024
    Configuration menu
    Copy the full SHA
    f4f7ff4 View commit details
    Browse the repository at this point in the history

Commits on Sep 24, 2024

  1. Modify buf generate

    JOOHOJANG committed Sep 24, 2024
    Configuration menu
    Copy the full SHA
    40d5792 View commit details
    Browse the repository at this point in the history

Commits on Oct 1, 2024

  1. Configuration menu
    Copy the full SHA
    cae3f9c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ee8e411 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e3b438e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    6f14089 View commit details
    Browse the repository at this point in the history

Commits on Oct 22, 2024

  1. Remove TODO

    JOOHOJANG committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    95e5cac View commit details
    Browse the repository at this point in the history
  2. Restrict presence object type to JSON serializable values (#898)

    To prevent serialization issues, this commit narrows the type of the `presence`
    object `P`. Previously, `<P extends Indexable>` allowed any value type, 
    including non-JSON serializable ones like byte arrays, Date, and Long.
    
    We now introduce a `Json` type, inspired by Liveblocks, to ensure only JSON
    serializable types are allowed in the presence object. This change affects
    functions like `broadcast`, ensuring safe serialization and addressing 
    issues such as #884.
    
    The new `Json` type is defined as follows:
    
    ```
    export type Json = JsonPrimitive | JsonArray | JsonObject;
    type JsonPrimitive = string | number | boolean | null;
    type JsonArray = Array<Json>;
    type JsonObject = { [key: string]: Json | undefined };
    ```
    
    This type restriction enhances type safety and prevents potential runtime 
    errors during JSON serialization of presence data.
    
    ---------
    
    Co-authored-by: Youngteac Hong <[email protected]>
    2 people authored and JOOHOJANG committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    047510f View commit details
    Browse the repository at this point in the history
  3. Add configurable retry mechanism to broadcast interface (#901)

    Implement a new BroadcastOptions interface to allow for automatic retries
    on network failures during broadcasts. This enhancement improves resilience
    against temporary network issues, ensuring more reliable message delivery.
    The maxRetries option allows users to control retry behavior, with a default
    of 0 (no retries). Only network errors trigger retries; other errors, such
    as unserializable payloads, will not initiate retry attempts.
    gwbaik9717 authored and JOOHOJANG committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    95e8871 View commit details
    Browse the repository at this point in the history
  4. Ensure find and indexOf perform splay (#904)

    Enhance splay tree efficiency by incorporating splay operations after node
    location in Find and IndexOf functions. This change maintains the tree's
    self-balancing property and ensures amortized O(log n) time complexity for
    future operations. Simplify IndexOf() by leveraging the splay operation,
    reducing additional traversal logic and improving overall performance.
    m4ushold authored and JOOHOJANG committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    9f670ad View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    6e98529 View commit details
    Browse the repository at this point in the history
  6. Update target to ES2020 and replace Long with bigint (#912)

    This commit Streamlines data type handling by replacing Long with native.
    It also updates target to ECMAScript 2020.
    
    Despite the introduction of bigint, but Long still remains in Counter. We
    need to remove Long.
    hackerwins authored and JOOHOJANG committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    6e7e344 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    6376dbf View commit details
    Browse the repository at this point in the history
  8. Modify buf generate

    JOOHOJANG committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    06569de View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    73aad7b View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    4dc3e1c View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    3aff0b5 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    43b2f6b View commit details
    Browse the repository at this point in the history
  13. Remove Long from helper

    JOOHOJANG committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    7e39737 View commit details
    Browse the repository at this point in the history
  14. Clean up codes

    JOOHOJANG committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    3528aa0 View commit details
    Browse the repository at this point in the history
  15. Clean up codes

    JOOHOJANG committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    e5321c4 View commit details
    Browse the repository at this point in the history
  16. Clean up codes

    JOOHOJANG committed Oct 22, 2024
    Configuration menu
    Copy the full SHA
    6d5ece1 View commit details
    Browse the repository at this point in the history

Commits on Oct 23, 2024

  1. Clean up codes

    JOOHOJANG committed Oct 23, 2024
    Configuration menu
    Copy the full SHA
    c4dea81 View commit details
    Browse the repository at this point in the history