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

Completely Refactoer #120

Closed
wants to merge 105 commits into from
Closed

Completely Refactoer #120

wants to merge 105 commits into from

Commits on Jun 15, 2023

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

Commits on Jun 17, 2023

  1. Configuration menu
    Copy the full SHA
    97a111c View commit details
    Browse the repository at this point in the history
  2. Use new ssip crate layout

    TTWNO committed Jun 17, 2023
    Configuration menu
    Copy the full SHA
    b3d8ac1 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    58d7842 View commit details
    Browse the repository at this point in the history
  4. Merge main

    TTWNO committed Jun 17, 2023
    Configuration menu
    Copy the full SHA
    5c0ba86 View commit details
    Browse the repository at this point in the history
  5. Add wasm info to readme

    TTWNO committed Jun 17, 2023
    Configuration menu
    Copy the full SHA
    1417b35 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    0bfed06 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    27ce9cc View commit details
    Browse the repository at this point in the history

Commits on Jun 18, 2023

  1. Configuration menu
    Copy the full SHA
    21062f0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1eb645f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    fd98927 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    d3526c8 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    882004c View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    7fafaa7 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    52a3abf View commit details
    Browse the repository at this point in the history
  8. Add beta clippy lints to CI

    TTWNO committed Jun 18, 2023
    Configuration menu
    Copy the full SHA
    e3e421a View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    f04c8f9 View commit details
    Browse the repository at this point in the history

Commits on Jun 19, 2023

  1. Fix unused imports

    TTWNO committed Jun 19, 2023
    Configuration menu
    Copy the full SHA
    59ef3cf View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b172a26 View commit details
    Browse the repository at this point in the history
  3. Refactor state.

    1. Use type aliases to define state field types (for use outside the state module).
    2. std::sync::Mutex -> parking_lot::RwLock (parking lot and rw lock are more efficient)
    TTWNO committed Jun 19, 2023
    Configuration menu
    Copy the full SHA
    0ea3fbd View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    0f829ca View commit details
    Browse the repository at this point in the history
  5. Add traits system to define how events, state and state modification …

    …interact with eachother.
    TTWNO committed Jun 19, 2023
    Configuration menu
    Copy the full SHA
    2469be6 View commit details
    Browse the repository at this point in the history
  6. Remove old code; implement a get_key function for the cache, which re…

    …turns a cache reference
    TTWNO committed Jun 19, 2023
    Configuration menu
    Copy the full SHA
    98fe41b View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    9f1dfe2 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    b7a3e2e View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    2761506 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    bd1780b View commit details
    Browse the repository at this point in the history
  11. Add command errors; remove poisoning error since parking_lot RwLocks …

    …can not be poisoned; impl Debug on the Operation type
    TTWNO committed Jun 19, 2023
    Configuration menu
    Copy the full SHA
    fc325b4 View commit details
    Browse the repository at this point in the history

Commits on Jun 20, 2023

  1. Refactor most events into "commands".

    These are conceptually separated by being direct *internal* events that modify Odilia's state.
    As opposed to events, which are generally recieved from the outside.
    
    Also adds a few more Defualt implementations.
    TTWNO committed Jun 20, 2023
    Configuration menu
    Copy the full SHA
    9a1ded3 View commit details
    Browse the repository at this point in the history

Commits on Jun 21, 2023

  1. Use better names for the traits

    TTWNO committed Jun 21, 2023
    Configuration menu
    Copy the full SHA
    1be3106 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d022036 View commit details
    Browse the repository at this point in the history
  3. Reinstate associated type

    TTWNO committed Jun 21, 2023
    Configuration menu
    Copy the full SHA
    67f3184 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    1166f6b View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    95615a0 View commit details
    Browse the repository at this point in the history

