Skip to content

Feature/configuration

Kieran requested to merge feature/configuration into master
  • removes cobox-config
  • moves save and load logic into for cobox-store
  • entries.yml now stored in each kappa-model directory e.g. ~/.cobox/spaces/entries.yml, ~/.cobox/replicators/entries.yml
  • adds a writer lock to YAML file writes using https://github.com/mafintosh/mutexify
  • adds .coboxrc for storing app configuration e.g. port, mount, storage, udpPort, etc
  • uses find-up to look for .coboxrc
  • revealed and fixed a bug in graceful exit
  • changes default ports (9112 for app, 9111 for seeder)
  • renames cobox-store to @coboxcoop/repository
  • fixes the test suite!!!
  • includes bug fix for kappa-drive, now all tests pass
    • @karissa and i fixed the tests - we switched to using timestamps instead of the vector clock function for resolving the latest values in kappa-drive. there's an open question here that karissa raised, as from a UX and business perspective, the pros and cons of using a vector clock. she also raised that kappa-view-kv should already be handling most of the conflict resolution heavy lifting. vector clocks currently add an additional 32+ bytes to each message, which will add up with lots of write operations.
    • probably, a chosen conflict resolution policy / mechanism should be a middleware added to kappa-drive, which then is configurable by users. those who want a better guarantee of correct resolution can opt for a vector clock and accept more space usage, those less worried about conflicts can go for timestamps (and still be fine almost all the time)
  • added a reset-indexes function in the dev cli. perhaps this should go be cobox setup reset-indexes in cobox-server and cobox-hub?
  • add a basic .gitlab-ci.yml configuration to run tests
Edited by Kieran

Merge request reports