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 rewrite all core logic using compacting log storage #338

Closed
wants to merge 17 commits into from

Commits on Jan 9, 2022

  1. Use consistent style

    Signed-off-by: Alex Saveau <saveau.alexandre@gmail.com>
    SUPERCILEX committed Jan 9, 2022
    Configuration menu
    Copy the full SHA
    a22669b View commit details
    Browse the repository at this point in the history
  2. Tidy code

    Signed-off-by: Alex Saveau <saveau.alexandre@gmail.com>
    SUPERCILEX committed Jan 9, 2022
    Configuration menu
    Copy the full SHA
    a6f9fbc View commit details
    Browse the repository at this point in the history
  3. Cleanup variables

    Signed-off-by: Alex Saveau <saveau.alexandre@gmail.com>
    SUPERCILEX committed Jan 9, 2022
    Configuration menu
    Copy the full SHA
    bed2be8 View commit details
    Browse the repository at this point in the history

Commits on Jan 20, 2022

  1. Delete code supporting old Gnome versions

    Signed-off-by: Alex Saveau <saveau.alexandre@gmail.com>
    SUPERCILEX committed Jan 20, 2022
    Configuration menu
    Copy the full SHA
    4519cb1 View commit details
    Browse the repository at this point in the history
  2. Migrate extension.js to modern class

    Signed-off-by: Alex Saveau <saveau.alexandre@gmail.com>
    SUPERCILEX committed Jan 20, 2022
    Configuration menu
    Copy the full SHA
    481fbd2 View commit details
    Browse the repository at this point in the history
  3. Modernize prefs.js a bit

    Signed-off-by: Alex Saveau <saveau.alexandre@gmail.com>
    SUPERCILEX committed Jan 20, 2022
    Configuration menu
    Copy the full SHA
    2bd7847 View commit details
    Browse the repository at this point in the history
  4. Teeny tidy on confirmDialog.js

    Signed-off-by: Alex Saveau <saveau.alexandre@gmail.com>
    SUPERCILEX committed Jan 20, 2022
    Configuration menu
    Copy the full SHA
    b2baaad View commit details
    Browse the repository at this point in the history
  5. Remove as much state as possible

    Signed-off-by: Alex Saveau <saveau.alexandre@gmail.com>
    SUPERCILEX committed Jan 20, 2022
    Configuration menu
    Copy the full SHA
    273379c View commit details
    Browse the repository at this point in the history
  6. Use strict mode everywhere

    Signed-off-by: Alex Saveau <saveau.alexandre@gmail.com>
    SUPERCILEX committed Jan 20, 2022
    Configuration menu
    Copy the full SHA
    35e3557 View commit details
    Browse the repository at this point in the history

Commits on Jan 21, 2022

  1. Completely rewrite all core logic

    Goals:
    
    - Maximize performance
    - Simplify logic and code
    - Lay foundation for future development
    
    Key changes:
    
    - Store data using compacting log to minimize disk writes
    - Process incoming copies in O(1), doing the minimal amount of work possible
    - Fix various other inefficiencies in core logic, bringing time complexity down to O(1) (at the cost of a bit of extra memory sometimes)
    - Fixed a bug where max preview lengths were off by 2 characters
    - Move favorited items to top when MOVE_ITEM_FIRST is enabled
    
    Signed-off-by: Alex Saveau <saveau.alexandre@gmail.com>
    SUPERCILEX committed Jan 21, 2022
    Configuration menu
    Copy the full SHA
    1ded546 View commit details
    Browse the repository at this point in the history
  2. Fix forgetting to support CACHE_ONLY_FAVORITES

    Signed-off-by: Alex Saveau <saveau.alexandre@gmail.com>
    SUPERCILEX committed Jan 21, 2022
    Configuration menu
    Copy the full SHA
    fe877f4 View commit details
    Browse the repository at this point in the history
  3. Hopefully fix I/O reordering bugs

    Because we're using the *_async functions, our I/O ops can reorder themselves. This becomes a problem if, for example, we mark an entry as favorite before actually adding it.
    
    Signed-off-by: Alex Saveau <saveau.alexandre@gmail.com>
    SUPERCILEX committed Jan 21, 2022
    Configuration menu
    Copy the full SHA
    834cd82 View commit details
    Browse the repository at this point in the history

Commits on Jan 27, 2022

  1. Fix cancel notification not deleting item in log

    Signed-off-by: Alex Saveau <saveau.alexandre@gmail.com>
    SUPERCILEX committed Jan 27, 2022
    Configuration menu
    Copy the full SHA
    9852d7d View commit details
    Browse the repository at this point in the history
  2. Fix nextId not being reset during log compaction (resulting in invali…

    …d log ops)
    
    Signed-off-by: Alex Saveau <saveau.alexandre@gmail.com>
    SUPERCILEX committed Jan 27, 2022
    Configuration menu
    Copy the full SHA
    03f4ac3 View commit details
    Browse the repository at this point in the history
  3. Fix crash on first-time setup if registry.txt does not exist

    Signed-off-by: Alex Saveau <saveau.alexandre@gmail.com>
    SUPERCILEX committed Jan 27, 2022
    Configuration menu
    Copy the full SHA
    382be88 View commit details
    Browse the repository at this point in the history
  4. Tidy some code + state

    Signed-off-by: Alex Saveau <saveau.alexandre@gmail.com>
    SUPERCILEX committed Jan 27, 2022
    Configuration menu
    Copy the full SHA
    5f99bb3 View commit details
    Browse the repository at this point in the history
  5. Set clipboard to latest item when deleting active item

    Signed-off-by: Alex Saveau <saveau.alexandre@gmail.com>
    SUPERCILEX committed Jan 27, 2022
    Configuration menu
    Copy the full SHA
    a112fe4 View commit details
    Browse the repository at this point in the history