Commits on Jun 23, 2023

  1. Configuration menu
    Copy the full SHA
    c9fe077 View commit details
    Browse the repository at this point in the history
  2. Remove state

    TTWNO committed Jun 23, 2023
    Configuration menu
    Copy the full SHA
    9a6cc50 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    9f94c2f View commit details
    Browse the repository at this point in the history
  4. Add common traits; in this case define an associated type for a non-m…

    …odifiable state view
    TTWNO committed Jun 23, 2023
    Configuration menu
    Copy the full SHA
    9883c00 View commit details
    Browse the repository at this point in the history
  5. Add new commands

    TTWNO committed Jun 23, 2023
    Configuration menu
    Copy the full SHA
    0b6dc18 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    b843551 View commit details
    Browse the repository at this point in the history
  7. Fix compile errors

    TTWNO committed Jun 23, 2023
    Configuration menu
    Copy the full SHA
    73fdcca View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    8a84ddf View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    795b44c View commit details
    Browse the repository at this point in the history
  10. Remove result mod

    TTWNO committed Jun 23, 2023
    Configuration menu
    Copy the full SHA
    e4af049 View commit details
    Browse the repository at this point in the history
  11. Move tiny modes file to lib

    TTWNO committed Jun 23, 2023
    Configuration menu
    Copy the full SHA
    82923d5 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    f683937 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    9fa7e2d View commit details
    Browse the repository at this point in the history
  14. Prepare for more events

    TTWNO committed Jun 23, 2023
    Configuration menu
    Copy the full SHA
    13dce2f View commit details
    Browse the repository at this point in the history
  15. Add docs

    TTWNO committed Jun 23, 2023
    Configuration menu
    Copy the full SHA
    38b6eb7 View commit details
    Browse the repository at this point in the history
  16. Add docs

    TTWNO committed Jun 23, 2023
    Configuration menu
    Copy the full SHA
    0c2108e View commit details
    Browse the repository at this point in the history
  17. Add docs, and change one type

    TTWNO committed Jun 23, 2023
    Configuration menu
    Copy the full SHA
    31314f0 View commit details
    Browse the repository at this point in the history
  18. Remove elements module

    TTWNO committed Jun 23, 2023
    Configuration menu
    Copy the full SHA
    29cfe84 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    2caddb1 View commit details
    Browse the repository at this point in the history
  20. Add docs for cache and lib

    TTWNO committed Jun 23, 2023
    Configuration menu
    Copy the full SHA
    ea2fff3 View commit details
    Browse the repository at this point in the history
  21. Modify cache to remove HostExt

    TTWNO committed Jun 23, 2023
    Configuration menu
    Copy the full SHA
    f270bad View commit details
    Browse the repository at this point in the history
  22. add missing docs lint to cache

    TTWNO committed Jun 23, 2023
    Configuration menu
    Copy the full SHA
    e193213 View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    bd95596 View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    49038fe View commit details
    Browse the repository at this point in the history
  25. add missing_docs on tts crate

    TTWNO committed Jun 23, 2023
    Configuration menu
    Copy the full SHA
    60d8360 View commit details
    Browse the repository at this point in the history
  26. Remove async_trait, since these these traits necessarily need to be u…

    …sed in a synchronous context
    TTWNO committed Jun 23, 2023
    Configuration menu
    Copy the full SHA
    f05e54b View commit details
    Browse the repository at this point in the history
  27. Remove legacy docs (from async), add a new trait, add a new bound to …

    …the Command structure.
    TTWNO committed Jun 23, 2023
    Configuration menu
    Copy the full SHA
    94c33cb View commit details
    Browse the repository at this point in the history
  28. Configuration menu
    Copy the full SHA
    ca69d1a View commit details
    Browse the repository at this point in the history
  29. Actually include traits module

    TTWNO committed Jun 23, 2023
    Configuration menu
    Copy the full SHA
    b32a666 View commit details
    Browse the repository at this point in the history
  30. Add views to lib, and add docs

    TTWNO committed Jun 23, 2023
    Configuration menu
    Copy the full SHA
    f8681b0 View commit details
    Browse the repository at this point in the history
  31. Configuration menu
    Copy the full SHA
    ac35b40 View commit details
    Browse the repository at this point in the history
  32. Configuration menu
    Copy the full SHA
    74520be View commit details
    Browse the repository at this point in the history
  33. Configuration menu
    Copy the full SHA
    691565a View commit details
    Browse the repository at this point in the history

Commits on Jun 24, 2023

  1. Configuration menu
    Copy the full SHA
    e2d18d7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c92902a View commit details
    Browse the repository at this point in the history
  3. Add StateChangedCommand, add macro to implement simple conversions be…

    …tween enum command variants
    TTWNO committed Jun 24, 2023
    Configuration menu
    Copy the full SHA
    4d753f9 View commit details
    Browse the repository at this point in the history
  4. Add cache get function for anything that implements TryInto<Accessibl…

    …ePrimitive> (the cache key)
    TTWNO committed Jun 24, 2023
    Configuration menu
    Copy the full SHA
    048940a View commit details
    Browse the repository at this point in the history

Commits on Jun 25, 2023

  1. Move complex cache types into odilia_cache

    It turns out we need async locking primitives, which at this time can not be compiled for any WASM architechture.
    This restriction *should* be able to be lifted in the future, especially with the rise of two features:
    
    1. An asyncronous WASM standard.
    2. Reference types in WASM.
    
    With both these features implemented, it is reasonably likely that no (de)serialization would have to be performed at all, and plugins could simply use the types as if they were a native Rust function.
    This functionality, or event standardization is likely to take over a year, so I'm not holding my breath out for it, but when it comes, we should move the more advanced caching types back into odilia_common, and allow plugins free access to the cache, and maybe event the entire state, completely by reference.
    TTWNO committed Jun 25, 2023
    Configuration menu
    Copy the full SHA
    9e34d67 View commit details
    Browse the repository at this point in the history
  2. RwLock -> Mutex

    Most operation in Odilia need to be done as an "atomic grouping" if you will.
    For example, suppose two events come in: the first sets some new text, the second moves the cursor over the newly inserted word.
    Although in reality it will be *incredibly* rare that these two events happen fast enough for Odilia to have this problem, in theory the section of text to speak could be processed before the write is complete from the first event.
    
    Overall, I'm just trying to make sure that if Odilia is going to have synchronization errors, at least they will be contained to receiving the events in the wrong order, and not ones self-imposed.
    TTWNO committed Jun 25, 2023
    Configuration menu
    Copy the full SHA
    37bc4d8 View commit details
    Browse the repository at this point in the history
  3. Asyncify cache again

    * This was originally syncified because DashMap did not require any locks.
    * Then, we even started to use a `parking_lot::Mutex`, which did not error when a lock attempt was made.
    * But here, we need to asyncify the internal `tokio::sync::Mutex` on each individual cache item.
    * This is because we want to use async in the rest of the codebase, and specifically we want to asyncronize separate event processing *by the locks made on these cache items*.
    TTWNO committed Jun 25, 2023
    Configuration menu
    Copy the full SHA
    1e964b2 View commit details
    Browse the repository at this point in the history
  4. Asyncify benchmarks, again

    TTWNO committed Jun 25, 2023
    Configuration menu
    Copy the full SHA
    514f276 View commit details
    Browse the repository at this point in the history
  5. Asyncify all the traits.

    All traits that implement any functioanltiy (as opposed to traits that only specify types), should always be async.
    An MVP was created without async available, but now it's time to bring it into the light :)
    TTWNO committed Jun 25, 2023
    Configuration menu
    Copy the full SHA
    579f3a3 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    a497cde View commit details
    Browse the repository at this point in the history
  7. Move cache to new structure

    TTWNO committed Jun 25, 2023
    Configuration menu
    Copy the full SHA
    e399f53 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    a2a089d View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    368160e View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    7dc7646 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    ed5d347 View commit details
    Browse the repository at this point in the history

Commits on Jun 27, 2023

  1. Update cache to use more locks

    TTWNO committed Jun 27, 2023
    Configuration menu
    Copy the full SHA
    b5f8136 View commit details
    Browse the repository at this point in the history
  2. Cargo format

    TTWNO committed Jun 27, 2023
    Configuration menu
    Copy the full SHA
    c34d2d2 View commit details
    Browse the repository at this point in the history
  3. Clippy errors

    TTWNO committed Jun 27, 2023
    Configuration menu
    Copy the full SHA
    cac3a3f View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    61f6e24 View commit details
    Browse the repository at this point in the history

Commits on Jul 2, 2023

  1. Configuration menu
    Copy the full SHA
    0d9c950 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d555b11 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    bbb1919 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    e55686a View commit details
    Browse the repository at this point in the history
  5. Add text_caret_moved handlers

    TTWNO committed Jul 2, 2023
    Configuration menu
    Copy the full SHA
    149f91c View commit details
    Browse the repository at this point in the history
  6. Add module root for objects

    TTWNO committed Jul 2, 2023
    Configuration menu
    Copy the full SHA
    54a1e9d View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    8ccdaa7 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    68b71b2 View commit details
    Browse the repository at this point in the history
  9. Add serde to cargo.toml

    TTWNO committed Jul 2, 2023
    Configuration menu
    Copy the full SHA
    a4e2127 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    3a9aa13 View commit details
    Browse the repository at this point in the history
  11. Remove legacy handlers

    TTWNO committed Jul 2, 2023
    Configuration menu
    Copy the full SHA
    51d03ae View commit details
    Browse the repository at this point in the history
  12. Change module names

    TTWNO committed Jul 2, 2023
    Configuration menu
    Copy the full SHA
    55c0477 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    bbff978 View commit details
    Browse the repository at this point in the history
  14. Fix most clippy warnings

    TTWNO committed Jul 2, 2023
    Configuration menu
    Copy the full SHA
    4eb1264 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    f62eaee View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    6b385f8 View commit details
    Browse the repository at this point in the history
  17. from_cache_ref docs

    TTWNO committed Jul 2, 2023
    Configuration menu
    Copy the full SHA
    9f6e15b View commit details
    Browse the repository at this point in the history
  18. Fix un-asyncified tests

    TTWNO committed Jul 2, 2023
    Configuration menu
    Copy the full SHA
    b97991d View commit details
    Browse the repository at this point in the history

Commits on Feb 24, 2024

  1. Use generic handle_event

    TTWNO committed Feb 24, 2024
    Configuration menu
    Copy the full SHA
    cf8a0a2 View commit details
    Browse the repository at this point in the history